diff --git a/Jakefile b/Jakefile index e754f5baad9..b803f23eae8 100644 --- a/Jakefile +++ b/Jakefile @@ -43,7 +43,6 @@ var compilerSources = [ var servicesSources = [ "core.ts", - "sys.ts", "types.ts", "scanner.ts", "parser.ts", diff --git a/bin/services.js b/bin/services.js deleted file mode 100644 index 0d632bd77ea..00000000000 --- a/bin/services.js +++ /dev/null @@ -1,13134 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ - -var ts; -(function (ts) { - ts.Diagnostics = { - Unknown_compiler_option_0: { code: 6001, category: 1 /* Error */, key: "Unknown compiler option '{0}'." }, - File_0_not_found: { code: 6002, category: 1 /* Error */, key: "File '{0}' not found." }, - File_0_must_have_extension_ts_or_d_ts: { code: 6003, category: 1 /* Error */, key: "File '{0}' must have extension '.ts' or '.d.ts'." }, - Unrecognized_escape_sequence: { code: 1000, category: 1 /* Error */, key: "Unrecognized escape sequence." }, - Unexpected_character_0: { code: 1001, category: 1 /* Error */, key: "Unexpected character {0}." }, - Missing_close_quote_character: { code: 1002, category: 1 /* Error */, key: "Missing close quote character." }, - Identifier_expected: { code: -9999999, category: 1 /* Error */, key: "Identifier expected." }, - _0_keyword_expected: { code: 1004, category: 1 /* Error */, key: "'{0}' keyword expected." }, - _0_expected: { code: -9999999, category: 1 /* Error */, key: "'{0}' expected." }, - Identifier_expected_0_is_a_keyword: { code: 1006, category: 1 /* Error */, key: "Identifier expected; '{0}' is a keyword." }, - Automatic_semicolon_insertion_not_allowed: { code: 1007, category: 1 /* Error */, key: "Automatic semicolon insertion not allowed." }, - Trailing_comma_not_allowed: { code: 1009, category: 1 /* Error */, key: "Trailing comma not allowed." }, - Asterisk_Slash_expected: { code: 1010, category: 1 /* Error */, key: "'*/' expected." }, - public_or_private_modifier_must_precede_static: { code: 1011, category: 1 /* Error */, key: "'public' or 'private' modifier must precede 'static'." }, - 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." }, - 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'." }, - extends_clause_already_seen: { code: 1024, category: 1 /* Error */, key: "'extends' clause already seen." }, - extends_clause_must_precede_implements_clause: { code: 1025, category: 1 /* Error */, key: "'extends' clause must precede 'implements' clause." }, - Classes_can_only_extend_a_single_class: { code: 1026, category: 1 /* Error */, key: "Classes can only extend a single class." }, - implements_clause_already_seen: { code: 1027, category: 1 /* Error */, key: "'implements' clause already seen." }, - 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." }, - Interface_declaration_cannot_have_implements_clause: { code: 1032, category: 1 /* Error */, key: "Interface declaration cannot have 'implements' clause." }, - super_invocation_cannot_have_type_arguments: { code: 1034, category: 1 /* Error */, key: "'super' invocation cannot have type arguments." }, - 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_function_implementation_cannot_be_declared_in_an_ambient_context: { code: 1037, category: 1 /* Error */, key: "A function implementation cannot be declared in an ambient context." }, - 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." }, - 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." }, - Modifiers_cannot_appear_here: { code: 1055, category: 1 /* Error */, key: "Modifiers cannot appear here." }, - 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: -9999999, 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." }, - module_class_interface_enum_import_or_statement: { code: 1067, category: 3 /* NoPrefix */, key: "module, class, interface, enum, import or statement" }, - 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." }, - statement: { code: 1069, category: 3 /* NoPrefix */, key: "statement" }, - case_or_default_clause: { code: 1070, category: 3 /* NoPrefix */, key: "case or default clause" }, - identifier: { code: 1071, category: 3 /* NoPrefix */, key: "identifier" }, - call_construct_index_property_or_function_signature: { code: 1072, category: 3 /* NoPrefix */, key: "call, construct, index, property or function signature" }, - expression: { code: 1073, category: 3 /* NoPrefix */, key: "expression" }, - type_name: { code: 1074, category: 3 /* NoPrefix */, key: "type name" }, - property_or_accessor: { code: 1075, category: 3 /* NoPrefix */, key: "property or accessor" }, - parameter: { code: 1076, category: 3 /* NoPrefix */, key: "parameter" }, - type: { code: 1077, category: 3 /* NoPrefix */, key: "type" }, - type_parameter: { code: 1078, category: 3 /* NoPrefix */, key: "type parameter" }, - 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." }, - 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." }, - Invalid_left_hand_side_in_for_in_statement: { code: 1103, category: 1 /* Error */, key: "Invalid left-hand side in 'for...in' statement." }, - 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: -9999999, category: 1 /* Error */, key: "Expression expected." }, - Type_expected: { code: -9999999, category: 1 /* Error */, key: "Type expected." }, - A_constructor_implementation_cannot_be_declared_in_an_ambient_context: { code: 1111, category: 1 /* Error */, key: "A constructor implementation cannot be declared in an ambient context." }, - 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." }, - Duplicate_identifier_0: { code: 2000, category: 1 /* Error */, key: "Duplicate identifier '{0}'." }, - new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: { code: 2068, category: 1 /* Error */, key: "'new T[]' cannot be used to create an array. Use 'new Array()' instead." }, - Multiple_constructor_implementations_are_not_allowed: { code: 2070, category: 1 /* Error */, key: "Multiple constructor implementations are not allowed." }, - A_class_may_only_implement_another_class_or_interface: { code: 2074, category: 1 /* Error */, key: "A class may only implement another class or interface." }, - get_and_set_accessor_must_have_the_same_type: { code: 2096, category: 1 /* Error */, key: "'get' and 'set' accessor must have the same type." }, - Static_members_cannot_reference_class_type_parameters: { code: 2099, category: 1 /* Error */, key: "Static members cannot reference class type parameters." }, - super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class: { code: 2102, category: 1 /* Error */, key: "'super' property access is permitted only in a constructor, member function, or member accessor of a derived class" }, - The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: { code: 2112, category: 1 /* Error */, key: "The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." }, - The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: { code: 2113, category: 1 /* Error */, key: "The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." }, - An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type: { code: 2114, category: 1 /* Error */, key: "An arithmetic operand must be of type 'any', 'number' or an enum type." }, - The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation: { code: 2115, 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: 2116, category: 1 /* Error */, key: "The left-hand side of a 'for...in' statement must be of type 'string' or 'any'." }, - The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2117, 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." }, - The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number: { code: 2118, 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: 2119, category: 1 /* Error */, key: "The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter" }, - A_get_accessor_must_return_a_value_or_consist_of_a_single_throw_statement: { code: 2126, 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: 2127, category: 1 /* Error */, key: "Getter and setter accessors do not agree in visibility." }, - A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_or_consist_of_a_single_throw_statement: { code: 2131, 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." }, - Untyped_function_calls_may_not_accept_type_arguments: { code: 2158, category: 1 /* Error */, key: "Untyped function calls may not accept type arguments." }, - The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2120, 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: 2121, 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." }, - Setters_cannot_return_a_value: { code: 2122, category: 1 /* Error */, key: "Setters cannot return a value." }, - Invalid_left_hand_side_of_assignment_expression: { code: 2130, category: 1 /* Error */, key: "Invalid left-hand side of assignment expression." }, - Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2: { code: 2134, category: 1 /* Error */, key: "Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'." }, - All_symbols_within_a_with_block_will_be_resolved_to_any: { code: 2135, category: 1 /* Error */, key: "All symbols within a 'with' block will be resolved to 'any'." }, - The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer: { code: 2139, category: 1 /* Error */, key: "The operand of an increment or decrement operator must be a variable, property or indexer." }, - Overload_signatures_must_all_be_public_or_private: { code: 2150, category: 1 /* Error */, key: "Overload signatures must all be public or private." }, - Overload_signatures_must_all_be_exported_or_not_exported: { code: 2151, category: 1 /* Error */, key: "Overload signatures must all be exported or not exported." }, - Overload_signatures_must_all_be_ambient_or_non_ambient: { code: 2152, category: 1 /* Error */, key: "Overload signatures must all be ambient or non-ambient." }, - Overload_signatures_must_all_be_optional_or_required: { code: 2153, category: 1 /* Error */, key: "Overload signatures must all be optional or required." }, - this_cannot_be_referenced_in_constructor_arguments: { code: 2155, category: 1 /* Error */, key: "'this' cannot be referenced in constructor arguments." }, - Value_of_type_0_is_not_callable_Did_you_mean_to_include_new: { code: 2161, category: 1 /* Error */, key: "Value of type '{0}' is not callable. Did you mean to include 'new'?" }, - A_signature_with_an_implementation_cannot_use_a_string_literal_type: { code: 2163, category: 1 /* Error */, key: "A signature with an implementation cannot use a string literal type." }, - Interface_0_cannot_simultaneously_extend_types_1_and_2_Colon: { code: 2189, category: 1 /* Error */, key: "Interface '{0}' cannot simultaneously extend types '{1}' and '{2}':" }, - Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it: { code: 2190, category: 1 /* Error */, key: "Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it." }, - Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local: { code: 2192, category: 1 /* Error */, key: "Individual declarations in merged declaration {0} must be all exported or all local." }, - super_cannot_be_referenced_in_constructor_arguments: { code: 2193, category: 1 /* Error */, key: "'super' cannot be referenced in constructor arguments." }, - Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class: { code: 2194, category: 1 /* Error */, key: "Return type of constructor signature must be assignable to the instance type of the class" }, - Ambient_external_module_declaration_cannot_specify_relative_module_name: { code: 2196, category: 1 /* Error */, key: "Ambient external module declaration cannot specify relative module name." }, - Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name: { code: 2197, category: 1 /* Error */, key: "Import declaration in an ambient external module declaration cannot reference external module through relative external module name." }, - Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference: { code: 2200, category: 1 /* Error */, key: "Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference." }, - Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference: { code: 2205, category: 1 /* Error */, key: "Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference." }, - Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference: { code: 2206, category: 1 /* Error */, key: "Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference." }, - Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference: { code: 2207, category: 1 /* Error */, key: "Expression resolves to '_super' that compiler uses to capture base class reference." }, - Duplicate_identifier_i_Compiler_uses_i_to_initialize_rest_parameter: { code: 2224, category: 1 /* Error */, key: "Duplicate identifier '_i'. Compiler uses '_i' to initialize rest parameter." }, - Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters: { code: 2225, category: 1 /* Error */, key: "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters." }, - Constraint_of_a_type_parameter_cannot_reference_any_type_parameter_from_the_same_type_parameter_list: { code: 2229, category: 1 /* Error */, key: "Constraint of a type parameter cannot reference any type parameter from the same type parameter list." }, - Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: { code: 2230, category: 1 /* Error */, key: "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor." }, - Parameter_0_cannot_be_referenced_in_its_initializer: { code: 2231, category: 1 /* Error */, key: "Parameter '{0}' cannot be referenced in its initializer." }, - Duplicate_string_index_signature: { code: 2232, category: 1 /* Error */, key: "Duplicate string index signature." }, - Duplicate_number_index_signature: { code: 2233, category: 1 /* Error */, key: "Duplicate number index signature." }, - All_declarations_of_an_interface_must_have_identical_type_parameters: { code: 2234, category: 1 /* Error */, key: "All declarations of an interface must have identical type parameters." }, - Expression_resolves_to_variable_declaration_i_that_compiler_uses_to_initialize_rest_parameter: { code: 2235, category: 1 /* Error */, key: "Expression resolves to variable declaration '_i' that compiler uses to initialize rest parameter." }, - Constructor_implementation_expected: { code: 2240, category: 1 /* Error */, key: "Constructor implementation expected." }, - An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements: { code: 2245, category: 1 /* Error */, key: "An export assignment cannot be used in a module with other exported elements." }, - A_parameter_property_is_only_allowed_in_a_constructor_implementation: { code: 2246, category: 1 /* Error */, key: "A parameter property is only allowed in a constructor implementation." }, - Circular_definition_of_import_alias_0: { code: 3000, category: 1 /* Error */, key: "Circular definition of import alias '{0}'." }, - Cannot_find_name_0: { code: 3001, category: 1 /* Error */, key: "Cannot find name '{0}'." }, - Module_0_has_no_exported_member_1: { code: 3002, category: 1 /* Error */, key: "Module '{0}' has no exported member '{1}'." }, - Cannot_find_external_module_0: { code: 3003, category: 1 /* Error */, key: "Cannot find external module '{0}'." }, - A_module_cannot_have_more_than_one_export_assignment: { code: 3004, category: 1 /* Error */, key: "A module cannot have more than one export assignment." }, - Type_0_recursively_references_itself_as_a_base_type: { code: 3005, category: 1 /* Error */, key: "Type '{0}' recursively references itself as a base type." }, - A_class_may_only_extend_another_class: { code: 3006, category: 1 /* Error */, key: "A class may only extend another class." }, - An_interface_may_only_extend_a_class_or_another_interface: { code: 3007, category: 1 /* Error */, key: "An interface may only extend a class or another interface." }, - Generic_type_0_requires_1_type_argument_s: { code: 3008, category: 1 /* Error */, key: "Generic type '{0}' requires {1} type argument(s)." }, - Type_0_is_not_generic: { code: 3009, category: 1 /* Error */, key: "Type '{0}' is not generic." }, - Cannot_find_global_type_0: { code: 3010, category: 1 /* Error */, key: "Cannot find global type '{0}'." }, - Global_type_0_must_be_a_class_or_interface_type: { code: 3011, category: 1 /* Error */, key: "Global type '{0}' must be a class or interface type." }, - Global_type_0_must_have_1_type_parameter_s: { code: 3012, category: 1 /* Error */, key: "Global type '{0}' must have {1} type parameter(s)." }, - this_cannot_be_referenced_in_a_module_body: { code: 3013, category: 1 /* Error */, key: "'this' cannot be referenced in a module body." }, - this_cannot_be_referenced_in_a_static_property_initializer: { code: 3014, category: 1 /* Error */, key: "'this' cannot be referenced in a static property initializer." }, - this_cannot_be_referenced_in_current_location: { code: -9999999, category: 1 /* Error */, key: "'this' cannot be referenced in current location." }, - super_can_only_be_referenced_in_a_derived_class: { code: 3015, category: 1 /* Error */, key: "'super' can only be referenced in a derived class." }, - Property_0_does_not_exist_on_type_1: { code: 3017, category: 1 /* Error */, key: "Property '{0}' does not exist on type '{1}'." }, - An_index_expression_argument_must_be_of_type_string_number_or_any: { code: 3018, category: 1 /* Error */, key: "An index expression argument must be of type 'string', 'number', or 'any'." }, - Type_0_does_not_satisfy_the_constraint_1_Colon: { code: 3019, category: 1 /* Error */, key: "Type '{0}' does not satisfy the constraint '{1}':" }, - Type_0_does_not_satisfy_the_constraint_1: { code: 3019, category: 1 /* Error */, key: "Type '{0}' does not satisfy the constraint '{1}'." }, - Supplied_parameters_do_not_match_any_signature_of_call_target: { code: 3020, category: 1 /* Error */, key: "Supplied parameters do not match any signature of call target." }, - Cannot_invoke_an_expression_whose_type_lacks_a_call_signature: { code: 3021, 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: 3022, 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: 3023, 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_Colon: { code: 3024, category: 1 /* Error */, key: "Neither type '{0}' nor type '{1}' is assignable to the other:" }, - Neither_type_0_nor_type_1_is_assignable_to_the_other: { code: 3024, category: 1 /* Error */, key: "Neither type '{0}' nor type '{1}' is assignable to the other." }, - No_best_common_type_exists_among_return_expressions: { code: 3027, category: 1 /* Error */, key: "No best common type exists among return expressions." }, - Operator_0_cannot_be_applied_to_types_1_and_2: { code: 3028, category: 1 /* Error */, key: "Operator '{0}' cannot be applied to types '{1}' and '{2}'." }, - No_best_common_type_exists_between_0_and_1: { code: 3029, category: 1 /* Error */, key: "No best common type exists between '{0}' and '{1}'." }, - No_best_common_type_exists_between_0_1_and_2: { code: 3030, category: 1 /* Error */, key: "No best common type exists between '{0}', '{1}', and '{2}'." }, - A_rest_parameter_must_be_of_an_array_type: { code: 3031, 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: 3032, category: 1 /* Error */, key: "A parameter initializer is only allowed in a function or constructor implementation." }, - Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature: { code: 3033, category: 1 /* Error */, key: "Specialized overload signature is not assignable to any non-specialized signature." }, - Duplicate_function_implementation: { code: 3034, category: 1 /* Error */, key: "Duplicate function implementation." }, - Overload_signature_is_not_compatible_with_function_implementation: { code: 3035, category: 1 /* Error */, key: "Overload signature is not compatible with function implementation." }, - Argument_of_type_0_is_not_assignable_to_parameter_of_type_1: { code: 3036, category: 1 /* Error */, key: "Argument of type '{0}' is not assignable to parameter of type '{1}'." }, - Index_signature_is_missing_in_type_0: { code: 4003, category: 1 /* Error */, key: "Index signature is missing in type '{0}'." }, - Index_signatures_are_incompatible_Colon: { code: 4004, category: 1 /* Error */, key: "Index signatures are incompatible:" }, - Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function: { code: 4016, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function." }, - Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function: { code: 4017, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function." }, - Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor: { code: 4018, category: 3 /* NoPrefix */, 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: 4019, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property." }, - In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element: { code: 4024, category: 1 /* Error */, key: "In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element." }, - Named_properties_0_of_types_1_and_2_are_not_identical: { code: 4032, category: 3 /* NoPrefix */, key: "Named properties '{0}' of types '{1}' and '{2}' are not identical." }, - 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: 3 /* NoPrefix */, key: "Unsupported file encoding." }, - 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." }, - Version_0: { code: 6029, category: 2 /* Message */, key: "Version {0}" }, - 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." }, - Lambda_function_which_lacks_return_type_annotation_implicitly_has_an_0_return_type: { code: 7014, category: 1 /* Error */, key: "Lambda function, which lacks return-type annotation, implicitly has an '{0}' return type." }, - Array_literal_implicitly_has_an_0_type: { code: 7015, category: 1 /* Error */, key: "Array literal implicitly has an '{0}' 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." }, - Variable_declaration_list_cannot_be_empty: { code: -9999999, category: 1 /* Error */, key: "Variable declaration list cannot be empty." }, - Digit_expected: { code: -9999999, category: 1 /* Error */, key: "Digit expected." }, - Hexadecimal_digit_expected: { code: -9999999, category: 1 /* Error */, key: "Hexadecimal digit expected." }, - Unexpected_end_of_text: { code: -9999999, category: 1 /* Error */, key: "Unexpected end of text." }, - Unterminated_string_constant: { code: -9999999, category: 1 /* Error */, key: "Unterminated string constant." }, - Invalid_character: { code: -9999999, category: 1 /* Error */, key: "Invalid character." }, - Declaration_or_statement_expected: { code: -9999999, category: 1 /* Error */, key: "Declaration or statement expected." }, - Statement_expected: { code: -9999999, category: 1 /* Error */, key: "Statement expected." }, - case_or_default_expected: { code: -9999999, category: 1 /* Error */, key: "'case' or 'default' expected." }, - Property_or_signature_expected: { code: -9999999, category: 1 /* Error */, key: "Property or signature expected." }, - Enum_member_expected: { code: -9999999, category: 1 /* Error */, key: "Enum member expected." }, - Type_reference_expected: { code: -9999999, category: 1 /* Error */, key: "Type reference expected." }, - Variable_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Variable declaration expected." }, - Argument_expression_expected: { code: -9999999, category: 1 /* Error */, key: "Argument expression expected." }, - Property_assignment_expected: { code: -9999999, category: 1 /* Error */, key: "Property assignment expected." }, - Expression_or_comma_expected: { code: -9999999, category: 1 /* Error */, key: "Expression or comma expected." }, - Parameter_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Parameter declaration expected." }, - Type_parameter_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Type parameter declaration expected." }, - Type_argument_expected: { code: -9999999, category: 1 /* Error */, key: "Type argument expected." }, - String_literal_expected: { code: -9999999, category: 1 /* Error */, key: "String literal expected." }, - not_preceded_by_parameter_list: { code: -9999999, category: 1 /* Error */, key: "'=>' not preceded by parameter list." }, - Invalid_assignment_target: { code: -9999999, category: 1 /* Error */, key: "Invalid assignment target." }, - super_must_be_followed_by_argument_list_or_member_access: { code: -9999999, category: 1 /* Error */, key: "'super' must be followed by argument list or member access." }, - Line_break_not_permitted_here: { code: -9999999, category: 1 /* Error */, key: "Line break not permitted here." }, - catch_or_finally_expected: { code: -9999999, category: 1 /* Error */, key: "'catch' or 'finally' expected." }, - Block_or_expected: { code: -9999999, category: 1 /* Error */, key: "Block or ';' expected." }, - Modifiers_not_permitted_on_index_signature_members: { code: -9999999, category: 1 /* Error */, key: "Modifiers not permitted on index signature members." }, - Class_member_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Class member declaration expected." }, - Declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Declaration expected." }, - Invalid_reference_comment: { code: -9999999, category: 1 /* Error */, key: "Invalid reference comment." }, - File_0_is_not_an_external_module: { code: -9999999, category: 1 /* Error */, key: "File '{0}' is not an external module." }, - Excessive_stack_depth_comparing_types_0_and_1: { code: -9999999, category: 1 /* Error */, key: "Excessive stack depth comparing types '{0}' and '{1}'." }, - Type_0_is_not_assignable_to_type_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Type '{0}' is not assignable to type '{1}':" }, - Type_0_is_not_assignable_to_type_1: { code: -9999999, category: 1 /* Error */, key: "Type '{0}' is not assignable to type '{1}'." }, - Property_0_is_missing_in_type_1: { code: -9999999, category: 1 /* Error */, key: "Property '{0}' is missing in type '{1}'." }, - Private_property_0_cannot_be_reimplemented: { code: -9999999, category: 1 /* Error */, key: "Private property '{0}' cannot be reimplemented." }, - Required_property_0_cannot_be_reimplemented_with_optional_property_in_1: { code: 2012, category: 1 /* Error */, key: "Required property '{0}' cannot be reimplemented with optional property in '{1}'." }, - Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors: { code: -9999999, category: 1 /* Error */, key: "Super calls are not permitted outside constructors or in nested functions inside constructors" }, - Only_public_methods_of_the_base_class_are_accessible_via_the_super_keyword: { code: -9999999, category: 1 /* Error */, key: "Only public methods of the base class are accessible via the 'super' keyword" }, - A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties: { code: -9999999, 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: -9999999, category: 1 /* Error */, key: "Constructors for derived classes must contain a 'super' call." }, - Import_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Import name cannot be '{0}'" }, - Type_parameter_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Type parameter name cannot be '{0}'" }, - Class_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Class name cannot be '{0}'" }, - Interface_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Interface name cannot be '{0}'" }, - Enum_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Enum name cannot be '{0}'" }, - Types_of_property_0_are_incompatible_Colon: { code: -9999999, category: 1 /* Error */, key: "Types of property '{0}' are incompatible:" }, - Types_of_parameters_0_and_1_are_incompatible_Colon: { code: -9999999, category: 1 /* Error */, key: "Types of parameters '{0}' and '{1}' are incompatible:" }, - Unknown_identifier_0: { code: -9999999, category: 1 /* Error */, key: "Unknown identifier '{0}'." }, - Property_0_is_inaccessible: { code: -9999999, category: 1 /* Error */, key: "Property '{0}' is inaccessible." }, - Function_implementation_expected: { code: -9999999, category: 1 /* Error */, key: "Function implementation expected." }, - Property_0_of_type_1_is_not_assignable_to_string_index_type_2: { code: -9999999, 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: -9999999, 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: -9999999, category: 1 /* Error */, key: "Numeric index type '{0}' is not assignable to string index type '{1}'." }, - Class_0_incorrectly_extends_base_class_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly extends base class '{1}':" }, - Class_0_incorrectly_extends_base_class_1: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly extends base class '{1}'." }, - Class_static_side_0_incorrectly_extends_base_class_static_side_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Class static side '{0}' incorrectly extends base class static side '{1}':" }, - Class_static_side_0_incorrectly_extends_base_class_static_side_1: { code: -9999999, 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: -9999999, category: 1 /* Error */, key: "Type name '{0}' in extends clause does not reference constructor function for '{0}'." }, - Class_0_incorrectly_implements_interface_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly implements interface '{1}':" }, - Class_0_incorrectly_implements_interface_1: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly implements interface '{1}'." }, - Interface_0_incorrectly_extends_interface_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Interface '{0}' incorrectly extends interface '{1}':" }, - Interface_0_incorrectly_extends_interface_1: { code: -9999999, category: 1 /* Error */, key: "Interface '{0}' incorrectly extends interface '{1}'." }, - Ambient_external_modules_cannot_be_nested_in_other_modules: { code: -9999999, category: 1 /* Error */, key: "Ambient external modules cannot be nested in other modules." }, - Import_declarations_in_an_internal_module_cannot_reference_an_external_module: { code: -9999999, category: 1 /* Error */, key: "Import declarations in an internal module cannot reference an external module." }, - A_module_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged: { code: -9999999, 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: -9999999, category: 1 /* Error */, key: "A module declaration cannot be located prior to a class or function with which it is merged" }, - Cannot_compile_external_modules_unless_the_module_flag_is_provided: { code: -9999999, category: 1 /* Error */, key: "Cannot compile external modules unless the '--module' flag is provided." }, - Import_declaration_conflicts_with_local_declaration_of_0: { code: -9999999, category: 1 /* Error */, key: "Import declaration conflicts with local declaration of '{0}'" }, - Module_0_is_hidden_by_a_local_declaration_with_the_same_name: { code: -9999999, category: 1 /* Error */, key: "Module '{0}' is hidden by a local declaration with the same name" }, - Filename_0_differs_from_already_included_filename_1_only_in_casing: { code: -9999999, category: 1 /* Error */, key: "Filename '{0}' differs from already included filename '{1}' only in casing" }, - Argument_for_module_option_must_be_commonjs_or_amd: { code: -9999999, category: 1 /* Error */, key: "Argument for '--module' option must be 'commonjs' or 'amd'." }, - Argument_for_target_option_must_be_es3_or_es5: { code: -9999999, category: 1 /* Error */, key: "Argument for '--target' option must be 'es3' or 'es5'." }, - Compiler_option_0_expects_an_argument: { code: -9999999, category: 1 /* Error */, key: "Compiler option '{0}' expects an argument." }, - Unterminated_quoted_string_in_response_file_0: { code: -9999999, category: 1 /* Error */, key: "Unterminated quoted string in response file '{0}'." }, - Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: { code: -9999999, category: 1 /* Error */, key: "Locale must be of the form or -. For example '{0}' or '{1}'." }, - Unsupported_locale_0: { code: -9999999, category: 1 /* Error */, key: "Unsupported locale {0}." }, - Unable_to_open_file_0: { code: -9999999, category: 1 /* Error */, key: "Unable to open file {0}." }, - Corrupted_locale_file_0: { code: -9999999, category: 1 /* Error */, key: "Corrupted locale file {0}." }, - No_input_files_specified: { code: -9999999, category: 1 /* Error */, key: "No input files specified." } - }; -})(ts || (ts = {})); -var ts; -(function (ts) { - var textToToken = { - "any": 101 /* AnyKeyword */, - "boolean": 102 /* BooleanKeyword */, - "break": 56 /* BreakKeyword */, - "case": 57 /* CaseKeyword */, - "catch": 58 /* CatchKeyword */, - "class": 59 /* ClassKeyword */, - "continue": 61 /* ContinueKeyword */, - "const": 60 /* ConstKeyword */, - "constructor": 103 /* ConstructorKeyword */, - "debugger": 62 /* DebuggerKeyword */, - "declare": 104 /* DeclareKeyword */, - "default": 63 /* DefaultKeyword */, - "delete": 64 /* DeleteKeyword */, - "do": 65 /* DoKeyword */, - "else": 66 /* ElseKeyword */, - "enum": 67 /* EnumKeyword */, - "export": 68 /* ExportKeyword */, - "extends": 69 /* ExtendsKeyword */, - "false": 70 /* FalseKeyword */, - "finally": 71 /* FinallyKeyword */, - "for": 72 /* ForKeyword */, - "function": 73 /* FunctionKeyword */, - "get": 105 /* GetKeyword */, - "if": 74 /* IfKeyword */, - "implements": 92 /* ImplementsKeyword */, - "import": 75 /* ImportKeyword */, - "in": 76 /* InKeyword */, - "instanceof": 77 /* InstanceOfKeyword */, - "interface": 93 /* InterfaceKeyword */, - "let": 94 /* LetKeyword */, - "module": 106 /* ModuleKeyword */, - "new": 78 /* NewKeyword */, - "null": 79 /* NullKeyword */, - "number": 108 /* NumberKeyword */, - "package": 95 /* PackageKeyword */, - "private": 96 /* PrivateKeyword */, - "protected": 97 /* ProtectedKeyword */, - "public": 98 /* PublicKeyword */, - "require": 107 /* RequireKeyword */, - "return": 80 /* ReturnKeyword */, - "set": 109 /* SetKeyword */, - "static": 99 /* StaticKeyword */, - "string": 110 /* StringKeyword */, - "super": 81 /* SuperKeyword */, - "switch": 82 /* SwitchKeyword */, - "this": 83 /* ThisKeyword */, - "throw": 84 /* ThrowKeyword */, - "true": 85 /* TrueKeyword */, - "try": 86 /* TryKeyword */, - "typeof": 87 /* TypeOfKeyword */, - "var": 88 /* VarKeyword */, - "void": 89 /* VoidKeyword */, - "while": 90 /* WhileKeyword */, - "with": 91 /* WithKeyword */, - "yield": 100 /* YieldKeyword */, - "{": 5 /* OpenBraceToken */, - "}": 6 /* CloseBraceToken */, - "(": 7 /* OpenParenToken */, - ")": 8 /* CloseParenToken */, - "[": 9 /* OpenBracketToken */, - "]": 10 /* CloseBracketToken */, - ".": 11 /* DotToken */, - "...": 12 /* DotDotDotToken */, - ";": 13 /* SemicolonToken */, - ",": 14 /* CommaToken */, - "<": 15 /* LessThanToken */, - ">": 16 /* GreaterThanToken */, - "<=": 17 /* LessThanEqualsToken */, - ">=": 18 /* GreaterThanEqualsToken */, - "==": 19 /* EqualsEqualsToken */, - "!=": 20 /* ExclamationEqualsToken */, - "===": 21 /* EqualsEqualsEqualsToken */, - "!==": 22 /* ExclamationEqualsEqualsToken */, - "=>": 23 /* EqualsGreaterThanToken */, - "+": 24 /* PlusToken */, - "-": 25 /* MinusToken */, - "*": 26 /* AsteriskToken */, - "/": 27 /* SlashToken */, - "%": 28 /* PercentToken */, - "++": 29 /* PlusPlusToken */, - "--": 30 /* MinusMinusToken */, - "<<": 31 /* LessThanLessThanToken */, - ">>": 32 /* GreaterThanGreaterThanToken */, - ">>>": 33 /* GreaterThanGreaterThanGreaterThanToken */, - "&": 34 /* AmpersandToken */, - "|": 35 /* BarToken */, - "^": 36 /* CaretToken */, - "!": 37 /* ExclamationToken */, - "~": 38 /* TildeToken */, - "&&": 39 /* AmpersandAmpersandToken */, - "||": 40 /* BarBarToken */, - "?": 41 /* QuestionToken */, - ":": 42 /* ColonToken */, - "=": 43 /* EqualsToken */, - "+=": 44 /* PlusEqualsToken */, - "-=": 45 /* MinusEqualsToken */, - "*=": 46 /* AsteriskEqualsToken */, - "/=": 47 /* SlashEqualsToken */, - "%=": 48 /* PercentEqualsToken */, - "<<=": 49 /* LessThanLessThanEqualsToken */, - ">>=": 50 /* GreaterThanGreaterThanEqualsToken */, - ">>>=": 51 /* GreaterThanGreaterThanGreaterThanEqualsToken */, - "&=": 52 /* AmpersandEqualsToken */, - "|=": 53 /* BarEqualsToken */, - "^=": 54 /* CaretEqualsToken */ - }; - 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, ]; - var unicodeES5IdentifierStart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1488, 1514, 1520, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2208, 2208, 2210, 2220, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2423, 2425, 2431, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 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, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3133, 3160, 3161, 3168, 3169, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3294, 3294, 3296, 3297, 3313, 3314, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3424, 3425, 3450, 3455, 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, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5905, 5920, 5937, 5952, 5969, 5984, 5996, 5998, 6000, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6263, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6428, 6480, 6509, 6512, 6516, 6528, 6571, 6593, 6599, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6987, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7401, 7404, 7406, 7409, 7413, 7414, 7424, 7615, 7680, 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, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11823, 11823, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42647, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43000, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43648, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 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, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, ]; - var unicodeES5IdentifierPart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 768, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1155, 1159, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1520, 1522, 1552, 1562, 1568, 1641, 1646, 1747, 1749, 1756, 1759, 1768, 1770, 1788, 1791, 1791, 1808, 1866, 1869, 1969, 1984, 2037, 2042, 2042, 2048, 2093, 2112, 2139, 2208, 2208, 2210, 2220, 2276, 2302, 2304, 2403, 2406, 2415, 2417, 2423, 2425, 2431, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2561, 2563, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652, 2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2787, 2790, 2799, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2915, 2918, 2927, 2929, 2929, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3024, 3024, 3031, 3031, 3046, 3055, 3073, 3075, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3160, 3161, 3168, 3171, 3174, 3183, 3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3299, 3302, 3311, 3313, 3314, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3396, 3398, 3400, 3402, 3406, 3415, 3415, 3424, 3427, 3430, 3439, 3450, 3455, 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, 3807, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3948, 3953, 3972, 3974, 3991, 3993, 4028, 4038, 4038, 4096, 4169, 4176, 4253, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4957, 4959, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5908, 5920, 5940, 5952, 5971, 5984, 5996, 5998, 6000, 6002, 6003, 6016, 6099, 6103, 6103, 6108, 6109, 6112, 6121, 6155, 6157, 6160, 6169, 6176, 6263, 6272, 6314, 6320, 6389, 6400, 6428, 6432, 6443, 6448, 6459, 6470, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6617, 6656, 6683, 6688, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6823, 6823, 6912, 6987, 6992, 7001, 7019, 7027, 7040, 7155, 7168, 7223, 7232, 7241, 7245, 7293, 7376, 7378, 7380, 7414, 7424, 7654, 7676, 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, 8204, 8205, 8255, 8256, 8276, 8276, 8305, 8305, 8319, 8319, 8336, 8348, 8400, 8412, 8417, 8417, 8421, 8432, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11647, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11744, 11775, 11823, 11823, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12348, 12353, 12438, 12441, 12442, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42539, 42560, 42607, 42612, 42621, 42623, 42647, 42655, 42737, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43000, 43047, 43072, 43123, 43136, 43204, 43216, 43225, 43232, 43255, 43259, 43259, 43264, 43309, 43312, 43347, 43360, 43388, 43392, 43456, 43471, 43481, 43520, 43574, 43584, 43597, 43600, 43609, 43616, 43638, 43642, 43643, 43648, 43714, 43739, 43741, 43744, 43759, 43762, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44010, 44012, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 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, 65024, 65039, 65056, 65062, 65075, 65076, 65101, 65103, 65136, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, ]; - function lookupInUnicodeMap(code, map) { - if (code < map[0]) { - return false; - } - var lo = 0; - var hi = map.length; - var mid; - while (lo + 1 < hi) { - mid = lo + (hi - lo) / 2; - mid -= mid % 2; - if (map[mid] <= code && code <= map[mid + 1]) { - return true; - } - if (code < map[mid]) { - hi = mid; - } - else { - lo = mid + 2; - } - } - return false; - } - function isUnicodeIdentifierStart(code, languageVersion) { - return languageVersion === 0 /* ES3 */ ? lookupInUnicodeMap(code, unicodeES3IdentifierStart) : lookupInUnicodeMap(code, unicodeES5IdentifierStart); - } - function isUnicodeIdentifierPart(code, languageVersion) { - return languageVersion === 0 /* ES3 */ ? lookupInUnicodeMap(code, unicodeES3IdentifierPart) : lookupInUnicodeMap(code, unicodeES5IdentifierPart); - } - function makeReverseMap(source) { - var result = []; - for (var name in source) { - if (source.hasOwnProperty(name)) { - result[source[name]] = name; - } - } - return result; - } - var tokenStrings = makeReverseMap(textToToken); - function tokenToString(t) { - return tokenStrings[t]; - } - ts.tokenToString = tokenToString; - function getLineStarts(text) { - var result = new Array(); - var pos = 0; - var lineStart = 0; - while (pos < text.length) { - switch (text.charCodeAt(pos++)) { - case 13 /* carriageReturn */: - if (text.charCodeAt(pos) === 10 /* lineFeed */) { - pos++; - } - case 10 /* lineFeed */: - result.push(lineStart); - lineStart = pos; - break; - } - } - result.push(lineStart); - return result; - } - ts.getLineStarts = getLineStarts; - function getLineAndCharacterOfPosition(lineStarts, position) { - var lineNumber = ts.binarySearch(lineStarts, position); - if (lineNumber < 0) { - lineNumber = (~lineNumber) - 1; - } - return { - line: lineNumber + 1, - character: position - lineStarts[lineNumber] + 1 - }; - } - ts.getLineAndCharacterOfPosition = getLineAndCharacterOfPosition; - function positionToLineAndCharacter(text, pos) { - var lineStarts = getLineStarts(text); - return getLineAndCharacterOfPosition(lineStarts, pos); - } - ts.positionToLineAndCharacter = positionToLineAndCharacter; - 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 */; - } - function isLineBreak(ch) { - return ch === 10 /* lineFeed */ || ch === 13 /* carriageReturn */ || ch === 8232 /* lineSeparator */ || ch === 8233 /* paragraphSeparator */; - } - function isDigit(ch) { - return ch >= 48 /* _0 */ && ch <= 57 /* _9 */; - } - function skipTrivia(text, pos, stopAfterLineBreak) { - while (true) { - var ch = text.charCodeAt(pos); - switch (ch) { - case 13 /* carriageReturn */: - if (text.charCodeAt(pos + 1) === 10 /* lineFeed */) - pos++; - case 10 /* lineFeed */: - pos++; - if (stopAfterLineBreak) - return pos; - continue; - case 9 /* tab */: - case 11 /* verticalTab */: - case 12 /* formFeed */: - case 32 /* space */: - pos++; - continue; - case 47 /* slash */: - if (text.charCodeAt(pos + 1) === 47 /* slash */) { - pos += 2; - while (pos < text.length) { - if (isLineBreak(text.charCodeAt(pos))) { - break; - } - pos++; - } - continue; - } - if (text.charCodeAt(pos + 1) === 42 /* asterisk */) { - pos += 2; - while (pos < text.length) { - if (text.charCodeAt(pos) === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { - pos += 2; - break; - } - pos++; - } - continue; - } - break; - default: - if (ch > 127 /* maxAsciiCharacter */ && (isWhiteSpace(ch) || isLineBreak(ch))) { - pos++; - continue; - } - break; - } - return pos; - } - } - ts.skipTrivia = skipTrivia; - function createScanner(languageVersion, text, onError, onComment) { - var pos; - var len; - var startPos; - var tokenPos; - var token; - var tokenValue; - var precedingLineBreak; - function error(message) { - if (onError) - onError(message); - } - 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); - } - 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); - } - function scanNumber() { - var start = pos; - while (isDigit(text.charCodeAt(pos))) - pos++; - if (text.charCodeAt(pos) === 46 /* dot */) { - pos++; - while (isDigit(text.charCodeAt(pos))) - pos++; - } - var end = pos; - if (text.charCodeAt(pos) === 69 /* E */ || text.charCodeAt(pos) === 101 /* e */) { - pos++; - if (text.charCodeAt(pos) === 43 /* plus */ || text.charCodeAt(pos) === 45 /* minus */) - pos++; - if (isDigit(text.charCodeAt(pos))) { - pos++; - while (isDigit(text.charCodeAt(pos))) - pos++; - end = pos; - } - else { - error(ts.Diagnostics.Digit_expected); - } - } - return +(text.substring(start, end)); - } - function scanHexDigits(count, exact) { - var digits = 0; - var value = 0; - while (digits < count || !exact) { - var ch = text.charCodeAt(pos); - if (ch >= 48 /* _0 */ && ch <= 57 /* _9 */) { - value = value * 16 + ch - 48 /* _0 */; - } - else if (ch >= 65 /* A */ && ch <= 70 /* F */) { - value = value * 16 + ch - 65 /* A */ + 10; - } - else if (ch >= 97 /* a */ && ch <= 102 /* f */) { - value = value * 16 + ch - 97 /* a */ + 10; - } - else { - break; - } - pos++; - digits++; - } - if (digits < count) { - value = -1; - } - return value; - } - function scanString() { - var quote = text.charCodeAt(pos++); - var result = ""; - var start = pos; - while (true) { - if (pos >= len) { - result += text.substring(start, pos); - error(ts.Diagnostics.Unexpected_end_of_text); - break; - } - var ch = text.charCodeAt(pos); - if (ch === quote) { - result += text.substring(start, pos); - pos++; - break; - } - if (ch === 92 /* backslash */) { - result += text.substring(start, pos); - pos++; - if (pos >= len) { - error(ts.Diagnostics.Unexpected_end_of_text); - break; - } - ch = text.charCodeAt(pos++); - switch (ch) { - case 48 /* _0 */: - result += "\0"; - break; - case 98 /* b */: - result += "\b"; - break; - case 116 /* t */: - result += "\t"; - break; - case 110 /* n */: - result += "\n"; - break; - case 118 /* v */: - result += "\v"; - break; - case 102 /* f */: - result += "\f"; - break; - case 114 /* r */: - result += "\r"; - break; - case 39 /* singleQuote */: - result += "\'"; - break; - case 34 /* doubleQuote */: - result += "\""; - break; - case 120 /* x */: - case 117 /* u */: - var ch = scanHexDigits(ch === 120 /* x */ ? 2 : 4, true); - if (ch >= 0) { - result += String.fromCharCode(ch); - } - else { - error(ts.Diagnostics.Hexadecimal_digit_expected); - } - break; - case 13 /* carriageReturn */: - if (pos < len && text.charCodeAt(pos) === 10 /* lineFeed */) - pos++; - break; - case 10 /* lineFeed */: - case 8232 /* lineSeparator */: - case 8233 /* paragraphSeparator */: - break; - default: - result += String.fromCharCode(ch); - } - start = pos; - continue; - } - if (isLineBreak(ch)) { - result += text.substring(start, pos); - error(ts.Diagnostics.Unterminated_string_constant); - break; - } - pos++; - } - return result; - } - function peekUnicodeEscape() { - if (pos + 5 < len && text.charCodeAt(pos + 1) === 117 /* u */) { - var start = pos; - pos += 2; - var value = scanHexDigits(4, true); - pos = start; - return value; - } - return -1; - } - function scanIdentifierParts() { - var result = ""; - var start = pos; - while (pos < len) { - var ch = text.charCodeAt(pos); - if (isIdentifierPart(ch)) { - pos++; - } - else if (ch === 92 /* backslash */) { - ch = peekUnicodeEscape(); - if (!(ch >= 0 && isIdentifierPart(ch))) { - break; - } - result += text.substring(start, pos); - result += String.fromCharCode(ch); - pos += 6; - start = pos; - } - else { - break; - } - } - result += text.substring(start, pos); - return result; - } - function getIdentifierToken() { - 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)) { - return token = textToToken[tokenValue]; - } - } - return token = 55 /* Identifier */; - } - function scan() { - startPos = pos; - precedingLineBreak = false; - while (true) { - tokenPos = pos; - if (pos >= len) { - return token = 1 /* EndOfFileToken */; - } - var ch = text.charCodeAt(pos); - switch (ch) { - case 10 /* lineFeed */: - case 13 /* carriageReturn */: - precedingLineBreak = true; - case 9 /* tab */: - case 11 /* verticalTab */: - case 12 /* formFeed */: - case 32 /* space */: - pos++; - continue; - case 33 /* exclamation */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 22 /* ExclamationEqualsEqualsToken */; - } - return pos += 2, token = 20 /* ExclamationEqualsToken */; - } - return pos++, token = 37 /* ExclamationToken */; - case 34 /* doubleQuote */: - case 39 /* singleQuote */: - tokenValue = scanString(); - return token = 3 /* StringLiteral */; - case 37 /* percent */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 48 /* PercentEqualsToken */; - } - return pos++, token = 28 /* PercentToken */; - case 38 /* ampersand */: - if (text.charCodeAt(pos + 1) === 38 /* ampersand */) { - return pos += 2, token = 39 /* AmpersandAmpersandToken */; - } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 52 /* AmpersandEqualsToken */; - } - return pos++, token = 34 /* AmpersandToken */; - case 40 /* openParen */: - return pos++, token = 7 /* OpenParenToken */; - case 41 /* closeParen */: - return pos++, token = 8 /* CloseParenToken */; - case 42 /* asterisk */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 46 /* AsteriskEqualsToken */; - } - return pos++, token = 26 /* AsteriskToken */; - case 43 /* plus */: - if (text.charCodeAt(pos + 1) === 43 /* plus */) { - return pos += 2, token = 29 /* PlusPlusToken */; - } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 44 /* PlusEqualsToken */; - } - return pos++, token = 24 /* PlusToken */; - case 44 /* comma */: - return pos++, token = 14 /* CommaToken */; - case 45 /* minus */: - if (text.charCodeAt(pos + 1) === 45 /* minus */) { - return pos += 2, token = 30 /* MinusMinusToken */; - } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 45 /* MinusEqualsToken */; - } - return pos++, token = 25 /* MinusToken */; - case 46 /* dot */: - if (isDigit(text.charCodeAt(pos + 1))) { - tokenValue = "" + scanNumber(); - return token = 2 /* NumericLiteral */; - } - if (text.charCodeAt(pos + 1) === 46 /* dot */ && text.charCodeAt(pos + 2) === 46 /* dot */) { - return pos += 3, token = 12 /* DotDotDotToken */; - } - return pos++, token = 11 /* DotToken */; - case 47 /* slash */: - if (text.charCodeAt(pos + 1) === 47 /* slash */) { - pos += 2; - while (pos < len) { - if (isLineBreak(text.charCodeAt(pos))) { - break; - } - pos++; - } - if (onComment) { - onComment(tokenPos, pos); - } - continue; - } - if (text.charCodeAt(pos + 1) === 42 /* asterisk */) { - pos += 2; - var safeLength = len - 1; - var commentClosed = false; - while (pos < safeLength) { - var ch = text.charCodeAt(pos); - if (ch === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { - pos += 2; - commentClosed = true; - break; - } - if (isLineBreak(ch)) { - precedingLineBreak = true; - } - pos++; - } - if (!commentClosed) { - pos++; - onError(ts.Diagnostics.Asterisk_Slash_expected); - } - if (onComment) { - onComment(tokenPos, pos); - } - continue; - } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 47 /* SlashEqualsToken */; - } - return pos++, token = 27 /* SlashToken */; - case 48 /* _0 */: - if (pos + 2 < len && (text.charCodeAt(pos + 1) === 88 /* X */ || text.charCodeAt(pos + 1) === 120 /* x */)) { - pos += 2; - var value = scanHexDigits(1, false); - if (value < 0) { - error(ts.Diagnostics.Hexadecimal_digit_expected); - value = 0; - } - tokenValue = "" + value; - return 2 /* NumericLiteral */; - } - 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 */: - tokenValue = "" + scanNumber(); - return token = 2 /* NumericLiteral */; - case 58 /* colon */: - return pos++, token = 42 /* ColonToken */; - case 59 /* semicolon */: - return pos++, token = 13 /* SemicolonToken */; - case 60 /* lessThan */: - if (text.charCodeAt(pos + 1) === 60 /* lessThan */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 49 /* LessThanLessThanEqualsToken */; - } - return pos += 2, token = 31 /* LessThanLessThanToken */; - } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 17 /* LessThanEqualsToken */; - } - return pos++, token = 15 /* LessThanToken */; - case 61 /* equals */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 21 /* EqualsEqualsEqualsToken */; - } - return pos += 2, token = 19 /* EqualsEqualsToken */; - } - if (text.charCodeAt(pos + 1) === 62 /* greaterThan */) { - return pos += 2, token = 23 /* EqualsGreaterThanToken */; - } - return pos++, token = 43 /* EqualsToken */; - case 62 /* greaterThan */: - return pos++, token = 16 /* GreaterThanToken */; - case 63 /* question */: - return pos++, token = 41 /* QuestionToken */; - case 91 /* openBracket */: - return pos++, token = 9 /* OpenBracketToken */; - case 93 /* closeBracket */: - return pos++, token = 10 /* CloseBracketToken */; - case 94 /* caret */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 54 /* CaretEqualsToken */; - } - return pos++, token = 36 /* CaretToken */; - case 123 /* openBrace */: - return pos++, token = 5 /* OpenBraceToken */; - case 124 /* bar */: - if (text.charCodeAt(pos + 1) === 124 /* bar */) { - return pos += 2, token = 40 /* BarBarToken */; - } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 53 /* BarEqualsToken */; - } - return pos++, token = 35 /* BarToken */; - case 125 /* closeBrace */: - return pos++, token = 6 /* CloseBraceToken */; - case 126 /* tilde */: - return pos++, token = 38 /* TildeToken */; - case 92 /* backslash */: - var ch = peekUnicodeEscape(); - if (ch >= 0 && isIdentifierStart(ch)) { - pos += 6; - tokenValue = String.fromCharCode(ch) + scanIdentifierParts(); - return token = getIdentifierToken(); - } - error(ts.Diagnostics.Invalid_character); - return pos++, token = 0 /* Unknown */; - default: - if (isIdentifierStart(ch)) { - pos++; - while (pos < len && isIdentifierPart(ch = text.charCodeAt(pos))) - pos++; - tokenValue = text.substring(tokenPos, pos); - if (ch === 92 /* backslash */) { - tokenValue += scanIdentifierParts(); - } - return token = getIdentifierToken(); - } - else if (isWhiteSpace(ch)) { - pos++; - continue; - } - else if (isLineBreak(ch)) { - precedingLineBreak = true; - pos++; - continue; - } - error(ts.Diagnostics.Invalid_character); - return pos++, token = 0 /* Unknown */; - } - } - } - function reScanGreaterToken() { - if (token === 16 /* 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 = 51 /* GreaterThanGreaterThanGreaterThanEqualsToken */; - } - return pos += 2, token = 33 /* GreaterThanGreaterThanGreaterThanToken */; - } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 50 /* GreaterThanGreaterThanEqualsToken */; - } - return pos++, token = 32 /* GreaterThanGreaterThanToken */; - } - if (text.charCodeAt(pos) === 61 /* equals */) { - return pos++, token = 18 /* GreaterThanEqualsToken */; - } - } - return token; - } - function reScanSlashToken() { - if (token === 27 /* SlashToken */ || token === 47 /* SlashEqualsToken */) { - var p = tokenPos + 1; - var inEscape = false; - var inClass = false; - while (true) { - if (p >= len) { - return token; - } - var ch = text.charCodeAt(p); - if (isLineBreak(ch)) { - return token; - } - if (inEscape) { - inEscape = false; - } - else if (ch === 47 /* slash */) { - break; - } - else if (ch === 91 /* openBracket */) { - inClass = true; - } - else if (ch === 92 /* backslash */) { - inEscape = true; - } - else if (ch === 93 /* closeBracket */) { - inClass = false; - } - p++; - } - p++; - while (isIdentifierPart(text.charCodeAt(p))) - p++; - pos = p; - tokenValue = text.substring(tokenPos, pos); - token = 4 /* RegularExpressionLiteral */; - } - return token; - } - function tryScan(callback) { - var savePos = pos; - var saveStartPos = startPos; - var saveTokenPos = tokenPos; - var saveToken = token; - var saveTokenValue = tokenValue; - var savePrecedingLineBreak = precedingLineBreak; - var result = callback(); - if (!result) { - pos = savePos; - startPos = saveStartPos; - tokenPos = saveTokenPos; - token = saveToken; - tokenValue = saveTokenValue; - precedingLineBreak = savePrecedingLineBreak; - } - return result; - } - function setText(newText) { - text = newText || ""; - len = text.length; - setTextPos(0); - } - function setTextPos(textPos) { - pos = textPos; - startPos = textPos; - tokenPos = textPos; - token = 0 /* Unknown */; - precedingLineBreak = false; - } - setText(text); - return { - getStartPos: function () { return startPos; }, - getTextPos: function () { return pos; }, - getToken: function () { return token; }, - getTokenPos: function () { return tokenPos; }, - getTokenText: function () { return text.substring(tokenPos, pos); }, - getTokenValue: function () { return tokenValue; }, - hasPrecedingLineBreak: function () { return precedingLineBreak; }, - isIdentifier: function () { return token === 55 /* Identifier */ || token > ts.SyntaxKind.LastReservedWord; }, - isReservedWord: function () { return token >= ts.SyntaxKind.FirstReservedWord && token <= ts.SyntaxKind.LastReservedWord; }, - reScanGreaterToken: reScanGreaterToken, - reScanSlashToken: reScanSlashToken, - scan: scan, - setText: setText, - setTextPos: setTextPos, - tryScan: tryScan - }; - } - ts.createScanner = createScanner; -})(ts || (ts = {})); -var ts; -(function (ts) { - (function (SyntaxKind) { - SyntaxKind[SyntaxKind["Unknown"] = 0] = "Unknown"; - SyntaxKind[SyntaxKind["EndOfFileToken"] = 1] = "EndOfFileToken"; - SyntaxKind[SyntaxKind["NumericLiteral"] = 2] = "NumericLiteral"; - SyntaxKind[SyntaxKind["StringLiteral"] = 3] = "StringLiteral"; - SyntaxKind[SyntaxKind["RegularExpressionLiteral"] = 4] = "RegularExpressionLiteral"; - SyntaxKind[SyntaxKind["OpenBraceToken"] = 5] = "OpenBraceToken"; - SyntaxKind[SyntaxKind["CloseBraceToken"] = 6] = "CloseBraceToken"; - SyntaxKind[SyntaxKind["OpenParenToken"] = 7] = "OpenParenToken"; - SyntaxKind[SyntaxKind["CloseParenToken"] = 8] = "CloseParenToken"; - SyntaxKind[SyntaxKind["OpenBracketToken"] = 9] = "OpenBracketToken"; - SyntaxKind[SyntaxKind["CloseBracketToken"] = 10] = "CloseBracketToken"; - SyntaxKind[SyntaxKind["DotToken"] = 11] = "DotToken"; - SyntaxKind[SyntaxKind["DotDotDotToken"] = 12] = "DotDotDotToken"; - SyntaxKind[SyntaxKind["SemicolonToken"] = 13] = "SemicolonToken"; - SyntaxKind[SyntaxKind["CommaToken"] = 14] = "CommaToken"; - SyntaxKind[SyntaxKind["LessThanToken"] = 15] = "LessThanToken"; - SyntaxKind[SyntaxKind["GreaterThanToken"] = 16] = "GreaterThanToken"; - SyntaxKind[SyntaxKind["LessThanEqualsToken"] = 17] = "LessThanEqualsToken"; - SyntaxKind[SyntaxKind["GreaterThanEqualsToken"] = 18] = "GreaterThanEqualsToken"; - SyntaxKind[SyntaxKind["EqualsEqualsToken"] = 19] = "EqualsEqualsToken"; - SyntaxKind[SyntaxKind["ExclamationEqualsToken"] = 20] = "ExclamationEqualsToken"; - SyntaxKind[SyntaxKind["EqualsEqualsEqualsToken"] = 21] = "EqualsEqualsEqualsToken"; - SyntaxKind[SyntaxKind["ExclamationEqualsEqualsToken"] = 22] = "ExclamationEqualsEqualsToken"; - SyntaxKind[SyntaxKind["EqualsGreaterThanToken"] = 23] = "EqualsGreaterThanToken"; - SyntaxKind[SyntaxKind["PlusToken"] = 24] = "PlusToken"; - SyntaxKind[SyntaxKind["MinusToken"] = 25] = "MinusToken"; - SyntaxKind[SyntaxKind["AsteriskToken"] = 26] = "AsteriskToken"; - SyntaxKind[SyntaxKind["SlashToken"] = 27] = "SlashToken"; - SyntaxKind[SyntaxKind["PercentToken"] = 28] = "PercentToken"; - SyntaxKind[SyntaxKind["PlusPlusToken"] = 29] = "PlusPlusToken"; - SyntaxKind[SyntaxKind["MinusMinusToken"] = 30] = "MinusMinusToken"; - SyntaxKind[SyntaxKind["LessThanLessThanToken"] = 31] = "LessThanLessThanToken"; - SyntaxKind[SyntaxKind["GreaterThanGreaterThanToken"] = 32] = "GreaterThanGreaterThanToken"; - SyntaxKind[SyntaxKind["GreaterThanGreaterThanGreaterThanToken"] = 33] = "GreaterThanGreaterThanGreaterThanToken"; - SyntaxKind[SyntaxKind["AmpersandToken"] = 34] = "AmpersandToken"; - SyntaxKind[SyntaxKind["BarToken"] = 35] = "BarToken"; - SyntaxKind[SyntaxKind["CaretToken"] = 36] = "CaretToken"; - SyntaxKind[SyntaxKind["ExclamationToken"] = 37] = "ExclamationToken"; - SyntaxKind[SyntaxKind["TildeToken"] = 38] = "TildeToken"; - SyntaxKind[SyntaxKind["AmpersandAmpersandToken"] = 39] = "AmpersandAmpersandToken"; - SyntaxKind[SyntaxKind["BarBarToken"] = 40] = "BarBarToken"; - SyntaxKind[SyntaxKind["QuestionToken"] = 41] = "QuestionToken"; - SyntaxKind[SyntaxKind["ColonToken"] = 42] = "ColonToken"; - SyntaxKind[SyntaxKind["EqualsToken"] = 43] = "EqualsToken"; - SyntaxKind[SyntaxKind["PlusEqualsToken"] = 44] = "PlusEqualsToken"; - SyntaxKind[SyntaxKind["MinusEqualsToken"] = 45] = "MinusEqualsToken"; - SyntaxKind[SyntaxKind["AsteriskEqualsToken"] = 46] = "AsteriskEqualsToken"; - SyntaxKind[SyntaxKind["SlashEqualsToken"] = 47] = "SlashEqualsToken"; - SyntaxKind[SyntaxKind["PercentEqualsToken"] = 48] = "PercentEqualsToken"; - SyntaxKind[SyntaxKind["LessThanLessThanEqualsToken"] = 49] = "LessThanLessThanEqualsToken"; - SyntaxKind[SyntaxKind["GreaterThanGreaterThanEqualsToken"] = 50] = "GreaterThanGreaterThanEqualsToken"; - SyntaxKind[SyntaxKind["GreaterThanGreaterThanGreaterThanEqualsToken"] = 51] = "GreaterThanGreaterThanGreaterThanEqualsToken"; - SyntaxKind[SyntaxKind["AmpersandEqualsToken"] = 52] = "AmpersandEqualsToken"; - SyntaxKind[SyntaxKind["BarEqualsToken"] = 53] = "BarEqualsToken"; - SyntaxKind[SyntaxKind["CaretEqualsToken"] = 54] = "CaretEqualsToken"; - SyntaxKind[SyntaxKind["Identifier"] = 55] = "Identifier"; - SyntaxKind[SyntaxKind["BreakKeyword"] = 56] = "BreakKeyword"; - SyntaxKind[SyntaxKind["CaseKeyword"] = 57] = "CaseKeyword"; - SyntaxKind[SyntaxKind["CatchKeyword"] = 58] = "CatchKeyword"; - SyntaxKind[SyntaxKind["ClassKeyword"] = 59] = "ClassKeyword"; - SyntaxKind[SyntaxKind["ConstKeyword"] = 60] = "ConstKeyword"; - SyntaxKind[SyntaxKind["ContinueKeyword"] = 61] = "ContinueKeyword"; - SyntaxKind[SyntaxKind["DebuggerKeyword"] = 62] = "DebuggerKeyword"; - SyntaxKind[SyntaxKind["DefaultKeyword"] = 63] = "DefaultKeyword"; - SyntaxKind[SyntaxKind["DeleteKeyword"] = 64] = "DeleteKeyword"; - SyntaxKind[SyntaxKind["DoKeyword"] = 65] = "DoKeyword"; - SyntaxKind[SyntaxKind["ElseKeyword"] = 66] = "ElseKeyword"; - SyntaxKind[SyntaxKind["EnumKeyword"] = 67] = "EnumKeyword"; - SyntaxKind[SyntaxKind["ExportKeyword"] = 68] = "ExportKeyword"; - SyntaxKind[SyntaxKind["ExtendsKeyword"] = 69] = "ExtendsKeyword"; - SyntaxKind[SyntaxKind["FalseKeyword"] = 70] = "FalseKeyword"; - SyntaxKind[SyntaxKind["FinallyKeyword"] = 71] = "FinallyKeyword"; - SyntaxKind[SyntaxKind["ForKeyword"] = 72] = "ForKeyword"; - SyntaxKind[SyntaxKind["FunctionKeyword"] = 73] = "FunctionKeyword"; - SyntaxKind[SyntaxKind["IfKeyword"] = 74] = "IfKeyword"; - SyntaxKind[SyntaxKind["ImportKeyword"] = 75] = "ImportKeyword"; - SyntaxKind[SyntaxKind["InKeyword"] = 76] = "InKeyword"; - SyntaxKind[SyntaxKind["InstanceOfKeyword"] = 77] = "InstanceOfKeyword"; - SyntaxKind[SyntaxKind["NewKeyword"] = 78] = "NewKeyword"; - SyntaxKind[SyntaxKind["NullKeyword"] = 79] = "NullKeyword"; - SyntaxKind[SyntaxKind["ReturnKeyword"] = 80] = "ReturnKeyword"; - SyntaxKind[SyntaxKind["SuperKeyword"] = 81] = "SuperKeyword"; - SyntaxKind[SyntaxKind["SwitchKeyword"] = 82] = "SwitchKeyword"; - SyntaxKind[SyntaxKind["ThisKeyword"] = 83] = "ThisKeyword"; - SyntaxKind[SyntaxKind["ThrowKeyword"] = 84] = "ThrowKeyword"; - SyntaxKind[SyntaxKind["TrueKeyword"] = 85] = "TrueKeyword"; - SyntaxKind[SyntaxKind["TryKeyword"] = 86] = "TryKeyword"; - SyntaxKind[SyntaxKind["TypeOfKeyword"] = 87] = "TypeOfKeyword"; - SyntaxKind[SyntaxKind["VarKeyword"] = 88] = "VarKeyword"; - SyntaxKind[SyntaxKind["VoidKeyword"] = 89] = "VoidKeyword"; - SyntaxKind[SyntaxKind["WhileKeyword"] = 90] = "WhileKeyword"; - SyntaxKind[SyntaxKind["WithKeyword"] = 91] = "WithKeyword"; - SyntaxKind[SyntaxKind["ImplementsKeyword"] = 92] = "ImplementsKeyword"; - SyntaxKind[SyntaxKind["InterfaceKeyword"] = 93] = "InterfaceKeyword"; - SyntaxKind[SyntaxKind["LetKeyword"] = 94] = "LetKeyword"; - SyntaxKind[SyntaxKind["PackageKeyword"] = 95] = "PackageKeyword"; - SyntaxKind[SyntaxKind["PrivateKeyword"] = 96] = "PrivateKeyword"; - SyntaxKind[SyntaxKind["ProtectedKeyword"] = 97] = "ProtectedKeyword"; - SyntaxKind[SyntaxKind["PublicKeyword"] = 98] = "PublicKeyword"; - SyntaxKind[SyntaxKind["StaticKeyword"] = 99] = "StaticKeyword"; - SyntaxKind[SyntaxKind["YieldKeyword"] = 100] = "YieldKeyword"; - SyntaxKind[SyntaxKind["AnyKeyword"] = 101] = "AnyKeyword"; - SyntaxKind[SyntaxKind["BooleanKeyword"] = 102] = "BooleanKeyword"; - SyntaxKind[SyntaxKind["ConstructorKeyword"] = 103] = "ConstructorKeyword"; - SyntaxKind[SyntaxKind["DeclareKeyword"] = 104] = "DeclareKeyword"; - SyntaxKind[SyntaxKind["GetKeyword"] = 105] = "GetKeyword"; - SyntaxKind[SyntaxKind["ModuleKeyword"] = 106] = "ModuleKeyword"; - SyntaxKind[SyntaxKind["RequireKeyword"] = 107] = "RequireKeyword"; - SyntaxKind[SyntaxKind["NumberKeyword"] = 108] = "NumberKeyword"; - SyntaxKind[SyntaxKind["SetKeyword"] = 109] = "SetKeyword"; - SyntaxKind[SyntaxKind["StringKeyword"] = 110] = "StringKeyword"; - SyntaxKind[SyntaxKind["Missing"] = 111] = "Missing"; - SyntaxKind[SyntaxKind["QualifiedName"] = 112] = "QualifiedName"; - SyntaxKind[SyntaxKind["TypeParameter"] = 113] = "TypeParameter"; - SyntaxKind[SyntaxKind["Parameter"] = 114] = "Parameter"; - SyntaxKind[SyntaxKind["Property"] = 115] = "Property"; - SyntaxKind[SyntaxKind["Method"] = 116] = "Method"; - SyntaxKind[SyntaxKind["Constructor"] = 117] = "Constructor"; - SyntaxKind[SyntaxKind["GetAccessor"] = 118] = "GetAccessor"; - SyntaxKind[SyntaxKind["SetAccessor"] = 119] = "SetAccessor"; - SyntaxKind[SyntaxKind["CallSignature"] = 120] = "CallSignature"; - SyntaxKind[SyntaxKind["ConstructSignature"] = 121] = "ConstructSignature"; - SyntaxKind[SyntaxKind["IndexSignature"] = 122] = "IndexSignature"; - SyntaxKind[SyntaxKind["TypeReference"] = 123] = "TypeReference"; - SyntaxKind[SyntaxKind["TypeQuery"] = 124] = "TypeQuery"; - SyntaxKind[SyntaxKind["TypeLiteral"] = 125] = "TypeLiteral"; - SyntaxKind[SyntaxKind["ArrayType"] = 126] = "ArrayType"; - SyntaxKind[SyntaxKind["ArrayLiteral"] = 127] = "ArrayLiteral"; - SyntaxKind[SyntaxKind["ObjectLiteral"] = 128] = "ObjectLiteral"; - SyntaxKind[SyntaxKind["PropertyAssignment"] = 129] = "PropertyAssignment"; - SyntaxKind[SyntaxKind["PropertyAccess"] = 130] = "PropertyAccess"; - SyntaxKind[SyntaxKind["IndexedAccess"] = 131] = "IndexedAccess"; - SyntaxKind[SyntaxKind["CallExpression"] = 132] = "CallExpression"; - SyntaxKind[SyntaxKind["NewExpression"] = 133] = "NewExpression"; - SyntaxKind[SyntaxKind["TypeAssertion"] = 134] = "TypeAssertion"; - SyntaxKind[SyntaxKind["ParenExpression"] = 135] = "ParenExpression"; - SyntaxKind[SyntaxKind["FunctionExpression"] = 136] = "FunctionExpression"; - SyntaxKind[SyntaxKind["ArrowFunction"] = 137] = "ArrowFunction"; - SyntaxKind[SyntaxKind["PrefixOperator"] = 138] = "PrefixOperator"; - SyntaxKind[SyntaxKind["PostfixOperator"] = 139] = "PostfixOperator"; - SyntaxKind[SyntaxKind["BinaryExpression"] = 140] = "BinaryExpression"; - SyntaxKind[SyntaxKind["ConditionalExpression"] = 141] = "ConditionalExpression"; - SyntaxKind[SyntaxKind["OmittedExpression"] = 142] = "OmittedExpression"; - SyntaxKind[SyntaxKind["Block"] = 143] = "Block"; - SyntaxKind[SyntaxKind["VariableStatement"] = 144] = "VariableStatement"; - SyntaxKind[SyntaxKind["EmptyStatement"] = 145] = "EmptyStatement"; - SyntaxKind[SyntaxKind["ExpressionStatement"] = 146] = "ExpressionStatement"; - SyntaxKind[SyntaxKind["IfStatement"] = 147] = "IfStatement"; - SyntaxKind[SyntaxKind["DoStatement"] = 148] = "DoStatement"; - SyntaxKind[SyntaxKind["WhileStatement"] = 149] = "WhileStatement"; - SyntaxKind[SyntaxKind["ForStatement"] = 150] = "ForStatement"; - SyntaxKind[SyntaxKind["ForInStatement"] = 151] = "ForInStatement"; - SyntaxKind[SyntaxKind["ContinueStatement"] = 152] = "ContinueStatement"; - SyntaxKind[SyntaxKind["BreakStatement"] = 153] = "BreakStatement"; - SyntaxKind[SyntaxKind["ReturnStatement"] = 154] = "ReturnStatement"; - SyntaxKind[SyntaxKind["WithStatement"] = 155] = "WithStatement"; - SyntaxKind[SyntaxKind["SwitchStatement"] = 156] = "SwitchStatement"; - SyntaxKind[SyntaxKind["CaseClause"] = 157] = "CaseClause"; - SyntaxKind[SyntaxKind["DefaultClause"] = 158] = "DefaultClause"; - SyntaxKind[SyntaxKind["LabelledStatement"] = 159] = "LabelledStatement"; - SyntaxKind[SyntaxKind["ThrowStatement"] = 160] = "ThrowStatement"; - SyntaxKind[SyntaxKind["TryStatement"] = 161] = "TryStatement"; - SyntaxKind[SyntaxKind["TryBlock"] = 162] = "TryBlock"; - SyntaxKind[SyntaxKind["CatchBlock"] = 163] = "CatchBlock"; - SyntaxKind[SyntaxKind["FinallyBlock"] = 164] = "FinallyBlock"; - SyntaxKind[SyntaxKind["DebuggerStatement"] = 165] = "DebuggerStatement"; - SyntaxKind[SyntaxKind["VariableDeclaration"] = 166] = "VariableDeclaration"; - SyntaxKind[SyntaxKind["FunctionDeclaration"] = 167] = "FunctionDeclaration"; - SyntaxKind[SyntaxKind["FunctionBlock"] = 168] = "FunctionBlock"; - SyntaxKind[SyntaxKind["ClassDeclaration"] = 169] = "ClassDeclaration"; - SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 170] = "InterfaceDeclaration"; - SyntaxKind[SyntaxKind["EnumDeclaration"] = 171] = "EnumDeclaration"; - SyntaxKind[SyntaxKind["ModuleDeclaration"] = 172] = "ModuleDeclaration"; - SyntaxKind[SyntaxKind["ModuleBlock"] = 173] = "ModuleBlock"; - SyntaxKind[SyntaxKind["ImportDeclaration"] = 174] = "ImportDeclaration"; - SyntaxKind[SyntaxKind["ExportAssignment"] = 175] = "ExportAssignment"; - SyntaxKind[SyntaxKind["EnumMember"] = 176] = "EnumMember"; - SyntaxKind[SyntaxKind["SourceFile"] = 177] = "SourceFile"; - SyntaxKind[SyntaxKind["Program"] = 178] = "Program"; - SyntaxKind[SyntaxKind["SyntaxList"] = 179] = "SyntaxList"; - SyntaxKind[SyntaxKind["Count"] = 180] = "Count"; - SyntaxKind[SyntaxKind["FirstAssignment"] = SyntaxKind.EqualsToken] = "FirstAssignment"; - SyntaxKind[SyntaxKind["LastAssignment"] = SyntaxKind.CaretEqualsToken] = "LastAssignment"; - SyntaxKind[SyntaxKind["FirstReservedWord"] = SyntaxKind.BreakKeyword] = "FirstReservedWord"; - SyntaxKind[SyntaxKind["LastReservedWord"] = SyntaxKind.WithKeyword] = "LastReservedWord"; - SyntaxKind[SyntaxKind["FirstKeyword"] = SyntaxKind.BreakKeyword] = "FirstKeyword"; - SyntaxKind[SyntaxKind["LastKeyword"] = SyntaxKind.StringKeyword] = "LastKeyword"; - SyntaxKind[SyntaxKind["FirstFutureReservedWord"] = SyntaxKind.ImplementsKeyword] = "FirstFutureReservedWord"; - SyntaxKind[SyntaxKind["LastFutureReservedWord"] = SyntaxKind.YieldKeyword] = "LastFutureReservedWord"; - })(ts.SyntaxKind || (ts.SyntaxKind = {})); - var SyntaxKind = ts.SyntaxKind; - (function (NodeFlags) { - NodeFlags[NodeFlags["Export"] = 0x00000001] = "Export"; - NodeFlags[NodeFlags["Ambient"] = 0x00000002] = "Ambient"; - NodeFlags[NodeFlags["QuestionMark"] = 0x00000004] = "QuestionMark"; - NodeFlags[NodeFlags["Rest"] = 0x00000008] = "Rest"; - NodeFlags[NodeFlags["Public"] = 0x00000010] = "Public"; - NodeFlags[NodeFlags["Private"] = 0x00000020] = "Private"; - NodeFlags[NodeFlags["Static"] = 0x00000040] = "Static"; - NodeFlags[NodeFlags["MultiLine"] = 0x00000080] = "MultiLine"; - NodeFlags[NodeFlags["Synthetic"] = 0x00000100] = "Synthetic"; - NodeFlags[NodeFlags["DeclarationFile"] = 0x00000200] = "DeclarationFile"; - NodeFlags[NodeFlags["Modifier"] = NodeFlags.Export | NodeFlags.Ambient | NodeFlags.Public | NodeFlags.Private | NodeFlags.Static] = "Modifier"; - })(ts.NodeFlags || (ts.NodeFlags = {})); - var NodeFlags = ts.NodeFlags; - (function (TypeFormatFlags) { - TypeFormatFlags[TypeFormatFlags["None"] = 0x00000000] = "None"; - TypeFormatFlags[TypeFormatFlags["WriteArrayAsGenericType"] = 0x00000001] = "WriteArrayAsGenericType"; - })(ts.TypeFormatFlags || (ts.TypeFormatFlags = {})); - var TypeFormatFlags = ts.TypeFormatFlags; - (function (SymbolFlags) { - SymbolFlags[SymbolFlags["Variable"] = 0x00000001] = "Variable"; - SymbolFlags[SymbolFlags["Property"] = 0x00000002] = "Property"; - SymbolFlags[SymbolFlags["EnumMember"] = 0x00000004] = "EnumMember"; - SymbolFlags[SymbolFlags["Function"] = 0x00000008] = "Function"; - SymbolFlags[SymbolFlags["Class"] = 0x00000010] = "Class"; - SymbolFlags[SymbolFlags["Interface"] = 0x00000020] = "Interface"; - SymbolFlags[SymbolFlags["Enum"] = 0x00000040] = "Enum"; - SymbolFlags[SymbolFlags["ValueModule"] = 0x00000080] = "ValueModule"; - SymbolFlags[SymbolFlags["NamespaceModule"] = 0x00000100] = "NamespaceModule"; - SymbolFlags[SymbolFlags["TypeLiteral"] = 0x00000200] = "TypeLiteral"; - SymbolFlags[SymbolFlags["ObjectLiteral"] = 0x00000400] = "ObjectLiteral"; - SymbolFlags[SymbolFlags["Method"] = 0x00000800] = "Method"; - SymbolFlags[SymbolFlags["Constructor"] = 0x00001000] = "Constructor"; - SymbolFlags[SymbolFlags["GetAccessor"] = 0x00002000] = "GetAccessor"; - SymbolFlags[SymbolFlags["SetAccessor"] = 0x00004000] = "SetAccessor"; - SymbolFlags[SymbolFlags["CallSignature"] = 0x00008000] = "CallSignature"; - SymbolFlags[SymbolFlags["ConstructSignature"] = 0x00010000] = "ConstructSignature"; - SymbolFlags[SymbolFlags["IndexSignature"] = 0x00020000] = "IndexSignature"; - SymbolFlags[SymbolFlags["TypeParameter"] = 0x00040000] = "TypeParameter"; - SymbolFlags[SymbolFlags["ExportValue"] = 0x00080000] = "ExportValue"; - SymbolFlags[SymbolFlags["ExportType"] = 0x00100000] = "ExportType"; - SymbolFlags[SymbolFlags["ExportNamespace"] = 0x00200000] = "ExportNamespace"; - SymbolFlags[SymbolFlags["Import"] = 0x00400000] = "Import"; - SymbolFlags[SymbolFlags["Instantiated"] = 0x00800000] = "Instantiated"; - SymbolFlags[SymbolFlags["Merged"] = 0x01000000] = "Merged"; - SymbolFlags[SymbolFlags["Transient"] = 0x02000000] = "Transient"; - SymbolFlags[SymbolFlags["Prototype"] = 0x04000000] = "Prototype"; - SymbolFlags[SymbolFlags["Value"] = SymbolFlags.Variable | SymbolFlags.Property | SymbolFlags.EnumMember | SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule | SymbolFlags.Method | SymbolFlags.GetAccessor | SymbolFlags.SetAccessor] = "Value"; - SymbolFlags[SymbolFlags["Type"] = SymbolFlags.Class | SymbolFlags.Interface | SymbolFlags.Enum | SymbolFlags.TypeLiteral | SymbolFlags.ObjectLiteral | SymbolFlags.TypeParameter] = "Type"; - SymbolFlags[SymbolFlags["Namespace"] = SymbolFlags.ValueModule | SymbolFlags.NamespaceModule] = "Namespace"; - SymbolFlags[SymbolFlags["Module"] = SymbolFlags.ValueModule | SymbolFlags.NamespaceModule] = "Module"; - SymbolFlags[SymbolFlags["Accessor"] = SymbolFlags.GetAccessor | SymbolFlags.SetAccessor] = "Accessor"; - SymbolFlags[SymbolFlags["Signature"] = SymbolFlags.CallSignature | SymbolFlags.ConstructSignature | SymbolFlags.IndexSignature] = "Signature"; - SymbolFlags[SymbolFlags["ParameterExcludes"] = SymbolFlags.Value] = "ParameterExcludes"; - SymbolFlags[SymbolFlags["VariableExcludes"] = SymbolFlags.Value & ~SymbolFlags.Variable] = "VariableExcludes"; - SymbolFlags[SymbolFlags["PropertyExcludes"] = SymbolFlags.Value] = "PropertyExcludes"; - SymbolFlags[SymbolFlags["EnumMemberExcludes"] = SymbolFlags.Value] = "EnumMemberExcludes"; - SymbolFlags[SymbolFlags["FunctionExcludes"] = SymbolFlags.Value & ~(SymbolFlags.Function | SymbolFlags.ValueModule)] = "FunctionExcludes"; - SymbolFlags[SymbolFlags["ClassExcludes"] = (SymbolFlags.Value | SymbolFlags.Type) & ~SymbolFlags.ValueModule] = "ClassExcludes"; - SymbolFlags[SymbolFlags["InterfaceExcludes"] = SymbolFlags.Type & ~SymbolFlags.Interface] = "InterfaceExcludes"; - SymbolFlags[SymbolFlags["EnumExcludes"] = (SymbolFlags.Value | SymbolFlags.Type) & ~(SymbolFlags.Enum | SymbolFlags.ValueModule)] = "EnumExcludes"; - SymbolFlags[SymbolFlags["ValueModuleExcludes"] = SymbolFlags.Value & ~(SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule)] = "ValueModuleExcludes"; - SymbolFlags[SymbolFlags["NamespaceModuleExcludes"] = 0] = "NamespaceModuleExcludes"; - SymbolFlags[SymbolFlags["MethodExcludes"] = SymbolFlags.Value & ~SymbolFlags.Method] = "MethodExcludes"; - SymbolFlags[SymbolFlags["GetAccessorExcludes"] = SymbolFlags.Value & ~SymbolFlags.SetAccessor] = "GetAccessorExcludes"; - SymbolFlags[SymbolFlags["SetAccessorExcludes"] = SymbolFlags.Value & ~SymbolFlags.GetAccessor] = "SetAccessorExcludes"; - SymbolFlags[SymbolFlags["TypeParameterExcludes"] = SymbolFlags.Type & ~SymbolFlags.TypeParameter] = "TypeParameterExcludes"; - SymbolFlags[SymbolFlags["ImportExcludes"] = SymbolFlags.Import] = "ImportExcludes"; - SymbolFlags[SymbolFlags["ModuleMember"] = SymbolFlags.Variable | SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Interface | SymbolFlags.Enum | SymbolFlags.Module | SymbolFlags.Import] = "ModuleMember"; - SymbolFlags[SymbolFlags["ExportHasLocal"] = SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule] = "ExportHasLocal"; - SymbolFlags[SymbolFlags["HasLocals"] = SymbolFlags.Function | SymbolFlags.Module | SymbolFlags.Method | SymbolFlags.Constructor | SymbolFlags.Accessor | SymbolFlags.Signature] = "HasLocals"; - SymbolFlags[SymbolFlags["HasExports"] = SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.Module] = "HasExports"; - SymbolFlags[SymbolFlags["HasMembers"] = SymbolFlags.Class | SymbolFlags.Interface | SymbolFlags.TypeLiteral | SymbolFlags.ObjectLiteral] = "HasMembers"; - SymbolFlags[SymbolFlags["IsContainer"] = SymbolFlags.HasLocals | SymbolFlags.HasExports | SymbolFlags.HasMembers] = "IsContainer"; - SymbolFlags[SymbolFlags["PropertyOrAccessor"] = SymbolFlags.Property | SymbolFlags.Accessor] = "PropertyOrAccessor"; - SymbolFlags[SymbolFlags["Export"] = SymbolFlags.ExportNamespace | SymbolFlags.ExportType | SymbolFlags.ExportValue] = "Export"; - })(ts.SymbolFlags || (ts.SymbolFlags = {})); - var SymbolFlags = ts.SymbolFlags; - (function (NodeCheckFlags) { - NodeCheckFlags[NodeCheckFlags["TypeChecked"] = 0x00000001] = "TypeChecked"; - NodeCheckFlags[NodeCheckFlags["LexicalThis"] = 0x00000002] = "LexicalThis"; - NodeCheckFlags[NodeCheckFlags["CaptureThis"] = 0x00000004] = "CaptureThis"; - NodeCheckFlags[NodeCheckFlags["EmitExtends"] = 0x00000008] = "EmitExtends"; - NodeCheckFlags[NodeCheckFlags["SuperInstance"] = 0x00000010] = "SuperInstance"; - NodeCheckFlags[NodeCheckFlags["SuperStatic"] = 0x00000020] = "SuperStatic"; - })(ts.NodeCheckFlags || (ts.NodeCheckFlags = {})); - var NodeCheckFlags = ts.NodeCheckFlags; - (function (TypeFlags) { - TypeFlags[TypeFlags["Any"] = 0x00000001] = "Any"; - TypeFlags[TypeFlags["String"] = 0x00000002] = "String"; - TypeFlags[TypeFlags["Number"] = 0x00000004] = "Number"; - TypeFlags[TypeFlags["Boolean"] = 0x00000008] = "Boolean"; - TypeFlags[TypeFlags["Void"] = 0x00000010] = "Void"; - TypeFlags[TypeFlags["Undefined"] = 0x00000020] = "Undefined"; - TypeFlags[TypeFlags["Null"] = 0x00000040] = "Null"; - TypeFlags[TypeFlags["Enum"] = 0x00000080] = "Enum"; - TypeFlags[TypeFlags["StringLiteral"] = 0x00000100] = "StringLiteral"; - TypeFlags[TypeFlags["TypeParameter"] = 0x00000200] = "TypeParameter"; - TypeFlags[TypeFlags["Class"] = 0x00000400] = "Class"; - TypeFlags[TypeFlags["Interface"] = 0x00000800] = "Interface"; - TypeFlags[TypeFlags["Reference"] = 0x00001000] = "Reference"; - TypeFlags[TypeFlags["Anonymous"] = 0x00002000] = "Anonymous"; - TypeFlags[TypeFlags["FromSignature"] = 0x00004000] = "FromSignature"; - TypeFlags[TypeFlags["Intrinsic"] = TypeFlags.Any | TypeFlags.String | TypeFlags.Number | TypeFlags.Boolean | TypeFlags.Void | TypeFlags.Undefined | TypeFlags.Null] = "Intrinsic"; - TypeFlags[TypeFlags["StringLike"] = TypeFlags.String | TypeFlags.StringLiteral] = "StringLike"; - TypeFlags[TypeFlags["NumberLike"] = TypeFlags.Number | TypeFlags.Enum] = "NumberLike"; - TypeFlags[TypeFlags["ObjectType"] = TypeFlags.Class | TypeFlags.Interface | TypeFlags.Reference | TypeFlags.Anonymous] = "ObjectType"; - })(ts.TypeFlags || (ts.TypeFlags = {})); - var TypeFlags = ts.TypeFlags; - (function (SignatureKind) { - SignatureKind[SignatureKind["Call"] = 0] = "Call"; - SignatureKind[SignatureKind["Construct"] = 1] = "Construct"; - })(ts.SignatureKind || (ts.SignatureKind = {})); - var SignatureKind = ts.SignatureKind; - (function (IndexKind) { - IndexKind[IndexKind["String"] = 0] = "String"; - IndexKind[IndexKind["Number"] = 1] = "Number"; - })(ts.IndexKind || (ts.IndexKind = {})); - var IndexKind = ts.IndexKind; - (function (DiagnosticCategory) { - DiagnosticCategory[DiagnosticCategory["Warning"] = 0] = "Warning"; - DiagnosticCategory[DiagnosticCategory["Error"] = 1] = "Error"; - DiagnosticCategory[DiagnosticCategory["Message"] = 2] = "Message"; - DiagnosticCategory[DiagnosticCategory["NoPrefix"] = 3] = "NoPrefix"; - })(ts.DiagnosticCategory || (ts.DiagnosticCategory = {})); - var DiagnosticCategory = ts.DiagnosticCategory; - (function (ModuleKind) { - ModuleKind[ModuleKind["None"] = 0] = "None"; - ModuleKind[ModuleKind["CommonJS"] = 1] = "CommonJS"; - ModuleKind[ModuleKind["AMD"] = 2] = "AMD"; - })(ts.ModuleKind || (ts.ModuleKind = {})); - var ModuleKind = ts.ModuleKind; - (function (ScriptTarget) { - ScriptTarget[ScriptTarget["ES3"] = 0] = "ES3"; - ScriptTarget[ScriptTarget["ES5"] = 1] = "ES5"; - })(ts.ScriptTarget || (ts.ScriptTarget = {})); - var ScriptTarget = ts.ScriptTarget; - (function (CharacterCodes) { - CharacterCodes[CharacterCodes["nullCharacter"] = 0] = "nullCharacter"; - CharacterCodes[CharacterCodes["maxAsciiCharacter"] = 0x7F] = "maxAsciiCharacter"; - CharacterCodes[CharacterCodes["lineFeed"] = 0x0A] = "lineFeed"; - CharacterCodes[CharacterCodes["carriageReturn"] = 0x0D] = "carriageReturn"; - CharacterCodes[CharacterCodes["lineSeparator"] = 0x2028] = "lineSeparator"; - CharacterCodes[CharacterCodes["paragraphSeparator"] = 0x2029] = "paragraphSeparator"; - CharacterCodes[CharacterCodes["nextLine"] = 0x0085] = "nextLine"; - CharacterCodes[CharacterCodes["space"] = 0x0020] = "space"; - CharacterCodes[CharacterCodes["nonBreakingSpace"] = 0x00A0] = "nonBreakingSpace"; - CharacterCodes[CharacterCodes["enQuad"] = 0x2000] = "enQuad"; - CharacterCodes[CharacterCodes["emQuad"] = 0x2001] = "emQuad"; - CharacterCodes[CharacterCodes["enSpace"] = 0x2002] = "enSpace"; - CharacterCodes[CharacterCodes["emSpace"] = 0x2003] = "emSpace"; - CharacterCodes[CharacterCodes["threePerEmSpace"] = 0x2004] = "threePerEmSpace"; - CharacterCodes[CharacterCodes["fourPerEmSpace"] = 0x2005] = "fourPerEmSpace"; - CharacterCodes[CharacterCodes["sixPerEmSpace"] = 0x2006] = "sixPerEmSpace"; - CharacterCodes[CharacterCodes["figureSpace"] = 0x2007] = "figureSpace"; - CharacterCodes[CharacterCodes["punctuationSpace"] = 0x2008] = "punctuationSpace"; - CharacterCodes[CharacterCodes["thinSpace"] = 0x2009] = "thinSpace"; - CharacterCodes[CharacterCodes["hairSpace"] = 0x200A] = "hairSpace"; - CharacterCodes[CharacterCodes["zeroWidthSpace"] = 0x200B] = "zeroWidthSpace"; - CharacterCodes[CharacterCodes["narrowNoBreakSpace"] = 0x202F] = "narrowNoBreakSpace"; - CharacterCodes[CharacterCodes["ideographicSpace"] = 0x3000] = "ideographicSpace"; - CharacterCodes[CharacterCodes["mathematicalSpace"] = 0x205F] = "mathematicalSpace"; - CharacterCodes[CharacterCodes["ogham"] = 0x1680] = "ogham"; - CharacterCodes[CharacterCodes["_"] = 0x5F] = "_"; - CharacterCodes[CharacterCodes["$"] = 0x24] = "$"; - CharacterCodes[CharacterCodes["_0"] = 0x30] = "_0"; - CharacterCodes[CharacterCodes["_1"] = 0x31] = "_1"; - CharacterCodes[CharacterCodes["_2"] = 0x32] = "_2"; - CharacterCodes[CharacterCodes["_3"] = 0x33] = "_3"; - CharacterCodes[CharacterCodes["_4"] = 0x34] = "_4"; - CharacterCodes[CharacterCodes["_5"] = 0x35] = "_5"; - CharacterCodes[CharacterCodes["_6"] = 0x36] = "_6"; - CharacterCodes[CharacterCodes["_7"] = 0x37] = "_7"; - CharacterCodes[CharacterCodes["_8"] = 0x38] = "_8"; - CharacterCodes[CharacterCodes["_9"] = 0x39] = "_9"; - CharacterCodes[CharacterCodes["a"] = 0x61] = "a"; - CharacterCodes[CharacterCodes["b"] = 0x62] = "b"; - CharacterCodes[CharacterCodes["c"] = 0x63] = "c"; - CharacterCodes[CharacterCodes["d"] = 0x64] = "d"; - CharacterCodes[CharacterCodes["e"] = 0x65] = "e"; - CharacterCodes[CharacterCodes["f"] = 0x66] = "f"; - CharacterCodes[CharacterCodes["g"] = 0x67] = "g"; - CharacterCodes[CharacterCodes["h"] = 0x68] = "h"; - CharacterCodes[CharacterCodes["i"] = 0x69] = "i"; - CharacterCodes[CharacterCodes["j"] = 0x6A] = "j"; - CharacterCodes[CharacterCodes["k"] = 0x6B] = "k"; - CharacterCodes[CharacterCodes["l"] = 0x6C] = "l"; - CharacterCodes[CharacterCodes["m"] = 0x6D] = "m"; - CharacterCodes[CharacterCodes["n"] = 0x6E] = "n"; - CharacterCodes[CharacterCodes["o"] = 0x6F] = "o"; - CharacterCodes[CharacterCodes["p"] = 0x70] = "p"; - CharacterCodes[CharacterCodes["q"] = 0x71] = "q"; - CharacterCodes[CharacterCodes["r"] = 0x72] = "r"; - CharacterCodes[CharacterCodes["s"] = 0x73] = "s"; - CharacterCodes[CharacterCodes["t"] = 0x74] = "t"; - CharacterCodes[CharacterCodes["u"] = 0x75] = "u"; - CharacterCodes[CharacterCodes["v"] = 0x76] = "v"; - CharacterCodes[CharacterCodes["w"] = 0x77] = "w"; - CharacterCodes[CharacterCodes["x"] = 0x78] = "x"; - CharacterCodes[CharacterCodes["y"] = 0x79] = "y"; - CharacterCodes[CharacterCodes["z"] = 0x7A] = "z"; - CharacterCodes[CharacterCodes["A"] = 0x41] = "A"; - CharacterCodes[CharacterCodes["B"] = 0x42] = "B"; - CharacterCodes[CharacterCodes["C"] = 0x43] = "C"; - CharacterCodes[CharacterCodes["D"] = 0x44] = "D"; - CharacterCodes[CharacterCodes["E"] = 0x45] = "E"; - CharacterCodes[CharacterCodes["F"] = 0x46] = "F"; - CharacterCodes[CharacterCodes["G"] = 0x47] = "G"; - CharacterCodes[CharacterCodes["H"] = 0x48] = "H"; - CharacterCodes[CharacterCodes["I"] = 0x49] = "I"; - CharacterCodes[CharacterCodes["J"] = 0x4A] = "J"; - CharacterCodes[CharacterCodes["K"] = 0x4B] = "K"; - CharacterCodes[CharacterCodes["L"] = 0x4C] = "L"; - CharacterCodes[CharacterCodes["M"] = 0x4D] = "M"; - CharacterCodes[CharacterCodes["N"] = 0x4E] = "N"; - CharacterCodes[CharacterCodes["O"] = 0x4F] = "O"; - CharacterCodes[CharacterCodes["P"] = 0x50] = "P"; - CharacterCodes[CharacterCodes["Q"] = 0x51] = "Q"; - CharacterCodes[CharacterCodes["R"] = 0x52] = "R"; - CharacterCodes[CharacterCodes["S"] = 0x53] = "S"; - CharacterCodes[CharacterCodes["T"] = 0x54] = "T"; - CharacterCodes[CharacterCodes["U"] = 0x55] = "U"; - CharacterCodes[CharacterCodes["V"] = 0x56] = "V"; - CharacterCodes[CharacterCodes["W"] = 0x57] = "W"; - CharacterCodes[CharacterCodes["X"] = 0x58] = "X"; - CharacterCodes[CharacterCodes["Y"] = 0x59] = "Y"; - CharacterCodes[CharacterCodes["Z"] = 0x5a] = "Z"; - CharacterCodes[CharacterCodes["ampersand"] = 0x26] = "ampersand"; - CharacterCodes[CharacterCodes["asterisk"] = 0x2A] = "asterisk"; - CharacterCodes[CharacterCodes["at"] = 0x40] = "at"; - CharacterCodes[CharacterCodes["backslash"] = 0x5C] = "backslash"; - CharacterCodes[CharacterCodes["bar"] = 0x7C] = "bar"; - CharacterCodes[CharacterCodes["caret"] = 0x5E] = "caret"; - CharacterCodes[CharacterCodes["closeBrace"] = 0x7D] = "closeBrace"; - CharacterCodes[CharacterCodes["closeBracket"] = 0x5D] = "closeBracket"; - CharacterCodes[CharacterCodes["closeParen"] = 0x29] = "closeParen"; - CharacterCodes[CharacterCodes["colon"] = 0x3A] = "colon"; - CharacterCodes[CharacterCodes["comma"] = 0x2C] = "comma"; - CharacterCodes[CharacterCodes["dot"] = 0x2E] = "dot"; - CharacterCodes[CharacterCodes["doubleQuote"] = 0x22] = "doubleQuote"; - CharacterCodes[CharacterCodes["equals"] = 0x3D] = "equals"; - CharacterCodes[CharacterCodes["exclamation"] = 0x21] = "exclamation"; - CharacterCodes[CharacterCodes["greaterThan"] = 0x3E] = "greaterThan"; - CharacterCodes[CharacterCodes["lessThan"] = 0x3C] = "lessThan"; - CharacterCodes[CharacterCodes["minus"] = 0x2D] = "minus"; - CharacterCodes[CharacterCodes["openBrace"] = 0x7B] = "openBrace"; - CharacterCodes[CharacterCodes["openBracket"] = 0x5B] = "openBracket"; - CharacterCodes[CharacterCodes["openParen"] = 0x28] = "openParen"; - CharacterCodes[CharacterCodes["percent"] = 0x25] = "percent"; - CharacterCodes[CharacterCodes["plus"] = 0x2B] = "plus"; - CharacterCodes[CharacterCodes["question"] = 0x3F] = "question"; - CharacterCodes[CharacterCodes["semicolon"] = 0x3B] = "semicolon"; - CharacterCodes[CharacterCodes["singleQuote"] = 0x27] = "singleQuote"; - CharacterCodes[CharacterCodes["slash"] = 0x2F] = "slash"; - CharacterCodes[CharacterCodes["tilde"] = 0x7E] = "tilde"; - CharacterCodes[CharacterCodes["backspace"] = 0x08] = "backspace"; - CharacterCodes[CharacterCodes["formFeed"] = 0x0C] = "formFeed"; - CharacterCodes[CharacterCodes["byteOrderMark"] = 0xFEFF] = "byteOrderMark"; - CharacterCodes[CharacterCodes["tab"] = 0x09] = "tab"; - CharacterCodes[CharacterCodes["verticalTab"] = 0x0B] = "verticalTab"; - })(ts.CharacterCodes || (ts.CharacterCodes = {})); - var CharacterCodes = ts.CharacterCodes; -})(ts || (ts = {})); -var ts; -(function (ts) { - function forEach(array, callback) { - var result; - if (array) { - for (var i = 0, len = array.length; i < len; i++) { - if (result = callback(array[i])) - break; - } - } - return result; - } - ts.forEach = forEach; - function contains(array, value) { - if (array) { - var len = array.length; - for (var i = 0; i < len; i++) { - if (array[i] === value) { - return true; - } - } - } - return false; - } - ts.contains = contains; - function indexOf(array, value) { - if (array) { - var len = array.length; - for (var i = 0; i < len; i++) { - if (array[i] === value) { - return i; - } - } - } - return -1; - } - ts.indexOf = indexOf; - function filter(array, f) { - var result; - if (array) { - result = []; - for (var i = 0, len = array.length; i < len; i++) { - var item = array[i]; - if (f(item)) { - result.push(item); - } - } - } - return result; - } - ts.filter = filter; - function map(array, f) { - var result; - if (array) { - result = []; - var len = array.length; - for (var i = 0; i < len; i++) { - result.push(f(array[i])); - } - } - return result; - } - ts.map = map; - function concatenate(array1, array2) { - if (!array2.length) - return array1; - if (!array1.length) - return array2; - return array1.concat(array2); - } - ts.concatenate = concatenate; - function sum(array, prop) { - var result = 0; - for (var i = 0; i < array.length; i++) { - result += array[i][prop]; - } - return result; - } - ts.sum = sum; - function binarySearch(array, value) { - var low = 0; - var high = array.length - 1; - while (low <= high) { - var middle = low + ((high - low) >> 1); - var midValue = array[middle]; - if (midValue === value) { - return middle; - } - else if (midValue > value) { - high = middle - 1; - } - else { - low = middle + 1; - } - } - return ~low; - } - ts.binarySearch = binarySearch; - var hasOwnProperty = Object.prototype.hasOwnProperty; - function hasProperty(map, key) { - return hasOwnProperty.call(map, key); - } - ts.hasProperty = hasProperty; - function getProperty(map, key) { - return hasOwnProperty.call(map, key) ? map[key] : undefined; - } - ts.getProperty = getProperty; - function isEmpty(map) { - for (var id in map) - return false; - return true; - } - ts.isEmpty = isEmpty; - function clone(object) { - var result = {}; - for (var id in object) { - result[id] = object[id]; - } - return result; - } - ts.clone = clone; - function forEachValue(map, callback) { - var result; - for (var id in map) { - if (result = callback(map[id])) - break; - } - return result; - } - ts.forEachValue = forEachValue; - function mapToArray(map) { - var result = []; - for (var id in map) - result.push(map[id]); - return result; - } - ts.mapToArray = mapToArray; - function formatStringFromArgs(text, args, baseIndex) { - baseIndex = baseIndex || 0; - return text.replace(/{(\d+)}/g, function (match, index) { return args[+index + baseIndex]; }); - } - ts.localizedDiagnosticMessages = undefined; - function getLocaleSpecificMessage(message) { - if (ts.localizedDiagnosticMessages) { - message = ts.localizedDiagnosticMessages[message]; - } - Debug.assert(message, "Diagnostic message does not exist in locale map."); - return message; - } - function createFileDiagnostic(file, start, length, message) { - var text = getLocaleSpecificMessage(message.key); - if (arguments.length > 4) { - text = formatStringFromArgs(text, arguments, 4); - } - return { - file: file, - start: start, - length: length, - messageText: text, - category: message.category, - code: message.code - }; - } - ts.createFileDiagnostic = createFileDiagnostic; - function createCompilerDiagnostic(message) { - var text = getLocaleSpecificMessage(message.key); - if (arguments.length > 1) { - text = formatStringFromArgs(text, arguments, 1); - } - return { - file: undefined, - start: undefined, - length: undefined, - messageText: text, - category: message.category, - code: message.code - }; - } - ts.createCompilerDiagnostic = createCompilerDiagnostic; - function chainDiagnosticMessages(details, message) { - var text = getLocaleSpecificMessage(message.key); - if (arguments.length > 2) { - text = formatStringFromArgs(text, arguments, 2); - } - return { - messageText: text, - category: message.category, - code: message.code, - next: details - }; - } - ts.chainDiagnosticMessages = chainDiagnosticMessages; - function flattenDiagnosticChain(file, start, length, diagnosticChain) { - var code = diagnosticChain.code; - var category = diagnosticChain.category; - var messageText = ""; - var indent = 0; - while (diagnosticChain) { - if (indent) { - messageText += sys.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; - if (a === undefined) - return -1; - if (b === undefined) - return 1; - return a < b ? -1 : 1; - } - 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; - } - ts.compareDiagnostics = compareDiagnostics; - function deduplicateSortedDiagnostics(diagnostics) { - if (diagnostics.length < 2) { - return diagnostics; - } - var newDiagnostics = [diagnostics[0]]; - var previousDiagnostic = diagnostics[0]; - for (var i = 1; i < diagnostics.length; i++) { - var currentDiagnostic = diagnostics[i]; - var isDupe = compareDiagnostics(currentDiagnostic, previousDiagnostic) === 0; - if (!isDupe) { - newDiagnostics.push(currentDiagnostic); - previousDiagnostic = currentDiagnostic; - } - } - return newDiagnostics; - } - ts.deduplicateSortedDiagnostics = deduplicateSortedDiagnostics; - function normalizeSlashes(path) { - return path.replace(/\\/g, "/"); - } - ts.normalizeSlashes = normalizeSlashes; - function getRootLength(path) { - if (path.charCodeAt(0) === 47 /* slash */) { - if (path.charCodeAt(1) !== 47 /* slash */) - return 1; - var p1 = path.indexOf("/", 2); - if (p1 < 0) - return 2; - var p2 = path.indexOf("/", p1 + 1); - if (p2 < 0) - return p1 + 1; - return p2 + 1; - } - if (path.charCodeAt(1) === 58 /* colon */) { - if (path.charCodeAt(2) === 47 /* slash */) - return 3; - return 2; - } - return 0; - } - ts.getRootLength = getRootLength; - ts.directorySeparator = "/"; - function getNormalizedParts(normalizedSlashedPath, rootLength) { - var parts = normalizedSlashedPath.substr(rootLength).split(ts.directorySeparator); - var normalized = []; - for (var i = 0; i < parts.length; i++) { - var part = parts[i]; - if (part !== ".") { - if (part === ".." && normalized.length > 0 && normalized[normalized.length - 1] !== "..") { - normalized.pop(); - } - else { - normalized.push(part); - } - } - } - return normalized; - } - function normalizePath(path) { - var path = normalizeSlashes(path); - var rootLength = getRootLength(path); - var normalized = getNormalizedParts(path, rootLength); - return path.substr(0, rootLength) + normalized.join(ts.directorySeparator); - } - ts.normalizePath = normalizePath; - function getDirectoryPath(path) { - return path.substr(0, Math.max(getRootLength(path), path.lastIndexOf(ts.directorySeparator))); - } - ts.getDirectoryPath = getDirectoryPath; - function isUrl(path) { - return path && !isRootedDiskPath(path) && path.indexOf("://") !== -1; - } - ts.isUrl = isUrl; - function isRootedDiskPath(path) { - return getRootLength(path) !== 0; - } - ts.isRootedDiskPath = isRootedDiskPath; - function normalizedPathComponents(path, rootLength) { - var normalizedParts = getNormalizedParts(path, rootLength); - return [path.substr(0, rootLength)].concat(normalizedParts); - } - function getNormalizedPathComponents(path, currentDirectory) { - var path = normalizeSlashes(path); - var rootLength = getRootLength(path); - if (rootLength == 0) { - path = combinePaths(normalizeSlashes(currentDirectory), path); - rootLength = getRootLength(path); - } - return normalizedPathComponents(path, rootLength); - } - ts.getNormalizedPathComponents = getNormalizedPathComponents; - function getNormalizedPathFromPathCompoments(pathComponents) { - if (pathComponents && pathComponents.length) { - return pathComponents[0] + pathComponents.slice(1).join(ts.directorySeparator); - } - } - ts.getNormalizedPathFromPathCompoments = getNormalizedPathFromPathCompoments; - function getNormalizedPathComponentsOfUrl(url) { - var urlLength = url.length; - var rootLength = url.indexOf("://") + "://".length; - while (rootLength < urlLength) { - if (url.charCodeAt(rootLength) === 47 /* slash */) { - rootLength++; - } - else { - break; - } - } - if (rootLength === urlLength) { - return [url]; - } - var indexOfNextSlash = url.indexOf(ts.directorySeparator, rootLength); - if (indexOfNextSlash !== -1) { - rootLength = indexOfNextSlash + 1; - return normalizedPathComponents(url, rootLength); - } - else { - return [url + ts.directorySeparator]; - } - } - function getNormalizedPathOrUrlComponents(pathOrUrl, currentDirectory) { - if (isUrl(pathOrUrl)) { - return getNormalizedPathComponentsOfUrl(pathOrUrl); - } - else { - return getNormalizedPathComponents(pathOrUrl, currentDirectory); - } - } - function getRelativePathToDirectoryOrUrl(directoryPathOrUrl, relativeOrAbsolutePath, currentDirectory, isAbsolutePathAnUrl) { - var pathComponents = getNormalizedPathOrUrlComponents(relativeOrAbsolutePath, currentDirectory); - var directoryComponents = getNormalizedPathOrUrlComponents(directoryPathOrUrl, currentDirectory); - if (directoryComponents.length > 1 && directoryComponents[directoryComponents.length - 1] === "") { - directoryComponents.length--; - } - for (var joinStartIndex = 0; joinStartIndex < pathComponents.length && joinStartIndex < directoryComponents.length; joinStartIndex++) { - if (directoryComponents[joinStartIndex] !== pathComponents[joinStartIndex]) { - break; - } - } - if (joinStartIndex) { - var relativePath = ""; - var relativePathComponents = pathComponents.slice(joinStartIndex, pathComponents.length); - for (; joinStartIndex < directoryComponents.length; joinStartIndex++) { - if (directoryComponents[joinStartIndex] !== "") { - relativePath = relativePath + ".." + ts.directorySeparator; - } - } - return relativePath + relativePathComponents.join(ts.directorySeparator); - } - var absolutePath = getNormalizedPathFromPathCompoments(pathComponents); - if (isAbsolutePathAnUrl && isRootedDiskPath(absolutePath)) { - absolutePath = "file:///" + absolutePath; - } - return absolutePath; - } - ts.getRelativePathToDirectoryOrUrl = getRelativePathToDirectoryOrUrl; - function getBaseFilename(path) { - var i = path.lastIndexOf(ts.directorySeparator); - return i < 0 ? path : path.substring(i + 1); - } - ts.getBaseFilename = getBaseFilename; - function combinePaths(path1, path2) { - if (!(path1 && path1.length)) - return path2; - if (!(path2 && path2.length)) - return path1; - if (path2.charAt(0) === ts.directorySeparator) - return path2; - if (path1.charAt(path1.length - 1) === ts.directorySeparator) - return path1 + path2; - return path1 + ts.directorySeparator + path2; - } - ts.combinePaths = combinePaths; - function fileExtensionIs(path, extension) { - var pathLen = path.length; - var extLen = extension.length; - return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; - } - ts.fileExtensionIs = fileExtensionIs; - function getCanonicalFileName(fileName) { - return sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(); - } - ts.getCanonicalFileName = getCanonicalFileName; - function Symbol(flags, name) { - this.flags = flags; - this.name = name; - this.declarations = undefined; - } - function Type(checker, flags) { - this.flags = flags; - } - function Signature(checker) { - } - ts.objectAllocator = { - getNodeConstructor: function (kind) { - function Node() { - } - Node.prototype = { - kind: kind, - pos: 0, - end: 0, - flags: 0, - parent: undefined - }; - return Node; - }, - getSymbolConstructor: function () { return Symbol; }, - getTypeConstructor: function () { return Type; }, - getSignatureConstructor: function () { return Signature; } - }; - (function (AssertionLevel) { - AssertionLevel[AssertionLevel["None"] = 0] = "None"; - AssertionLevel[AssertionLevel["Normal"] = 1] = "Normal"; - AssertionLevel[AssertionLevel["Aggressive"] = 2] = "Aggressive"; - AssertionLevel[AssertionLevel["VeryAggressive"] = 3] = "VeryAggressive"; - })(ts.AssertionLevel || (ts.AssertionLevel = {})); - var AssertionLevel = ts.AssertionLevel; - (function (Debug) { - var currentAssertionLevel = 0 /* None */; - function shouldAssert(level) { - return this.currentAssertionLevel >= level; - } - Debug.shouldAssert = shouldAssert; - function assert(expression, message, verboseDebugInfo) { - if (!expression) { - var verboseDebugString = ""; - if (verboseDebugInfo) { - verboseDebugString = "\r\nVerbose Debug Information: " + verboseDebugInfo(); - } - throw new Error("Debug Failure. False expression: " + (message || "") + verboseDebugString); - } - } - Debug.assert = assert; - function fail(message) { - Debug.assert(false, message); - } - Debug.fail = fail; - })(ts.Debug || (ts.Debug = {})); - var Debug = ts.Debug; -})(ts || (ts = {})); -var sys = (function () { - function getWScriptSystem() { - var fso = new ActiveXObject("Scripting.FileSystemObject"); - var fileStream = new ActiveXObject("ADODB.Stream"); - fileStream.Type = 2; - var binaryStream = new ActiveXObject("ADODB.Stream"); - binaryStream.Type = 1; - var args = []; - for (var i = 0; i < WScript.Arguments.length; i++) { - args[i] = WScript.Arguments.Item(i); - } - function readFile(fileName, encoding) { - if (!fso.FileExists(fileName)) { - return undefined; - } - fileStream.Open(); - try { - if (encoding) { - fileStream.Charset = encoding; - fileStream.LoadFromFile(fileName); - } - else { - fileStream.Charset = "x-ansi"; - fileStream.LoadFromFile(fileName); - var bom = fileStream.ReadText(2) || ""; - fileStream.Position = 0; - fileStream.Charset = bom.length >= 2 && (bom.charCodeAt(0) === 0xFF && bom.charCodeAt(1) === 0xFE || bom.charCodeAt(0) === 0xFE && bom.charCodeAt(1) === 0xFF) ? "unicode" : "utf-8"; - } - return fileStream.ReadText(); - } - catch (e) { - throw e.number === -2147024809 ? new Error(ts.Diagnostics.Unsupported_file_encoding.key) : e; - } - finally { - fileStream.Close(); - } - } - function writeFile(fileName, data) { - fileStream.Open(); - binaryStream.Open(); - try { - fileStream.Charset = "utf-8"; - fileStream.WriteText(data); - fileStream.Position = 3; - fileStream.CopyTo(binaryStream); - binaryStream.SaveToFile(fileName, 2); - } - finally { - binaryStream.Close(); - fileStream.Close(); - } - } - return { - args: args, - newLine: "\r\n", - useCaseSensitiveFileNames: false, - write: function (s) { - WScript.StdOut.Write(s); - }, - writeErr: function (s) { - WScript.StdErr.Write(s); - }, - readFile: readFile, - writeFile: writeFile, - resolvePath: function (path) { - return fso.GetAbsolutePathName(path); - }, - fileExists: function (path) { - return fso.FileExists(path); - }, - directoryExists: function (path) { - return fso.FolderExists(path); - }, - createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { - fso.CreateFolder(directoryName); - } - }, - getExecutingFilePath: function () { - return WScript.ScriptFullName; - }, - getCurrentDirectory: function () { - return new ActiveXObject("WScript.Shell").CurrentDirectory; - }, - getMemoryUsage: function () { - return 0; - }, - exit: function (exitCode) { - try { - WScript.Quit(exitCode); - } - catch (e) { - } - } - }; - } - function getNodeSystem() { - var _fs = require("fs"); - var _path = require("path"); - var _os = require('os'); - var platform = _os.platform(); - var useCaseSensitiveFileNames = platform !== "win32" && platform !== "win64" && platform !== "darwin"; - function readFile(fileName, encoding) { - if (!_fs.existsSync(fileName)) { - return undefined; - } - var buffer = _fs.readFileSync(fileName); - var len = buffer.length; - if (len >= 2 && buffer[0] === 0xFE && buffer[1] === 0xFF) { - len &= ~1; - for (var i = 0; i < len; i += 2) { - var temp = buffer[i]; - buffer[i] = buffer[i + 1]; - buffer[i + 1] = temp; - } - return buffer.toString("utf16le", 2); - } - if (len >= 2 && buffer[0] === 0xFF && buffer[1] === 0xFE) { - return buffer.toString("utf16le", 2); - } - if (len >= 3 && buffer[0] === 0xEF && buffer[1] === 0xBB && buffer[2] === 0xBF) { - return buffer.toString("utf8", 3); - } - return buffer.toString("utf8"); - } - function writeFile(fileName, data) { - _fs.writeFileSync(fileName, data, "utf8"); - } - return { - args: process.argv.slice(2), - newLine: _os.EOL, - useCaseSensitiveFileNames: useCaseSensitiveFileNames, - write: function (s) { - process.stdout.write(s); - }, - writeErr: function (s) { - process.stderr.write(s); - }, - readFile: readFile, - writeFile: writeFile, - resolvePath: function (path) { - return _path.resolve(path); - }, - fileExists: function (path) { - return _fs.existsSync(path); - }, - directoryExists: function (path) { - return _fs.existsSync(path) && _fs.statSync(path).isDirectory(); - }, - createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { - _fs.mkdirSync(directoryName); - } - }, - getExecutingFilePath: function () { - return process.mainModule.filename; - }, - getCurrentDirectory: function () { - return process.cwd(); - }, - getMemoryUsage: function () { - global.gc(); - return process.memoryUsage().heapUsed; - }, - exit: function (exitCode) { - process.exit(exitCode); - } - }; - } - if (typeof WScript !== "undefined" && typeof ActiveXObject === "function") { - return getWScriptSystem(); - } - else if (typeof module !== "undefined" && module.exports) { - return getNodeSystem(); - } - else { - return undefined; - } -})(); -var ts; -(function (ts) { - var nodeConstructors = new Array(180 /* Count */); - function getNodeConstructor(kind) { - return nodeConstructors[kind] || (nodeConstructors[kind] = ts.objectAllocator.getNodeConstructor(kind)); - } - ts.getNodeConstructor = getNodeConstructor; - function createRootNode(kind, pos, end, flags) { - var node = new (getNodeConstructor(kind))(); - node.pos = pos; - node.end = end; - node.flags = flags; - return node; - } - var moduleExtensions = [".d.ts", ".ts", ".js"]; - function getModuleNameFromFilename(filename) { - for (var i = 0; i < moduleExtensions.length; i++) { - var ext = moduleExtensions[i]; - var len = filename.length - ext.length; - if (len > 0 && filename.substr(len) === ext) - return filename.substr(0, len); - } - return filename; - } - ts.getModuleNameFromFilename = getModuleNameFromFilename; - function getSourceFileOfNode(node) { - while (node && node.kind !== 177 /* SourceFile */) - node = node.parent; - return node; - } - ts.getSourceFileOfNode = getSourceFileOfNode; - function nodePosToString(node) { - var file = getSourceFileOfNode(node); - var loc = file.getLineAndCharacterFromPosition(node.pos); - return file.filename + "(" + loc.line + "," + loc.character + ")"; - } - ts.nodePosToString = nodePosToString; - function getStartPosOfNode(node) { - return node.pos; - } - ts.getStartPosOfNode = getStartPosOfNode; - function getTokenPosOfNode(node) { - return ts.skipTrivia(getSourceFileOfNode(node).text, node.pos); - } - ts.getTokenPosOfNode = getTokenPosOfNode; - function getSourceTextOfNodeFromSourceText(sourceText, node) { - return sourceText.substring(ts.skipTrivia(sourceText, node.pos), node.end); - } - ts.getSourceTextOfNodeFromSourceText = getSourceTextOfNodeFromSourceText; - function getSourceTextOfNode(node) { - var text = getSourceFileOfNode(node).text; - return text.substring(ts.skipTrivia(text, node.pos), node.end); - } - ts.getSourceTextOfNode = getSourceTextOfNode; - function escapeIdentifier(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; - } - ts.unescapeIdentifier = unescapeIdentifier; - function identifierToString(identifier) { - return identifier.kind === 111 /* Missing */ ? "(Missing)" : getSourceTextOfNode(identifier); - } - ts.identifierToString = identifierToString; - function createDiagnosticForNode(node, message, arg0, arg1, arg2) { - node = getErrorSpanForNode(node); - var file = getSourceFileOfNode(node); - var start = ts.skipTrivia(file.text, node.pos); - var length = node.end - start; - return ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2); - } - ts.createDiagnosticForNode = createDiagnosticForNode; - 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); - } - ts.createDiagnosticForNodeFromMessageChain = createDiagnosticForNodeFromMessageChain; - function getErrorSpanForNode(node) { - var errorSpan; - switch (node.kind) { - case 166 /* VariableDeclaration */: - case 169 /* ClassDeclaration */: - case 170 /* InterfaceDeclaration */: - case 172 /* ModuleDeclaration */: - case 171 /* EnumDeclaration */: - case 176 /* EnumMember */: - errorSpan = node.name; - break; - } - return errorSpan && errorSpan.pos < errorSpan.end ? errorSpan : node; - } - ts.getErrorSpanForNode = getErrorSpanForNode; - function isExternalModule(file) { - return file.externalModuleIndicator !== undefined; - } - ts.isExternalModule = isExternalModule; - function isPrologueDirective(node) { - return node.kind === 146 /* ExpressionStatement */ && node.expression.kind === 3 /* StringLiteral */; - } - ts.isPrologueDirective = isPrologueDirective; - function isEvalOrArgumentsIdentifier(node) { - return node.kind === 55 /* Identifier */ && node.text && (node.text === "eval" || node.text === "arguments"); - } - function isUseStrictPrologueDirective(node) { - ts.Debug.assert(isPrologueDirective(node)); - return node.expression.text === "use strict"; - } - function forEachChild(node, cbNode, cbNodes) { - function child(node) { - if (node) - return cbNode(node); - } - function children(nodes) { - if (nodes) { - if (cbNodes) - return cbNodes(nodes); - var result; - for (var i = 0, len = nodes.length; i < len; i++) { - if (result = cbNode(nodes[i])) - break; - } - return result; - } - } - if (!node) - return; - switch (node.kind) { - case 112 /* QualifiedName */: - return child(node.left) || child(node.right); - case 113 /* TypeParameter */: - return child(node.name) || child(node.constraint); - case 114 /* Parameter */: - return child(node.name) || child(node.type) || child(node.initializer); - case 115 /* Property */: - case 129 /* PropertyAssignment */: - return child(node.name) || child(node.type) || child(node.initializer); - case 120 /* CallSignature */: - case 121 /* ConstructSignature */: - case 122 /* IndexSignature */: - return children(node.typeParameters) || children(node.parameters) || child(node.type); - case 116 /* Method */: - case 117 /* Constructor */: - case 118 /* GetAccessor */: - case 119 /* SetAccessor */: - case 136 /* FunctionExpression */: - case 167 /* FunctionDeclaration */: - case 137 /* ArrowFunction */: - return child(node.name) || children(node.typeParameters) || children(node.parameters) || child(node.type) || child(node.body); - case 123 /* TypeReference */: - return child(node.typeName) || children(node.typeArguments); - case 124 /* TypeQuery */: - return child(node.exprName); - case 125 /* TypeLiteral */: - return children(node.members); - case 126 /* ArrayType */: - return child(node.elementType); - case 127 /* ArrayLiteral */: - return children(node.elements); - case 128 /* ObjectLiteral */: - return children(node.properties); - case 130 /* PropertyAccess */: - return child(node.left) || child(node.right); - case 131 /* IndexedAccess */: - return child(node.object) || child(node.index); - case 132 /* CallExpression */: - case 133 /* NewExpression */: - return child(node.func) || children(node.typeArguments) || children(node.arguments); - case 134 /* TypeAssertion */: - return child(node.type) || child(node.operand); - case 135 /* ParenExpression */: - return child(node.expression); - case 138 /* PrefixOperator */: - case 139 /* PostfixOperator */: - return child(node.operand); - case 140 /* BinaryExpression */: - return child(node.left) || child(node.right); - case 141 /* ConditionalExpression */: - return child(node.condition) || child(node.whenTrue) || child(node.whenFalse); - case 143 /* Block */: - case 162 /* TryBlock */: - case 164 /* FinallyBlock */: - case 168 /* FunctionBlock */: - case 173 /* ModuleBlock */: - case 177 /* SourceFile */: - return children(node.statements); - case 144 /* VariableStatement */: - return children(node.declarations); - case 146 /* ExpressionStatement */: - return child(node.expression); - case 147 /* IfStatement */: - return child(node.expression) || child(node.thenStatement) || child(node.elseStatement); - case 148 /* DoStatement */: - return child(node.statement) || child(node.expression); - case 149 /* WhileStatement */: - return child(node.expression) || child(node.statement); - case 150 /* ForStatement */: - return children(node.declarations) || child(node.initializer) || child(node.condition) || child(node.iterator) || child(node.statement); - case 151 /* ForInStatement */: - return child(node.declaration) || child(node.variable) || child(node.expression) || child(node.statement); - case 152 /* ContinueStatement */: - case 153 /* BreakStatement */: - return child(node.label); - case 154 /* ReturnStatement */: - return child(node.expression); - case 155 /* WithStatement */: - return child(node.expression) || child(node.statement); - case 156 /* SwitchStatement */: - return child(node.expression) || children(node.clauses); - case 157 /* CaseClause */: - case 158 /* DefaultClause */: - return child(node.expression) || children(node.statements); - case 159 /* LabelledStatement */: - return child(node.label) || child(node.statement); - case 160 /* ThrowStatement */: - return child(node.expression); - case 161 /* TryStatement */: - return child(node.tryBlock) || child(node.catchBlock) || child(node.finallyBlock); - case 163 /* CatchBlock */: - return child(node.variable) || children(node.statements); - case 166 /* VariableDeclaration */: - return child(node.name) || child(node.type) || child(node.initializer); - case 169 /* ClassDeclaration */: - return child(node.name) || children(node.typeParameters) || child(node.baseType) || children(node.implementedTypes) || children(node.members); - case 170 /* InterfaceDeclaration */: - return child(node.name) || children(node.typeParameters) || children(node.baseTypes) || children(node.members); - case 171 /* EnumDeclaration */: - return child(node.name) || children(node.members); - case 176 /* EnumMember */: - return child(node.name) || child(node.initializer); - case 172 /* ModuleDeclaration */: - return child(node.name) || child(node.body); - case 174 /* ImportDeclaration */: - return child(node.name) || child(node.entityName) || child(node.externalModuleName); - case 175 /* ExportAssignment */: - return child(node.exportName); - } - } - ts.forEachChild = forEachChild; - function hasRestParameters(s) { - return s.parameters.length > 0 && (s.parameters[s.parameters.length - 1].flags & 8 /* Rest */) !== 0; - } - ts.hasRestParameters = hasRestParameters; - var ParsingContext; - (function (ParsingContext) { - ParsingContext[ParsingContext["SourceElements"] = 0] = "SourceElements"; - ParsingContext[ParsingContext["ModuleElements"] = 1] = "ModuleElements"; - ParsingContext[ParsingContext["BlockStatements"] = 2] = "BlockStatements"; - ParsingContext[ParsingContext["SwitchClauses"] = 3] = "SwitchClauses"; - ParsingContext[ParsingContext["SwitchClauseStatements"] = 4] = "SwitchClauseStatements"; - ParsingContext[ParsingContext["TypeMembers"] = 5] = "TypeMembers"; - ParsingContext[ParsingContext["ClassMembers"] = 6] = "ClassMembers"; - ParsingContext[ParsingContext["EnumMembers"] = 7] = "EnumMembers"; - ParsingContext[ParsingContext["BaseTypeReferences"] = 8] = "BaseTypeReferences"; - ParsingContext[ParsingContext["VariableDeclarations"] = 9] = "VariableDeclarations"; - ParsingContext[ParsingContext["ArgumentExpressions"] = 10] = "ArgumentExpressions"; - ParsingContext[ParsingContext["ObjectLiteralMembers"] = 11] = "ObjectLiteralMembers"; - ParsingContext[ParsingContext["ArrayLiteralMembers"] = 12] = "ArrayLiteralMembers"; - ParsingContext[ParsingContext["Parameters"] = 13] = "Parameters"; - ParsingContext[ParsingContext["TypeParameters"] = 14] = "TypeParameters"; - ParsingContext[ParsingContext["TypeArguments"] = 15] = "TypeArguments"; - ParsingContext[ParsingContext["Count"] = 16] = "Count"; - })(ParsingContext || (ParsingContext = {})); - var Tristate; - (function (Tristate) { - Tristate[Tristate["False"] = 0] = "False"; - Tristate[Tristate["True"] = 1] = "True"; - Tristate[Tristate["Unknown"] = 2] = "Unknown"; - })(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 /* BaseTypeReferences */: - return ts.Diagnostics.Type_reference_expected; - case 9 /* VariableDeclarations */: - return ts.Diagnostics.Variable_declaration_expected; - case 10 /* ArgumentExpressions */: - return ts.Diagnostics.Argument_expression_expected; - case 11 /* ObjectLiteralMembers */: - return ts.Diagnostics.Property_assignment_expected; - case 12 /* ArrayLiteralMembers */: - return ts.Diagnostics.Expression_or_comma_expected; - case 13 /* Parameters */: - return ts.Diagnostics.Parameter_declaration_expected; - case 14 /* TypeParameters */: - return ts.Diagnostics.Type_parameter_declaration_expected; - case 15 /* TypeArguments */: - return ts.Diagnostics.Type_argument_expected; - } - } - ; - var LookAheadMode; - (function (LookAheadMode) { - LookAheadMode[LookAheadMode["NotLookingAhead"] = 0] = "NotLookingAhead"; - LookAheadMode[LookAheadMode["NoErrorYet"] = 1] = "NoErrorYet"; - LookAheadMode[LookAheadMode["Error"] = 2] = "Error"; - })(LookAheadMode || (LookAheadMode = {})); - var ModifierContext; - (function (ModifierContext) { - ModifierContext[ModifierContext["SourceElements"] = 0] = "SourceElements"; - ModifierContext[ModifierContext["ModuleElements"] = 1] = "ModuleElements"; - ModifierContext[ModifierContext["ClassMembers"] = 2] = "ClassMembers"; - ModifierContext[ModifierContext["Parameters"] = 3] = "Parameters"; - })(ModifierContext || (ModifierContext = {})); - var TrailingCommaBehavior; - (function (TrailingCommaBehavior) { - TrailingCommaBehavior[TrailingCommaBehavior["Disallow"] = 0] = "Disallow"; - TrailingCommaBehavior[TrailingCommaBehavior["Allow"] = 1] = "Allow"; - TrailingCommaBehavior[TrailingCommaBehavior["Preserve"] = 2] = "Preserve"; - })(TrailingCommaBehavior || (TrailingCommaBehavior = {})); - var ControlBlockContext; - (function (ControlBlockContext) { - ControlBlockContext[ControlBlockContext["NotNested"] = 0] = "NotNested"; - ControlBlockContext[ControlBlockContext["Nested"] = 1] = "Nested"; - ControlBlockContext[ControlBlockContext["CrossingFunctionBoundary"] = 2] = "CrossingFunctionBoundary"; - })(ControlBlockContext || (ControlBlockContext = {})); - function createSourceFile(filename, sourceText, languageVersion) { - var file; - var scanner; - var token; - var parsingContext; - var commentRanges; - var identifiers = {}; - var identifierCount = 0; - var nodeCount = 0; - var lineStarts; - var isInStrictMode = false; - var lookAheadMode = 0 /* NotLookingAhead */; - var inAmbientContext = false; - var inFunctionBody = false; - var inSwitchStatement = 0 /* NotNested */; - var inIterationStatement = 0 /* NotNested */; - var labelledStatementInfo = (function () { - var functionBoundarySentinel; - var currentLabelSet; - var labelSetStack; - var isIterationStack; - function addLabel(label) { - if (!currentLabelSet) { - currentLabelSet = {}; - } - currentLabelSet[label.text] = true; - } - function pushCurrentLabelSet(isIterationStatement) { - if (!labelSetStack && !isIterationStack) { - labelSetStack = []; - isIterationStack = []; - } - ts.Debug.assert(currentLabelSet !== undefined); - labelSetStack.push(currentLabelSet); - isIterationStack.push(isIterationStatement); - currentLabelSet = undefined; - } - function pushFunctionBoundary() { - if (!functionBoundarySentinel) { - functionBoundarySentinel = {}; - if (!labelSetStack && !isIterationStack) { - labelSetStack = []; - isIterationStack = []; - } - } - ts.Debug.assert(currentLabelSet === undefined); - labelSetStack.push(functionBoundarySentinel); - isIterationStack.push(false); - } - function pop() { - ts.Debug.assert(labelSetStack.length && isIterationStack.length && currentLabelSet === undefined); - labelSetStack.pop(); - isIterationStack.pop(); - } - function nodeIsNestedInLabel(label, requireIterationStatement, stopAtFunctionBoundary) { - if (!requireIterationStatement && currentLabelSet && ts.hasProperty(currentLabelSet, label.text)) { - return 1 /* Nested */; - } - if (!labelSetStack) { - return 0 /* NotNested */; - } - var crossedFunctionBoundary = false; - for (var i = labelSetStack.length - 1; i >= 0; i--) { - var labelSet = labelSetStack[i]; - if (labelSet === functionBoundarySentinel) { - if (stopAtFunctionBoundary) { - break; - } - else { - crossedFunctionBoundary = true; - continue; - } - } - if (requireIterationStatement && isIterationStack[i] === false) { - continue; - } - if (ts.hasProperty(labelSet, label.text)) { - return crossedFunctionBoundary ? 2 /* CrossingFunctionBoundary */ : 1 /* Nested */; - } - } - return 0 /* NotNested */; - } - return { - addLabel: addLabel, - pushCurrentLabelSet: pushCurrentLabelSet, - pushFunctionBoundary: pushFunctionBoundary, - pop: pop, - nodeIsNestedInLabel: nodeIsNestedInLabel - }; - })(); - function getLineAndCharacterlFromSourcePosition(position) { - if (!lineStarts) { - lineStarts = ts.getLineStarts(sourceText); - } - return ts.getLineAndCharacterOfPosition(lineStarts, position); - } - function error(message, arg0, arg1, arg2) { - var start = scanner.getTokenPos(); - var length = scanner.getTextPos() - start; - errorAtPos(start, length, message, arg0, arg1, arg2); - } - function grammarErrorOnNode(node, message, arg0, arg1, arg2) { - var span = getErrorSpanForNode(node); - var start = ts.skipTrivia(file.text, span.pos); - var length = span.end - start; - file.syntacticErrors.push(ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2)); - } - function reportInvalidUseInStrictMode(node) { - var name = sourceText.substring(ts.skipTrivia(sourceText, node.pos), node.end); - grammarErrorOnNode(node, ts.Diagnostics.Invalid_use_of_0_in_strict_mode, name); - } - function grammarErrorAtPos(start, length, message, arg0, arg1, arg2) { - file.syntacticErrors.push(ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2)); - } - function errorAtPos(start, length, message, arg0, arg1, arg2) { - var lastErrorPos = file.syntacticErrors.length ? file.syntacticErrors[file.syntacticErrors.length - 1].start : -1; - if (start !== lastErrorPos) { - file.syntacticErrors.push(ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2)); - } - if (lookAheadMode === 1 /* NoErrorYet */) { - lookAheadMode = 2 /* Error */; - } - } - function scanError(message) { - var pos = scanner.getTextPos(); - errorAtPos(pos, 0, message); - } - function onComment(pos, end) { - if (commentRanges) - commentRanges.push({ pos: pos, end: end }); - } - function getNodePos() { - return scanner.getStartPos(); - } - function getNodeEnd() { - return scanner.getStartPos(); - } - function nextToken() { - return token = scanner.scan(); - } - function getTokenPos(pos) { - return ts.skipTrivia(sourceText, pos); - } - function reScanGreaterToken() { - return token = scanner.reScanGreaterToken(); - } - function reScanSlashToken() { - return token = scanner.reScanSlashToken(); - } - function lookAheadHelper(callback, alwaysResetState) { - var saveToken = token; - var saveSyntacticErrorsLength = file.syntacticErrors.length; - var saveLookAheadMode = lookAheadMode; - lookAheadMode = 1 /* NoErrorYet */; - var result = callback(); - ts.Debug.assert(lookAheadMode === 2 /* Error */ || lookAheadMode === 1 /* NoErrorYet */); - if (lookAheadMode === 2 /* Error */) { - result = undefined; - } - lookAheadMode = saveLookAheadMode; - if (!result || alwaysResetState) { - token = saveToken; - file.syntacticErrors.length = saveSyntacticErrorsLength; - } - return result; - } - function lookAhead(callback) { - var result; - scanner.tryScan(function () { - result = lookAheadHelper(callback, true); - return false; - }); - return result; - } - function tryParse(callback) { - return scanner.tryScan(function () { return lookAheadHelper(callback, false); }); - } - function isIdentifier() { - return token === 55 /* Identifier */ || (isInStrictMode ? token > ts.SyntaxKind.LastFutureReservedWord : token > ts.SyntaxKind.LastReservedWord); - } - function parseExpected(t) { - if (token === t) { - nextToken(); - return true; - } - error(ts.Diagnostics._0_expected, ts.tokenToString(t)); - return false; - } - function parseOptional(t) { - if (token === t) { - nextToken(); - return true; - } - return false; - } - function canParseSemicolon() { - if (token === 13 /* SemicolonToken */) { - return true; - } - return token === 6 /* CloseBraceToken */ || token === 1 /* EndOfFileToken */ || scanner.hasPrecedingLineBreak(); - } - function parseSemicolon() { - if (canParseSemicolon()) { - if (token === 13 /* SemicolonToken */) { - nextToken(); - } - } - else { - error(ts.Diagnostics._0_expected, ";"); - } - } - function createNode(kind, pos) { - nodeCount++; - var node = new (nodeConstructors[kind] || (nodeConstructors[kind] = ts.objectAllocator.getNodeConstructor(kind)))(); - if (!(pos >= 0)) - pos = scanner.getStartPos(); - node.pos = pos; - node.end = pos; - return node; - } - function finishNode(node) { - node.end = scanner.getStartPos(); - return node; - } - function createMissingNode() { - return createNode(111 /* Missing */); - } - function createIdentifier(isIdentifier) { - identifierCount++; - if (isIdentifier) { - var node = createNode(55 /* Identifier */); - var text = escapeIdentifier(scanner.getTokenValue()); - node.text = ts.hasProperty(identifiers, text) ? identifiers[text] : (identifiers[text] = text); - nextToken(); - return finishNode(node); - } - error(ts.Diagnostics.Identifier_expected); - return createMissingNode(); - } - function parseIdentifier() { - return createIdentifier(isIdentifier()); - } - function parseIdentifierName() { - return createIdentifier(token >= 55 /* Identifier */); - } - function isPropertyName() { - return token >= 55 /* Identifier */ || token === 3 /* StringLiteral */ || token === 2 /* NumericLiteral */; - } - function parsePropertyName() { - if (token === 3 /* StringLiteral */ || token === 2 /* NumericLiteral */) { - return parsePrimaryExpression(); - } - return parseIdentifierName(); - } - function isKeyword(token) { - return ts.SyntaxKind.FirstKeyword <= token && token <= ts.SyntaxKind.LastKeyword; - } - function isModifier(token) { - switch (token) { - case 98 /* PublicKeyword */: - case 96 /* PrivateKeyword */: - case 99 /* StaticKeyword */: - case 68 /* ExportKeyword */: - case 104 /* DeclareKeyword */: - return true; - } - return false; - } - function parseContextualModifier(t) { - return token === t && tryParse(function () { - nextToken(); - return token === 9 /* OpenBracketToken */ || isPropertyName(); - }); - } - function parseAnyContextualModifier() { - return isModifier(token) && tryParse(function () { - nextToken(); - return token === 9 /* OpenBracketToken */ || isPropertyName(); - }); - } - function isListElement(kind, inErrorRecovery) { - switch (kind) { - case 0 /* SourceElements */: - case 1 /* ModuleElements */: - return isSourceElement(inErrorRecovery); - case 2 /* BlockStatements */: - case 4 /* SwitchClauseStatements */: - return isStatement(inErrorRecovery); - case 3 /* SwitchClauses */: - return token === 57 /* CaseKeyword */ || token === 63 /* DefaultKeyword */; - case 5 /* TypeMembers */: - return isTypeMember(); - case 6 /* ClassMembers */: - return lookAhead(isClassMemberStart); - case 7 /* EnumMembers */: - case 11 /* ObjectLiteralMembers */: - return isPropertyName(); - case 8 /* BaseTypeReferences */: - return isIdentifier() && ((token !== 69 /* ExtendsKeyword */ && token !== 92 /* ImplementsKeyword */) || !lookAhead(function () { return (nextToken(), isIdentifier()); })); - case 9 /* VariableDeclarations */: - case 14 /* TypeParameters */: - return isIdentifier(); - case 10 /* ArgumentExpressions */: - return isExpression(); - case 12 /* ArrayLiteralMembers */: - return token === 14 /* CommaToken */ || isExpression(); - case 13 /* Parameters */: - return isParameter(); - case 15 /* TypeArguments */: - return isType(); - } - ts.Debug.fail("Non-exhaustive case in 'isListElement'."); - } - function isListTerminator(kind) { - if (token === 1 /* EndOfFileToken */) { - return true; - } - switch (kind) { - case 1 /* ModuleElements */: - case 2 /* BlockStatements */: - case 3 /* SwitchClauses */: - case 5 /* TypeMembers */: - case 6 /* ClassMembers */: - case 7 /* EnumMembers */: - case 11 /* ObjectLiteralMembers */: - return token === 6 /* CloseBraceToken */; - case 4 /* SwitchClauseStatements */: - return token === 6 /* CloseBraceToken */ || token === 57 /* CaseKeyword */ || token === 63 /* DefaultKeyword */; - case 8 /* BaseTypeReferences */: - return token === 5 /* OpenBraceToken */ || token === 69 /* ExtendsKeyword */ || token === 92 /* ImplementsKeyword */; - case 9 /* VariableDeclarations */: - return isVariableDeclaratorListTerminator(); - case 14 /* TypeParameters */: - return token === 16 /* GreaterThanToken */ || token === 7 /* OpenParenToken */ || token === 5 /* OpenBraceToken */ || token === 69 /* ExtendsKeyword */ || token === 92 /* ImplementsKeyword */; - case 10 /* ArgumentExpressions */: - return token === 8 /* CloseParenToken */ || token === 13 /* SemicolonToken */; - case 12 /* ArrayLiteralMembers */: - return token === 10 /* CloseBracketToken */; - case 13 /* Parameters */: - return token === 8 /* CloseParenToken */ || token === 10 /* CloseBracketToken */ || token === 5 /* OpenBraceToken */; - case 15 /* TypeArguments */: - return token === 16 /* GreaterThanToken */ || token === 7 /* OpenParenToken */; - } - } - function isVariableDeclaratorListTerminator() { - if (canParseSemicolon()) { - return true; - } - if (token === 76 /* InKeyword */) { - return true; - } - if (token === 23 /* EqualsGreaterThanToken */) { - return true; - } - return false; - } - function isInSomeParsingContext() { - for (var kind = 0; kind < 16 /* Count */; kind++) { - if (parsingContext & (1 << kind)) { - if (isListElement(kind, true) || isListTerminator(kind)) { - return true; - } - } - } - return false; - } - function parseList(kind, checkForStrictMode, parseElement) { - var saveParsingContext = parsingContext; - parsingContext |= 1 << kind; - var result = []; - result.pos = getNodePos(); - var saveIsInStrictMode = isInStrictMode; - while (!isListTerminator(kind)) { - if (isListElement(kind, false)) { - var element = parseElement(); - result.push(element); - if (!isInStrictMode && checkForStrictMode) { - if (isPrologueDirective(element)) { - if (isUseStrictPrologueDirective(element)) { - isInStrictMode = true; - checkForStrictMode = false; - } - } - else { - checkForStrictMode = false; - } - } - } - else { - error(parsingContextErrors(kind)); - if (isInSomeParsingContext()) { - break; - } - nextToken(); - } - } - isInStrictMode = saveIsInStrictMode; - result.end = getNodeEnd(); - parsingContext = saveParsingContext; - return result; - } - function parseDelimitedList(kind, parseElement, trailingCommaBehavior) { - var saveParsingContext = parsingContext; - parsingContext |= 1 << kind; - var result = []; - result.pos = getNodePos(); - var errorCountBeforeParsingList = file.syntacticErrors.length; - var commaStart = -1; - while (true) { - if (isListElement(kind, false)) { - result.push(parseElement()); - commaStart = scanner.getTokenPos(); - if (parseOptional(14 /* CommaToken */)) { - continue; - } - commaStart = -1; - if (isListTerminator(kind)) { - break; - } - error(ts.Diagnostics._0_expected, ","); - } - else if (isListTerminator(kind)) { - if (commaStart >= 0) { - if (trailingCommaBehavior === 0 /* Disallow */) { - if (file.syntacticErrors.length === errorCountBeforeParsingList) { - grammarErrorAtPos(commaStart, scanner.getStartPos() - commaStart, ts.Diagnostics.Trailing_comma_not_allowed); - } - } - else if (trailingCommaBehavior === 2 /* Preserve */) { - result.push(createNode(142 /* OmittedExpression */)); - } - } - break; - } - else { - error(parsingContextErrors(kind)); - if (isInSomeParsingContext()) { - break; - } - nextToken(); - } - } - result.end = getNodeEnd(); - parsingContext = saveParsingContext; - return result; - } - function createMissingList() { - var pos = getNodePos(); - var result = []; - result.pos = pos; - result.end = pos; - return result; - } - function createNodeArray(node) { - var result = [node]; - result.pos = node.pos; - result.end = node.end; - return result; - } - function parseBracketedList(kind, parseElement, startToken, endToken) { - if (parseExpected(startToken)) { - var result = parseDelimitedList(kind, parseElement, 0 /* Disallow */); - parseExpected(endToken); - return result; - } - return createMissingList(); - } - function parseEntityName(allowReservedWords) { - var entity = parseIdentifier(); - while (parseOptional(11 /* DotToken */)) { - var node = createNode(112 /* QualifiedName */, entity.pos); - node.left = entity; - node.right = allowReservedWords ? parseIdentifierName() : parseIdentifier(); - entity = finishNode(node); - } - return entity; - } - function parseTokenNode() { - var node = createNode(token); - nextToken(); - return finishNode(node); - } - function parseLiteralNode() { - var node = createNode(token); - node.text = scanner.getTokenValue(); - nextToken(); - return finishNode(node); - } - function parseStringLiteral() { - if (token === 3 /* StringLiteral */) - return parseLiteralNode(); - error(ts.Diagnostics.String_literal_expected); - return createMissingNode(); - } - function parseTypeReference() { - var node = createNode(123 /* TypeReference */); - node.typeName = parseEntityName(false); - if (!scanner.hasPrecedingLineBreak() && token === 15 /* LessThanToken */) { - node.typeArguments = parseTypeArguments(); - } - return finishNode(node); - } - function parseTypeQuery() { - var node = createNode(124 /* TypeQuery */); - parseExpected(87 /* TypeOfKeyword */); - node.exprName = parseEntityName(true); - return finishNode(node); - } - function parseTypeParameter() { - var node = createNode(113 /* TypeParameter */); - node.name = parseIdentifier(); - if (parseOptional(69 /* ExtendsKeyword */)) { - if (isType() || !isExpression()) { - node.constraint = parseType(); - } - else { - var expr = parseUnaryExpression(); - grammarErrorOnNode(expr, ts.Diagnostics.Type_expected); - } - } - return finishNode(node); - } - function parseTypeParameters() { - if (token === 15 /* LessThanToken */) { - var pos = getNodePos(); - var result = parseBracketedList(14 /* TypeParameters */, parseTypeParameter, 15 /* LessThanToken */, 16 /* GreaterThanToken */); - if (!result.length) { - var start = getTokenPos(pos); - var length = getNodePos() - start; - errorAtPos(start, length, ts.Diagnostics.Type_parameter_list_cannot_be_empty); - } - return result; - } - } - function parseParameterType() { - return parseOptional(42 /* ColonToken */) ? token === 3 /* StringLiteral */ ? parseStringLiteral() : parseType() : undefined; - } - function isParameter() { - return token === 12 /* DotDotDotToken */ || isIdentifier() || isModifier(token); - } - function parseParameter(flags) { - if (flags === void 0) { flags = 0; } - var node = createNode(114 /* Parameter */); - node.flags |= parseAndCheckModifiers(3 /* Parameters */); - if (parseOptional(12 /* DotDotDotToken */)) { - node.flags |= 8 /* Rest */; - } - node.name = parseIdentifier(); - if (node.name.kind === 111 /* Missing */ && node.flags === 0 && isModifier(token)) { - nextToken(); - } - if (parseOptional(41 /* QuestionToken */)) { - node.flags |= 4 /* QuestionMark */; - } - node.type = parseParameterType(); - node.initializer = parseInitializer(true); - return finishNode(node); - } - function parseSignature(kind, returnToken) { - if (kind === 121 /* ConstructSignature */) { - parseExpected(78 /* NewKeyword */); - } - var typeParameters = parseTypeParameters(); - var parameters = parseParameterList(7 /* OpenParenToken */, 8 /* CloseParenToken */); - checkParameterList(parameters); - var type = parseOptional(returnToken) ? parseType() : undefined; - return { - typeParameters: typeParameters, - parameters: parameters, - type: type - }; - } - function parseParameterList(startDelimiter, endDelimiter) { - return parseBracketedList(13 /* Parameters */, parseParameter, startDelimiter, endDelimiter); - } - function checkParameterList(parameters) { - var seenOptionalParameter = false; - var parameterCount = parameters.length; - for (var i = 0; i < parameterCount; i++) { - var parameter = parameters[i]; - if (isInStrictMode && isEvalOrArgumentsIdentifier(parameter.name)) { - reportInvalidUseInStrictMode(parameter.name); - return; - } - else if (parameter.flags & 8 /* Rest */) { - if (i !== (parameterCount - 1)) { - grammarErrorOnNode(parameter.name, ts.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list); - return; - } - if (parameter.flags & 4 /* QuestionMark */) { - grammarErrorOnNode(parameter.name, ts.Diagnostics.A_rest_parameter_cannot_be_optional); - return; - } - if (parameter.initializer) { - grammarErrorOnNode(parameter.name, ts.Diagnostics.A_rest_parameter_cannot_have_an_initializer); - return; - } - } - else if (parameter.flags & 4 /* QuestionMark */ || parameter.initializer) { - seenOptionalParameter = true; - if (parameter.flags & 4 /* QuestionMark */ && parameter.initializer) { - grammarErrorOnNode(parameter.name, ts.Diagnostics.Parameter_cannot_have_question_mark_and_initializer); - return; - } - } - else { - if (seenOptionalParameter) { - grammarErrorOnNode(parameter.name, ts.Diagnostics.A_required_parameter_cannot_follow_an_optional_parameter); - return; - } - } - } - } - function parseSignatureMember(kind, returnToken) { - var node = createNode(kind); - var sig = parseSignature(kind, returnToken); - node.typeParameters = sig.typeParameters; - node.parameters = sig.parameters; - node.type = sig.type; - parseSemicolon(); - return finishNode(node); - } - function parseIndexSignatureMember() { - var node = createNode(122 /* IndexSignature */); - var errorCountBeforeIndexSignature = file.syntacticErrors.length; - var indexerStart = scanner.getTokenPos(); - node.parameters = parseParameterList(9 /* OpenBracketToken */, 10 /* CloseBracketToken */); - var indexerLength = scanner.getStartPos() - indexerStart; - node.type = parseTypeAnnotation(); - parseSemicolon(); - if (file.syntacticErrors.length === errorCountBeforeIndexSignature) { - checkIndexSignature(node, indexerStart, indexerLength); - } - return finishNode(node); - } - function checkIndexSignature(node, indexerStart, indexerLength) { - var parameter = node.parameters[0]; - if (node.parameters.length !== 1) { - var arityDiagnostic = ts.Diagnostics.An_index_signature_must_have_exactly_one_parameter; - if (parameter) { - grammarErrorOnNode(parameter.name, arityDiagnostic); - } - else { - grammarErrorAtPos(indexerStart, indexerLength, arityDiagnostic); - } - return; - } - else if (parameter.flags & 8 /* Rest */) { - grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_cannot_have_a_rest_parameter); - return; - } - else if (parameter.flags & ts.NodeFlags.Modifier) { - grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_cannot_have_an_accessibility_modifier); - return; - } - else if (parameter.flags & 4 /* QuestionMark */) { - grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_cannot_have_a_question_mark); - return; - } - else if (parameter.initializer) { - grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_cannot_have_an_initializer); - return; - } - else if (!parameter.type) { - grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_must_have_a_type_annotation); - return; - } - else if (parameter.type.kind !== 110 /* StringKeyword */ && parameter.type.kind !== 108 /* NumberKeyword */) { - grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_must_be_string_or_number); - return; - } - else if (!node.type) { - grammarErrorAtPos(indexerStart, indexerLength, ts.Diagnostics.An_index_signature_must_have_a_type_annotation); - return; - } - } - function parsePropertyOrMethod() { - var node = createNode(0 /* Unknown */); - node.name = parsePropertyName(); - if (parseOptional(41 /* QuestionToken */)) { - node.flags |= 4 /* QuestionMark */; - } - if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { - node.kind = 116 /* Method */; - var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); - node.typeParameters = sig.typeParameters; - node.parameters = sig.parameters; - node.type = sig.type; - } - else { - node.kind = 115 /* Property */; - node.type = parseTypeAnnotation(); - } - parseSemicolon(); - return finishNode(node); - } - function isTypeMember() { - switch (token) { - case 7 /* OpenParenToken */: - case 15 /* LessThanToken */: - case 9 /* OpenBracketToken */: - return true; - default: - return isPropertyName() && lookAhead(function () { return nextToken() === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */ || token === 41 /* QuestionToken */ || token === 42 /* ColonToken */ || canParseSemicolon(); }); - } - } - function parseTypeMember() { - switch (token) { - case 7 /* OpenParenToken */: - case 15 /* LessThanToken */: - return parseSignatureMember(120 /* CallSignature */, 42 /* ColonToken */); - case 9 /* OpenBracketToken */: - return parseIndexSignatureMember(); - case 78 /* NewKeyword */: - if (lookAhead(function () { return nextToken() === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */; })) { - return parseSignatureMember(121 /* ConstructSignature */, 42 /* ColonToken */); - } - case 3 /* StringLiteral */: - case 2 /* NumericLiteral */: - return parsePropertyOrMethod(); - default: - if (token >= 55 /* Identifier */) { - return parsePropertyOrMethod(); - } - } - } - function parseTypeLiteral() { - var node = createNode(125 /* TypeLiteral */); - if (parseExpected(5 /* OpenBraceToken */)) { - node.members = parseList(5 /* TypeMembers */, false, parseTypeMember); - parseExpected(6 /* CloseBraceToken */); - } - else { - node.members = createMissingList(); - } - return finishNode(node); - } - function parseFunctionType(signatureKind) { - var node = createNode(125 /* TypeLiteral */); - var member = createNode(signatureKind); - var sig = parseSignature(signatureKind, 23 /* EqualsGreaterThanToken */); - member.typeParameters = sig.typeParameters; - member.parameters = sig.parameters; - member.type = sig.type; - finishNode(member); - node.members = createNodeArray(member); - return finishNode(node); - } - function parseKeywordAndNoDot() { - var node = parseTokenNode(); - return token === 11 /* DotToken */ ? undefined : node; - } - function parseNonArrayType() { - switch (token) { - case 101 /* AnyKeyword */: - case 110 /* StringKeyword */: - case 108 /* NumberKeyword */: - case 102 /* BooleanKeyword */: - case 89 /* VoidKeyword */: - var node = tryParse(parseKeywordAndNoDot); - return node || parseTypeReference(); - case 87 /* TypeOfKeyword */: - return parseTypeQuery(); - case 5 /* OpenBraceToken */: - return parseTypeLiteral(); - case 7 /* OpenParenToken */: - case 15 /* LessThanToken */: - return parseFunctionType(120 /* CallSignature */); - case 78 /* NewKeyword */: - return parseFunctionType(121 /* ConstructSignature */); - default: - if (isIdentifier()) { - return parseTypeReference(); - } - } - error(ts.Diagnostics.Type_expected); - return createMissingNode(); - } - function isType() { - switch (token) { - case 101 /* AnyKeyword */: - case 110 /* StringKeyword */: - case 108 /* NumberKeyword */: - case 102 /* BooleanKeyword */: - case 89 /* VoidKeyword */: - case 87 /* TypeOfKeyword */: - case 5 /* OpenBraceToken */: - case 15 /* LessThanToken */: - case 78 /* NewKeyword */: - return true; - case 7 /* OpenParenToken */: - return lookAhead(function () { - nextToken(); - return token === 8 /* CloseParenToken */ || isParameter(); - }); - default: - return isIdentifier(); - } - } - function parseType() { - var type = parseNonArrayType(); - while (type && !scanner.hasPrecedingLineBreak() && parseOptional(9 /* OpenBracketToken */)) { - parseExpected(10 /* CloseBracketToken */); - var node = createNode(126 /* ArrayType */, type.pos); - node.elementType = type; - type = finishNode(node); - } - return type; - } - function parseTypeAnnotation() { - return parseOptional(42 /* ColonToken */) ? parseType() : undefined; - } - function isExpression() { - switch (token) { - case 83 /* ThisKeyword */: - case 81 /* SuperKeyword */: - case 79 /* NullKeyword */: - case 85 /* TrueKeyword */: - case 70 /* FalseKeyword */: - case 2 /* NumericLiteral */: - case 3 /* StringLiteral */: - case 7 /* OpenParenToken */: - case 9 /* OpenBracketToken */: - case 5 /* OpenBraceToken */: - case 73 /* FunctionKeyword */: - case 78 /* NewKeyword */: - case 27 /* SlashToken */: - case 47 /* SlashEqualsToken */: - case 24 /* PlusToken */: - case 25 /* MinusToken */: - case 38 /* TildeToken */: - case 37 /* ExclamationToken */: - case 64 /* DeleteKeyword */: - case 87 /* TypeOfKeyword */: - case 89 /* VoidKeyword */: - case 29 /* PlusPlusToken */: - case 30 /* MinusMinusToken */: - case 15 /* LessThanToken */: - case 55 /* Identifier */: - return true; - default: - return isIdentifier(); - } - } - function isExpressionStatement() { - return token !== 5 /* OpenBraceToken */ && token !== 73 /* FunctionKeyword */ && isExpression(); - } - function parseExpression(noIn) { - var expr = parseAssignmentExpression(noIn); - while (parseOptional(14 /* CommaToken */)) { - expr = makeBinaryExpression(expr, 14 /* CommaToken */, parseAssignmentExpression(noIn)); - } - return expr; - } - function parseInitializer(inParameter, noIn) { - if (token !== 43 /* EqualsToken */) { - if (scanner.hasPrecedingLineBreak() || (inParameter && token === 5 /* OpenBraceToken */) || !isExpression()) { - return undefined; - } - } - parseExpected(43 /* EqualsToken */); - return parseAssignmentExpression(noIn); - } - function parseAssignmentExpression(noIn) { - var arrowExpression = tryParseArrowFunctionExpression(); - if (arrowExpression) { - return arrowExpression; - } - var expr = parseConditionalExpression(noIn); - if (isLeftHandSideExpression(expr) && isAssignmentOperator()) { - if (isInStrictMode && isEvalOrArgumentsIdentifier(expr)) { - reportInvalidUseInStrictMode(expr); - } - var operator = token; - nextToken(); - return makeBinaryExpression(expr, operator, parseAssignmentExpression(noIn)); - } - return expr; - } - function isLeftHandSideExpression(expr) { - if (expr) { - switch (expr.kind) { - case 130 /* PropertyAccess */: - case 131 /* IndexedAccess */: - case 133 /* NewExpression */: - case 132 /* CallExpression */: - case 127 /* ArrayLiteral */: - case 135 /* ParenExpression */: - case 128 /* ObjectLiteral */: - case 136 /* FunctionExpression */: - case 55 /* Identifier */: - case 111 /* Missing */: - case 4 /* RegularExpressionLiteral */: - case 2 /* NumericLiteral */: - case 3 /* StringLiteral */: - case 70 /* FalseKeyword */: - case 79 /* NullKeyword */: - case 83 /* ThisKeyword */: - case 85 /* TrueKeyword */: - case 81 /* SuperKeyword */: - return true; - } - } - return false; - } - function tryParseArrowFunctionExpression() { - return isSimpleArrowFunctionExpression() ? parseSimpleArrowFunctionExpression() : tryParseParenthesizedArrowFunctionExpression(); - } - function isSimpleArrowFunctionExpression() { - if (token === 23 /* EqualsGreaterThanToken */) { - return true; - } - if (token === 55 /* Identifier */) { - return lookAhead(function () { - return nextToken() === 23 /* EqualsGreaterThanToken */; - }); - } - return false; - } - function parseSimpleArrowFunctionExpression() { - ts.Debug.assert(token === 55 /* Identifier */ || token === 23 /* EqualsGreaterThanToken */); - var identifier = parseIdentifier(); - ts.Debug.assert(token === 23 /* EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); - parseExpected(23 /* EqualsGreaterThanToken */); - var parameter = createNode(114 /* Parameter */, identifier.pos); - parameter.name = identifier; - finishNode(parameter); - var signature = { parameters: [parameter] }; - return parseArrowExpressionTail(identifier.pos, signature, false); - } - function tryParseParenthesizedArrowFunctionExpression() { - var pos = getNodePos(); - var triState = isParenthesizedArrowFunctionExpression(); - if (triState === 0 /* False */) { - return undefined; - } - if (triState === 1 /* True */) { - var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); - if (parseExpected(23 /* EqualsGreaterThanToken */) || token === 5 /* OpenBraceToken */) { - return parseArrowExpressionTail(pos, sig, false); - } - else { - return makeFunctionExpression(137 /* ArrowFunction */, pos, undefined, sig, createMissingNode()); - } - } - var sig = tryParseSignatureIfArrowOrBraceFollows(); - if (sig) { - parseExpected(23 /* EqualsGreaterThanToken */); - return parseArrowExpressionTail(pos, sig, false); - } - else { - return undefined; - } - } - function isParenthesizedArrowFunctionExpression() { - if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { - return lookAhead(function () { - var first = token; - var second = nextToken(); - if (first === 7 /* OpenParenToken */) { - if (second === 8 /* CloseParenToken */) { - var third = nextToken(); - switch (third) { - case 23 /* EqualsGreaterThanToken */: - case 42 /* ColonToken */: - case 5 /* OpenBraceToken */: - return 1 /* True */; - default: - return 0 /* False */; - } - } - if (second === 12 /* DotDotDotToken */) { - return 1 /* True */; - } - if (!isIdentifier()) { - return 0 /* False */; - } - if (nextToken() === 42 /* ColonToken */) { - return 1 /* True */; - } - return 2 /* Unknown */; - } - else { - ts.Debug.assert(first === 15 /* LessThanToken */); - if (!isIdentifier()) { - return 0 /* False */; - } - return 2 /* Unknown */; - } - }); - } - return 0 /* False */; - } - function tryParseSignatureIfArrowOrBraceFollows() { - return tryParse(function () { - var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); - if (token === 23 /* EqualsGreaterThanToken */ || token === 5 /* OpenBraceToken */) { - return sig; - } - return undefined; - }); - } - function parseArrowExpressionTail(pos, sig, noIn) { - var body; - if (token === 5 /* OpenBraceToken */) { - body = parseBody(false); - } - else if (isStatement(true) && !isExpressionStatement() && token !== 73 /* FunctionKeyword */) { - body = parseBody(true); - } - else { - body = parseAssignmentExpression(noIn); - } - return makeFunctionExpression(137 /* ArrowFunction */, pos, undefined, sig, body); - } - function isAssignmentOperator() { - return token >= ts.SyntaxKind.FirstAssignment && token <= ts.SyntaxKind.LastAssignment; - } - function parseConditionalExpression(noIn) { - var expr = parseBinaryExpression(noIn); - while (parseOptional(41 /* QuestionToken */)) { - var node = createNode(141 /* ConditionalExpression */, expr.pos); - node.condition = expr; - node.whenTrue = parseAssignmentExpression(false); - parseExpected(42 /* ColonToken */); - node.whenFalse = parseAssignmentExpression(noIn); - expr = finishNode(node); - } - return expr; - } - function parseBinaryExpression(noIn) { - return parseBinaryOperators(parseUnaryExpression(), 0, noIn); - } - function parseBinaryOperators(expr, minPrecedence, noIn) { - while (true) { - reScanGreaterToken(); - var precedence = getOperatorPrecedence(); - if (precedence && precedence > minPrecedence && (!noIn || token !== 76 /* InKeyword */)) { - var operator = token; - nextToken(); - expr = makeBinaryExpression(expr, operator, parseBinaryOperators(parseUnaryExpression(), precedence, noIn)); - continue; - } - return expr; - } - } - function getOperatorPrecedence() { - switch (token) { - case 40 /* BarBarToken */: - return 1; - case 39 /* AmpersandAmpersandToken */: - return 2; - case 35 /* BarToken */: - return 3; - case 36 /* CaretToken */: - return 4; - case 34 /* AmpersandToken */: - return 5; - case 19 /* EqualsEqualsToken */: - case 20 /* ExclamationEqualsToken */: - case 21 /* EqualsEqualsEqualsToken */: - case 22 /* ExclamationEqualsEqualsToken */: - return 6; - case 15 /* LessThanToken */: - case 16 /* GreaterThanToken */: - case 17 /* LessThanEqualsToken */: - case 18 /* GreaterThanEqualsToken */: - case 77 /* InstanceOfKeyword */: - case 76 /* InKeyword */: - return 7; - case 31 /* LessThanLessThanToken */: - case 32 /* GreaterThanGreaterThanToken */: - case 33 /* GreaterThanGreaterThanGreaterThanToken */: - return 8; - case 24 /* PlusToken */: - case 25 /* MinusToken */: - return 9; - case 26 /* AsteriskToken */: - case 27 /* SlashToken */: - case 28 /* PercentToken */: - return 10; - } - return undefined; - } - function makeBinaryExpression(left, operator, right) { - var node = createNode(140 /* BinaryExpression */, left.pos); - node.left = left; - node.operator = operator; - node.right = right; - return finishNode(node); - } - function parseUnaryExpression() { - var pos = getNodePos(); - switch (token) { - case 24 /* PlusToken */: - case 25 /* MinusToken */: - case 38 /* TildeToken */: - case 37 /* ExclamationToken */: - case 64 /* DeleteKeyword */: - case 87 /* TypeOfKeyword */: - case 89 /* VoidKeyword */: - case 29 /* PlusPlusToken */: - case 30 /* MinusMinusToken */: - var operator = token; - nextToken(); - var operand = parseUnaryExpression(); - if (isInStrictMode) { - if ((token === 29 /* PlusPlusToken */ || token === 30 /* MinusMinusToken */) && isEvalOrArgumentsIdentifier(operand)) { - reportInvalidUseInStrictMode(operand); - } - else if (token === 64 /* DeleteKeyword */ && operand.kind === 55 /* Identifier */) { - grammarErrorOnNode(operand, ts.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode); - } - } - return makeUnaryExpression(138 /* PrefixOperator */, pos, operator, operand); - case 15 /* LessThanToken */: - return parseTypeAssertion(); - } - var primaryExpression = parsePrimaryExpression(); - var illegalUsageOfSuperKeyword = primaryExpression.kind === 81 /* SuperKeyword */ && token !== 7 /* OpenParenToken */ && token !== 11 /* DotToken */; - if (illegalUsageOfSuperKeyword) { - error(ts.Diagnostics.super_must_be_followed_by_argument_list_or_member_access); - } - var expr = parseCallAndAccess(primaryExpression, false); - ts.Debug.assert(isLeftHandSideExpression(expr)); - if ((token === 29 /* PlusPlusToken */ || token === 30 /* MinusMinusToken */) && !scanner.hasPrecedingLineBreak()) { - if (isInStrictMode && isEvalOrArgumentsIdentifier(expr)) { - reportInvalidUseInStrictMode(expr); - } - var operator = token; - nextToken(); - expr = makeUnaryExpression(139 /* PostfixOperator */, expr.pos, operator, expr); - } - return expr; - } - function parseTypeAssertion() { - var node = createNode(134 /* TypeAssertion */); - parseExpected(15 /* LessThanToken */); - node.type = parseType(); - parseExpected(16 /* GreaterThanToken */); - node.operand = parseUnaryExpression(); - return finishNode(node); - } - function makeUnaryExpression(kind, pos, operator, operand) { - var node = createNode(kind, pos); - node.operator = operator; - node.operand = operand; - return finishNode(node); - } - function parseCallAndAccess(expr, inNewExpression) { - while (true) { - if (parseOptional(11 /* DotToken */)) { - var propertyAccess = createNode(130 /* PropertyAccess */, expr.pos); - propertyAccess.left = expr; - propertyAccess.right = parseIdentifierName(); - expr = finishNode(propertyAccess); - continue; - } - var bracketStart = scanner.getTokenPos(); - if (parseOptional(9 /* OpenBracketToken */)) { - var indexedAccess = createNode(131 /* IndexedAccess */, expr.pos); - indexedAccess.object = expr; - if (inNewExpression && parseOptional(10 /* CloseBracketToken */)) { - indexedAccess.index = createMissingNode(); - grammarErrorAtPos(bracketStart, scanner.getStartPos() - bracketStart, ts.Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead); - } - else { - indexedAccess.index = parseExpression(); - parseExpected(10 /* CloseBracketToken */); - } - expr = finishNode(indexedAccess); - continue; - } - if ((token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) && !inNewExpression) { - var callExpr = createNode(132 /* CallExpression */, expr.pos); - callExpr.func = expr; - if (token === 15 /* LessThanToken */) { - if (!(callExpr.typeArguments = tryParse(parseTypeArgumentsAndOpenParen))) - return expr; - } - else { - parseExpected(7 /* OpenParenToken */); - } - callExpr.arguments = parseDelimitedList(10 /* ArgumentExpressions */, parseAssignmentExpression, 0 /* Disallow */); - parseExpected(8 /* CloseParenToken */); - expr = finishNode(callExpr); - continue; - } - return expr; - } - } - function parseTypeArgumentsAndOpenParen() { - var result = parseTypeArguments(); - parseExpected(7 /* OpenParenToken */); - return result; - } - function parseTypeArguments() { - var typeArgumentListStart = scanner.getTokenPos(); - var errorCountBeforeTypeParameterList = file.syntacticErrors.length; - var result = parseBracketedList(15 /* TypeArguments */, parseType, 15 /* LessThanToken */, 16 /* GreaterThanToken */); - if (!result.length && file.syntacticErrors.length === errorCountBeforeTypeParameterList) { - grammarErrorAtPos(typeArgumentListStart, scanner.getStartPos() - typeArgumentListStart, ts.Diagnostics.Type_argument_list_cannot_be_empty); - } - return result; - } - function parsePrimaryExpression() { - switch (token) { - case 83 /* ThisKeyword */: - case 81 /* SuperKeyword */: - case 79 /* NullKeyword */: - case 85 /* TrueKeyword */: - case 70 /* FalseKeyword */: - return parseTokenNode(); - case 2 /* NumericLiteral */: - case 3 /* StringLiteral */: - return parseLiteralNode(); - case 7 /* OpenParenToken */: - return parseParenExpression(); - case 9 /* OpenBracketToken */: - return parseArrayLiteral(); - case 5 /* OpenBraceToken */: - return parseObjectLiteral(); - case 73 /* FunctionKeyword */: - return parseFunctionExpression(); - case 78 /* NewKeyword */: - return parseNewExpression(); - case 27 /* SlashToken */: - case 47 /* SlashEqualsToken */: - if (reScanSlashToken() === 4 /* RegularExpressionLiteral */) { - return parseLiteralNode(); - } - break; - default: - if (isIdentifier()) { - return parseIdentifier(); - } - } - error(ts.Diagnostics.Expression_expected); - return createMissingNode(); - } - function parseParenExpression() { - var node = createNode(135 /* ParenExpression */); - parseExpected(7 /* OpenParenToken */); - node.expression = parseExpression(); - parseExpected(8 /* CloseParenToken */); - return finishNode(node); - } - function parseArrayLiteralElement() { - return token === 14 /* CommaToken */ ? createNode(142 /* OmittedExpression */) : parseAssignmentExpression(); - } - function parseArrayLiteral() { - var node = createNode(127 /* ArrayLiteral */); - parseExpected(9 /* OpenBracketToken */); - if (scanner.hasPrecedingLineBreak()) - node.flags |= 128 /* MultiLine */; - node.elements = parseDelimitedList(12 /* ArrayLiteralMembers */, parseArrayLiteralElement, 2 /* Preserve */); - parseExpected(10 /* CloseBracketToken */); - return finishNode(node); - } - function parsePropertyAssignment() { - var node = createNode(129 /* PropertyAssignment */); - node.name = parsePropertyName(); - if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { - var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); - var body = parseBody(false); - node.initializer = makeFunctionExpression(136 /* FunctionExpression */, node.pos, undefined, sig, body); - } - else { - parseExpected(42 /* ColonToken */); - node.initializer = parseAssignmentExpression(false); - } - return finishNode(node); - } - function parseObjectLiteralMember() { - var initialPos = getNodePos(); - var initialToken = token; - if (parseContextualModifier(105 /* GetKeyword */) || parseContextualModifier(109 /* SetKeyword */)) { - var kind = initialToken === 105 /* GetKeyword */ ? 118 /* GetAccessor */ : 119 /* SetAccessor */; - return parseAndCheckMemberAccessorDeclaration(kind, initialPos, 0); - } - return parsePropertyAssignment(); - } - function parseObjectLiteral() { - var node = createNode(128 /* ObjectLiteral */); - parseExpected(5 /* OpenBraceToken */); - if (scanner.hasPrecedingLineBreak()) { - node.flags |= 128 /* MultiLine */; - } - var trailingCommaBehavior = languageVersion === 0 /* ES3 */ ? 1 /* Allow */ : 2 /* Preserve */; - node.properties = parseDelimitedList(11 /* ObjectLiteralMembers */, parseObjectLiteralMember, trailingCommaBehavior); - parseExpected(6 /* CloseBraceToken */); - var seen = {}; - var Property = 1; - var GetAccessor = 2; - var SetAccesor = 4; - var GetOrSetAccessor = GetAccessor | SetAccesor; - ts.forEach(node.properties, function (p) { - if (p.kind === 142 /* OmittedExpression */) { - return; - } - var currentKind; - if (p.kind === 129 /* PropertyAssignment */) { - currentKind = Property; - } - else if (p.kind === 118 /* GetAccessor */) { - currentKind = GetAccessor; - } - else if (p.kind === 119 /* SetAccessor */) { - currentKind = SetAccesor; - } - else { - ts.Debug.fail("Unexpected syntax kind:" + ts.SyntaxKind[p.kind]); - } - if (!ts.hasProperty(seen, p.name.text)) { - seen[p.name.text] = currentKind; - } - else { - var existingKind = seen[p.name.text]; - if (currentKind === Property && existingKind === Property) { - if (isInStrictMode) { - grammarErrorOnNode(p.name, ts.Diagnostics.An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode); - } - } - else if ((currentKind & GetOrSetAccessor) && (existingKind & GetOrSetAccessor)) { - if (existingKind !== GetOrSetAccessor && currentKind !== existingKind) { - seen[p.name.text] = currentKind | existingKind; - } - else { - grammarErrorOnNode(p.name, ts.Diagnostics.An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name); - } - } - else { - grammarErrorOnNode(p.name, ts.Diagnostics.An_object_literal_cannot_have_property_and_accessor_with_the_same_name); - } - } - }); - return finishNode(node); - } - function parseFunctionExpression() { - var pos = getNodePos(); - parseExpected(73 /* FunctionKeyword */); - var name = isIdentifier() ? parseIdentifier() : undefined; - var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); - var body = parseBody(false); - if (name && isInStrictMode && isEvalOrArgumentsIdentifier(name)) { - reportInvalidUseInStrictMode(name); - } - return makeFunctionExpression(136 /* FunctionExpression */, pos, name, sig, body); - } - function makeFunctionExpression(kind, pos, name, sig, body) { - var node = createNode(kind, pos); - node.name = name; - node.typeParameters = sig.typeParameters; - node.parameters = sig.parameters; - node.type = sig.type; - node.body = body; - return finishNode(node); - } - function parseNewExpression() { - var node = createNode(133 /* NewExpression */); - parseExpected(78 /* NewKeyword */); - node.func = parseCallAndAccess(parsePrimaryExpression(), true); - if (parseOptional(7 /* OpenParenToken */) || token === 15 /* LessThanToken */ && (node.typeArguments = tryParse(parseTypeArgumentsAndOpenParen))) { - node.arguments = parseDelimitedList(10 /* ArgumentExpressions */, parseAssignmentExpression, 0 /* Disallow */); - parseExpected(8 /* CloseParenToken */); - } - return finishNode(node); - } - function parseBlock(ignoreMissingOpenBrace, checkForStrictMode) { - var node = createNode(143 /* Block */); - if (parseExpected(5 /* OpenBraceToken */) || ignoreMissingOpenBrace) { - node.statements = parseList(2 /* BlockStatements */, checkForStrictMode, parseStatement); - parseExpected(6 /* CloseBraceToken */); - } - else { - node.statements = createMissingList(); - } - return finishNode(node); - } - function parseBody(ignoreMissingOpenBrace) { - var saveInFunctionBody = inFunctionBody; - var saveInSwitchStatement = inSwitchStatement; - var saveInIterationStatement = inIterationStatement; - inFunctionBody = true; - if (inSwitchStatement === 1 /* Nested */) { - inSwitchStatement = 2 /* CrossingFunctionBoundary */; - } - if (inIterationStatement === 1 /* Nested */) { - inIterationStatement = 2 /* CrossingFunctionBoundary */; - } - labelledStatementInfo.pushFunctionBoundary(); - var block = parseBlock(ignoreMissingOpenBrace, true); - block.kind = 168 /* FunctionBlock */; - labelledStatementInfo.pop(); - inFunctionBody = saveInFunctionBody; - inSwitchStatement = saveInSwitchStatement; - inIterationStatement = saveInIterationStatement; - return block; - } - function parseEmptyStatement() { - var node = createNode(145 /* EmptyStatement */); - parseExpected(13 /* SemicolonToken */); - return finishNode(node); - } - function parseIfStatement() { - var node = createNode(147 /* IfStatement */); - parseExpected(74 /* IfKeyword */); - parseExpected(7 /* OpenParenToken */); - node.expression = parseExpression(); - parseExpected(8 /* CloseParenToken */); - node.thenStatement = parseStatement(); - node.elseStatement = parseOptional(66 /* ElseKeyword */) ? parseStatement() : undefined; - return finishNode(node); - } - function parseDoStatement() { - var node = createNode(148 /* DoStatement */); - parseExpected(65 /* DoKeyword */); - var saveInIterationStatement = inIterationStatement; - inIterationStatement = 1 /* Nested */; - node.statement = parseStatement(); - inIterationStatement = saveInIterationStatement; - parseExpected(90 /* WhileKeyword */); - parseExpected(7 /* OpenParenToken */); - node.expression = parseExpression(); - parseExpected(8 /* CloseParenToken */); - parseOptional(13 /* SemicolonToken */); - return finishNode(node); - } - function parseWhileStatement() { - var node = createNode(149 /* WhileStatement */); - parseExpected(90 /* WhileKeyword */); - parseExpected(7 /* OpenParenToken */); - node.expression = parseExpression(); - parseExpected(8 /* CloseParenToken */); - var saveInIterationStatement = inIterationStatement; - inIterationStatement = 1 /* Nested */; - node.statement = parseStatement(); - inIterationStatement = saveInIterationStatement; - return finishNode(node); - } - function parseForOrForInStatement() { - var pos = getNodePos(); - parseExpected(72 /* ForKeyword */); - parseExpected(7 /* OpenParenToken */); - if (token !== 13 /* SemicolonToken */) { - if (parseOptional(88 /* VarKeyword */)) { - var declarations = parseVariableDeclarationList(0, true); - if (!declarations.length) { - error(ts.Diagnostics.Variable_declaration_list_cannot_be_empty); - } - } - else { - var varOrInit = parseExpression(true); - } - } - var forOrForInStatement; - if (parseOptional(76 /* InKeyword */)) { - var forInStatement = createNode(151 /* ForInStatement */, pos); - if (declarations) { - if (declarations.length > 1) { - error(ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement); - } - forInStatement.declaration = declarations[0]; - } - else { - forInStatement.variable = varOrInit; - } - forInStatement.expression = parseExpression(); - parseExpected(8 /* CloseParenToken */); - forOrForInStatement = forInStatement; - } - else { - var forStatement = createNode(150 /* ForStatement */, pos); - if (declarations) - forStatement.declarations = declarations; - if (varOrInit) - forStatement.initializer = varOrInit; - parseExpected(13 /* SemicolonToken */); - if (token !== 13 /* SemicolonToken */ && token !== 8 /* CloseParenToken */) { - forStatement.condition = parseExpression(); - } - parseExpected(13 /* SemicolonToken */); - if (token !== 8 /* CloseParenToken */) { - forStatement.iterator = parseExpression(); - } - parseExpected(8 /* CloseParenToken */); - forOrForInStatement = forStatement; - } - var saveInIterationStatement = inIterationStatement; - inIterationStatement = 1 /* Nested */; - forOrForInStatement.statement = parseStatement(); - inIterationStatement = saveInIterationStatement; - return finishNode(forOrForInStatement); - } - function parseBreakOrContinueStatement(kind) { - var node = createNode(kind); - var errorCountBeforeStatement = file.syntacticErrors.length; - var keywordStart = scanner.getTokenPos(); - var keywordLength = scanner.getTextPos() - keywordStart; - parseExpected(kind === 153 /* BreakStatement */ ? 56 /* BreakKeyword */ : 61 /* ContinueKeyword */); - if (!canParseSemicolon()) - node.label = parseIdentifier(); - parseSemicolon(); - finishNode(node); - if (!inAmbientContext && errorCountBeforeStatement === file.syntacticErrors.length) { - if (node.label) { - checkBreakOrContinueStatementWithLabel(node); - } - else { - checkBareBreakOrContinueStatement(node); - } - } - return node; - } - function checkBareBreakOrContinueStatement(node) { - if (node.kind === 153 /* BreakStatement */) { - if (inIterationStatement === 1 /* Nested */ || inSwitchStatement === 1 /* Nested */) { - return; - } - else if (inIterationStatement === 0 /* NotNested */ && inSwitchStatement === 0 /* NotNested */) { - grammarErrorOnNode(node, ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement); - return; - } - } - else if (node.kind === 152 /* ContinueStatement */) { - if (inIterationStatement === 1 /* Nested */) { - return; - } - else if (inIterationStatement === 0 /* NotNested */) { - grammarErrorOnNode(node, ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement); - return; - } - } - else { - ts.Debug.fail("checkAnonymousBreakOrContinueStatement"); - } - ts.Debug.assert(inIterationStatement === 2 /* CrossingFunctionBoundary */ || inSwitchStatement === 2 /* CrossingFunctionBoundary */); - grammarErrorOnNode(node, ts.Diagnostics.Jump_target_cannot_cross_function_boundary); - } - function checkBreakOrContinueStatementWithLabel(node) { - var nodeIsNestedInLabel = labelledStatementInfo.nodeIsNestedInLabel(node.label, node.kind === 152 /* ContinueStatement */, false); - if (nodeIsNestedInLabel === 1 /* Nested */) { - return; - } - if (nodeIsNestedInLabel === 2 /* CrossingFunctionBoundary */) { - grammarErrorOnNode(node, ts.Diagnostics.Jump_target_cannot_cross_function_boundary); - return; - } - if (node.kind === 152 /* ContinueStatement */) { - grammarErrorOnNode(node, ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement); - } - else if (node.kind === 153 /* BreakStatement */) { - grammarErrorOnNode(node, ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement); - } - else { - ts.Debug.fail("checkBreakOrContinueStatementWithLabel"); - } - } - function parseReturnStatement() { - var node = createNode(154 /* ReturnStatement */); - var errorCountBeforeReturnStatement = file.syntacticErrors.length; - var returnTokenStart = scanner.getTokenPos(); - var returnTokenLength = scanner.getTextPos() - returnTokenStart; - parseExpected(80 /* ReturnKeyword */); - if (!canParseSemicolon()) - node.expression = parseExpression(); - parseSemicolon(); - if (!inFunctionBody && !inAmbientContext && errorCountBeforeReturnStatement === file.syntacticErrors.length) { - grammarErrorAtPos(returnTokenStart, returnTokenLength, ts.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body); - } - return finishNode(node); - } - function parseWithStatement() { - var node = createNode(155 /* WithStatement */); - var startPos = scanner.getTokenPos(); - parseExpected(91 /* WithKeyword */); - var endPos = scanner.getStartPos(); - parseExpected(7 /* OpenParenToken */); - node.expression = parseExpression(); - parseExpected(8 /* CloseParenToken */); - node.statement = parseStatement(); - node = finishNode(node); - if (isInStrictMode) { - grammarErrorAtPos(startPos, endPos - startPos, ts.Diagnostics.with_statements_are_not_allowed_in_strict_mode); - } - return node; - } - function parseCaseClause() { - var node = createNode(157 /* CaseClause */); - parseExpected(57 /* CaseKeyword */); - node.expression = parseExpression(); - parseExpected(42 /* ColonToken */); - node.statements = parseList(4 /* SwitchClauseStatements */, false, parseStatement); - return finishNode(node); - } - function parseDefaultClause() { - var node = createNode(158 /* DefaultClause */); - parseExpected(63 /* DefaultKeyword */); - parseExpected(42 /* ColonToken */); - node.statements = parseList(4 /* SwitchClauseStatements */, false, parseStatement); - return finishNode(node); - } - function parseCaseOrDefaultClause() { - return token === 57 /* CaseKeyword */ ? parseCaseClause() : parseDefaultClause(); - } - function parseSwitchStatement() { - var node = createNode(156 /* SwitchStatement */); - parseExpected(82 /* SwitchKeyword */); - parseExpected(7 /* OpenParenToken */); - node.expression = parseExpression(); - parseExpected(8 /* CloseParenToken */); - parseExpected(5 /* OpenBraceToken */); - var saveInSwitchStatement = inSwitchStatement; - inSwitchStatement = 1 /* Nested */; - node.clauses = parseList(3 /* SwitchClauses */, false, parseCaseOrDefaultClause); - inSwitchStatement = saveInSwitchStatement; - parseExpected(6 /* CloseBraceToken */); - var defaultClauses = ts.filter(node.clauses, function (clause) { return clause.kind === 158 /* DefaultClause */; }); - for (var i = 1, n = defaultClauses.length; i < n; i++) { - var clause = defaultClauses[i]; - var start = ts.skipTrivia(file.text, clause.pos); - var end = clause.statements.length > 0 ? clause.statements[0].pos : clause.end; - grammarErrorAtPos(start, end - start, ts.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement); - } - return finishNode(node); - } - function parseThrowStatement() { - var node = createNode(160 /* ThrowStatement */); - parseExpected(84 /* ThrowKeyword */); - if (scanner.hasPrecedingLineBreak()) { - error(ts.Diagnostics.Line_break_not_permitted_here); - } - node.expression = parseExpression(); - parseSemicolon(); - return finishNode(node); - } - function parseTryStatement() { - var node = createNode(161 /* TryStatement */); - node.tryBlock = parseTokenAndBlock(86 /* TryKeyword */, 162 /* TryBlock */); - if (token === 58 /* CatchKeyword */) { - node.catchBlock = parseCatchBlock(); - } - if (token === 71 /* FinallyKeyword */) { - node.finallyBlock = parseTokenAndBlock(71 /* FinallyKeyword */, 164 /* FinallyBlock */); - } - if (!(node.catchBlock || node.finallyBlock)) { - error(ts.Diagnostics.catch_or_finally_expected); - } - return finishNode(node); - } - function parseTokenAndBlock(token, kind) { - var pos = getNodePos(); - parseExpected(token); - var result = parseBlock(false, false); - result.kind = kind; - result.pos = pos; - return result; - } - function parseCatchBlock() { - var pos = getNodePos(); - parseExpected(58 /* CatchKeyword */); - parseExpected(7 /* OpenParenToken */); - var variable = parseIdentifier(); - var typeAnnotationColonStart = scanner.getTokenPos(); - var typeAnnotationColonLength = scanner.getTextPos() - typeAnnotationColonStart; - var typeAnnotation = parseTypeAnnotation(); - parseExpected(8 /* CloseParenToken */); - var result = parseBlock(false, false); - result.kind = 163 /* CatchBlock */; - result.pos = pos; - result.variable = variable; - if (typeAnnotation) { - errorAtPos(typeAnnotationColonStart, typeAnnotationColonLength, ts.Diagnostics.Catch_clause_parameter_cannot_have_a_type_annotation); - } - if (isInStrictMode && isEvalOrArgumentsIdentifier(variable)) { - reportInvalidUseInStrictMode(variable); - } - return result; - } - function parseDebuggerStatement() { - var node = createNode(165 /* DebuggerStatement */); - parseExpected(62 /* DebuggerKeyword */); - parseSemicolon(); - return finishNode(node); - } - function isIterationStatementStart() { - return token === 90 /* WhileKeyword */ || token === 65 /* DoKeyword */ || token === 72 /* ForKeyword */; - } - function parseStatementWithLabelSet() { - labelledStatementInfo.pushCurrentLabelSet(isIterationStatementStart()); - var statement = parseStatement(); - labelledStatementInfo.pop(); - return statement; - } - function isLabel() { - return isIdentifier() && lookAhead(function () { return nextToken() === 42 /* ColonToken */; }); - } - function parseLabelledStatement() { - var node = createNode(159 /* LabelledStatement */); - node.label = parseIdentifier(); - parseExpected(42 /* ColonToken */); - if (labelledStatementInfo.nodeIsNestedInLabel(node.label, false, true)) { - grammarErrorOnNode(node.label, ts.Diagnostics.Duplicate_label_0, getSourceTextOfNodeFromSourceText(sourceText, node.label)); - } - labelledStatementInfo.addLabel(node.label); - node.statement = isLabel() ? parseLabelledStatement() : parseStatementWithLabelSet(); - return finishNode(node); - } - function parseExpressionStatement() { - var node = createNode(146 /* ExpressionStatement */); - node.expression = parseExpression(); - parseSemicolon(); - return finishNode(node); - } - function isStatement(inErrorRecovery) { - switch (token) { - case 13 /* SemicolonToken */: - return !inErrorRecovery; - case 5 /* OpenBraceToken */: - case 88 /* VarKeyword */: - case 73 /* FunctionKeyword */: - case 74 /* IfKeyword */: - case 65 /* DoKeyword */: - case 90 /* WhileKeyword */: - case 72 /* ForKeyword */: - case 61 /* ContinueKeyword */: - case 56 /* BreakKeyword */: - case 80 /* ReturnKeyword */: - case 91 /* WithKeyword */: - case 82 /* SwitchKeyword */: - case 84 /* ThrowKeyword */: - case 86 /* TryKeyword */: - case 62 /* DebuggerKeyword */: - return true; - case 93 /* InterfaceKeyword */: - case 59 /* ClassKeyword */: - case 106 /* ModuleKeyword */: - case 67 /* EnumKeyword */: - if (isDeclaration()) - return false; - case 98 /* PublicKeyword */: - case 96 /* PrivateKeyword */: - case 99 /* StaticKeyword */: - if (lookAhead(function () { return nextToken() >= 55 /* Identifier */; })) - return false; - default: - return isExpression(); - } - } - function parseStatement() { - switch (token) { - case 5 /* OpenBraceToken */: - return parseBlock(false, false); - case 88 /* VarKeyword */: - return parseVariableStatement(); - case 73 /* FunctionKeyword */: - return parseFunctionDeclaration(); - case 13 /* SemicolonToken */: - return parseEmptyStatement(); - case 74 /* IfKeyword */: - return parseIfStatement(); - case 65 /* DoKeyword */: - return parseDoStatement(); - case 90 /* WhileKeyword */: - return parseWhileStatement(); - case 72 /* ForKeyword */: - return parseForOrForInStatement(); - case 61 /* ContinueKeyword */: - return parseBreakOrContinueStatement(152 /* ContinueStatement */); - case 56 /* BreakKeyword */: - return parseBreakOrContinueStatement(153 /* BreakStatement */); - case 80 /* ReturnKeyword */: - return parseReturnStatement(); - case 91 /* WithKeyword */: - return parseWithStatement(); - case 82 /* SwitchKeyword */: - return parseSwitchStatement(); - case 84 /* ThrowKeyword */: - return parseThrowStatement(); - case 86 /* TryKeyword */: - return parseTryStatement(); - case 62 /* DebuggerKeyword */: - return parseDebuggerStatement(); - default: - if (isLabel()) { - return parseLabelledStatement(); - } - return parseExpressionStatement(); - } - } - function parseStatementOrFunction() { - return token === 73 /* FunctionKeyword */ ? parseFunctionDeclaration() : parseStatement(); - } - function parseAndCheckFunctionBody(isConstructor) { - var initialPosition = scanner.getTokenPos(); - var errorCountBeforeBody = file.syntacticErrors.length; - if (token === 5 /* OpenBraceToken */) { - var body = parseBody(false); - if (body && inAmbientContext && file.syntacticErrors.length === errorCountBeforeBody) { - var diagnostic = isConstructor ? ts.Diagnostics.A_constructor_implementation_cannot_be_declared_in_an_ambient_context : ts.Diagnostics.A_function_implementation_cannot_be_declared_in_an_ambient_context; - grammarErrorAtPos(initialPosition, 1, diagnostic); - } - return body; - } - if (canParseSemicolon()) { - parseSemicolon(); - return undefined; - } - error(ts.Diagnostics.Block_or_expected); - } - function parseVariableDeclaration(flags, noIn) { - var node = createNode(166 /* VariableDeclaration */); - node.flags = flags; - var errorCountBeforeVariableDeclaration = file.syntacticErrors.length; - node.name = parseIdentifier(); - node.type = parseTypeAnnotation(); - var initializerStart = scanner.getTokenPos(); - var initializerFirstTokenLength = scanner.getTextPos() - initializerStart; - node.initializer = parseInitializer(false, noIn); - if (inAmbientContext && node.initializer && errorCountBeforeVariableDeclaration === file.syntacticErrors.length) { - grammarErrorAtPos(initializerStart, initializerFirstTokenLength, ts.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts); - } - if (isInStrictMode && isEvalOrArgumentsIdentifier(node.name)) { - reportInvalidUseInStrictMode(node.name); - } - return finishNode(node); - } - function parseVariableDeclarationList(flags, noIn) { - return parseDelimitedList(9 /* VariableDeclarations */, function () { return parseVariableDeclaration(flags, noIn); }, 0 /* Disallow */); - } - function parseVariableStatement(pos, flags) { - var node = createNode(144 /* VariableStatement */, pos); - if (flags) - node.flags = flags; - var errorCountBeforeVarStatement = file.syntacticErrors.length; - parseExpected(88 /* VarKeyword */); - node.declarations = parseVariableDeclarationList(flags, false); - parseSemicolon(); - if (!node.declarations.length && file.syntacticErrors.length === errorCountBeforeVarStatement) { - grammarErrorOnNode(node, ts.Diagnostics.Variable_declaration_list_cannot_be_empty); - } - return finishNode(node); - } - function parseFunctionDeclaration(pos, flags) { - var node = createNode(167 /* FunctionDeclaration */, pos); - if (flags) - node.flags = flags; - parseExpected(73 /* FunctionKeyword */); - node.name = parseIdentifier(); - var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); - node.typeParameters = sig.typeParameters; - node.parameters = sig.parameters; - node.type = sig.type; - node.body = parseAndCheckFunctionBody(false); - if (isInStrictMode && isEvalOrArgumentsIdentifier(node.name)) { - reportInvalidUseInStrictMode(node.name); - } - return finishNode(node); - } - function parseConstructorDeclaration(pos, flags) { - var node = createNode(117 /* Constructor */, pos); - node.flags = flags; - parseExpected(103 /* ConstructorKeyword */); - var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); - node.typeParameters = sig.typeParameters; - node.parameters = sig.parameters; - node.type = sig.type; - node.body = parseAndCheckFunctionBody(true); - if (node.typeParameters) { - grammarErrorAtPos(node.typeParameters.pos, node.typeParameters.end - node.typeParameters.pos, ts.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration); - } - if (node.type) { - grammarErrorOnNode(node.type, ts.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration); - } - return finishNode(node); - } - function parsePropertyMemberDeclaration(pos, flags) { - var errorCountBeforePropertyDeclaration = file.syntacticErrors.length; - var name = parsePropertyName(); - var questionStart = scanner.getTokenPos(); - if (parseOptional(41 /* QuestionToken */)) { - errorAtPos(questionStart, scanner.getStartPos() - questionStart, ts.Diagnostics.A_class_member_cannot_be_declared_optional); - } - if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { - var method = createNode(116 /* Method */, pos); - method.flags = flags; - method.name = name; - var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); - method.typeParameters = sig.typeParameters; - method.parameters = sig.parameters; - method.type = sig.type; - method.body = parseAndCheckFunctionBody(false); - return finishNode(method); - } - else { - var property = createNode(115 /* Property */, pos); - property.flags = flags; - property.name = name; - property.type = parseTypeAnnotation(); - var initializerStart = scanner.getTokenPos(); - var initializerFirstTokenLength = scanner.getTextPos() - initializerStart; - property.initializer = parseInitializer(false); - parseSemicolon(); - if (inAmbientContext && property.initializer && errorCountBeforePropertyDeclaration === file.syntacticErrors.length) { - grammarErrorAtPos(initializerStart, initializerFirstTokenLength, ts.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts); - } - return finishNode(property); - } - } - function parseAndCheckMemberAccessorDeclaration(kind, pos, flags) { - var errorCountBeforeAccessor = file.syntacticErrors.length; - var accessor = parseMemberAccessorDeclaration(kind, pos, flags); - if (errorCountBeforeAccessor === file.syntacticErrors.length) { - if (languageVersion < 1 /* ES5 */) { - grammarErrorOnNode(accessor.name, ts.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher); - } - else if (inAmbientContext) { - grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context); - } - else if (accessor.typeParameters) { - grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); - } - else if (kind === 118 /* GetAccessor */ && accessor.parameters.length) { - grammarErrorOnNode(accessor.name, ts.Diagnostics.A_get_accessor_cannot_have_parameters); - } - else if (kind === 119 /* SetAccessor */) { - if (accessor.type) { - grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); - } - else if (accessor.parameters.length !== 1) { - grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter); - } - else { - var parameter = accessor.parameters[0]; - if (parameter.flags & 8 /* Rest */) { - grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_rest_parameter); - } - else if (parameter.flags & ts.NodeFlags.Modifier) { - grammarErrorOnNode(accessor.name, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); - } - else if (parameter.flags & 4 /* QuestionMark */) { - grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter); - } - else if (parameter.initializer) { - grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer); - } - } - } - } - return accessor; - } - function parseMemberAccessorDeclaration(kind, pos, flags) { - var node = createNode(kind, pos); - node.flags = flags; - node.name = parsePropertyName(); - var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); - node.typeParameters = sig.typeParameters; - node.parameters = sig.parameters; - node.type = sig.type; - if (inAmbientContext && canParseSemicolon()) { - parseSemicolon(); - node.body = createMissingNode(); - } - else { - node.body = parseBody(false); - } - return finishNode(node); - } - function isClassMemberStart() { - var idToken; - while (isModifier(token)) { - idToken = token; - nextToken(); - } - if (isPropertyName()) { - idToken = token; - nextToken(); - } - if (token === 9 /* OpenBracketToken */) { - return true; - } - if (idToken !== undefined) { - if (!isKeyword(idToken) || idToken === 109 /* SetKeyword */ || idToken === 105 /* GetKeyword */) { - return true; - } - switch (token) { - case 7 /* OpenParenToken */: - case 15 /* LessThanToken */: - case 42 /* ColonToken */: - case 43 /* EqualsToken */: - case 41 /* QuestionToken */: - return true; - default: - return canParseSemicolon(); - } - } - return false; - } - function parseAndCheckModifiers(context) { - var flags = 0; - var lastStaticModifierStart; - var lastStaticModifierLength; - var lastDeclareModifierStart; - var lastDeclareModifierLength; - var lastPrivateModifierStart; - var lastPrivateModifierLength; - while (true) { - var modifierStart = scanner.getTokenPos(); - var modifierToken = token; - if (!parseAnyContextualModifier()) - break; - var modifierLength = scanner.getStartPos() - modifierStart; - switch (modifierToken) { - case 98 /* PublicKeyword */: - if (flags & 32 /* Private */ || flags & 16 /* Public */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics.Accessibility_modifier_already_seen); - } - else if (flags & 64 /* Static */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_must_precede_1_modifier, "public", "static"); - } - else if (context === 1 /* ModuleElements */ || context === 0 /* SourceElements */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_element, "public"); - } - flags |= 16 /* Public */; - break; - case 96 /* PrivateKeyword */: - if (flags & 32 /* Private */ || flags & 16 /* Public */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics.Accessibility_modifier_already_seen); - } - else if (flags & 64 /* Static */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_must_precede_1_modifier, "private", "static"); - } - else if (context === 1 /* ModuleElements */ || context === 0 /* SourceElements */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_element, "private"); - } - lastPrivateModifierStart = modifierStart; - lastPrivateModifierLength = modifierLength; - flags |= 32 /* Private */; - break; - case 99 /* StaticKeyword */: - if (flags & 64 /* Static */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_already_seen, "static"); - } - else if (context === 1 /* ModuleElements */ || context === 0 /* SourceElements */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_element, "static"); - } - else if (context === 3 /* Parameters */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); - } - lastStaticModifierStart = modifierStart; - lastStaticModifierLength = modifierLength; - flags |= 64 /* Static */; - break; - case 68 /* ExportKeyword */: - if (flags & 1 /* Export */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_already_seen, "export"); - } - else if (flags & 2 /* Ambient */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "declare"); - } - else if (context === 2 /* ClassMembers */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "export"); - } - else if (context === 3 /* Parameters */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); - } - flags |= 1 /* Export */; - break; - case 104 /* DeclareKeyword */: - if (flags & 2 /* Ambient */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_already_seen, "declare"); - } - else if (context === 2 /* ClassMembers */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "declare"); - } - else if (context === 3 /* Parameters */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); - } - else if (inAmbientContext && context === 1 /* ModuleElements */) { - grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); - } - lastDeclareModifierStart = modifierStart; - lastDeclareModifierLength = modifierLength; - flags |= 2 /* Ambient */; - break; - } - } - if (token === 103 /* ConstructorKeyword */ && flags & 64 /* Static */) { - grammarErrorAtPos(lastStaticModifierStart, lastStaticModifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); - } - else if (token === 103 /* ConstructorKeyword */ && flags & 32 /* Private */) { - grammarErrorAtPos(lastPrivateModifierStart, lastPrivateModifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "private"); - } - else if (token === 75 /* ImportKeyword */) { - if (flags & 2 /* Ambient */) { - grammarErrorAtPos(lastDeclareModifierStart, lastDeclareModifierLength, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_import_declaration, "declare"); - } - } - else if (token === 93 /* InterfaceKeyword */) { - if (flags & 2 /* Ambient */) { - grammarErrorAtPos(lastDeclareModifierStart, lastDeclareModifierLength, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_interface_declaration, "declare"); - } - } - else if (token !== 68 /* ExportKeyword */ && !(flags & 2 /* Ambient */) && inAmbientContext && context === 0 /* SourceElements */) { - var declarationStart = scanner.getTokenPos(); - var declarationFirstTokenLength = scanner.getTextPos() - declarationStart; - grammarErrorAtPos(declarationStart, declarationFirstTokenLength, ts.Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file); - } - return flags; - } - function parseClassMemberDeclaration() { - var pos = getNodePos(); - var flags = parseAndCheckModifiers(2 /* ClassMembers */); - if (parseContextualModifier(105 /* GetKeyword */)) { - return parseAndCheckMemberAccessorDeclaration(118 /* GetAccessor */, pos, flags); - } - if (parseContextualModifier(109 /* SetKeyword */)) { - return parseAndCheckMemberAccessorDeclaration(119 /* SetAccessor */, pos, flags); - } - if (token === 103 /* ConstructorKeyword */) { - return parseConstructorDeclaration(pos, flags); - } - if (token >= 55 /* Identifier */ || token === 3 /* StringLiteral */ || token === 2 /* NumericLiteral */) { - return parsePropertyMemberDeclaration(pos, flags); - } - if (token === 9 /* OpenBracketToken */) { - if (flags) { - var start = getTokenPos(pos); - var length = getNodePos() - start; - errorAtPos(start, length, ts.Diagnostics.Modifiers_not_permitted_on_index_signature_members); - } - return parseIndexSignatureMember(); - } - ts.Debug.fail("Should not have attempted to parse class member declaration."); - } - function parseClassDeclaration(pos, flags) { - var node = createNode(169 /* ClassDeclaration */, pos); - node.flags = flags; - var errorCountBeforeClassDeclaration = file.syntacticErrors.length; - parseExpected(59 /* ClassKeyword */); - node.name = parseIdentifier(); - node.typeParameters = parseTypeParameters(); - node.baseType = parseOptional(69 /* ExtendsKeyword */) ? parseTypeReference() : undefined; - var implementsKeywordStart = scanner.getTokenPos(); - var implementsKeywordLength; - if (parseOptional(92 /* ImplementsKeyword */)) { - implementsKeywordLength = scanner.getStartPos() - implementsKeywordStart; - node.implementedTypes = parseDelimitedList(8 /* BaseTypeReferences */, parseTypeReference, 0 /* Disallow */); - } - var errorCountBeforeClassBody = file.syntacticErrors.length; - if (parseExpected(5 /* OpenBraceToken */)) { - node.members = parseList(6 /* ClassMembers */, false, parseClassMemberDeclaration); - parseExpected(6 /* CloseBraceToken */); - } - else { - node.members = createMissingList(); - } - if (node.implementedTypes && !node.implementedTypes.length && errorCountBeforeClassBody === errorCountBeforeClassDeclaration) { - grammarErrorAtPos(implementsKeywordStart, implementsKeywordLength, ts.Diagnostics._0_list_cannot_be_empty, "implements"); - } - return finishNode(node); - } - function parseInterfaceDeclaration(pos, flags) { - var node = createNode(170 /* InterfaceDeclaration */, pos); - node.flags = flags; - var errorCountBeforeInterfaceDeclaration = file.syntacticErrors.length; - parseExpected(93 /* InterfaceKeyword */); - node.name = parseIdentifier(); - node.typeParameters = parseTypeParameters(); - var extendsKeywordStart = scanner.getTokenPos(); - var extendsKeywordLength; - if (parseOptional(69 /* ExtendsKeyword */)) { - extendsKeywordLength = scanner.getStartPos() - extendsKeywordStart; - node.baseTypes = parseDelimitedList(8 /* BaseTypeReferences */, parseTypeReference, 0 /* Disallow */); - } - var errorCountBeforeInterfaceBody = file.syntacticErrors.length; - node.members = parseTypeLiteral().members; - if (node.baseTypes && !node.baseTypes.length && errorCountBeforeInterfaceBody === errorCountBeforeInterfaceDeclaration) { - grammarErrorAtPos(extendsKeywordStart, extendsKeywordLength, ts.Diagnostics._0_list_cannot_be_empty, "extends"); - } - return finishNode(node); - } - function parseAndCheckEnumDeclaration(pos, flags) { - function isIntegerLiteral(expression) { - function isInteger(literalExpression) { - return /^[0-9]+([eE]\+?[0-9]+)?$/.test(literalExpression.text); - } - if (expression.kind === 138 /* PrefixOperator */) { - var unaryExpression = expression; - if (unaryExpression.operator === 24 /* PlusToken */ || unaryExpression.operator === 25 /* MinusToken */) { - expression = unaryExpression.operand; - } - } - if (expression.kind === 2 /* NumericLiteral */) { - return isInteger(expression); - } - return false; - } - var inConstantEnumMemberSection = true; - function parseAndCheckEnumMember() { - var node = createNode(176 /* EnumMember */); - var errorCountBeforeEnumMember = file.syntacticErrors.length; - node.name = parsePropertyName(); - node.initializer = parseInitializer(false); - if (inAmbientContext) { - if (node.initializer && !isIntegerLiteral(node.initializer) && errorCountBeforeEnumMember === file.syntacticErrors.length) { - grammarErrorOnNode(node.name, ts.Diagnostics.Ambient_enum_elements_can_only_have_integer_literal_initializers); - } - } - else if (node.initializer) { - inConstantEnumMemberSection = isIntegerLiteral(node.initializer); - } - else if (!inConstantEnumMemberSection && errorCountBeforeEnumMember === file.syntacticErrors.length) { - grammarErrorOnNode(node.name, ts.Diagnostics.Enum_member_must_have_initializer); - } - return finishNode(node); - } - var node = createNode(171 /* EnumDeclaration */, pos); - node.flags = flags; - parseExpected(67 /* EnumKeyword */); - node.name = parseIdentifier(); - if (parseExpected(5 /* OpenBraceToken */)) { - node.members = parseDelimitedList(7 /* EnumMembers */, parseAndCheckEnumMember, 1 /* Allow */); - parseExpected(6 /* CloseBraceToken */); - } - else { - node.members = createMissingList(); - } - return finishNode(node); - } - function parseModuleBody() { - var node = createNode(173 /* ModuleBlock */); - if (parseExpected(5 /* OpenBraceToken */)) { - node.statements = parseList(1 /* ModuleElements */, false, parseModuleElement); - parseExpected(6 /* CloseBraceToken */); - } - else { - node.statements = createMissingList(); - } - return finishNode(node); - } - function parseInternalModuleTail(pos, flags) { - var node = createNode(172 /* ModuleDeclaration */, pos); - node.flags = flags; - node.name = parseIdentifier(); - if (parseOptional(11 /* DotToken */)) { - node.body = parseInternalModuleTail(getNodePos(), 1 /* Export */); - } - else { - node.body = parseModuleBody(); - ts.forEach(node.body.statements, function (s) { - if (s.kind === 175 /* ExportAssignment */) { - grammarErrorOnNode(s, ts.Diagnostics.An_export_assignment_cannot_be_used_in_an_internal_module); - } - else if (s.kind === 174 /* ImportDeclaration */ && s.externalModuleName) { - grammarErrorOnNode(s, ts.Diagnostics.Import_declarations_in_an_internal_module_cannot_reference_an_external_module); - } - }); - } - return finishNode(node); - } - function parseAmbientExternalModuleDeclaration(pos, flags) { - var node = createNode(172 /* ModuleDeclaration */, pos); - node.flags = flags; - node.name = parseStringLiteral(); - if (!inAmbientContext) { - var errorCount = file.syntacticErrors.length; - if (!errorCount || file.syntacticErrors[errorCount - 1].start < getTokenPos(pos)) { - grammarErrorOnNode(node.name, ts.Diagnostics.Only_ambient_modules_can_use_quoted_names); - } - } - var saveInAmbientContext = inAmbientContext; - inAmbientContext = true; - node.body = parseModuleBody(); - inAmbientContext = saveInAmbientContext; - return finishNode(node); - } - function parseModuleDeclaration(pos, flags) { - parseExpected(106 /* ModuleKeyword */); - return token === 3 /* StringLiteral */ ? parseAmbientExternalModuleDeclaration(pos, flags) : parseInternalModuleTail(pos, flags); - } - function parseImportDeclaration(pos, flags) { - var node = createNode(174 /* ImportDeclaration */, pos); - node.flags = flags; - parseExpected(75 /* ImportKeyword */); - node.name = parseIdentifier(); - parseExpected(43 /* EqualsToken */); - var entityName = parseEntityName(false); - if (entityName.kind === 55 /* Identifier */ && entityName.text === "require" && parseOptional(7 /* OpenParenToken */)) { - node.externalModuleName = parseStringLiteral(); - parseExpected(8 /* CloseParenToken */); - } - else { - node.entityName = entityName; - } - parseSemicolon(); - return finishNode(node); - } - function parseExportAssignmentTail(pos) { - var node = createNode(175 /* ExportAssignment */, pos); - node.exportName = parseIdentifier(); - parseSemicolon(); - return finishNode(node); - } - function isDeclaration() { - switch (token) { - case 88 /* VarKeyword */: - case 73 /* FunctionKeyword */: - return true; - case 59 /* ClassKeyword */: - case 93 /* InterfaceKeyword */: - case 67 /* EnumKeyword */: - case 75 /* ImportKeyword */: - return lookAhead(function () { return nextToken() >= 55 /* Identifier */; }); - case 106 /* ModuleKeyword */: - return lookAhead(function () { return nextToken() >= 55 /* Identifier */ || token === 3 /* StringLiteral */; }); - case 68 /* ExportKeyword */: - return lookAhead(function () { return nextToken() === 43 /* EqualsToken */ || isDeclaration(); }); - case 104 /* DeclareKeyword */: - case 98 /* PublicKeyword */: - case 96 /* PrivateKeyword */: - case 99 /* StaticKeyword */: - return lookAhead(function () { - nextToken(); - return isDeclaration(); - }); - } - } - function parseDeclaration(modifierContext) { - var pos = getNodePos(); - var errorCountBeforeModifiers = file.syntacticErrors.length; - var flags = parseAndCheckModifiers(modifierContext); - if (token === 68 /* ExportKeyword */) { - var modifiersEnd = scanner.getStartPos(); - nextToken(); - if (parseOptional(43 /* EqualsToken */)) { - var exportAssignmentTail = parseExportAssignmentTail(pos); - if (flags !== 0 && errorCountBeforeModifiers === file.syntacticErrors.length) { - var modifiersStart = ts.skipTrivia(sourceText, pos); - grammarErrorAtPos(modifiersStart, modifiersEnd - modifiersStart, ts.Diagnostics.An_export_assignment_cannot_have_modifiers); - } - return exportAssignmentTail; - } - } - var saveInAmbientContext = inAmbientContext; - if (flags & 2 /* Ambient */) { - inAmbientContext = true; - } - var result; - switch (token) { - case 88 /* VarKeyword */: - result = parseVariableStatement(pos, flags); - break; - case 73 /* FunctionKeyword */: - result = parseFunctionDeclaration(pos, flags); - break; - case 59 /* ClassKeyword */: - result = parseClassDeclaration(pos, flags); - break; - case 93 /* InterfaceKeyword */: - result = parseInterfaceDeclaration(pos, flags); - break; - case 67 /* EnumKeyword */: - result = parseAndCheckEnumDeclaration(pos, flags); - break; - case 106 /* ModuleKeyword */: - result = parseModuleDeclaration(pos, flags); - break; - case 75 /* ImportKeyword */: - result = parseImportDeclaration(pos, flags); - break; - default: - error(ts.Diagnostics.Declaration_expected); - } - inAmbientContext = saveInAmbientContext; - return result; - } - function isSourceElement(inErrorRecovery) { - return isDeclaration() || isStatement(inErrorRecovery); - } - function parseSourceElement() { - return parseSourceElementOrModuleElement(0 /* SourceElements */); - } - function parseModuleElement() { - return parseSourceElementOrModuleElement(1 /* ModuleElements */); - } - function parseSourceElementOrModuleElement(modifierContext) { - if (isDeclaration()) { - return parseDeclaration(modifierContext); - } - var statementStart = scanner.getTokenPos(); - var statementFirstTokenLength = scanner.getTextPos() - statementStart; - var errorCountBeforeStatement = file.syntacticErrors.length; - var statement = parseStatement(); - if (inAmbientContext && file.syntacticErrors.length === errorCountBeforeStatement) { - grammarErrorAtPos(statementStart, statementFirstTokenLength, ts.Diagnostics.Statements_are_not_allowed_in_ambient_contexts); - } - return statement; - } - function processReferenceComments() { - var referencedFiles = []; - var amdDependencies = []; - commentRanges = []; - token = scanner.scan(); - for (var i = 0; i < commentRanges.length; i++) { - var range = commentRanges[i]; - var comment = sourceText.substring(range.pos, range.end); - var simpleReferenceRegEx = /^\/\/\/\s*/gim; - if (isNoDefaultLibRegEx.exec(comment)) { - file.hasNoDefaultLib = true; - } - else { - var fullReferenceRegEx = /^(\/\/\/\s*/; - var matchResult = fullReferenceRegEx.exec(comment); - if (!matchResult) { - var start = range.pos; - var length = range.end - start; - errorAtPos(start, length, ts.Diagnostics.Invalid_reference_comment); - } - else { - referencedFiles.push({ - pos: range.pos, - end: range.end, - filename: matchResult[3] - }); - } - } - } - else { - var amdDependencyRegEx = /^\/\/\/\s*= 0 ? filename : filename + extension; - } - function processRootFile(filename, isDefaultLib) { - processSourceFile(ts.normalizePath(addExtension(filename, ".ts")), isDefaultLib); - } - function processSourceFile(filename, isDefaultLib, refFile, refPos, refEnd) { - if (refEnd !== undefined && refPos !== undefined) { - var start = refPos; - var length = refEnd - refPos; - } - if (!ts.fileExtensionIs(filename, ".ts")) { - errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_must_have_extension_ts_or_d_ts, filename)); - } - else if (!findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) { - errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_not_found, filename)); - } - } - function findSourceFile(filename, isDefaultLib, refFile, refStart, refLength) { - var canonicalName = host.getCanonicalFileName(filename); - var file = getSourceFile(filename); - if (file) { - if (host.useCaseSensitiveFileNames() && canonicalName !== file.filename) { - errors.push(ts.createFileDiagnostic(refFile, refStart, refLength, ts.Diagnostics.Filename_0_differs_from_already_included_filename_1_only_in_casing, filename, file.filename)); - } - } - else { - file = host.getSourceFile(filename, options.target, function (hostErrorMessage) { - errors.push(ts.createFileDiagnostic(refFile, refStart, refLength, ts.Diagnostics.Cannot_read_file_0_Colon_1, filename, hostErrorMessage)); - }); - if (file) { - filesByName[host.getCanonicalFileName(filename)] = file; - seenNoDefaultLib = seenNoDefaultLib || file.hasNoDefaultLib; - if (!options.noResolve) { - var basePath = ts.getDirectoryPath(filename); - processReferencedFiles(file, basePath); - processImportedModules(file, basePath); - } - if (isDefaultLib) { - files.unshift(file); - } - else { - files.push(file); - } - ts.forEach(file.syntacticErrors, function (e) { - errors.push(e); - }); - } - } - return file; - } - function processReferencedFiles(file, basePath) { - ts.forEach(file.referencedFiles, function (ref) { - processSourceFile(ts.normalizePath(ts.combinePaths(basePath, ref.filename)), false, file, ref.pos, ref.end); - }); - } - function processImportedModules(file, basePath) { - ts.forEach(file.statements, function (node) { - if (node.kind === 174 /* ImportDeclaration */ && node.externalModuleName) { - var nameLiteral = node.externalModuleName; - var moduleName = nameLiteral.text; - if (moduleName) { - var searchPath = basePath; - while (true) { - var searchName = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); - if (findModuleSourceFile(searchName + ".ts", nameLiteral) || findModuleSourceFile(searchName + ".d.ts", nameLiteral)) - break; - var parentPath = ts.getDirectoryPath(searchPath); - if (parentPath === searchPath) - break; - searchPath = parentPath; - } - } - } - else if (node.kind === 172 /* ModuleDeclaration */ && node.name.kind === 3 /* StringLiteral */ && (node.flags & 2 /* Ambient */ || file.flags & 512 /* DeclarationFile */)) { - forEachChild(node.body, function (node) { - if (node.kind === 174 /* ImportDeclaration */ && node.externalModuleName) { - var nameLiteral = node.externalModuleName; - var moduleName = nameLiteral.text; - if (moduleName) { - var searchName = ts.normalizePath(ts.combinePaths(basePath, moduleName)); - var tsFile = findModuleSourceFile(searchName + ".ts", nameLiteral); - if (!tsFile) { - findModuleSourceFile(searchName + ".d.ts", nameLiteral); - } - } - } - }); - } - }); - 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)); - } - if (options.sourceRoot) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option)); - } - return; - } - var firstExternalModule = ts.forEach(files, function (f) { return isExternalModule(f) ? f : undefined; }); - if (firstExternalModule && options.module === 0 /* None */) { - var externalModuleErrorSpan = 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)); - } - if (options.outDir || options.sourceRoot || (options.mapRoot && (!options.out || firstExternalModule !== undefined))) { - var commonPathComponents; - ts.forEach(files, function (sourceFile) { - if (!(sourceFile.flags & 512 /* DeclarationFile */) && !ts.fileExtensionIs(sourceFile.filename, ".js")) { - var sourcePathCompoments = ts.getNormalizedPathComponents(sourceFile.filename, host.getCurrentDirectory()); - sourcePathCompoments.pop(); - if (commonPathComponents) { - for (var i = 0; i < Math.min(commonPathComponents.length, sourcePathCompoments.length); i++) { - if (commonPathComponents[i] !== sourcePathCompoments[i]) { - if (i === 0) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files)); - return; - } - commonPathComponents.length = i; - break; - } - } - if (sourcePathCompoments.length < commonPathComponents.length) { - commonPathComponents.length = sourcePathCompoments.length; - } - } - else { - commonPathComponents = sourcePathCompoments; - } - } - }); - commonSourceDirectory = ts.getNormalizedPathFromPathCompoments(commonPathComponents); - if (commonSourceDirectory) { - commonSourceDirectory += ts.directorySeparator; - } - } - } - } - ts.createProgram = createProgram; -})(ts || (ts = {})); -var ts; -(function (ts) { - function isInstantiated(node) { - if (node.kind === 170 /* InterfaceDeclaration */) { - return false; - } - else if (node.kind === 174 /* ImportDeclaration */ && !(node.flags & 1 /* Export */)) { - return false; - } - else if (node.kind === 173 /* ModuleBlock */ && !ts.forEachChild(node, isInstantiated)) { - return false; - } - else if (node.kind === 172 /* ModuleDeclaration */ && !isInstantiated(node.body)) { - return false; - } - else { - return true; - } - } - ts.isInstantiated = isInstantiated; - function bindSourceFile(file) { - var parent; - var container; - var lastContainer; - var symbolCount = 0; - var Symbol = ts.objectAllocator.getSymbolConstructor(); - if (!file.locals) { - file.locals = {}; - container = file; - bind(file); - file.symbolCount = symbolCount; - } - function createSymbol(flags, name) { - symbolCount++; - return new Symbol(flags, name); - } - function addDeclarationToSymbol(symbol, node, symbolKind) { - symbol.flags |= symbolKind; - if (!symbol.declarations) - symbol.declarations = []; - symbol.declarations.push(node); - if (symbolKind & ts.SymbolFlags.HasExports && !symbol.exports) - symbol.exports = {}; - if (symbolKind & ts.SymbolFlags.HasMembers && !symbol.members) - symbol.members = {}; - node.symbol = symbol; - if (symbolKind & ts.SymbolFlags.Value && !symbol.valueDeclaration) - symbol.valueDeclaration = node; - } - function getDeclarationName(node) { - if (node.name) { - if (node.kind === 172 /* ModuleDeclaration */ && node.name.kind === 3 /* StringLiteral */) { - return '"' + node.name.text + '"'; - } - return node.name.text; - } - switch (node.kind) { - case 117 /* Constructor */: - return "__constructor"; - case 120 /* CallSignature */: - return "__call"; - case 121 /* ConstructSignature */: - return "__new"; - case 122 /* IndexSignature */: - return "__index"; - } - } - function getDisplayName(node) { - return node.name ? ts.identifierToString(node.name) : getDeclarationName(node); - } - function declareSymbol(symbols, parent, node, includes, excludes) { - var name = getDeclarationName(node); - if (name !== undefined) { - var symbol = ts.hasProperty(symbols, name) ? symbols[name] : (symbols[name] = createSymbol(0, name)); - if (symbol.flags & excludes) { - if (node.name) { - node.name.parent = node; - } - file.semanticErrors.push(ts.createDiagnosticForNode(node.name ? node.name : node, ts.Diagnostics.Duplicate_identifier_0, getDisplayName(node))); - symbol = createSymbol(0, name); - } - } - else { - symbol = createSymbol(0, "__missing"); - } - addDeclarationToSymbol(symbol, node, includes); - symbol.parent = parent; - if (node.kind === 169 /* ClassDeclaration */ && symbol.exports) { - var prototypeSymbol = createSymbol(2 /* Property */ | 67108864 /* Prototype */, "prototype"); - if (ts.hasProperty(symbol.exports, prototypeSymbol.name)) { - if (node.name) { - node.name.parent = node; - } - file.semanticErrors.push(ts.createDiagnosticForNode(symbol.exports[prototypeSymbol.name].declarations[0], ts.Diagnostics.Duplicate_identifier_0, prototypeSymbol.name)); - } - symbol.exports[prototypeSymbol.name] = prototypeSymbol; - prototypeSymbol.parent = symbol; - } - return symbol; - } - function isAmbientContext(node) { - while (node) { - if (node.flags & 2 /* Ambient */) - return true; - node = node.parent; - } - return false; - } - function declareModuleMember(node, symbolKind, symbolExcludes) { - var exportKind = 0; - if (symbolKind & ts.SymbolFlags.Value) { - exportKind |= 524288 /* ExportValue */; - } - if (symbolKind & ts.SymbolFlags.Type) { - exportKind |= 1048576 /* ExportType */; - } - if (symbolKind & ts.SymbolFlags.Namespace) { - exportKind |= 2097152 /* ExportNamespace */; - } - if (node.flags & 1 /* Export */ || (node.kind !== 174 /* ImportDeclaration */ && isAmbientContext(container))) { - if (exportKind) { - var local = declareSymbol(container.locals, undefined, node, exportKind, symbolExcludes); - local.exportSymbol = declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); - node.localSymbol = local; - } - else { - declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); - } - } - else { - declareSymbol(container.locals, undefined, node, symbolKind, symbolExcludes); - } - } - function bindChildren(node, symbolKind) { - if (symbolKind & ts.SymbolFlags.HasLocals) { - node.locals = {}; - } - var saveParent = parent; - var saveContainer = container; - parent = node; - if (symbolKind & ts.SymbolFlags.IsContainer) { - container = node; - if (lastContainer) - lastContainer.nextContainer = container; - lastContainer = container; - } - ts.forEachChild(node, bind); - container = saveContainer; - parent = saveParent; - } - function bindDeclaration(node, symbolKind, symbolExcludes) { - switch (container.kind) { - case 172 /* ModuleDeclaration */: - declareModuleMember(node, symbolKind, symbolExcludes); - break; - case 177 /* SourceFile */: - if (ts.isExternalModule(container)) { - declareModuleMember(node, symbolKind, symbolExcludes); - break; - } - case 120 /* CallSignature */: - case 121 /* ConstructSignature */: - case 122 /* IndexSignature */: - case 116 /* Method */: - case 117 /* Constructor */: - case 118 /* GetAccessor */: - case 119 /* SetAccessor */: - case 167 /* FunctionDeclaration */: - case 136 /* FunctionExpression */: - case 137 /* ArrowFunction */: - declareSymbol(container.locals, undefined, node, symbolKind, symbolExcludes); - break; - case 169 /* ClassDeclaration */: - if (node.flags & 64 /* Static */) { - declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); - break; - } - case 125 /* TypeLiteral */: - case 128 /* ObjectLiteral */: - case 170 /* InterfaceDeclaration */: - declareSymbol(container.symbol.members, container.symbol, node, symbolKind, symbolExcludes); - break; - case 171 /* EnumDeclaration */: - declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); - break; - } - bindChildren(node, symbolKind); - } - function bindConstructorDeclaration(node) { - bindDeclaration(node, 4096 /* Constructor */, 0); - ts.forEach(node.parameters, function (p) { - if (p.flags & (16 /* Public */ | 32 /* Private */)) { - bindDeclaration(p, 2 /* Property */, ts.SymbolFlags.PropertyExcludes); - } - }); - } - function bindModuleDeclaration(node) { - if (node.name.kind === 3 /* StringLiteral */) { - bindDeclaration(node, 128 /* ValueModule */, ts.SymbolFlags.ValueModuleExcludes); - } - else if (isInstantiated(node)) { - bindDeclaration(node, 128 /* ValueModule */, ts.SymbolFlags.ValueModuleExcludes); - } - else { - bindDeclaration(node, 256 /* NamespaceModule */, 0 /* NamespaceModuleExcludes */); - } - } - function bindAnonymousDeclaration(node, symbolKind, name) { - var symbol = createSymbol(symbolKind, name); - addDeclarationToSymbol(symbol, node, symbolKind); - bindChildren(node, symbolKind); - } - function bindCatchVariableDeclaration(node) { - var symbol = createSymbol(1 /* Variable */, node.variable.text || "__missing"); - addDeclarationToSymbol(symbol, node.variable, 1 /* Variable */); - var saveParent = parent; - parent = node; - ts.forEachChild(node, bind); - parent = saveParent; - } - function bind(node) { - node.parent = parent; - switch (node.kind) { - case 113 /* TypeParameter */: - bindDeclaration(node, 262144 /* TypeParameter */, ts.SymbolFlags.TypeParameterExcludes); - break; - case 114 /* Parameter */: - bindDeclaration(node, 1 /* Variable */, ts.SymbolFlags.ParameterExcludes); - break; - case 166 /* VariableDeclaration */: - bindDeclaration(node, 1 /* Variable */, ts.SymbolFlags.VariableExcludes); - break; - case 115 /* Property */: - case 129 /* PropertyAssignment */: - bindDeclaration(node, 2 /* Property */, ts.SymbolFlags.PropertyExcludes); - break; - case 176 /* EnumMember */: - bindDeclaration(node, 4 /* EnumMember */, ts.SymbolFlags.EnumMemberExcludes); - break; - case 120 /* CallSignature */: - bindDeclaration(node, 32768 /* CallSignature */, 0); - break; - case 116 /* Method */: - bindDeclaration(node, 2048 /* Method */, ts.SymbolFlags.MethodExcludes); - break; - case 121 /* ConstructSignature */: - bindDeclaration(node, 65536 /* ConstructSignature */, 0); - break; - case 122 /* IndexSignature */: - bindDeclaration(node, 131072 /* IndexSignature */, 0); - break; - case 167 /* FunctionDeclaration */: - bindDeclaration(node, 8 /* Function */, ts.SymbolFlags.FunctionExcludes); - break; - case 117 /* Constructor */: - bindConstructorDeclaration(node); - break; - case 118 /* GetAccessor */: - bindDeclaration(node, 8192 /* GetAccessor */, ts.SymbolFlags.GetAccessorExcludes); - break; - case 119 /* SetAccessor */: - bindDeclaration(node, 16384 /* SetAccessor */, ts.SymbolFlags.SetAccessorExcludes); - break; - case 125 /* TypeLiteral */: - bindAnonymousDeclaration(node, 512 /* TypeLiteral */, "__type"); - break; - case 128 /* ObjectLiteral */: - bindAnonymousDeclaration(node, 1024 /* ObjectLiteral */, "__object"); - break; - case 136 /* FunctionExpression */: - case 137 /* ArrowFunction */: - bindAnonymousDeclaration(node, 8 /* Function */, "__function"); - break; - case 163 /* CatchBlock */: - bindCatchVariableDeclaration(node); - break; - case 169 /* ClassDeclaration */: - bindDeclaration(node, 16 /* Class */, ts.SymbolFlags.ClassExcludes); - break; - case 170 /* InterfaceDeclaration */: - bindDeclaration(node, 32 /* Interface */, ts.SymbolFlags.InterfaceExcludes); - break; - case 171 /* EnumDeclaration */: - bindDeclaration(node, 64 /* Enum */, ts.SymbolFlags.EnumExcludes); - break; - case 172 /* ModuleDeclaration */: - bindModuleDeclaration(node); - break; - case 174 /* ImportDeclaration */: - bindDeclaration(node, 4194304 /* Import */, ts.SymbolFlags.ImportExcludes); - break; - case 177 /* SourceFile */: - if (ts.isExternalModule(node)) { - bindAnonymousDeclaration(node, 128 /* ValueModule */, '"' + ts.getModuleNameFromFilename(node.filename) + '"'); - break; - } - default: - var saveParent = parent; - parent = node; - ts.forEachChild(node, bind); - parent = saveParent; - } - } - } - ts.bindSourceFile = bindSourceFile; -})(ts || (ts = {})); -var ts; -(function (ts) { - var indentStrings = []; - function getIndentString(level) { - return indentStrings[level] || (indentStrings[level] = level === 0 ? "" : getIndentString(level - 1) + " "); - } - function emitFiles(resolver) { - var program = resolver.getProgram(); - var compilerHost = program.getCompilerHost(); - var compilerOptions = program.getCompilerOptions(); - var sourceMapDataList = compilerOptions.sourceMap ? [] : undefined; - var diagnostics = []; - function getSourceFilePathInNewDir(newDirPath, sourceFile) { - var sourceFilePath = ts.getNormalizedPathFromPathCompoments(ts.getNormalizedPathComponents(sourceFile.filename, compilerHost.getCurrentDirectory())); - sourceFilePath = sourceFilePath.replace(program.getCommonSourceDirectory(), ""); - return ts.combinePaths(newDirPath, sourceFilePath); - } - function shouldEmitToOwnFile(sourceFile) { - if (!(sourceFile.flags & 512 /* DeclarationFile */)) { - if ((ts.isExternalModule(sourceFile) || !compilerOptions.out) && !ts.fileExtensionIs(sourceFile.filename, ".js")) { - return true; - } - } - } - function getOwnEmitOutputFilePath(sourceFile, extension) { - if (program.getCompilerOptions().outDir) { - var emitOutputFilePathWithoutExtension = ts.getModuleNameFromFilename(getSourceFilePathInNewDir(program.getCompilerOptions().outDir, sourceFile)); - } - else { - var emitOutputFilePathWithoutExtension = ts.getModuleNameFromFilename(sourceFile.filename); - } - return emitOutputFilePathWithoutExtension + extension; - } - function isExternalModuleOrDeclarationFile(sourceFile) { - return ts.isExternalModule(sourceFile) || (sourceFile.flags & 512 /* DeclarationFile */) !== 0; - } - function getFirstConstructorWithBody(node) { - return ts.forEach(node.members, function (member) { - if (member.kind === 117 /* Constructor */ && member.body) { - return member; - } - }); - } - function getAllAccessorDeclarations(node, accessor) { - var firstAccessor; - var getAccessor; - var setAccessor; - ts.forEach(node.members, function (member) { - if ((member.kind === 118 /* GetAccessor */ || member.kind === 119 /* SetAccessor */) && member.name.text === accessor.name.text && (member.flags & 64 /* Static */) === (accessor.flags & 64 /* Static */)) { - if (!firstAccessor) { - firstAccessor = member; - } - if (member.kind === 118 /* GetAccessor */ && !getAccessor) { - getAccessor = member; - } - if (member.kind === 119 /* SetAccessor */ && !setAccessor) { - setAccessor = member; - } - } - }); - return { - firstAccessor: firstAccessor, - getAccessor: getAccessor, - setAccessor: setAccessor - }; - } - function createTextWriter() { - var output = ""; - var indent = 0; - var lineStart = true; - var lineCount = 0; - var linePos = 0; - function write(s) { - if (s && s.length) { - if (lineStart) { - output += getIndentString(indent); - lineStart = false; - } - output += s; - } - } - function writeLiteral(s) { - if (s && s.length) { - write(s); - var pos = 0; - while (pos < s.length) { - switch (s.charCodeAt(pos++)) { - case 13 /* carriageReturn */: - if (pos < s.length && s.charCodeAt(pos) === 10 /* lineFeed */) { - pos++; - } - case 10 /* lineFeed */: - lineCount++; - linePos = output.length - s.length + pos; - break; - } - } - } - } - function writeLine() { - if (!lineStart) { - output += sys.newLine; - lineCount++; - linePos = output.length; - lineStart = true; - } - } - return { - write: write, - writeLiteral: writeLiteral, - writeLine: writeLine, - increaseIndent: function () { return indent++; }, - decreaseIndent: function () { return indent--; }, - getTextPos: function () { return output.length; }, - getLine: function () { return lineCount + 1; }, - getColumn: function () { return lineStart ? indent * 4 + 1 : output.length - linePos + 1; }, - getText: function () { return output; } - }; - } - var currentSourceFile; - function getSourceTextOfLocalNode(node) { - var text = currentSourceFile.text; - return text.substring(ts.skipTrivia(text, node.pos), node.end); - } - function writeFile(filename, data) { - compilerHost.writeFile(filename, data, function (hostErrorMessage) { - diagnostics.push(ts.createCompilerDiagnostic(ts.Diagnostics.Could_not_write_file_0_Colon_1, filename, hostErrorMessage)); - }); - } - function emitJavaScript(jsFilePath, root) { - var writer = createTextWriter(); - var write = writer.write; - var writeLine = writer.writeLine; - var increaseIndent = writer.increaseIndent; - var decreaseIndent = writer.decreaseIndent; - var extendsEmitted = false; - var writeEmittedFiles = writeJavaScriptFile; - var emit = emitNode; - var emitStart = function (node) { - }; - var emitEnd = function (node) { - }; - var emitToken = emitTokenText; - var emitNewSourceFileStart = function (node) { - }; - var scopeEmitStart = function (scopeDeclaration, scopeName) { - }; - var scopeEmitEnd = function () { - }; - var sourceMapData; - function initializeEmitterWithSourceMaps() { - var sourceMapDir; - var sourceMapSourceIndex = -1; - var sourceMapNameIndexMap = {}; - var sourceMapNameIndices = []; - function getSourceMapNameIndex() { - return sourceMapNameIndices.length ? sourceMapNameIndices[sourceMapNameIndices.length - 1] : -1; - } - var lastRecordedSourceMapSpan; - var lastEncodedSourceMapSpan = { - emittedLine: 1, - emittedColumn: 1, - sourceLine: 1, - sourceColumn: 1, - sourceIndex: 0 - }; - var lastEncodedNameIndex = 0; - function encodeLastRecordedSourceMapSpan() { - if (!lastRecordedSourceMapSpan || lastRecordedSourceMapSpan === lastEncodedSourceMapSpan) { - return; - } - var prevEncodedEmittedColumn = lastEncodedSourceMapSpan.emittedColumn; - if (lastEncodedSourceMapSpan.emittedLine == lastRecordedSourceMapSpan.emittedLine) { - if (sourceMapData.sourceMapMappings) { - sourceMapData.sourceMapMappings += ","; - } - } - else { - for (var encodedLine = lastEncodedSourceMapSpan.emittedLine; encodedLine < lastRecordedSourceMapSpan.emittedLine; encodedLine++) { - sourceMapData.sourceMapMappings += ";"; - } - prevEncodedEmittedColumn = 1; - } - sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.emittedColumn - prevEncodedEmittedColumn); - sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceIndex - lastEncodedSourceMapSpan.sourceIndex); - sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceLine - lastEncodedSourceMapSpan.sourceLine); - sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceColumn - lastEncodedSourceMapSpan.sourceColumn); - if (lastRecordedSourceMapSpan.nameIndex >= 0) { - sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.nameIndex - lastEncodedNameIndex); - lastEncodedNameIndex = lastRecordedSourceMapSpan.nameIndex; - } - lastEncodedSourceMapSpan = lastRecordedSourceMapSpan; - sourceMapData.sourceMapDecodedMappings.push(lastEncodedSourceMapSpan); - function base64VLQFormatEncode(inValue) { - function base64FormatEncode(inValue) { - if (inValue < 64) { - return 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.charAt(inValue); - } - throw TypeError(inValue + ": not a 64 based value"); - } - if (inValue < 0) { - inValue = ((-inValue) << 1) + 1; - } - else { - inValue = inValue << 1; - } - var encodedStr = ""; - do { - var currentDigit = inValue & 31; - inValue = inValue >> 5; - if (inValue > 0) { - currentDigit = currentDigit | 32; - } - encodedStr = encodedStr + base64FormatEncode(currentDigit); - } while (inValue > 0); - return encodedStr; - } - } - function recordSourceMapSpan(pos) { - var sourceLinePos = currentSourceFile.getLineAndCharacterFromPosition(pos); - var emittedLine = writer.getLine(); - var emittedColumn = writer.getColumn(); - if (!lastRecordedSourceMapSpan || lastRecordedSourceMapSpan.emittedLine != emittedLine || lastRecordedSourceMapSpan.emittedColumn != emittedColumn || lastRecordedSourceMapSpan.sourceLine > sourceLinePos.line || (lastRecordedSourceMapSpan.sourceLine === sourceLinePos.line && lastRecordedSourceMapSpan.sourceColumn > sourceLinePos.character)) { - encodeLastRecordedSourceMapSpan(); - lastRecordedSourceMapSpan = { - emittedLine: emittedLine, - emittedColumn: emittedColumn, - sourceLine: sourceLinePos.line, - sourceColumn: sourceLinePos.character, - nameIndex: getSourceMapNameIndex(), - sourceIndex: sourceMapSourceIndex - }; - } - else { - lastRecordedSourceMapSpan.sourceLine = sourceLinePos.line; - lastRecordedSourceMapSpan.sourceColumn = sourceLinePos.character; - } - } - function recordEmitNodeStartSpan(node) { - recordSourceMapSpan(ts.getTokenPosOfNode(node)); - } - function recordEmitNodeEndSpan(node) { - recordSourceMapSpan(node.end); - } - function writeTextWithSpanRecord(tokenKind, startPos, emitFn) { - var tokenStartPos = ts.skipTrivia(currentSourceFile.text, startPos); - recordSourceMapSpan(tokenStartPos); - var tokenEndPos = emitTokenText(tokenKind, tokenStartPos, emitFn); - recordSourceMapSpan(tokenEndPos); - return tokenEndPos; - } - function recordNewSourceFileStart(node) { - var sourcesDirectoryPath = compilerOptions.sourceRoot ? program.getCommonSourceDirectory() : sourceMapDir; - sourceMapData.sourceMapSources.push(ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, node.filename, compilerHost.getCurrentDirectory(), true)); - sourceMapSourceIndex = sourceMapData.sourceMapSources.length - 1; - sourceMapData.inputSourceFileNames.push(node.filename); - } - function recordScopeNameOfNode(node, scopeName) { - function recordScopeNameIndex(scopeNameIndex) { - sourceMapNameIndices.push(scopeNameIndex); - } - function recordScopeNameStart(scopeName) { - var scopeNameIndex = -1; - if (scopeName) { - var parentIndex = getSourceMapNameIndex(); - if (parentIndex !== -1) { - scopeName = sourceMapData.sourceMapNames[parentIndex] + "." + scopeName; - } - scopeNameIndex = ts.getProperty(sourceMapNameIndexMap, scopeName); - if (scopeNameIndex === undefined) { - scopeNameIndex = sourceMapData.sourceMapNames.length; - sourceMapData.sourceMapNames.push(scopeName); - sourceMapNameIndexMap[scopeName] = scopeNameIndex; - } - } - recordScopeNameIndex(scopeNameIndex); - } - if (scopeName) { - recordScopeNameStart(scopeName); - } - else if (node.kind === 167 /* FunctionDeclaration */ || node.kind === 136 /* FunctionExpression */ || node.kind === 116 /* Method */ || node.kind === 118 /* GetAccessor */ || node.kind === 119 /* SetAccessor */ || node.kind === 172 /* ModuleDeclaration */ || node.kind === 169 /* ClassDeclaration */ || node.kind === 171 /* EnumDeclaration */) { - if (node.name) { - scopeName = node.name.text; - } - recordScopeNameStart(scopeName); - } - else { - recordScopeNameIndex(getSourceMapNameIndex()); - } - } - function recordScopeNameEnd() { - sourceMapNameIndices.pop(); - } - ; - function writeJavaScriptAndSourceMapFile(emitOutput) { - encodeLastRecordedSourceMapSpan(); - writeFile(sourceMapData.sourceMapFilePath, JSON.stringify({ - version: 3, - file: sourceMapData.sourceMapFile, - sourceRoot: sourceMapData.sourceMapSourceRoot, - sources: sourceMapData.sourceMapSources, - names: sourceMapData.sourceMapNames, - mappings: sourceMapData.sourceMapMappings - })); - sourceMapDataList.push(sourceMapData); - writeJavaScriptFile(emitOutput + "//# sourceMappingURL=" + sourceMapData.jsSourceMappingURL); - } - var sourceMapJsFile = ts.getBaseFilename(ts.normalizeSlashes(jsFilePath)); - sourceMapData = { - sourceMapFilePath: jsFilePath + ".map", - jsSourceMappingURL: sourceMapJsFile + ".map", - sourceMapFile: sourceMapJsFile, - sourceMapSourceRoot: compilerOptions.sourceRoot || "", - sourceMapSources: [], - inputSourceFileNames: [], - sourceMapNames: [], - sourceMapMappings: "", - sourceMapDecodedMappings: [] - }; - sourceMapData.sourceMapSourceRoot = ts.normalizeSlashes(sourceMapData.sourceMapSourceRoot); - if (sourceMapData.sourceMapSourceRoot.length && sourceMapData.sourceMapSourceRoot.charCodeAt(sourceMapData.sourceMapSourceRoot.length - 1) !== 47 /* slash */) { - sourceMapData.sourceMapSourceRoot += ts.directorySeparator; - } - if (compilerOptions.mapRoot) { - sourceMapDir = ts.normalizeSlashes(compilerOptions.mapRoot); - if (root) { - sourceMapDir = ts.getDirectoryPath(getSourceFilePathInNewDir(sourceMapDir, root)); - } - if (!ts.isRootedDiskPath(sourceMapDir) && !ts.isUrl(sourceMapDir)) { - sourceMapDir = ts.combinePaths(program.getCommonSourceDirectory(), sourceMapDir); - sourceMapData.jsSourceMappingURL = ts.getRelativePathToDirectoryOrUrl(ts.getDirectoryPath(ts.normalizePath(jsFilePath)), ts.combinePaths(sourceMapDir, sourceMapData.jsSourceMappingURL), compilerHost.getCurrentDirectory(), true); - } - else { - sourceMapData.jsSourceMappingURL = ts.combinePaths(sourceMapDir, sourceMapData.jsSourceMappingURL); - } - } - else { - sourceMapDir = ts.getDirectoryPath(ts.normalizePath(jsFilePath)); - } - function emitNodeWithMap(node) { - if (node) { - if (node.kind != 177 /* SourceFile */) { - recordEmitNodeStartSpan(node); - emitNode(node); - recordEmitNodeEndSpan(node); - } - else { - recordNewSourceFileStart(node); - emitNode(node); - } - } - } - writeEmittedFiles = writeJavaScriptAndSourceMapFile; - emit = emitNodeWithMap; - emitStart = recordEmitNodeStartSpan; - emitEnd = recordEmitNodeEndSpan; - emitToken = writeTextWithSpanRecord; - emitNewSourceFileStart = recordNewSourceFileStart; - scopeEmitStart = recordScopeNameOfNode; - scopeEmitEnd = recordScopeNameEnd; - } - function writeJavaScriptFile(emitOutput) { - writeFile(jsFilePath, emitOutput); - } - function emitTokenText(tokenKind, startPos, emitFn) { - var tokenString = ts.tokenToString(tokenKind); - if (emitFn) { - emitFn(); - } - else { - write(tokenString); - } - return startPos + tokenString.length; - } - function emitOptional(prefix, node) { - if (node) { - write(prefix); - emit(node); - } - } - function emitCommaList(nodes, count) { - if (!(count >= 0)) - count = nodes.length; - if (nodes) { - for (var i = 0; i < count; i++) { - if (i) - write(", "); - emit(nodes[i]); - } - } - } - function emitMultiLineList(nodes) { - if (nodes) { - for (var i = 0; i < nodes.length; i++) { - if (i) - write(","); - writeLine(); - emit(nodes[i]); - } - } - } - function emitLines(nodes) { - emitLinesStartingAt(nodes, 0); - } - function emitLinesStartingAt(nodes, startIndex) { - for (var i = startIndex; i < nodes.length; i++) { - writeLine(); - emit(nodes[i]); - } - } - function emitLiteral(node) { - var text = getSourceTextOfLocalNode(node); - if (node.kind === 3 /* StringLiteral */ && compilerOptions.sourceMap) { - writer.writeLiteral(text); - } - else { - write(text); - } - } - function emitQuotedIdentifier(node) { - if (node.kind === 3 /* StringLiteral */) { - emitLiteral(node); - } - else { - write("\""); - if (node.kind === 2 /* NumericLiteral */) { - write(node.text); - } - else { - write(getSourceTextOfLocalNode(node)); - } - write("\""); - } - } - function isNonExpressionIdentifier(node) { - var parent = node.parent; - switch (parent.kind) { - case 114 /* Parameter */: - case 166 /* VariableDeclaration */: - case 115 /* Property */: - case 129 /* PropertyAssignment */: - case 176 /* EnumMember */: - case 116 /* Method */: - case 167 /* FunctionDeclaration */: - case 118 /* GetAccessor */: - case 119 /* SetAccessor */: - case 136 /* FunctionExpression */: - case 169 /* ClassDeclaration */: - case 170 /* InterfaceDeclaration */: - case 171 /* EnumDeclaration */: - case 172 /* ModuleDeclaration */: - case 174 /* ImportDeclaration */: - return parent.name === node; - case 153 /* BreakStatement */: - case 152 /* ContinueStatement */: - case 175 /* ExportAssignment */: - return false; - case 159 /* LabelledStatement */: - return node.parent.label === node; - case 163 /* CatchBlock */: - return node.parent.variable === node; - } - } - function emitIdentifier(node) { - if (!isNonExpressionIdentifier(node)) { - var prefix = resolver.getExpressionNamePrefix(node); - if (prefix) { - write(prefix); - write("."); - } - } - write(getSourceTextOfLocalNode(node)); - } - function emitThis(node) { - if (resolver.getNodeCheckFlags(node) & 2 /* LexicalThis */) { - write("_this"); - } - else { - write("this"); - } - } - function emitSuper(node) { - var flags = resolver.getNodeCheckFlags(node); - if (flags & 16 /* SuperInstance */) { - write("_super.prototype"); - } - else if (flags & 32 /* SuperStatic */) { - write("_super"); - } - else { - write("super"); - } - } - function emitArrayLiteral(node) { - if (node.flags & 128 /* MultiLine */) { - write("["); - increaseIndent(); - emitMultiLineList(node.elements); - decreaseIndent(); - writeLine(); - write("]"); - } - else { - write("["); - emitCommaList(node.elements); - write("]"); - } - } - function emitObjectLiteral(node) { - if (!node.properties.length) { - write("{}"); - } - else if (node.flags & 128 /* MultiLine */) { - write("{"); - increaseIndent(); - emitMultiLineList(node.properties); - decreaseIndent(); - writeLine(); - write("}"); - } - else { - write("{ "); - emitCommaList(node.properties); - write(" }"); - } - } - function emitPropertyAssignment(node) { - emit(node.name); - write(": "); - emit(node.initializer); - } - function emitPropertyAccess(node) { - var text = resolver.getPropertyAccessSubstitution(node); - if (text) { - write(text); - return; - } - emit(node.left); - write("."); - emit(node.right); - } - function emitIndexedAccess(node) { - emit(node.object); - write("["); - emit(node.index); - write("]"); - } - function emitCallExpression(node) { - var superCall = false; - if (node.func.kind === 81 /* SuperKeyword */) { - write("_super"); - superCall = true; - } - else { - emit(node.func); - superCall = node.func.kind === 130 /* PropertyAccess */ && node.func.left.kind === 81 /* SuperKeyword */; - } - if (superCall) { - write(".call("); - emitThis(node.func); - if (node.arguments.length) { - write(", "); - emitCommaList(node.arguments); - } - write(")"); - } - else { - write("("); - emitCommaList(node.arguments); - write(")"); - } - } - function emitNewExpression(node) { - write("new "); - emit(node.func); - if (node.arguments) { - write("("); - emitCommaList(node.arguments); - write(")"); - } - } - function emitParenExpression(node) { - if (node.expression.kind === 134 /* TypeAssertion */) { - var operand = node.expression.operand; - while (operand.kind == 134 /* TypeAssertion */) { - operand = operand.operand; - } - if (operand.kind !== 138 /* PrefixOperator */ && operand.kind !== 139 /* PostfixOperator */ && operand.kind !== 133 /* NewExpression */ && !(operand.kind === 132 /* CallExpression */ && node.parent.kind === 133 /* NewExpression */) && !(operand.kind === 136 /* FunctionExpression */ && node.parent.kind === 132 /* CallExpression */)) { - emit(operand); - return; - } - } - write("("); - emit(node.expression); - write(")"); - } - function emitUnaryExpression(node) { - if (node.kind === 138 /* PrefixOperator */) { - write(ts.tokenToString(node.operator)); - } - if (node.operator >= 55 /* Identifier */) { - write(" "); - } - else if (node.kind === 138 /* PrefixOperator */ && node.operand.kind === 138 /* PrefixOperator */) { - var operand = node.operand; - if (node.operator === 24 /* PlusToken */ && (operand.operator === 24 /* PlusToken */ || operand.operator === 29 /* PlusPlusToken */)) { - write(" "); - } - else if (node.operator === 25 /* MinusToken */ && (operand.operator === 25 /* MinusToken */ || operand.operator === 30 /* MinusMinusToken */)) { - write(" "); - } - } - emit(node.operand); - if (node.kind === 139 /* PostfixOperator */) { - write(ts.tokenToString(node.operator)); - } - } - function emitBinaryExpression(node) { - emit(node.left); - if (node.operator !== 14 /* CommaToken */) - write(" "); - write(ts.tokenToString(node.operator)); - write(" "); - emit(node.right); - } - function emitConditionalExpression(node) { - emit(node.condition); - write(" ? "); - emit(node.whenTrue); - write(" : "); - emit(node.whenFalse); - } - function emitBlock(node) { - emitToken(5 /* OpenBraceToken */, node.pos); - increaseIndent(); - scopeEmitStart(node.parent); - if (node.kind === 173 /* ModuleBlock */) { - ts.Debug.assert(node.parent.kind === 172 /* ModuleDeclaration */); - emitCaptureThisForNodeIfNecessary(node.parent); - } - emitLines(node.statements); - decreaseIndent(); - writeLine(); - emitToken(6 /* CloseBraceToken */, node.statements.end); - scopeEmitEnd(); - } - function emitEmbeddedStatement(node) { - if (node.kind === 143 /* Block */) { - write(" "); - emit(node); - } - else { - increaseIndent(); - writeLine(); - emit(node); - decreaseIndent(); - } - } - function emitExpressionStatement(node) { - var isArrowExpression = node.expression.kind === 137 /* ArrowFunction */; - if (isArrowExpression) - write("("); - emit(node.expression); - if (isArrowExpression) - write(")"); - write(";"); - } - function emitIfStatement(node) { - var endPos = emitToken(74 /* IfKeyword */, node.pos); - write(" "); - endPos = emitToken(7 /* OpenParenToken */, endPos); - emit(node.expression); - emitToken(8 /* CloseParenToken */, node.expression.end); - emitEmbeddedStatement(node.thenStatement); - if (node.elseStatement) { - writeLine(); - emitToken(66 /* ElseKeyword */, node.thenStatement.end); - if (node.elseStatement.kind === 147 /* IfStatement */) { - write(" "); - emit(node.elseStatement); - } - else { - emitEmbeddedStatement(node.elseStatement); - } - } - } - function emitDoStatement(node) { - write("do"); - emitEmbeddedStatement(node.statement); - if (node.statement.kind === 143 /* Block */) { - write(" "); - } - else { - writeLine(); - } - write("while ("); - emit(node.expression); - write(");"); - } - function emitWhileStatement(node) { - write("while ("); - emit(node.expression); - write(")"); - emitEmbeddedStatement(node.statement); - } - function emitForStatement(node) { - var endPos = emitToken(72 /* ForKeyword */, node.pos); - write(" "); - endPos = emitToken(7 /* OpenParenToken */, endPos); - if (node.declarations) { - emitToken(88 /* VarKeyword */, endPos); - write(" "); - emitCommaList(node.declarations); - } - if (node.initializer) { - emit(node.initializer); - } - write(";"); - emitOptional(" ", node.condition); - write(";"); - emitOptional(" ", node.iterator); - write(")"); - emitEmbeddedStatement(node.statement); - } - function emitForInStatement(node) { - var endPos = emitToken(72 /* ForKeyword */, node.pos); - write(" "); - endPos = emitToken(7 /* OpenParenToken */, endPos); - if (node.declaration) { - emitToken(88 /* VarKeyword */, endPos); - write(" "); - emit(node.declaration); - } - else { - emit(node.variable); - } - write(" in "); - emit(node.expression); - emitToken(8 /* CloseParenToken */, node.expression.end); - emitEmbeddedStatement(node.statement); - } - function emitBreakOrContinueStatement(node) { - emitToken(node.kind === 153 /* BreakStatement */ ? 56 /* BreakKeyword */ : 61 /* ContinueKeyword */, node.pos); - emitOptional(" ", node.label); - write(";"); - } - function emitReturnStatement(node) { - emitToken(80 /* ReturnKeyword */, node.pos); - emitOptional(" ", node.expression); - write(";"); - } - function emitWithStatement(node) { - write("with ("); - emit(node.expression); - write(")"); - emitEmbeddedStatement(node.statement); - } - function emitSwitchStatement(node) { - var endPos = emitToken(82 /* SwitchKeyword */, node.pos); - write(" "); - emitToken(7 /* OpenParenToken */, endPos); - emit(node.expression); - endPos = emitToken(8 /* CloseParenToken */, node.expression.end); - write(" "); - emitToken(5 /* OpenBraceToken */, endPos); - increaseIndent(); - emitLines(node.clauses); - decreaseIndent(); - writeLine(); - emitToken(6 /* CloseBraceToken */, node.clauses.end); - } - function emitCaseOrDefaultClause(node) { - if (node.kind === 157 /* CaseClause */) { - write("case "); - emit(node.expression); - write(":"); - } - else { - write("default:"); - } - increaseIndent(); - emitLines(node.statements); - decreaseIndent(); - } - function emitThrowStatement(node) { - write("throw "); - emit(node.expression); - write(";"); - } - function emitTryStatement(node) { - write("try "); - emit(node.tryBlock); - emit(node.catchBlock); - if (node.finallyBlock) { - writeLine(); - write("finally "); - emit(node.finallyBlock); - } - } - function emitCatchBlock(node) { - writeLine(); - var endPos = emitToken(58 /* CatchKeyword */, node.pos); - write(" "); - emitToken(7 /* OpenParenToken */, endPos); - emit(node.variable); - emitToken(8 /* CloseParenToken */, node.variable.end); - write(" "); - emitBlock(node); - } - function emitDebuggerStatement(node) { - emitToken(62 /* DebuggerKeyword */, node.pos); - write(";"); - } - function emitLabelledStatement(node) { - emit(node.label); - write(": "); - emit(node.statement); - } - function getContainingModule(node) { - do { - node = node.parent; - } while (node && node.kind !== 172 /* ModuleDeclaration */); - return node; - } - function emitModuleMemberName(node) { - emitStart(node.name); - if (node.flags & 1 /* Export */) { - var container = getContainingModule(node); - write(container ? resolver.getLocalNameOfContainer(container) : "exports"); - write("."); - } - emitNode(node.name); - emitEnd(node.name); - } - function emitVariableDeclaration(node) { - emitModuleMemberName(node); - emitOptional(" = ", node.initializer); - } - function emitVariableStatement(node) { - if (!(node.flags & 1 /* Export */)) - write("var "); - emitCommaList(node.declarations); - write(";"); - } - function emitParameter(node) { - emit(node.name); - } - function emitDefaultValueAssignments(node) { - ts.forEach(node.parameters, function (param) { - if (param.initializer) { - writeLine(); - emitStart(param); - write("if ("); - emitNode(param.name); - write(" === void 0)"); - emitEnd(param); - write(" { "); - emitStart(param); - emitNode(param.name); - write(" = "); - emitNode(param.initializer); - emitEnd(param); - write("; }"); - } - }); - } - function emitRestParameter(node) { - if (ts.hasRestParameters(node)) { - var restIndex = node.parameters.length - 1; - var restParam = node.parameters[restIndex]; - writeLine(); - emitStart(restParam); - write("var "); - emitNode(restParam.name); - write(" = [];"); - emitEnd(restParam); - writeLine(); - write("for ("); - emitStart(restParam); - write("var _i = " + restIndex + ";"); - emitEnd(restParam); - write(" "); - emitStart(restParam); - write("_i < arguments.length;"); - emitEnd(restParam); - write(" "); - emitStart(restParam); - write("_i++"); - emitEnd(restParam); - write(") {"); - increaseIndent(); - writeLine(); - emitStart(restParam); - emitNode(restParam.name); - write("[_i - " + restIndex + "] = arguments[_i];"); - emitEnd(restParam); - decreaseIndent(); - writeLine(); - write("}"); - } - } - function emitAccessor(node) { - write(node.kind === 118 /* GetAccessor */ ? "get " : "set "); - emit(node.name); - emitSignatureAndBody(node); - } - function emitFunctionDeclaration(node) { - if (!node.body) - return; - write("function "); - if (node.kind === 167 /* FunctionDeclaration */ || (node.kind === 136 /* FunctionExpression */ && node.name)) { - emit(node.name); - } - emitSignatureAndBody(node); - } - function emitCaptureThisForNodeIfNecessary(node) { - if (resolver.getNodeCheckFlags(node) & 4 /* CaptureThis */) { - writeLine(); - emitStart(node); - write("var _this = this;"); - emitEnd(node); - } - } - function emitSignatureParameters(node) { - write("("); - if (node) { - emitCommaList(node.parameters, node.parameters.length - (ts.hasRestParameters(node) ? 1 : 0)); - } - write(")"); - } - function emitSignatureAndBody(node) { - emitSignatureParameters(node); - write(" {"); - scopeEmitStart(node); - increaseIndent(); - var startIndex = 0; - if (node.body.kind === 168 /* FunctionBlock */) { - startIndex = emitDirectivePrologues(node.body.statements, true); - } - var outPos = writer.getTextPos(); - emitCaptureThisForNodeIfNecessary(node); - emitDefaultValueAssignments(node); - emitRestParameter(node); - if (node.body.kind !== 168 /* FunctionBlock */ && outPos === writer.getTextPos()) { - decreaseIndent(); - write(" "); - emitStart(node.body); - write("return "); - emitNode(node.body); - emitEnd(node.body); - write("; "); - emitStart(node.body); - write("}"); - emitEnd(node.body); - } - else { - if (node.body.kind === 168 /* FunctionBlock */) { - emitLinesStartingAt(node.body.statements, startIndex); - } - else { - writeLine(); - write("return "); - emit(node.body); - write(";"); - } - decreaseIndent(); - writeLine(); - if (node.body.kind === 168 /* FunctionBlock */) { - emitToken(6 /* CloseBraceToken */, node.body.statements.end); - } - else { - emitStart(node.body); - write("}"); - emitEnd(node.body); - } - } - scopeEmitEnd(); - if (node.flags & 1 /* Export */) { - writeLine(); - emitStart(node); - emitModuleMemberName(node); - write(" = "); - emit(node.name); - emitEnd(node); - write(";"); - } - } - function findInitialSuperCall(ctor) { - if (ctor.body) { - var statement = ctor.body.statements[0]; - if (statement && statement.kind === 146 /* ExpressionStatement */) { - var expr = statement.expression; - if (expr && expr.kind === 132 /* CallExpression */) { - var func = expr.func; - if (func && func.kind === 81 /* SuperKeyword */) { - return statement; - } - } - } - } - } - function emitParameterPropertyAssignments(node) { - ts.forEach(node.parameters, function (param) { - if (param.flags & (16 /* Public */ | 32 /* Private */)) { - writeLine(); - emitStart(param); - emitStart(param.name); - write("this."); - emitNode(param.name); - emitEnd(param.name); - write(" = "); - emit(param.name); - write(";"); - emitEnd(param); - } - }); - } - function emitMemberAccess(memberName) { - if (memberName.kind === 3 /* StringLiteral */ || memberName.kind === 2 /* NumericLiteral */) { - write("["); - emitNode(memberName); - write("]"); - } - else { - write("."); - emitNode(memberName); - } - } - function emitMemberAssignments(node, staticFlag) { - ts.forEach(node.members, function (member) { - if (member.kind === 115 /* Property */ && (member.flags & 64 /* Static */) === staticFlag && member.initializer) { - writeLine(); - emitStart(member); - emitStart(member.name); - if (staticFlag) { - emitNode(node.name); - } - else { - write("this"); - } - emitMemberAccess(member.name); - emitEnd(member.name); - write(" = "); - emit(member.initializer); - write(";"); - emitEnd(member); - } - }); - } - function emitMemberFunctions(node) { - ts.forEach(node.members, function (member) { - if (member.kind === 116 /* Method */) { - if (!member.body) - return; - writeLine(); - emitStart(member); - emitStart(member.name); - emitNode(node.name); - if (!(member.flags & 64 /* Static */)) { - write(".prototype"); - } - emitMemberAccess(member.name); - emitEnd(member.name); - write(" = "); - emitStart(member); - emitFunctionDeclaration(member); - emitEnd(member); - emitEnd(member); - write(";"); - } - else if (member.kind === 118 /* GetAccessor */ || member.kind === 119 /* SetAccessor */) { - var accessors = getAllAccessorDeclarations(node, member); - if (member === accessors.firstAccessor) { - writeLine(); - emitStart(member); - write("Object.defineProperty("); - emitStart(member.name); - emitNode(node.name); - if (!(member.flags & 64 /* Static */)) { - write(".prototype"); - } - write(", "); - emitQuotedIdentifier(member.name); - emitEnd(member.name); - write(", {"); - increaseIndent(); - if (accessors.getAccessor) { - writeLine(); - write("get: "); - emitStart(accessors.getAccessor); - write("function "); - emitSignatureAndBody(accessors.getAccessor); - emitEnd(accessors.getAccessor); - write(","); - } - if (accessors.setAccessor) { - writeLine(); - write("set: "); - emitStart(accessors.setAccessor); - write("function "); - emitSignatureAndBody(accessors.setAccessor); - emitEnd(accessors.setAccessor); - write(","); - } - writeLine(); - write("enumerable: true,"); - writeLine(); - write("configurable: true"); - decreaseIndent(); - writeLine(); - write("});"); - emitEnd(member); - } - } - }); - } - function emitClassDeclaration(node) { - var ctor = getFirstConstructorWithBody(node); - write("var "); - emit(node.name); - write(" = (function ("); - if (node.baseType) - write("_super"); - write(") {"); - increaseIndent(); - scopeEmitStart(node); - if (node.baseType) { - writeLine(); - emitStart(node.baseType); - write("__extends("); - emit(node.name); - write(", _super);"); - emitEnd(node.baseType); - } - writeLine(); - emitStart(ctor || node); - write("function "); - emit(node.name); - emitSignatureParameters(ctor); - write(" {"); - scopeEmitStart(node, "constructor"); - increaseIndent(); - if (ctor) { - emitDefaultValueAssignments(ctor); - emitRestParameter(ctor); - if (node.baseType) { - var superCall = findInitialSuperCall(ctor); - if (superCall) { - writeLine(); - emit(superCall); - } - } - emitParameterPropertyAssignments(ctor); - } - else { - if (node.baseType) { - writeLine(); - emitStart(node.baseType); - write("_super.apply(this, arguments);"); - emitEnd(node.baseType); - } - } - emitCaptureThisForNodeIfNecessary(node); - emitMemberAssignments(node, 0); - if (ctor) { - var statements = ctor.body.statements; - if (superCall) - statements = statements.slice(1); - emitLines(statements); - } - decreaseIndent(); - writeLine(); - emitToken(6 /* CloseBraceToken */, ctor ? ctor.body.statements.end : node.members.end); - scopeEmitEnd(); - emitEnd(ctor || node); - emitMemberFunctions(node); - emitMemberAssignments(node, 64 /* Static */); - writeLine(); - function emitClassReturnStatement() { - write("return "); - emitNode(node.name); - } - emitToken(6 /* CloseBraceToken */, node.members.end, emitClassReturnStatement); - write(";"); - decreaseIndent(); - writeLine(); - emitToken(6 /* CloseBraceToken */, node.members.end); - scopeEmitEnd(); - emitStart(node); - write(")("); - if (node.baseType) { - emit(node.baseType.typeName); - } - write(");"); - emitEnd(node); - if (node.flags & 1 /* Export */) { - writeLine(); - emitStart(node); - emitModuleMemberName(node); - write(" = "); - emit(node.name); - emitEnd(node); - write(";"); - } - } - function emitEnumDeclaration(node) { - if (!(node.flags & 1 /* Export */)) { - emitStart(node); - write("var "); - emit(node.name); - emitEnd(node); - write(";"); - } - writeLine(); - emitStart(node); - write("(function ("); - emitStart(node.name); - write(resolver.getLocalNameOfContainer(node)); - emitEnd(node.name); - write(") {"); - increaseIndent(); - scopeEmitStart(node); - ts.forEach(node.members, function (member) { - writeLine(); - emitStart(member); - write(resolver.getLocalNameOfContainer(node)); - write("["); - write(resolver.getLocalNameOfContainer(node)); - write("["); - emitQuotedIdentifier(member.name); - write("] = "); - if (member.initializer) { - emit(member.initializer); - } - else { - write(resolver.getEnumMemberValue(member).toString()); - } - write("] = "); - emitQuotedIdentifier(member.name); - emitEnd(member); - write(";"); - }); - decreaseIndent(); - writeLine(); - emitToken(6 /* CloseBraceToken */, node.members.end); - scopeEmitEnd(); - write(")("); - emitModuleMemberName(node); - write(" || ("); - emitModuleMemberName(node); - write(" = {}));"); - emitEnd(node); - if (node.flags & 1 /* Export */) { - writeLine(); - emitStart(node); - write("var "); - emit(node.name); - write(" = "); - emitModuleMemberName(node); - emitEnd(node); - write(";"); - } - } - function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { - if (moduleDeclaration.body.kind === 172 /* ModuleDeclaration */) { - var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); - return recursiveInnerModule || moduleDeclaration.body; - } - } - function emitModuleDeclaration(node) { - if (!ts.isInstantiated(node)) - return; - if (!(node.flags & 1 /* Export */)) { - emitStart(node); - write("var "); - emit(node.name); - write(";"); - emitEnd(node); - writeLine(); - } - emitStart(node); - write("(function ("); - emitStart(node.name); - write(resolver.getLocalNameOfContainer(node)); - emitEnd(node.name); - write(") "); - if (node.body.kind === 173 /* ModuleBlock */) { - emit(node.body); - } - else { - write("{"); - increaseIndent(); - scopeEmitStart(node); - emitCaptureThisForNodeIfNecessary(node); - writeLine(); - emit(node.body); - decreaseIndent(); - writeLine(); - var moduleBlock = getInnerMostModuleDeclarationFromDottedModule(node).body; - emitToken(6 /* CloseBraceToken */, moduleBlock.statements.end); - scopeEmitEnd(); - } - write(")("); - emitModuleMemberName(node); - write(" || ("); - emitModuleMemberName(node); - write(" = {}));"); - emitEnd(node); - if (node.flags & 1 /* Export */) { - writeLine(); - emitStart(node); - write("var "); - emit(node.name); - write(" = "); - emitModuleMemberName(node); - emitEnd(node); - write(";"); - } - } - function emitImportDeclaration(node) { - var emitImportDeclaration = resolver.isReferencedImportDeclaration(node); - if (!emitImportDeclaration) { - emitImportDeclaration = !ts.isExternalModule(currentSourceFile) && resolver.isTopLevelValueImportedViaEntityName(node); - } - if (emitImportDeclaration) { - if (node.externalModuleName && node.parent.kind === 177 /* SourceFile */ && compilerOptions.module === 2 /* AMD */) { - if (node.flags & 1 /* Export */) { - writeLine(); - emitStart(node); - emitModuleMemberName(node); - write(" = "); - emit(node.name); - write(";"); - emitEnd(node); - } - } - else { - writeLine(); - emitStart(node); - if (!(node.flags & 1 /* Export */)) - write("var "); - emitModuleMemberName(node); - write(" = "); - if (node.entityName) { - emit(node.entityName); - } - else { - write("require("); - emitStart(node.externalModuleName); - emitLiteral(node.externalModuleName); - emitEnd(node.externalModuleName); - emitToken(8 /* CloseParenToken */, node.externalModuleName.end); - } - write(";"); - emitEnd(node); - } - } - } - function getExternalImportDeclarations(node) { - var result = []; - ts.forEach(node.statements, function (stat) { - if (stat.kind === 174 /* ImportDeclaration */ && stat.externalModuleName && resolver.isReferencedImportDeclaration(stat)) { - result.push(stat); - } - }); - return result; - } - function getFirstExportAssignment(sourceFile) { - return ts.forEach(sourceFile.statements, function (node) { - if (node.kind === 175 /* ExportAssignment */) { - return node; - } - }); - } - function emitAMDModule(node, startIndex) { - var imports = getExternalImportDeclarations(node); - writeLine(); - write("define([\"require\", \"exports\""); - ts.forEach(imports, function (imp) { - write(", "); - emitLiteral(imp.externalModuleName); - }); - ts.forEach(node.amdDependencies, function (amdDependency) { - var text = "\"" + amdDependency + "\""; - write(", "); - write(text); - }); - write("], function (require, exports"); - ts.forEach(imports, function (imp) { - write(", "); - emit(imp.name); - }); - write(") {"); - increaseIndent(); - emitCaptureThisForNodeIfNecessary(node); - emitLinesStartingAt(node.statements, startIndex); - var exportName = resolver.getExportAssignmentName(node); - if (exportName) { - writeLine(); - var exportAssignement = getFirstExportAssignment(node); - emitStart(exportAssignement); - write("return "); - emitStart(exportAssignement.exportName); - write(exportName); - emitEnd(exportAssignement.exportName); - write(";"); - emitEnd(exportAssignement); - } - decreaseIndent(); - writeLine(); - write("});"); - } - function emitCommonJSModule(node, startIndex) { - emitCaptureThisForNodeIfNecessary(node); - emitLinesStartingAt(node.statements, startIndex); - var exportName = resolver.getExportAssignmentName(node); - if (exportName) { - writeLine(); - var exportAssignement = getFirstExportAssignment(node); - emitStart(exportAssignement); - write("module.exports = "); - emitStart(exportAssignement.exportName); - write(exportName); - emitEnd(exportAssignement.exportName); - write(";"); - emitEnd(exportAssignement); - } - } - function emitDirectivePrologues(statements, startWithNewLine) { - for (var i = 0; i < statements.length; ++i) { - if (ts.isPrologueDirective(statements[i])) { - if (startWithNewLine || i > 0) { - writeLine(); - } - emit(statements[i]); - } - else { - return i; - } - } - return statements.length; - } - function emitSourceFile(node) { - currentSourceFile = node; - var startIndex = emitDirectivePrologues(node.statements, false); - if (!extendsEmitted && resolver.getNodeCheckFlags(node) & 8 /* EmitExtends */) { - writeLine(); - write("var __extends = this.__extends || function (d, b) {"); - increaseIndent(); - writeLine(); - write("for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];"); - writeLine(); - write("function __() { this.constructor = d; }"); - writeLine(); - write("__.prototype = b.prototype;"); - writeLine(); - write("d.prototype = new __();"); - decreaseIndent(); - writeLine(); - write("};"); - extendsEmitted = true; - } - if (ts.isExternalModule(node)) { - if (compilerOptions.module === 2 /* AMD */) { - emitAMDModule(node, startIndex); - } - else { - emitCommonJSModule(node, startIndex); - } - } - else { - emitCaptureThisForNodeIfNecessary(node); - emitLinesStartingAt(node.statements, startIndex); - } - } - function emitNode(node) { - if (!node || node.flags & 2 /* Ambient */) - return; - switch (node.kind) { - case 55 /* Identifier */: - return emitIdentifier(node); - case 114 /* Parameter */: - return emitParameter(node); - case 118 /* GetAccessor */: - case 119 /* SetAccessor */: - return emitAccessor(node); - case 83 /* ThisKeyword */: - return emitThis(node); - case 81 /* SuperKeyword */: - return emitSuper(node); - case 79 /* NullKeyword */: - return write("null"); - case 85 /* TrueKeyword */: - return write("true"); - case 70 /* FalseKeyword */: - return write("false"); - case 2 /* NumericLiteral */: - case 3 /* StringLiteral */: - case 4 /* RegularExpressionLiteral */: - return emitLiteral(node); - case 112 /* QualifiedName */: - return emitPropertyAccess(node); - case 127 /* ArrayLiteral */: - return emitArrayLiteral(node); - case 128 /* ObjectLiteral */: - return emitObjectLiteral(node); - case 129 /* PropertyAssignment */: - return emitPropertyAssignment(node); - case 130 /* PropertyAccess */: - return emitPropertyAccess(node); - case 131 /* IndexedAccess */: - return emitIndexedAccess(node); - case 132 /* CallExpression */: - return emitCallExpression(node); - case 133 /* NewExpression */: - return emitNewExpression(node); - case 134 /* TypeAssertion */: - return emit(node.operand); - case 135 /* ParenExpression */: - return emitParenExpression(node); - case 167 /* FunctionDeclaration */: - case 136 /* FunctionExpression */: - case 137 /* ArrowFunction */: - return emitFunctionDeclaration(node); - case 138 /* PrefixOperator */: - case 139 /* PostfixOperator */: - return emitUnaryExpression(node); - case 140 /* BinaryExpression */: - return emitBinaryExpression(node); - case 141 /* ConditionalExpression */: - return emitConditionalExpression(node); - case 142 /* OmittedExpression */: - return; - case 143 /* Block */: - case 162 /* TryBlock */: - case 164 /* FinallyBlock */: - case 168 /* FunctionBlock */: - case 173 /* ModuleBlock */: - return emitBlock(node); - case 144 /* VariableStatement */: - return emitVariableStatement(node); - case 145 /* EmptyStatement */: - return write(";"); - case 146 /* ExpressionStatement */: - return emitExpressionStatement(node); - case 147 /* IfStatement */: - return emitIfStatement(node); - case 148 /* DoStatement */: - return emitDoStatement(node); - case 149 /* WhileStatement */: - return emitWhileStatement(node); - case 150 /* ForStatement */: - return emitForStatement(node); - case 151 /* ForInStatement */: - return emitForInStatement(node); - case 152 /* ContinueStatement */: - case 153 /* BreakStatement */: - return emitBreakOrContinueStatement(node); - case 154 /* ReturnStatement */: - return emitReturnStatement(node); - case 155 /* WithStatement */: - return emitWithStatement(node); - case 156 /* SwitchStatement */: - return emitSwitchStatement(node); - case 157 /* CaseClause */: - case 158 /* DefaultClause */: - return emitCaseOrDefaultClause(node); - case 159 /* LabelledStatement */: - return emitLabelledStatement(node); - case 160 /* ThrowStatement */: - return emitThrowStatement(node); - case 161 /* TryStatement */: - return emitTryStatement(node); - case 163 /* CatchBlock */: - return emitCatchBlock(node); - case 165 /* DebuggerStatement */: - return emitDebuggerStatement(node); - case 166 /* VariableDeclaration */: - return emitVariableDeclaration(node); - case 169 /* ClassDeclaration */: - return emitClassDeclaration(node); - case 171 /* EnumDeclaration */: - return emitEnumDeclaration(node); - case 172 /* ModuleDeclaration */: - return emitModuleDeclaration(node); - case 174 /* ImportDeclaration */: - return emitImportDeclaration(node); - case 177 /* SourceFile */: - return emitSourceFile(node); - } - } - if (compilerOptions.sourceMap) { - initializeEmitterWithSourceMaps(); - } - if (root) { - emit(root); - } - else { - ts.forEach(program.getSourceFiles(), function (sourceFile) { - if (!isExternalModuleOrDeclarationFile(sourceFile)) { - emit(sourceFile); - } - }); - } - writeLine(); - writeEmittedFiles(writer.getText()); - } - function emitDeclarations(jsFilePath, root) { - var writer = createTextWriter(); - var write = writer.write; - var writeLine = writer.writeLine; - var increaseIndent = writer.increaseIndent; - var decreaseIndent = writer.decreaseIndent; - var enclosingDeclaration; - function emitLines(nodes) { - for (var i = 0, n = nodes.length; i < n; i++) { - emitNode(nodes[i]); - } - } - function emitCommaList(nodes, eachNodeEmitFn) { - var currentWriterPos = writer.getTextPos(); - for (var i = 0, n = nodes.length; i < n; i++) { - if (currentWriterPos !== writer.getTextPos()) { - write(", "); - } - currentWriterPos = writer.getTextPos(); - eachNodeEmitFn(nodes[i]); - } - } - function emitSourceTextOfNode(node) { - write(getSourceTextOfLocalNode(node)); - } - function emitSourceFile(node) { - currentSourceFile = node; - enclosingDeclaration = node; - emitLines(node.statements); - } - function emitExportAssignment(node) { - write("export = "); - emitSourceTextOfNode(node.exportName); - write(";"); - writeLine(); - } - function emitDeclarationFlags(node) { - if (node.flags & 64 /* Static */) { - if (node.flags & 32 /* Private */) { - write("private "); - } - write("static "); - } - else { - if (node.flags & 32 /* Private */) { - write("private "); - } - else if (node.parent === currentSourceFile) { - if (node.flags & 1 /* Export */) { - write("export "); - } - if (node.kind !== 170 /* InterfaceDeclaration */) { - write("declare "); - } - } - } - } - function emitImportDeclaration(node) { - if (resolver.isDeclarationVisible(node)) { - if (node.flags & 1 /* Export */) { - write("export "); - } - write("import "); - emitSourceTextOfNode(node.name); - write(" = "); - if (node.entityName) { - emitSourceTextOfNode(node.entityName); - write(";"); - } - else { - write("require("); - emitSourceTextOfNode(node.externalModuleName); - write(");"); - } - writeLine(); - } - } - function emitModuleDeclaration(node) { - if (resolver.isDeclarationVisible(node)) { - emitDeclarationFlags(node); - write("module "); - emitSourceTextOfNode(node.name); - while (node.body.kind !== 173 /* ModuleBlock */) { - node = node.body; - write("."); - emitSourceTextOfNode(node.name); - } - var prevEnclosingDeclaration = enclosingDeclaration; - enclosingDeclaration = node; - write(" {"); - writeLine(); - increaseIndent(); - emitLines(node.body.statements); - decreaseIndent(); - write("}"); - writeLine(); - enclosingDeclaration = prevEnclosingDeclaration; - } - } - function emitEnumDeclaration(node) { - if (resolver.isDeclarationVisible(node)) { - emitDeclarationFlags(node); - write("enum "); - emitSourceTextOfNode(node.name); - write(" {"); - writeLine(); - increaseIndent(); - emitLines(node.members); - decreaseIndent(); - write("}"); - writeLine(); - } - } - function emitEnumMemberDeclaration(node) { - emitSourceTextOfNode(node.name); - var enumMemberValue = resolver.getEnumMemberValue(node); - if (enumMemberValue !== undefined) { - write(" = "); - write(enumMemberValue.toString()); - } - write(","); - writeLine(); - } - function emitTypeParameters(typeParameters) { - function emitTypeParameter(node) { - emitSourceTextOfNode(node.name); - if (node.constraint) { - write(" extends "); - resolver.writeTypeAtLocation(node.constraint, enclosingDeclaration, 0 /* None */, writer); - } - } - if (typeParameters) { - write("<"); - emitCommaList(typeParameters, emitTypeParameter); - write(">"); - } - } - function emitHeritageClause(typeReferences, isImplementsList) { - function emitTypeOfTypeReference(node) { - resolver.writeTypeAtLocation(node, enclosingDeclaration, 1 /* WriteArrayAsGenericType */, writer); - } - if (typeReferences) { - write(isImplementsList ? " implements " : " extends "); - emitCommaList(typeReferences, emitTypeOfTypeReference); - } - } - function emitClassDeclaration(node) { - function emitParameterProperties(constructorDeclaration) { - if (constructorDeclaration) { - ts.forEach(constructorDeclaration.parameters, function (param) { - if (param.flags & (16 /* Public */ | 32 /* Private */)) { - emitPropertyDeclaration(param); - } - }); - } - } - if (resolver.isDeclarationVisible(node)) { - emitDeclarationFlags(node); - write("class "); - emitSourceTextOfNode(node.name); - var prevEnclosingDeclaration = enclosingDeclaration; - enclosingDeclaration = node; - emitTypeParameters(node.typeParameters); - if (node.baseType) { - emitHeritageClause([node.baseType], false); - } - emitHeritageClause(node.implementedTypes, true); - write(" {"); - writeLine(); - increaseIndent(); - emitParameterProperties(getFirstConstructorWithBody(node)); - emitLines(node.members); - decreaseIndent(); - write("}"); - writeLine(); - enclosingDeclaration = prevEnclosingDeclaration; - } - } - function emitInterfaceDeclaration(node) { - if (resolver.isDeclarationVisible(node)) { - emitDeclarationFlags(node); - write("interface "); - emitSourceTextOfNode(node.name); - var prevEnclosingDeclaration = enclosingDeclaration; - enclosingDeclaration = node; - emitTypeParameters(node.typeParameters); - emitHeritageClause(node.baseTypes, false); - write(" {"); - writeLine(); - increaseIndent(); - emitLines(node.members); - decreaseIndent(); - write("}"); - writeLine(); - enclosingDeclaration = prevEnclosingDeclaration; - } - } - function emitPropertyDeclaration(node) { - emitDeclarationFlags(node); - emitVariableDeclaration(node); - write(";"); - writeLine(); - } - function emitVariableDeclaration(node) { - if (node.kind !== 166 /* VariableDeclaration */ || resolver.isDeclarationVisible(node)) { - emitSourceTextOfNode(node.name); - if (node.kind === 115 /* Property */ && (node.flags & 4 /* QuestionMark */)) { - write("?"); - } - if (!(node.flags & 32 /* Private */)) { - write(": "); - resolver.writeTypeAtLocation(node, enclosingDeclaration, 0 /* None */, writer); - } - } - } - function emitVariableStatement(node) { - var hasDeclarationWithEmit = ts.forEach(node.declarations, function (varDeclaration) { return resolver.isDeclarationVisible(varDeclaration); }); - if (hasDeclarationWithEmit) { - emitDeclarationFlags(node); - write("var "); - emitCommaList(node.declarations, emitVariableDeclaration); - write(";"); - writeLine(); - } - } - function emitAccessorDeclaration(node) { - var accessors = getAllAccessorDeclarations(node.parent, node); - if (node === accessors.firstAccessor) { - emitDeclarationFlags(node); - emitSourceTextOfNode(node.name); - if (!(node.flags & 32 /* Private */)) { - write(": "); - resolver.writeTypeAtLocation(node, enclosingDeclaration, 0 /* None */, writer); - } - write(";"); - writeLine(); - } - } - function emitFunctionDeclaration(node) { - if ((node.kind !== 167 /* FunctionDeclaration */ || resolver.isDeclarationVisible(node)) && !resolver.isImplementationOfOverload(node)) { - emitDeclarationFlags(node); - if (node.kind === 167 /* FunctionDeclaration */) { - write("function "); - emitSourceTextOfNode(node.name); - } - else if (node.kind === 117 /* Constructor */) { - write("constructor"); - } - else { - emitSourceTextOfNode(node.name); - if (node.flags & 4 /* QuestionMark */) { - write("?"); - } - } - emitSignatureDeclaration(node); - } - } - function emitConstructSignatureDeclaration(node) { - write("new "); - emitSignatureDeclaration(node); - } - function emitSignatureDeclaration(node) { - emitTypeParameters(node.typeParameters); - if (node.kind === 122 /* IndexSignature */) { - write("["); - } - else { - write("("); - } - emitCommaList(node.parameters, emitParameterDeclaration); - if (node.kind === 122 /* IndexSignature */) { - write("]"); - } - else { - write(")"); - } - if (node.kind !== 117 /* Constructor */ && !(node.flags & 32 /* Private */)) { - write(": "); - resolver.writeReturnTypeOfSignatureDeclaration(node, enclosingDeclaration, 0 /* None */, writer); - } - write(";"); - writeLine(); - } - function emitParameterDeclaration(node) { - if (node.flags & 8 /* Rest */) { - write("..."); - } - emitSourceTextOfNode(node.name); - if (node.initializer || (node.flags & 4 /* QuestionMark */)) { - write("?"); - } - if (!(node.parent.flags & 32 /* Private */)) { - write(": "); - resolver.writeTypeAtLocation(node, enclosingDeclaration, 0 /* None */, writer); - } - } - function emitNode(node) { - switch (node.kind) { - case 117 /* Constructor */: - case 167 /* FunctionDeclaration */: - case 116 /* Method */: - return emitFunctionDeclaration(node); - case 121 /* ConstructSignature */: - return emitConstructSignatureDeclaration(node); - case 120 /* CallSignature */: - case 122 /* IndexSignature */: - return emitSignatureDeclaration(node); - case 118 /* GetAccessor */: - case 119 /* SetAccessor */: - return emitAccessorDeclaration(node); - case 144 /* VariableStatement */: - return emitVariableStatement(node); - case 115 /* Property */: - return emitPropertyDeclaration(node); - case 170 /* InterfaceDeclaration */: - return emitInterfaceDeclaration(node); - case 169 /* ClassDeclaration */: - return emitClassDeclaration(node); - case 176 /* EnumMember */: - return emitEnumMemberDeclaration(node); - case 171 /* EnumDeclaration */: - return emitEnumDeclaration(node); - case 172 /* ModuleDeclaration */: - return emitModuleDeclaration(node); - case 174 /* ImportDeclaration */: - return emitImportDeclaration(node); - case 175 /* ExportAssignment */: - return emitExportAssignment(node); - case 177 /* SourceFile */: - return emitSourceFile(node); - } - } - function resolveScriptReference(sourceFile, reference) { - var referenceFileName = compilerOptions.noResolve ? reference.filename : ts.normalizePath(ts.combinePaths(ts.getDirectoryPath(sourceFile.filename), reference.filename)); - return program.getSourceFile(referenceFileName); - } - var referencePathsOutput = ""; - function writeReferencePath(referencedFile) { - var declFileName = referencedFile.flags & 512 /* DeclarationFile */ ? referencedFile.filename : shouldEmitToOwnFile(referencedFile) ? getOwnEmitOutputFilePath(referencedFile, ".d.ts") : ts.getModuleNameFromFilename(compilerOptions.out) + ".d.ts"; - declFileName = ts.getRelativePathToDirectoryOrUrl(ts.getDirectoryPath(ts.normalizeSlashes(jsFilePath)), declFileName, compilerHost.getCurrentDirectory(), false); - referencePathsOutput += "/// " + sys.newLine; - } - if (root) { - var addedGlobalFileReference = false; - ts.forEach(root.referencedFiles, function (fileReference) { - var referencedFile = resolveScriptReference(root, fileReference); - if ((referencedFile.flags & 512 /* DeclarationFile */) || shouldEmitToOwnFile(referencedFile) || !addedGlobalFileReference) { - writeReferencePath(referencedFile); - if (!isExternalModuleOrDeclarationFile(referencedFile)) { - addedGlobalFileReference = true; - } - } - }); - emitNode(root); - } - else { - var emittedReferencedFiles = []; - ts.forEach(program.getSourceFiles(), function (sourceFile) { - if (!isExternalModuleOrDeclarationFile(sourceFile)) { - ts.forEach(sourceFile.referencedFiles, function (fileReference) { - var referencedFile = resolveScriptReference(sourceFile, fileReference); - if (isExternalModuleOrDeclarationFile(referencedFile) && !ts.contains(emittedReferencedFiles, referencedFile)) { - writeReferencePath(referencedFile); - emittedReferencedFiles.push(referencedFile); - } - }); - emitNode(sourceFile); - } - }); - } - writeFile(ts.getModuleNameFromFilename(jsFilePath) + ".d.ts", referencePathsOutput + writer.getText()); - } - var shouldEmitDeclarations = resolver.shouldEmitDeclarations(); - function emitFile(jsFilePath, sourceFile) { - emitJavaScript(jsFilePath, sourceFile); - if (shouldEmitDeclarations) { - emitDeclarations(jsFilePath, sourceFile); - } - } - ts.forEach(program.getSourceFiles(), function (sourceFile) { - if (shouldEmitToOwnFile(sourceFile)) { - var jsFilePath = getOwnEmitOutputFilePath(sourceFile, ".js"); - emitFile(jsFilePath, sourceFile); - } - }); - if (compilerOptions.out) { - emitFile(compilerOptions.out); - } - return { - errors: diagnostics, - sourceMaps: sourceMapDataList - }; - } - ts.emitFiles = emitFiles; -})(ts || (ts = {})); -var ts; -(function (ts) { - var nextSymbolId = 1; - var nextNodeId = 1; - var nextMergeId = 1; - function createTypeChecker(program) { - var Symbol = ts.objectAllocator.getSymbolConstructor(); - var Type = ts.objectAllocator.getTypeConstructor(); - var Signature = ts.objectAllocator.getSignatureConstructor(); - var typeCount = 0; - var emptyArray = []; - var emptySymbols = {}; - var undefinedSymbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, "undefined"); - var argumentsSymbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, "arguments"); - var unknownSymbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, "unknown"); - var resolvingSymbol = createSymbol(33554432 /* 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 */, "undefined"); - var nullType = createIntrinsicType(64 /* Null */, "null"); - var unknownType = createIntrinsicType(1 /* Any */, "unknown"); - var resolvingType = createIntrinsicType(1 /* Any */, "__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); - var globals = {}; - var globalObjectType; - var globalFunctionType; - var globalArrayType; - var globalStringType; - var globalNumberType; - var globalBooleanType; - var globalRegExpType; - var stringLiteralTypes = {}; - var emitExtends = false; - var mergedSymbols = []; - var symbolLinks = []; - var nodeLinks = []; - var potentialThisCollisions = []; - var diagnostics = []; - var diagnosticsModified = false; - var checker; - function addDiagnostic(diagnostic) { - diagnostics.push(diagnostic); - diagnosticsModified = true; - } - 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); - } - function createSymbol(flags, name) { - return new Symbol(flags, name); - } - function getExcludedSymbolFlags(flags) { - var result = 0; - if (flags & 1 /* Variable */) - result |= ts.SymbolFlags.VariableExcludes; - if (flags & 2 /* Property */) - result |= ts.SymbolFlags.PropertyExcludes; - if (flags & 4 /* EnumMember */) - result |= ts.SymbolFlags.EnumMemberExcludes; - if (flags & 8 /* Function */) - result |= ts.SymbolFlags.FunctionExcludes; - if (flags & 16 /* Class */) - result |= ts.SymbolFlags.ClassExcludes; - if (flags & 32 /* Interface */) - result |= ts.SymbolFlags.InterfaceExcludes; - if (flags & 64 /* Enum */) - result |= ts.SymbolFlags.EnumExcludes; - if (flags & 128 /* ValueModule */) - result |= ts.SymbolFlags.ValueModuleExcludes; - if (flags & 2048 /* Method */) - result |= ts.SymbolFlags.MethodExcludes; - if (flags & 8192 /* GetAccessor */) - result |= ts.SymbolFlags.GetAccessorExcludes; - if (flags & 16384 /* SetAccessor */) - result |= ts.SymbolFlags.SetAccessorExcludes; - if (flags & 262144 /* TypeParameter */) - result |= ts.SymbolFlags.TypeParameterExcludes; - if (flags & 4194304 /* Import */) - result |= ts.SymbolFlags.ImportExcludes; - return result; - } - function recordMergedSymbol(target, source) { - if (!source.mergeId) - source.mergeId = nextMergeId++; - mergedSymbols[source.mergeId] = target; - } - function cloneSymbol(symbol) { - var result = createSymbol(symbol.flags | 16777216 /* Merged */, symbol.name); - result.declarations = symbol.declarations.slice(0); - result.parent = symbol.parent; - if (symbol.valueDeclaration) - result.valueDeclaration = symbol.valueDeclaration; - if (symbol.members) - result.members = cloneSymbolTable(symbol.members); - if (symbol.exports) - result.exports = cloneSymbolTable(symbol.exports); - recordMergedSymbol(result, symbol); - return result; - } - function extendSymbol(target, source) { - if (!(target.flags & getExcludedSymbolFlags(source.flags))) { - target.flags |= source.flags; - if (!target.valueDeclaration && source.valueDeclaration) - target.valueDeclaration = source.valueDeclaration; - ts.forEach(source.declarations, function (node) { - target.declarations.push(node); - }); - if (source.members) { - if (!target.members) - target.members = {}; - extendSymbolTable(target.members, source.members); - } - if (source.exports) { - if (!target.exports) - target.exports = {}; - extendSymbolTable(target.exports, source.exports); - } - recordMergedSymbol(target, source); - } - else { - ts.forEach(source.declarations, function (node) { - error(node.name ? node.name : node, ts.Diagnostics.Duplicate_identifier_0, symbolToString(source)); - }); - } - } - function cloneSymbolTable(symbolTable) { - var result = {}; - for (var id in symbolTable) { - if (ts.hasProperty(symbolTable, id)) { - result[id] = symbolTable[id]; - } - } - return result; - } - function extendSymbolTable(target, source) { - for (var id in source) { - if (ts.hasProperty(source, id)) { - if (!ts.hasProperty(target, id)) { - target[id] = source[id]; - } - else { - var symbol = target[id]; - if (!(symbol.flags & 16777216 /* Merged */)) { - target[id] = symbol = cloneSymbol(symbol); - } - extendSymbol(symbol, source[id]); - } - } - } - } - function getSymbolLinks(symbol) { - if (symbol.flags & 33554432 /* Transient */) - return symbol; - if (!symbol.id) - symbol.id = nextSymbolId++; - return symbolLinks[symbol.id] || (symbolLinks[symbol.id] = {}); - } - function getNodeLinks(node) { - if (!node.id) - node.id = nextNodeId++; - return nodeLinks[node.id] || (nodeLinks[node.id] = {}); - } - function getSourceFile(node) { - return getAncestor(node, 177 /* SourceFile */); - } - function isGlobalSourceFile(node) { - return node.kind === 177 /* SourceFile */ && !ts.isExternalModule(node); - } - function getSymbol(symbols, name, meaning) { - if (meaning && ts.hasProperty(symbols, name)) { - var symbol = symbols[name]; - ts.Debug.assert((symbol.flags & 8388608 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); - if (symbol.flags & meaning) { - return symbol; - } - if (symbol.flags & 4194304 /* Import */) { - var target = resolveImport(symbol); - if (target === unknownSymbol || target.flags & meaning) { - return symbol; - } - } - } - } - function resolveName(location, name, meaning, nameNotFoundMessage, nameArg) { - var errorLocation = location; - var result; - var lastLocation; - var memberWithInitializerThatReferencesIdentifierFromConstructor; - function returnResolvedSymbol(s) { - if (s && memberWithInitializerThatReferencesIdentifierFromConstructor) { - var propertyName = memberWithInitializerThatReferencesIdentifierFromConstructor.name; - error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.identifierToString(propertyName), nameArg); - return undefined; - } - if (!s && nameNotFoundMessage) { - error(errorLocation, nameNotFoundMessage, nameArg); - } - return s; - } - while (location) { - if (location.locals && !isGlobalSourceFile(location)) { - if (result = getSymbol(location.locals, name, meaning)) { - return returnResolvedSymbol(result); - } - } - switch (location.kind) { - case 177 /* SourceFile */: - if (!ts.isExternalModule(location)) - break; - case 172 /* ModuleDeclaration */: - if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & ts.SymbolFlags.ModuleMember)) { - return returnResolvedSymbol(result); - } - break; - case 171 /* EnumDeclaration */: - if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & 4 /* EnumMember */)) { - return returnResolvedSymbol(result); - } - break; - case 115 /* Property */: - if (location.parent.kind === 169 /* ClassDeclaration */ && !(location.flags & 64 /* Static */)) { - var ctor = findConstructorDeclaration(location.parent); - if (ctor && ctor.locals) { - if (getSymbol(ctor.locals, name, meaning & ts.SymbolFlags.Value)) { - memberWithInitializerThatReferencesIdentifierFromConstructor = location; - } - } - } - break; - case 169 /* ClassDeclaration */: - case 170 /* InterfaceDeclaration */: - if (result = getSymbol(getSymbolOfNode(location).members, name, meaning & ts.SymbolFlags.Type)) { - if (lastLocation && lastLocation.flags & 64 /* Static */) { - error(errorLocation, ts.Diagnostics.Static_members_cannot_reference_class_type_parameters); - return undefined; - } - else { - return returnResolvedSymbol(result); - } - } - break; - case 116 /* Method */: - case 117 /* Constructor */: - case 118 /* GetAccessor */: - case 119 /* SetAccessor */: - case 167 /* FunctionDeclaration */: - case 137 /* ArrowFunction */: - if (name === "arguments") { - return returnResolvedSymbol(argumentsSymbol); - } - break; - case 136 /* FunctionExpression */: - if (name === "arguments") { - return returnResolvedSymbol(argumentsSymbol); - } - var id = location.name; - if (id && name === id.text) { - return returnResolvedSymbol(location.symbol); - } - break; - case 163 /* CatchBlock */: - var id = location.variable; - if (name === id.text) { - return returnResolvedSymbol(location.variable.symbol); - } - break; - } - lastLocation = location; - location = location.parent; - } - if (result = getSymbol(globals, name, meaning)) { - return returnResolvedSymbol(result); - } - return returnResolvedSymbol(undefined); - } - function resolveImport(symbol) { - ts.Debug.assert((symbol.flags & 4194304 /* Import */) !== 0, "Should only get Imports here."); - var links = getSymbolLinks(symbol); - if (!links.target) { - links.target = resolvingSymbol; - var node = getDeclarationOfKind(symbol, 174 /* ImportDeclaration */); - var target = node.externalModuleName ? resolveExternalModuleName(node, node.externalModuleName) : resolveEntityName(node, node.entityName, node.entityName.kind === 112 /* QualifiedName */ ? ts.SymbolFlags.Value | ts.SymbolFlags.Type | ts.SymbolFlags.Namespace : ts.SymbolFlags.Namespace); - if (links.target === resolvingSymbol) { - links.target = target || unknownSymbol; - } - else { - error(node, ts.Diagnostics.Circular_definition_of_import_alias_0, symbolToString(symbol)); - } - } - else if (links.target === resolvingSymbol) { - links.target = unknownSymbol; - } - return links.target; - } - function getFullyQualifiedName(symbol) { - return symbol.parent ? getFullyQualifiedName(symbol.parent) + "." + symbolToString(symbol) : symbolToString(symbol); - } - function resolveEntityName(location, name, meaning) { - if (name.kind === 55 /* Identifier */) { - var symbol = resolveName(location, name.text, meaning, ts.Diagnostics.Cannot_find_name_0, ts.identifierToString(name)); - if (!symbol) { - return; - } - } - else if (name.kind === 112 /* QualifiedName */) { - var namespace = resolveEntityName(location, name.left, ts.SymbolFlags.Namespace); - if (!namespace || namespace === unknownSymbol || name.right.kind === 111 /* Missing */) - return; - var symbol = getSymbol(namespace.exports, name.right.text, meaning); - if (!symbol) { - error(location, ts.Diagnostics.Module_0_has_no_exported_member_1, getFullyQualifiedName(namespace), ts.identifierToString(name.right)); - return; - } - } - else { - return; - } - ts.Debug.assert((symbol.flags & 8388608 /* Instantiated */) === 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, moduleLiteral) { - var searchPath = ts.getDirectoryPath(getSourceFile(location).filename); - var moduleName = moduleLiteral.text; - if (!moduleName) - return; - var isRelative = isExternalModuleNameRelative(moduleName); - if (!isRelative) { - var symbol = getSymbol(globals, '"' + moduleName + '"', 128 /* ValueModule */); - if (symbol) { - return getResolvedExportSymbol(symbol); - } - } - while (true) { - var filename = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); - var sourceFile = program.getSourceFile(filename + ".ts") || program.getSourceFile(filename + ".d.ts"); - if (sourceFile || isRelative) - break; - var parentPath = ts.getDirectoryPath(searchPath); - if (parentPath === searchPath) - break; - searchPath = parentPath; - } - if (sourceFile) { - if (sourceFile.symbol) { - return getResolvedExportSymbol(sourceFile.symbol); - } - error(moduleLiteral, ts.Diagnostics.File_0_is_not_an_external_module, sourceFile.filename); - return; - } - error(moduleLiteral, ts.Diagnostics.Cannot_find_external_module_0, moduleName); - } - function getResolvedExportSymbol(moduleSymbol) { - var symbol = getExportAssignmentSymbol(moduleSymbol); - if (symbol) { - if (symbol.flags & (ts.SymbolFlags.Value | ts.SymbolFlags.Type | ts.SymbolFlags.Namespace)) { - return symbol; - } - if (symbol.flags & 4194304 /* Import */) { - return resolveImport(symbol); - } - } - return moduleSymbol; - } - function getExportAssignmentSymbol(symbol) { - checkTypeOfExportAssignmentSymbol(symbol); - return symbol.exportAssignSymbol === unknownSymbol ? undefined : symbol.exportAssignSymbol; - } - function checkTypeOfExportAssignmentSymbol(containerSymbol) { - if (!containerSymbol.exportAssignSymbol) { - var exportInformation = collectExportInformationForSourceFileOrModule(containerSymbol); - if (exportInformation.exportAssignments.length) { - if (exportInformation.exportAssignments.length > 1) { - ts.forEach(exportInformation.exportAssignments, function (node) { return error(node, ts.Diagnostics.A_module_cannot_have_more_than_one_export_assignment); }); - } - var node = exportInformation.exportAssignments[0]; - if (exportInformation.hasExportedMember) { - error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements); - } - if (node.exportName.text) { - var meaning = ts.SymbolFlags.Value | ts.SymbolFlags.Type | ts.SymbolFlags.Namespace; - var exportSymbol = resolveName(node, node.exportName.text, meaning, ts.Diagnostics.Cannot_find_name_0, ts.identifierToString(node.exportName)); - } - } - containerSymbol.exportAssignSymbol = exportSymbol || unknownSymbol; - } - } - function collectExportInformationForSourceFileOrModule(symbol) { - var seenExportedMember = false; - var result = []; - ts.forEach(symbol.declarations, function (declaration) { - var block = (declaration.kind === 177 /* SourceFile */ ? declaration : declaration.body); - ts.forEach(block.statements, function (node) { - if (node.kind === 175 /* ExportAssignment */) { - result.push(node); - } - else { - seenExportedMember = seenExportedMember || (node.flags & 1 /* Export */) !== 0; - } - }); - }); - return { - hasExportedMember: seenExportedMember, - exportAssignments: result - }; - } - function getMergedSymbol(symbol) { - var merged; - return symbol && symbol.mergeId && (merged = mergedSymbols[symbol.mergeId]) ? merged : symbol; - } - function getSymbolOfNode(node) { - return getMergedSymbol(node.symbol); - } - function getParentOfSymbol(symbol) { - return getMergedSymbol(symbol.parent); - } - function getExportSymbolOfValueSymbolIfExported(symbol) { - return symbol && (symbol.flags & 524288 /* ExportValue */) !== 0 ? getMergedSymbol(symbol.exportSymbol) : symbol; - } - function symbolIsValue(symbol) { - if (symbol.flags & ts.SymbolFlags.Value) { - return true; - } - if (symbol.flags & 4194304 /* Import */) { - return (resolveImport(symbol).flags & ts.SymbolFlags.Value) !== 0; - } - if (symbol.flags & 8388608 /* Instantiated */) { - return (getSymbolLinks(symbol).target.flags & ts.SymbolFlags.Value) !== 0; - } - return false; - } - function getDeclarationOfKind(symbol, kind) { - var declarations = symbol.declarations; - for (var i = 0; i < declarations.length; i++) { - var declaration = declarations[i]; - if (declaration.kind === kind) { - return declaration; - } - } - return undefined; - } - function findConstructorDeclaration(node) { - var members = node.members; - for (var i = 0; i < members.length; i++) { - var member = members[i]; - if (member.kind === 117 /* Constructor */ && member.body) { - return member; - } - } - } - function createType(flags) { - var result = new Type(checker, flags); - result.id = typeCount++; - return result; - } - function createIntrinsicType(kind, intrinsicName) { - var type = createType(kind); - type.intrinsicName = intrinsicName; - return type; - } - function createObjectType(kind, symbol) { - var type = createType(kind); - type.symbol = symbol; - return type; - } - function isReservedMemberName(name) { - return name.charCodeAt(0) === 95 /* _ */ && name.charCodeAt(1) === 95 /* _ */ && name.charCodeAt(2) !== 95 /* _ */; - } - function getNamedMembers(members) { - var result; - for (var id in members) { - if (ts.hasProperty(members, id)) { - if (!isReservedMemberName(id)) { - if (!result) - result = []; - var symbol = members[id]; - if (symbolIsValue(symbol)) { - result.push(symbol); - } - } - } - } - return result || emptyArray; - } - function setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType) { - type.members = members; - type.properties = getNamedMembers(members); - type.callSignatures = callSignatures; - type.constructSignatures = constructSignatures; - if (stringIndexType) - type.stringIndexType = stringIndexType; - if (numberIndexType) - type.numberIndexType = numberIndexType; - return type; - } - function createAnonymousType(symbol, members, callSignatures, constructSignatures, stringIndexType, numberIndexType) { - return setObjectTypeMembers(createObjectType(8192 /* Anonymous */, symbol), members, callSignatures, constructSignatures, stringIndexType, numberIndexType); - } - function isOptionalProperty(propertySymbol) { - if (propertySymbol.flags & 67108864 /* Prototype */) { - return false; - } - return (propertySymbol.valueDeclaration.flags & 4 /* QuestionMark */) && propertySymbol.valueDeclaration.kind !== 114 /* Parameter */; - } - function forEachSymbolTableInScope(enclosingDeclaration, callback) { - var result; - for (var location = enclosingDeclaration; location; location = location.parent) { - if (location.locals && !isGlobalSourceFile(location)) { - if (result = callback(location.locals)) { - return result; - } - } - switch (location.kind) { - case 177 /* SourceFile */: - if (!ts.isExternalModule(location)) { - break; - } - case 172 /* ModuleDeclaration */: - if (result = callback(getSymbolOfNode(location).exports)) { - return result; - } - break; - case 169 /* ClassDeclaration */: - case 170 /* InterfaceDeclaration */: - if (result = callback(getSymbolOfNode(location).members)) { - return result; - } - break; - } - } - return callback(globals); - } - function getAccessibleSymbol(symbol, enclosingDeclaration, meaning) { - function getAccessibleSymbolFromSymbolTable(symbols) { - function isAccessible(symbolFromSymbolTable, resolvedAliasSymbol) { - if (symbol === (resolvedAliasSymbol || symbolFromSymbolTable)) { - if (!needsQualification(symbolFromSymbolTable, enclosingDeclaration, meaning)) { - return true; - } - var accessibleParent = getAccessibleSymbol(symbolFromSymbolTable.parent, enclosingDeclaration, ts.SymbolFlags.Namespace); - return !!accessibleParent; - } - } - if (isAccessible(symbols[symbol.name])) { - return symbol; - } - return ts.forEachValue(symbols, function (symbolFromSymbolTable) { - if (symbolFromSymbolTable.flags & 4194304 /* Import */) { - if (isAccessible(symbolFromSymbolTable, resolveImport(symbolFromSymbolTable))) { - return symbolFromSymbolTable; - } - } - }); - } - if (symbol) { - return forEachSymbolTableInScope(enclosingDeclaration, getAccessibleSymbolFromSymbolTable); - } - } - function needsQualification(symbol, enclosingDeclaration, meaning) { - var qualify = false; - forEachSymbolTableInScope(enclosingDeclaration, function (symbolTable) { - if (!symbolTable[symbol.name]) { - return false; - } - var symbolFromSymbolTable = symbolTable[symbol.name]; - if (symbolFromSymbolTable === symbol) { - return true; - } - symbolFromSymbolTable = (symbolFromSymbolTable.flags & 4194304 /* Import */) ? resolveImport(symbolFromSymbolTable) : symbolFromSymbolTable; - if (symbolFromSymbolTable.flags & meaning) { - qualify = true; - return true; - } - return false; - }); - return qualify; - } - function symbolToString(symbol, enclosingDeclaration, meaning) { - function getSymbolName(symbol) { - if (symbol.declarations && symbol.declarations.length > 0) { - var declaration = symbol.declarations[0]; - if (declaration.name) { - return ts.identifierToString(declaration.name); - } - } - return symbol.name; - } - if (enclosingDeclaration && !(symbol.flags & ts.SymbolFlags.PropertyOrAccessor & ts.SymbolFlags.Signature & 4096 /* Constructor */ & 2048 /* Method */ & 262144 /* TypeParameter */)) { - var symbolName; - while (symbol) { - var isFirstName = !symbolName; - var meaningToLook = isFirstName ? meaning : ts.SymbolFlags.Namespace; - var accessibleSymbol = getAccessibleSymbol(symbol, enclosingDeclaration, meaningToLook); - symbolName = getSymbolName(accessibleSymbol || symbol) + (isFirstName ? "" : ("." + symbolName)); - if (accessibleSymbol && !needsQualification(accessibleSymbol, enclosingDeclaration, meaningToLook)) { - break; - } - symbol = accessibleSymbol ? accessibleSymbol.parent : symbol.parent; - } - return symbolName; - } - return getSymbolName(symbol); - } - function createSingleLineTextWriter() { - var result = ""; - return { - write: function (s) { - result += s; - }, - writeLine: function () { - result += " "; - }, - increaseIndent: function () { - }, - decreaseIndent: function () { - }, - getText: function () { - return result; - } - }; - } - function typeToString(type, flags) { - var stringWriter = createSingleLineTextWriter(); - writeTypeToTextWriter(type, null, flags, stringWriter); - return stringWriter.getText(); - } - function writeTypeToTextWriter(type, enclosingDeclaration, flags, writer) { - var typeStack; - return writeType(type, true); - function writeType(type, allowFunctionOrConstructorTypeLiteral) { - if (type.flags & ts.TypeFlags.Intrinsic) { - writer.write(type.intrinsicName); - } - else if (type.flags & 4096 /* Reference */) { - writeTypeReference(type); - } - else if (type.flags & (1024 /* Class */ | 2048 /* Interface */ | 128 /* Enum */ | 512 /* TypeParameter */)) { - writer.write(symbolToString(type.symbol, enclosingDeclaration, ts.SymbolFlags.Type)); - } - else if (type.flags & 8192 /* Anonymous */) { - writeAnonymousType(type, allowFunctionOrConstructorTypeLiteral); - } - else if (type.flags & 256 /* StringLiteral */) { - writer.write(type.text); - } - else { - writer.write("{ ... }"); - } - } - function writeTypeReference(type) { - if (type.target === globalArrayType && !(flags & 1 /* WriteArrayAsGenericType */)) { - writeType(type.typeArguments[0], false); - writer.write("[]"); - } - else { - writer.write(symbolToString(type.target.symbol, enclosingDeclaration, ts.SymbolFlags.Type)); - writer.write("<"); - for (var i = 0; i < type.typeArguments.length; i++) { - if (i > 0) { - writer.write(", "); - } - writeType(type.typeArguments[i], true); - } - writer.write(">"); - } - } - function writeAnonymousType(type, allowFunctionOrConstructorTypeLiteral) { - if (type.symbol && type.symbol.flags & (16 /* Class */ | 64 /* Enum */ | 128 /* ValueModule */)) { - writeTypeofSymbol(type); - } - else if (type.symbol && type.symbol.flags & (8 /* Function */ | 2048 /* Method */) && typeStack && ts.contains(typeStack, type)) { - writeTypeofSymbol(type); - } - else { - if (!typeStack) { - typeStack = []; - } - typeStack.push(type); - writeLiteralType(type, allowFunctionOrConstructorTypeLiteral); - typeStack.pop(); - } - } - function writeTypeofSymbol(type) { - writer.write("typeof "); - writer.write(symbolToString(type.symbol, enclosingDeclaration, ts.SymbolFlags.Value)); - } - function writeLiteralType(type, allowFunctionOrConstructorTypeLiteral) { - var resolved = resolveObjectTypeMembers(type); - if (!resolved.properties.length && !resolved.stringIndexType && !resolved.numberIndexType) { - if (!resolved.callSignatures.length && !resolved.constructSignatures.length) { - writer.write("{}"); - return; - } - if (allowFunctionOrConstructorTypeLiteral) { - if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { - writeSignature(resolved.callSignatures[0], true); - return; - } - if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { - writer.write("new "); - writeSignature(resolved.constructSignatures[0], true); - return; - } - } - } - writer.write("{"); - writer.writeLine(); - writer.increaseIndent(); - for (var i = 0; i < resolved.callSignatures.length; i++) { - writeSignature(resolved.callSignatures[i]); - writer.write(";"); - writer.writeLine(); - } - for (var i = 0; i < resolved.constructSignatures.length; i++) { - writer.write("new "); - writeSignature(resolved.constructSignatures[i]); - writer.write(";"); - writer.writeLine(); - } - if (resolved.stringIndexType) { - writer.write("[x: string]: "); - writeType(resolved.stringIndexType, true); - writer.write(";"); - writer.writeLine(); - } - if (resolved.numberIndexType) { - writer.write("[x: number]: "); - writeType(resolved.numberIndexType, true); - writer.write(";"); - writer.writeLine(); - } - for (var i = 0; i < resolved.properties.length; i++) { - var p = resolved.properties[i]; - var t = getTypeOfSymbol(p); - if (p.flags & (8 /* Function */ | 2048 /* Method */) && !getPropertiesOfType(t).length) { - var signatures = getSignaturesOfType(t, 0 /* Call */); - for (var j = 0; j < signatures.length; j++) { - writer.write(symbolToString(p)); - if (isOptionalProperty(p)) { - writer.write("?"); - } - writeSignature(signatures[j]); - writer.write(";"); - writer.writeLine(); - } - } - else { - writer.write(symbolToString(p)); - if (isOptionalProperty(p)) { - writer.write("?"); - } - writer.write(": "); - writeType(t, true); - writer.write(";"); - writer.writeLine(); - } - } - writer.decreaseIndent(); - writer.write("}"); - } - function writeSignature(signature, arrowStyle) { - if (signature.typeParameters) { - writer.write("<"); - for (var i = 0; i < signature.typeParameters.length; i++) { - if (i > 0) { - writer.write(", "); - } - var tp = signature.typeParameters[i]; - writer.write(symbolToString(tp.symbol)); - var constraint = getConstraintOfTypeParameter(tp); - if (constraint) { - writer.write(" extends "); - writeType(constraint, true); - } - } - writer.write(">"); - } - writer.write("("); - for (var i = 0; i < signature.parameters.length; i++) { - if (i > 0) { - writer.write(", "); - } - var p = signature.parameters[i]; - if (getDeclarationFlagsFromSymbol(p) & 8 /* Rest */) { - writer.write("..."); - } - writer.write(symbolToString(p)); - if (p.valueDeclaration.flags & 4 /* QuestionMark */ || p.valueDeclaration.initializer) { - writer.write("?"); - } - writer.write(": "); - writeType(getTypeOfSymbol(p), true); - } - writer.write(arrowStyle ? ") => " : "): "); - writeType(getReturnTypeOfSignature(signature), true); - } - } - function isDeclarationVisible(node) { - function getContainingExternalModule(node) { - for (; node; node = node.parent) { - if (node.kind === 172 /* ModuleDeclaration */) { - if (node.name.kind === 3 /* StringLiteral */) { - return node; - } - } - else if (node.kind === 177 /* SourceFile */) { - return ts.isExternalModule(node) ? node : undefined; - } - } - ts.Debug.fail("getContainingModule cant reach here"); - } - function isUsedInExportAssignment(node) { - var externalModule = getContainingExternalModule(node); - if (externalModule) { - var externalModuleSymbol = getSymbolOfNode(externalModule); - var exportAssignmentSymbol = getExportAssignmentSymbol(externalModuleSymbol); - var symbolOfNode = getSymbolOfNode(node); - if (exportAssignmentSymbol === symbolOfNode) { - return true; - } - if (exportAssignmentSymbol && !!(exportAssignmentSymbol.flags & 4194304 /* Import */)) { - var resolvedExportSymbol = resolveImport(exportAssignmentSymbol); - if (resolvedExportSymbol === symbolOfNode) { - return true; - } - return ts.forEach(resolvedExportSymbol.declarations, function (declaration) { - while (declaration) { - if (declaration === node) { - return true; - } - declaration = declaration.parent; - } - }); - } - } - } - function determineIfDeclarationIsVisible() { - switch (node.kind) { - case 166 /* VariableDeclaration */: - if (!(node.flags & 1 /* Export */)) { - return isGlobalSourceFile(node.parent.parent) || isUsedInExportAssignment(node); - } - return isDeclarationVisible(node.parent.parent); - case 172 /* ModuleDeclaration */: - case 169 /* ClassDeclaration */: - case 170 /* InterfaceDeclaration */: - case 167 /* FunctionDeclaration */: - case 171 /* EnumDeclaration */: - case 174 /* ImportDeclaration */: - if (!(node.flags & 1 /* Export */)) { - return isGlobalSourceFile(node.parent) || isUsedInExportAssignment(node); - } - return isDeclarationVisible(node.parent); - case 115 /* Property */: - case 116 /* Method */: - if (node.flags & 32 /* Private */) { - return false; - } - case 117 /* Constructor */: - case 121 /* ConstructSignature */: - case 120 /* CallSignature */: - case 122 /* IndexSignature */: - case 114 /* Parameter */: - case 173 /* ModuleBlock */: - return isDeclarationVisible(node.parent); - case 177 /* SourceFile */: - return true; - default: - ts.Debug.fail("isDeclarationVisible unknown: SyntaxKind: " + ts.SyntaxKind[node.kind]); - } - } - if (node) { - var links = getNodeLinks(node); - if (links.isVisible === undefined) { - links.isVisible = determineIfDeclarationIsVisible(); - } - return links.isVisible; - } - } - function getApparentType(type) { - if (type.flags & 512 /* TypeParameter */) { - do { - type = getConstraintOfTypeParameter(type); - } while (type && type.flags & 512 /* TypeParameter */); - if (!type) - type = emptyObjectType; - } - if (type.flags & ts.TypeFlags.StringLike) { - type = globalStringType; - } - else if (type.flags & ts.TypeFlags.NumberLike) { - type = globalNumberType; - } - else if (type.flags & 8 /* Boolean */) { - type = globalBooleanType; - } - return type; - } - function getTypeOfPrototypeProperty(prototype) { - var classType = getDeclaredTypeOfSymbol(prototype.parent); - return classType.typeParameters ? createTypeReference(classType, ts.map(classType.typeParameters, function (_) { return anyType; })) : classType; - } - function getTypeOfVariableDeclaration(declaration) { - var type; - if (declaration.parent.kind === 163 /* CatchBlock */ || declaration.parent.kind === 151 /* ForInStatement */) { - type = anyType; - } - else if (declaration.type) { - type = getTypeFromTypeNode(declaration.type); - } - else { - if (declaration.kind === 114 /* Parameter */ && declaration.parent.kind === 119 /* SetAccessor */) { - var getter = getDeclarationOfKind(declaration.parent.symbol, 118 /* GetAccessor */); - if (getter) { - type = getReturnTypeOfSignature(getSignatureFromDeclaration(getter)); - } - } - var unwidenedType; - if (!type) { - if (declaration.initializer) { - unwidenedType = checkAndMarkExpression(declaration.initializer); - type = getWidenedType(unwidenedType); - } - else if (declaration.flags & 8 /* Rest */) { - type = createArrayType(anyType); - } - else { - type = anyType; - } - } - if (program.getCompilerOptions().noImplicitAny && shouldReportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type, unwidenedType)) { - reportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type); - } - } - return type; - function shouldReportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type, unwidenedType) { - if (type === unwidenedType) { - return false; - } - if (getInnermostTypeOfNestedArrayTypes(type) !== anyType) { - return false; - } - if (isPrivateWithinAmbient(declaration) || (declaration.kind === 114 /* Parameter */ && isPrivateWithinAmbient(declaration.parent))) { - return false; - } - return true; - } - function reportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type) { - var varName = ts.identifierToString(declaration.name); - var typeName = typeToString(type); - switch (declaration.kind) { - case 166 /* VariableDeclaration */: - error(declaration, ts.Diagnostics.Variable_0_implicitly_has_an_1_type, varName, typeName); - break; - case 115 /* Property */: - error(declaration, ts.Diagnostics.Member_0_implicitly_has_an_1_type, varName, typeName); - break; - case 114 /* Parameter */: - var funcDeclaration = declaration.parent; - if (declaration.flags & 8 /* Rest */) { - error(declaration, ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type, varName); - } - else { - error(declaration, ts.Diagnostics.Parameter_0_implicitly_has_an_1_type, varName, typeName); - } - break; - default: - ts.Debug.fail("Received a '" + ts.SyntaxKind[declaration.kind] + "', but expected '" + ts.SyntaxKind[166 /* VariableDeclaration */] + "', '" + ts.SyntaxKind[115 /* Property */] + "', or '" + ts.SyntaxKind[114 /* Parameter */] + "'.\r\n"); - } - } - } - function getTypeOfVariableOrParameterOrProperty(symbol) { - var links = getSymbolLinks(symbol); - if (!links.type) { - if (symbol.flags & 67108864 /* Prototype */) { - links.type = getTypeOfPrototypeProperty(symbol); - } - else { - links.type = resolvingType; - var type = getTypeOfVariableDeclaration(symbol.valueDeclaration); - if (links.type === resolvingType) { - links.type = type; - } - } - } - else if (links.type === resolvingType) { - links.type = anyType; - } - return links.type; - } - function getSetAccessorTypeAnnotationNode(accessor) { - return accessor && accessor.parameters.length > 0 && accessor.parameters[0].type; - } - function getAnnotatedAccessorType(accessor) { - if (accessor) { - if (accessor.kind === 118 /* GetAccessor */) { - return accessor.type && getTypeFromTypeNode(accessor.type); - } - else { - var setterTypeAnnotation = getSetAccessorTypeAnnotationNode(accessor); - return setterTypeAnnotation && getTypeFromTypeNode(setterTypeAnnotation); - } - } - return undefined; - } - function getTypeOfAccessors(symbol) { - var links = getSymbolLinks(symbol); - checkAndStoreTypeOfAccessors(symbol, links); - return links.type; - } - function checkAndStoreTypeOfAccessors(symbol, links) { - links = links || getSymbolLinks(symbol); - if (!links.type) { - links.type = resolvingType; - var getter = getDeclarationOfKind(symbol, 118 /* GetAccessor */); - var setter = getDeclarationOfKind(symbol, 119 /* SetAccessor */); - var type; - var getterReturnType = getAnnotatedAccessorType(getter); - if (getterReturnType) { - type = getterReturnType; - } - else { - var setterParameterType = getAnnotatedAccessorType(setter); - if (setterParameterType) { - type = setterParameterType; - } - else { - if (getter) { - type = getReturnTypeFromBody(getter); - } - else { - if (program.getCompilerOptions().noImplicitAny) { - error(setter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation, symbol.name); - } - type = anyType; - } - } - } - if (links.type === resolvingType) { - links.type = type; - } - } - else if (links.type === resolvingType) { - links.type = anyType; - } - } - function getTypeOfFuncClassEnumModule(symbol) { - var links = getSymbolLinks(symbol); - if (!links.type) { - var type = links.type = createObjectType(8192 /* Anonymous */, symbol); - } - return links.type; - } - function getTypeOfEnumMember(symbol) { - var links = getSymbolLinks(symbol); - if (!links.type) { - links.type = getDeclaredTypeOfEnum(getParentOfSymbol(symbol)); - } - return links.type; - } - function getTypeOfImport(symbol) { - var links = getSymbolLinks(symbol); - if (!links.type) { - links.type = getTypeOfSymbol(resolveImport(symbol)); - } - return links.type; - } - function getTypeOfInstantiatedSymbol(symbol) { - var links = getSymbolLinks(symbol); - if (!links.type) { - links.type = instantiateType(getTypeOfSymbol(links.target), links.mapper); - } - return links.type; - } - function getTypeOfSymbol(symbol) { - if (symbol.flags & (1 /* Variable */ | 2 /* Property */)) { - return getTypeOfVariableOrParameterOrProperty(symbol); - } - if (symbol.flags & (8 /* Function */ | 2048 /* Method */ | 16 /* Class */ | 64 /* Enum */ | 128 /* ValueModule */)) { - return getTypeOfFuncClassEnumModule(symbol); - } - if (symbol.flags & 4 /* EnumMember */) { - return getTypeOfEnumMember(symbol); - } - if (symbol.flags & ts.SymbolFlags.Accessor) { - return getTypeOfAccessors(symbol); - } - if (symbol.flags & 4194304 /* Import */) { - return getTypeOfImport(symbol); - } - if (symbol.flags & 8388608 /* Instantiated */) { - return getTypeOfInstantiatedSymbol(symbol); - } - return unknownType; - } - function getTargetType(type) { - return type.flags & 4096 /* Reference */ ? type.target : type; - } - function hasBaseType(type, checkBase) { - return check(type); - function check(type) { - var target = getTargetType(type); - return target === checkBase || ts.forEach(target.baseTypes, check); - } - } - function getTypeParametersOfClassOrInterface(symbol) { - var result; - ts.forEach(symbol.declarations, function (node) { - if (node.kind === 170 /* InterfaceDeclaration */ || node.kind === 169 /* ClassDeclaration */) { - var declaration = node; - if (declaration.typeParameters && declaration.typeParameters.length) { - ts.forEach(declaration.typeParameters, function (node) { - var tp = getDeclaredTypeOfTypeParameter(getSymbolOfNode(node)); - if (!result) { - result = [tp]; - } - else if (!ts.contains(result, tp)) { - result.push(tp); - } - }); - } - } - }); - return result; - } - function getDeclaredTypeOfClass(symbol) { - var links = getSymbolLinks(symbol); - if (!links.declaredType) { - var type = links.declaredType = createObjectType(1024 /* Class */, symbol); - var typeParameters = getTypeParametersOfClassOrInterface(symbol); - if (typeParameters) { - type.flags |= 4096 /* Reference */; - type.typeParameters = typeParameters; - type.instantiations = {}; - type.instantiations[getTypeListId(type.typeParameters)] = type; - type.target = type; - type.typeArguments = type.typeParameters; - } - type.baseTypes = []; - var declaration = getDeclarationOfKind(symbol, 169 /* ClassDeclaration */); - if (declaration.baseType) { - var baseType = getTypeFromTypeReferenceNode(declaration.baseType); - if (baseType !== unknownType) { - if (getTargetType(baseType).flags & 1024 /* Class */) { - 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, 1 /* WriteArrayAsGenericType */)); - } - } - else { - error(declaration.baseType, ts.Diagnostics.A_class_may_only_extend_another_class); - } - } - } - type.declaredProperties = getNamedMembers(symbol.members); - type.declaredCallSignatures = emptyArray; - type.declaredConstructSignatures = emptyArray; - type.declaredStringIndexType = getIndexTypeOfSymbol(symbol, 0 /* String */); - type.declaredNumberIndexType = getIndexTypeOfSymbol(symbol, 1 /* Number */); - } - return links.declaredType; - } - function getDeclaredTypeOfInterface(symbol) { - var links = getSymbolLinks(symbol); - if (!links.declaredType) { - var type = links.declaredType = createObjectType(2048 /* Interface */, symbol); - var typeParameters = getTypeParametersOfClassOrInterface(symbol); - if (typeParameters) { - type.flags |= 4096 /* Reference */; - type.typeParameters = typeParameters; - type.instantiations = {}; - type.instantiations[getTypeListId(type.typeParameters)] = type; - type.target = type; - type.typeArguments = type.typeParameters; - } - type.baseTypes = []; - ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 170 /* InterfaceDeclaration */ && declaration.baseTypes) { - ts.forEach(declaration.baseTypes, function (node) { - var baseType = getTypeFromTypeReferenceNode(node); - if (baseType !== unknownType) { - if (getTargetType(baseType).flags & (1024 /* Class */ | 2048 /* Interface */)) { - 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, 1 /* WriteArrayAsGenericType */)); - } - } - else { - error(node, ts.Diagnostics.An_interface_may_only_extend_a_class_or_another_interface); - } - } - }); - } - }); - 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 */); - } - return links.declaredType; - } - function getDeclaredTypeOfEnum(symbol) { - var links = getSymbolLinks(symbol); - if (!links.declaredType) { - var type = createType(128 /* Enum */); - type.symbol = symbol; - links.declaredType = type; - } - return links.declaredType; - } - function getDeclaredTypeOfTypeParameter(symbol) { - var links = getSymbolLinks(symbol); - if (!links.declaredType) { - var type = createType(512 /* TypeParameter */); - type.symbol = symbol; - if (!getDeclarationOfKind(symbol, 113 /* TypeParameter */).constraint) { - type.constraint = noConstraintType; - } - links.declaredType = type; - } - return links.declaredType; - } - function getDeclaredTypeOfImport(symbol) { - var links = getSymbolLinks(symbol); - if (!links.declaredType) { - links.declaredType = getDeclaredTypeOfSymbol(resolveImport(symbol)); - } - return links.declaredType; - } - function getDeclaredTypeOfSymbol(symbol) { - if (symbol.flags & 16 /* Class */) { - return getDeclaredTypeOfClass(symbol); - } - if (symbol.flags & 32 /* Interface */) { - return getDeclaredTypeOfInterface(symbol); - } - if (symbol.flags & 64 /* Enum */) { - return getDeclaredTypeOfEnum(symbol); - } - if (symbol.flags & 262144 /* TypeParameter */) { - return getDeclaredTypeOfTypeParameter(symbol); - } - if (symbol.flags & 4194304 /* Import */) { - return getDeclaredTypeOfImport(symbol); - } - ts.Debug.assert((symbol.flags & 8388608 /* Instantiated */) === 0); - return unknownType; - } - function createSymbolTable(symbols) { - var result = {}; - for (var i = 0; i < symbols.length; i++) { - var symbol = symbols[i]; - result[symbol.name] = symbol; - } - return result; - } - function createInstantiatedSymbolTable(symbols, mapper) { - var result = {}; - for (var i = 0; i < symbols.length; i++) { - var symbol = symbols[i]; - result[symbol.name] = instantiateSymbol(symbol, mapper); - } - return result; - } - function addInheritedMembers(symbols, baseSymbols) { - for (var i = 0; i < baseSymbols.length; i++) { - var s = baseSymbols[i]; - if (!ts.hasProperty(symbols, s.name)) { - symbols[s.name] = s; - } - } - } - function addInheritedSignatures(signatures, baseSignatures) { - if (baseSignatures) { - for (var i = 0; i < baseSignatures.length; i++) { - signatures.push(baseSignatures[i]); - } - } - } - function resolveClassOrInterfaceMembers(type) { - var members = type.symbol.members; - var callSignatures = type.declaredCallSignatures; - var constructSignatures = type.declaredConstructSignatures; - var stringIndexType = type.declaredStringIndexType; - var numberIndexType = type.declaredNumberIndexType; - if (type.baseTypes.length) { - members = createSymbolTable(type.declaredProperties); - ts.forEach(type.baseTypes, function (baseType) { - addInheritedMembers(members, getPropertiesOfType(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 */); - }); - } - setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); - } - function resolveTypeReferenceMembers(type) { - var target = type.target; - var mapper = createTypeMapper(target.typeParameters, type.typeArguments); - var members = createInstantiatedSymbolTable(target.declaredProperties, mapper); - var callSignatures = instantiateList(target.declaredCallSignatures, mapper, instantiateSignature); - var constructSignatures = instantiateList(target.declaredConstructSignatures, mapper, instantiateSignature); - var stringIndexType = target.declaredStringIndexType ? instantiateType(target.declaredStringIndexType, mapper) : undefined; - var numberIndexType = target.declaredNumberIndexType ? instantiateType(target.declaredNumberIndexType, mapper) : undefined; - ts.forEach(target.baseTypes, function (baseType) { - var instantiatedBaseType = instantiateType(baseType, mapper); - addInheritedMembers(members, getPropertiesOfType(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 */); - }); - setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); - } - function createSignature(declaration, typeParameters, parameters, resolvedReturnType, minArgumentCount, hasRestParameter, hasStringLiterals) { - var sig = new Signature(checker); - sig.declaration = declaration; - sig.typeParameters = typeParameters; - sig.parameters = parameters; - sig.resolvedReturnType = resolvedReturnType; - sig.minArgumentCount = minArgumentCount; - sig.hasRestParameter = hasRestParameter; - sig.hasStringLiterals = hasStringLiterals; - return sig; - } - function cloneSignature(sig) { - return createSignature(sig.declaration, sig.typeParameters, sig.parameters, sig.resolvedReturnType, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals); - } - function getDefaultConstructSignatures(classType) { - if (classType.baseTypes.length) { - var baseType = classType.baseTypes[0]; - var baseSignatures = getSignaturesOfType(getTypeOfSymbol(baseType.symbol), 1 /* Construct */); - return ts.map(baseSignatures, function (baseSignature) { - var signature = baseType.flags & 4096 /* Reference */ ? getSignatureInstantiation(baseSignature, baseType.typeArguments) : cloneSignature(baseSignature); - signature.typeParameters = classType.typeParameters; - signature.resolvedReturnType = classType; - return signature; - }); - } - return [createSignature(undefined, classType.typeParameters, emptyArray, classType, 0, false, false)]; - } - function resolveAnonymousTypeMembers(type) { - var symbol = type.symbol; - var members = emptySymbols; - var callSignatures = emptyArray; - var constructSignatures = emptyArray; - if (symbol.flags & ts.SymbolFlags.HasExports) { - members = symbol.exports; - } - if (symbol.flags & (8 /* Function */ | 2048 /* Method */)) { - callSignatures = getSignaturesOfSymbol(symbol); - } - if (symbol.flags & 16 /* Class */) { - var classType = getDeclaredTypeOfClass(symbol); - constructSignatures = getSignaturesOfSymbol(symbol.members["__constructor"]); - if (!constructSignatures.length) - constructSignatures = getDefaultConstructSignatures(classType); - if (classType.baseTypes.length) { - var members = createSymbolTable(getNamedMembers(members)); - addInheritedMembers(members, getPropertiesOfType(getTypeOfSymbol(classType.baseTypes[0].symbol))); - } - } - var numberIndexType = (symbol.flags & 64 /* Enum */) ? stringType : undefined; - setObjectTypeMembers(type, members, callSignatures, constructSignatures, undefined, numberIndexType); - } - function resolveObjectTypeMembers(type) { - if (!type.members) { - if (type.flags & (1024 /* Class */ | 2048 /* Interface */)) { - resolveClassOrInterfaceMembers(type); - } - else if (type.flags & 8192 /* Anonymous */) { - resolveAnonymousTypeMembers(type); - } - else { - resolveTypeReferenceMembers(type); - } - } - return type; - } - function getPropertiesOfType(type) { - if (type.flags & ts.TypeFlags.ObjectType) { - return resolveObjectTypeMembers(type).properties; - } - return emptyArray; - } - function getPropertyOfType(type, name) { - if (type.flags & ts.TypeFlags.ObjectType) { - var resolved = resolveObjectTypeMembers(type); - if (ts.hasProperty(resolved.members, name)) { - var symbol = resolved.members[name]; - if (symbolIsValue(symbol)) { - return symbol; - } - } - } - } - function getPropertyOfApparentType(type, name) { - if (type.flags & ts.TypeFlags.ObjectType) { - var resolved = resolveObjectTypeMembers(type); - if (ts.hasProperty(resolved.members, name)) { - var symbol = resolved.members[name]; - if (symbolIsValue(symbol)) { - return symbol; - } - } - if (resolved === anyFunctionType || resolved.callSignatures.length || resolved.constructSignatures.length) { - var symbol = getPropertyOfType(globalFunctionType, name); - if (symbol) - return symbol; - } - return getPropertyOfType(globalObjectType, name); - } - } - function getSignaturesOfType(type, kind) { - if (type.flags & ts.TypeFlags.ObjectType) { - var resolved = resolveObjectTypeMembers(type); - return kind === 0 /* Call */ ? resolved.callSignatures : resolved.constructSignatures; - } - return emptyArray; - } - function getIndexTypeOfType(type, kind) { - if (type.flags & ts.TypeFlags.ObjectType) { - var resolved = resolveObjectTypeMembers(type); - return kind === 0 /* String */ ? resolved.stringIndexType : resolved.numberIndexType; - } - } - function getTypeParametersFromDeclaration(typeParameterDeclarations) { - var result = []; - ts.forEach(typeParameterDeclarations, function (node) { - var tp = getDeclaredTypeOfTypeParameter(node.symbol); - if (!ts.contains(result, tp)) { - result.push(tp); - } - }); - return result; - } - function getSignatureFromDeclaration(declaration) { - var links = getNodeLinks(declaration); - if (!links.resolvedSignature) { - var classType = declaration.kind === 117 /* Constructor */ ? getDeclaredTypeOfClass(declaration.parent.symbol) : undefined; - var typeParameters = classType ? classType.typeParameters : declaration.typeParameters ? getTypeParametersFromDeclaration(declaration.typeParameters) : undefined; - var parameters = []; - var hasStringLiterals = false; - var minArgumentCount = -1; - 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 === 3 /* StringLiteral */) { - hasStringLiterals = true; - } - if (minArgumentCount < 0) { - if (param.initializer || param.flags & (4 /* QuestionMark */ | 8 /* Rest */)) { - minArgumentCount = i; - } - } - } - if (minArgumentCount < 0) { - minArgumentCount = declaration.parameters.length; - } - var returnType; - if (classType) { - returnType = classType; - } - else if (declaration.type) { - returnType = getTypeFromTypeNode(declaration.type); - } - else { - if (declaration.kind === 118 /* GetAccessor */) { - var setter = getDeclarationOfKind(declaration.symbol, 119 /* SetAccessor */); - returnType = getAnnotatedAccessorType(setter); - } - if (!returnType && !declaration.body) { - returnType = anyType; - } - } - links.resolvedSignature = createSignature(declaration, typeParameters, parameters, returnType, minArgumentCount, ts.hasRestParameters(declaration), hasStringLiterals); - } - return links.resolvedSignature; - } - function getSignaturesOfSymbol(symbol) { - if (!symbol) - return emptyArray; - var result = []; - for (var i = 0, len = symbol.declarations.length; i < len; i++) { - var node = symbol.declarations[i]; - switch (node.kind) { - case 167 /* FunctionDeclaration */: - case 116 /* Method */: - case 117 /* Constructor */: - case 120 /* CallSignature */: - case 121 /* ConstructSignature */: - case 122 /* IndexSignature */: - case 118 /* GetAccessor */: - case 119 /* SetAccessor */: - case 136 /* FunctionExpression */: - case 137 /* ArrowFunction */: - if (i > 0 && node.body) { - var previous = symbol.declarations[i - 1]; - if (node.parent === previous.parent && node.kind === previous.kind && node.pos === previous.end) { - break; - } - } - result.push(getSignatureFromDeclaration(node)); - } - } - return result; - } - function getReturnTypeOfSignature(signature) { - if (!signature.resolvedReturnType) { - signature.resolvedReturnType = resolvingType; - if (signature.target) { - var type = instantiateType(getReturnTypeOfSignature(signature.target), signature.mapper); - } - else { - var type = getReturnTypeFromBody(signature.declaration); - } - if (signature.resolvedReturnType === resolvingType) { - signature.resolvedReturnType = type; - } - } - else if (signature.resolvedReturnType === resolvingType) { - signature.resolvedReturnType = anyType; - } - return signature.resolvedReturnType; - } - function getRestTypeOfSignature(signature) { - if (signature.hasRestParameter) { - var type = getTypeOfSymbol(signature.parameters[signature.parameters.length - 1]); - if (type.flags & 4096 /* Reference */ && type.target === globalArrayType) { - return type.typeArguments[0]; - } - } - return anyType; - } - function getSignatureInstantiation(signature, typeArguments) { - return instantiateSignature(signature, createTypeMapper(signature.typeParameters, typeArguments), true); - } - function getErasedSignature(signature) { - if (!signature.typeParameters) - return signature; - if (!signature.erasedSignatureCache) { - if (signature.target) { - signature.erasedSignatureCache = instantiateSignature(getErasedSignature(signature.target), signature.mapper); - } - else { - signature.erasedSignatureCache = instantiateSignature(signature, createTypeEraser(signature.typeParameters), true); - } - } - return signature.erasedSignatureCache; - } - function getOrCreateTypeFromSignature(signature) { - if (!signature.isolatedSignatureType) { - var isConstructor = signature.declaration.kind === 117 /* Constructor */ || signature.declaration.kind === 121 /* ConstructSignature */; - var type = createObjectType(8192 /* Anonymous */ | 16384 /* FromSignature */); - type.members = emptySymbols; - type.properties = emptyArray; - type.callSignatures = !isConstructor ? [signature] : emptyArray; - type.constructSignatures = isConstructor ? [signature] : emptyArray; - signature.isolatedSignatureType = type; - } - return signature.isolatedSignatureType; - } - function getIndexSymbol(symbol) { - return symbol.members["__index"]; - } - function getIndexDeclarationOfSymbol(symbol, kind) { - var syntaxKind = kind === 1 /* Number */ ? 108 /* NumberKeyword */ : 110 /* StringKeyword */; - var indexSymbol = getIndexSymbol(symbol); - if (indexSymbol) { - var len = indexSymbol.declarations.length; - for (var i = 0; i < len; i++) { - var node = indexSymbol.declarations[i]; - if (node.parameters.length === 1) { - var parameter = node.parameters[0]; - if (parameter && parameter.type && parameter.type.kind === syntaxKind) { - return node; - } - } - } - } - return undefined; - } - function getIndexTypeOfSymbol(symbol, kind) { - var declaration = getIndexDeclarationOfSymbol(symbol, kind); - return declaration ? declaration.type ? getTypeFromTypeNode(declaration.type) : anyType : undefined; - } - function getConstraintOfTypeParameter(type) { - if (!type.constraint) { - if (type.target) { - var targetConstraint = getConstraintOfTypeParameter(type.target); - type.constraint = targetConstraint ? instantiateType(targetConstraint, type.mapper) : noConstraintType; - } - else { - type.constraint = getTypeFromTypeNode(getDeclarationOfKind(type.symbol, 113 /* TypeParameter */).constraint); - } - } - return type.constraint === noConstraintType ? undefined : type.constraint; - } - function getTypeListId(types) { - switch (types.length) { - case 1: - return "" + types[0].id; - case 2: - return types[0].id + "," + types[1].id; - default: - var result = ""; - for (var i = 0; i < types.length; i++) { - if (i > 0) - result += ","; - result += types[i].id; - } - return result; - } - } - function createTypeReference(target, typeArguments) { - var id = getTypeListId(typeArguments); - var type = target.instantiations[id]; - if (!type) { - type = target.instantiations[id] = createObjectType(4096 /* Reference */, target.symbol); - type.target = target; - type.typeArguments = typeArguments; - } - return type; - } - function isTypeParameterReferenceIllegalInConstraint(typeReferenceNode, typeParameterSymbol) { - var links = getNodeLinks(typeReferenceNode); - if (links.isIllegalTypeReferenceInConstraint !== undefined) { - return links.isIllegalTypeReferenceInConstraint; - } - var currentNode = typeReferenceNode; - while (!ts.forEach(typeParameterSymbol.declarations, function (d) { return d.parent === currentNode.parent; })) { - currentNode = currentNode.parent; - } - links.isIllegalTypeReferenceInConstraint = currentNode.kind === 113 /* TypeParameter */; - return links.isIllegalTypeReferenceInConstraint; - } - function checkTypeParameterHasIllegalReferencesInConstraint(typeParameter) { - var typeParameterSymbol; - function check(n) { - if (n.kind === 123 /* TypeReference */ && n.typeName.kind === 55 /* Identifier */) { - var links = getNodeLinks(n); - if (links.isIllegalTypeReferenceInConstraint === undefined) { - var symbol = resolveName(typeParameter, n.typeName.text, ts.SymbolFlags.Type, undefined, undefined); - if (symbol && (symbol.flags & 262144 /* TypeParameter */)) { - links.isIllegalTypeReferenceInConstraint = ts.forEach(symbol.declarations, function (d) { return d.parent == typeParameter.parent; }); - } - } - if (links.isIllegalTypeReferenceInConstraint) { - error(typeParameter, ts.Diagnostics.Constraint_of_a_type_parameter_cannot_reference_any_type_parameter_from_the_same_type_parameter_list); - } - } - ts.forEachChild(n, check); - } - if (typeParameter.constraint) { - typeParameterSymbol = getSymbolOfNode(typeParameter); - check(typeParameter.constraint); - } - } - function getTypeFromTypeReferenceNode(node) { - var links = getNodeLinks(node); - if (!links.resolvedType) { - var symbol = resolveEntityName(node, node.typeName, ts.SymbolFlags.Type); - if (symbol) { - var type; - if ((symbol.flags & 262144 /* TypeParameter */) && isTypeParameterReferenceIllegalInConstraint(node, symbol)) { - type = unknownType; - } - else { - type = getDeclaredTypeOfSymbol(symbol); - if (type.flags & (1024 /* Class */ | 2048 /* Interface */) && type.flags & 4096 /* Reference */) { - var typeParameters = type.typeParameters; - if (node.typeArguments && node.typeArguments.length === typeParameters.length) { - type = createTypeReference(type, ts.map(node.typeArguments, function (t) { return getTypeFromTypeNode(t); })); - } - else { - error(node, ts.Diagnostics.Generic_type_0_requires_1_type_argument_s, typeToString(type, 1 /* WriteArrayAsGenericType */), typeParameters.length); - type = undefined; - } - } - else { - if (node.typeArguments) { - error(node, ts.Diagnostics.Type_0_is_not_generic, typeToString(type)); - type = undefined; - } - } - } - } - links.resolvedType = type || unknownType; - } - return links.resolvedType; - } - function getTypeFromTypeQueryNode(node) { - var links = getNodeLinks(node); - if (!links.resolvedType) { - links.resolvedType = getWidenedType(checkExpression(node.exprName)); - } - return links.resolvedType; - } - function getGlobalType(name, arity) { - if (arity === void 0) { arity = 0; } - function getTypeDeclaration(symbol) { - var declarations = symbol.declarations; - for (var i = 0; i < declarations.length; i++) { - var declaration = declarations[i]; - switch (declaration.kind) { - case 169 /* ClassDeclaration */: - case 170 /* InterfaceDeclaration */: - case 171 /* EnumDeclaration */: - case 125 /* TypeLiteral */: - case 167 /* FunctionDeclaration */: - return declaration; - } - } - } - var symbol = resolveName(undefined, name, ts.SymbolFlags.Type, ts.Diagnostics.Cannot_find_global_type_0, name); - if (!symbol) { - return emptyObjectType; - } - var type = getDeclaredTypeOfSymbol(symbol); - if (!(type.flags & ts.TypeFlags.ObjectType)) { - error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, name); - return emptyObjectType; - } - if ((type.typeParameters ? type.typeParameters.length : 0) !== arity) { - error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_have_1_type_parameter_s, name, arity); - return emptyObjectType; - } - return type; - } - function createArrayType(elementType, arrayType) { - var rootType = globalArrayType || arrayType; - return rootType !== emptyObjectType ? createTypeReference(rootType, [elementType]) : emptyObjectType; - } - function getTypeFromArrayTypeNode(node) { - var links = getNodeLinks(node); - if (!links.resolvedType) { - var arrayType = globalArrayType; - if (!arrayType) { - var arrayTypeSymbol = resolveName(node, "Array", ts.SymbolFlags.Type, undefined, undefined); - ts.Debug.assert(arrayTypeSymbol); - arrayType = getDeclaredTypeOfSymbol(arrayTypeSymbol); - ts.Debug.assert(arrayType); - } - links.resolvedType = createArrayType(getTypeFromTypeNode(node.elementType), arrayType); - } - return links.resolvedType; - } - function getTypeFromTypeLiteralNode(node) { - var links = getNodeLinks(node); - if (!links.resolvedType) { - var symbol = node.symbol; - 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 */); - links.resolvedType = createAnonymousType(symbol, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); - } - return links.resolvedType; - } - function getStringLiteralType(node) { - if (ts.hasProperty(stringLiteralTypes, node.text)) - return stringLiteralTypes[node.text]; - var type = stringLiteralTypes[node.text] = createType(256 /* StringLiteral */); - type.text = ts.getSourceTextOfNode(node); - return type; - } - function getTypeFromStringLiteral(node) { - var links = getNodeLinks(node); - if (!links.resolvedType) { - links.resolvedType = getStringLiteralType(node); - } - return links.resolvedType; - } - function getTypeFromTypeNode(node) { - switch (node.kind) { - case 101 /* AnyKeyword */: - return anyType; - case 110 /* StringKeyword */: - return stringType; - case 108 /* NumberKeyword */: - return numberType; - case 102 /* BooleanKeyword */: - return booleanType; - case 89 /* VoidKeyword */: - return voidType; - case 3 /* StringLiteral */: - return getTypeFromStringLiteral(node); - case 123 /* TypeReference */: - return getTypeFromTypeReferenceNode(node); - case 124 /* TypeQuery */: - return getTypeFromTypeQueryNode(node); - case 126 /* ArrayType */: - return getTypeFromArrayTypeNode(node); - case 125 /* TypeLiteral */: - return getTypeFromTypeLiteralNode(node); - default: - return unknownType; - } - } - function instantiateList(items, mapper, instantiator) { - if (items && items.length) { - var result = []; - for (var i = 0; i < items.length; i++) { - result.push(instantiator(items[i], mapper)); - } - return result; - } - return items; - } - function createUnaryTypeMapper(source, target) { - return function (t) { return t === source ? target : t; }; - } - function createBinaryTypeMapper(source1, target1, source2, target2) { - return function (t) { return t === source1 ? target1 : t === source2 ? target2 : t; }; - } - function createTypeMapper(sources, targets) { - switch (sources.length) { - case 1: - return createUnaryTypeMapper(sources[0], targets[0]); - case 2: - return createBinaryTypeMapper(sources[0], targets[0], sources[1], targets[1]); - } - return function (t) { - for (var i = 0; i < sources.length; i++) { - if (t === sources[i]) - return targets[i]; - } - return t; - }; - } - function createUnaryTypeEraser(source) { - return function (t) { return t === source ? anyType : t; }; - } - function createBinaryTypeEraser(source1, source2) { - return function (t) { return t === source1 || t === source2 ? anyType : t; }; - } - function createTypeEraser(sources) { - switch (sources.length) { - case 1: - return createUnaryTypeEraser(sources[0]); - case 2: - return createBinaryTypeEraser(sources[0], sources[1]); - } - return function (t) { - for (var i = 0; i < sources.length; i++) { - if (t === sources[i]) - return anyType; - } - return t; - }; - } - function createInferenceMapper(context) { - return function (t) { - for (var i = 0; i < context.typeParameters.length; i++) { - if (t === context.typeParameters[i]) { - return getInferredType(context, i); - } - } - return t; - }; - } - function identityMapper(type) { - return type; - } - function combineTypeMappers(mapper1, mapper2) { - return function (t) { return mapper2(mapper1(t)); }; - } - function instantiateTypeParameter(typeParameter, mapper) { - var result = createType(512 /* TypeParameter */); - result.symbol = typeParameter.symbol; - if (typeParameter.constraint) { - result.constraint = instantiateType(typeParameter.constraint, mapper); - } - else { - result.target = typeParameter; - result.mapper = mapper; - } - return result; - } - function instantiateSignature(signature, mapper, eraseTypeParameters) { - if (signature.typeParameters && !eraseTypeParameters) { - var freshTypeParameters = instantiateList(signature.typeParameters, mapper, instantiateTypeParameter); - mapper = combineTypeMappers(createTypeMapper(signature.typeParameters, freshTypeParameters), mapper); - } - var result = createSignature(signature.declaration, freshTypeParameters, instantiateList(signature.parameters, mapper, instantiateSymbol), signature.resolvedReturnType ? instantiateType(signature.resolvedReturnType, mapper) : undefined, signature.minArgumentCount, signature.hasRestParameter, signature.hasStringLiterals); - result.target = signature; - result.mapper = mapper; - return result; - } - function instantiateSymbol(symbol, mapper) { - if (symbol.flags & 8388608 /* Instantiated */) { - var links = getSymbolLinks(symbol); - symbol = links.target; - mapper = combineTypeMappers(links.mapper, mapper); - } - var result = createSymbol(8388608 /* Instantiated */ | 33554432 /* Transient */, symbol.name); - result.declarations = symbol.declarations; - result.parent = symbol.parent; - result.target = symbol; - result.mapper = mapper; - if (symbol.valueDeclaration) { - result.valueDeclaration = symbol.valueDeclaration; - } - return result; - } - function instantiateAnonymousType(type, mapper) { - var result = createObjectType(8192 /* Anonymous */, type.symbol); - result.properties = instantiateList(getPropertiesOfType(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 */); - if (stringIndexType) - result.stringIndexType = instantiateType(stringIndexType, mapper); - if (numberIndexType) - result.numberIndexType = instantiateType(numberIndexType, mapper); - return result; - } - function instantiateType(type, mapper) { - if (type.flags & 512 /* TypeParameter */) { - return mapper(type); - } - if (type.flags & 8192 /* Anonymous */) { - return type.symbol && type.symbol.flags & (8 /* Function */ | 2048 /* Method */ | 512 /* TypeLiteral */ | 1024 /* ObjectLiteral */) ? instantiateAnonymousType(type, mapper) : type; - } - if (type.flags & 4096 /* Reference */) { - return createTypeReference(type.target, instantiateList(type.typeArguments, mapper, instantiateType)); - } - return type; - } - function isContextSensitiveExpression(node) { - switch (node.kind) { - case 136 /* FunctionExpression */: - case 137 /* ArrowFunction */: - return !node.typeParameters && !ts.forEach(node.parameters, function (p) { return p.type; }); - case 128 /* ObjectLiteral */: - return ts.forEach(node.properties, function (p) { return p.kind === 129 /* PropertyAssignment */ && isContextSensitiveExpression(p.initializer); }); - case 127 /* ArrayLiteral */: - return ts.forEach(node.elements, function (e) { return isContextSensitiveExpression(e); }); - case 141 /* ConditionalExpression */: - return isContextSensitiveExpression(node.whenTrue) || isContextSensitiveExpression(node.whenFalse); - case 140 /* BinaryExpression */: - return node.operator === 40 /* BarBarToken */ && (isContextSensitiveExpression(node.left) || isContextSensitiveExpression(node.right)); - } - return false; - } - function getTypeWithoutConstructors(type) { - if (type.flags & ts.TypeFlags.ObjectType) { - var resolved = resolveObjectTypeMembers(type); - if (resolved.constructSignatures.length) { - var result = createObjectType(8192 /* Anonymous */, type.symbol); - result.members = resolved.members; - result.properties = resolved.properties; - result.callSignatures = resolved.callSignatures; - result.constructSignatures = emptyArray; - type = result; - } - } - return type; - } - var subtypeRelation = {}; - var assignableRelation = {}; - var identityRelation = {}; - function isTypeIdenticalTo(source, target) { - return checkTypeRelatedTo(source, target, identityRelation, undefined, undefined, undefined); - } - function isTypeSubtypeOf(source, target) { - return checkTypeSubtypeOf(source, target, undefined, undefined, undefined); - } - function checkTypeSubtypeOf(source, target, errorNode, chainedMessage, terminalMessage) { - return checkTypeRelatedTo(source, target, subtypeRelation, errorNode, chainedMessage, terminalMessage); - } - function isTypeAssignableTo(source, target) { - return checkTypeAssignableTo(source, target, undefined, undefined, undefined); - } - function checkTypeAssignableTo(source, target, errorNode, chainedMessage, terminalMessage) { - return checkTypeRelatedTo(source, target, assignableRelation, errorNode, chainedMessage, terminalMessage); - } - function isTypeRelatedTo(source, target, relation) { - return checkTypeRelatedTo(source, target, relation, undefined, undefined, undefined); - } - function isSignatureAssignableTo(source, target) { - var sourceType = getOrCreateTypeFromSignature(source); - var targetType = getOrCreateTypeFromSignature(target); - return checkTypeRelatedTo(sourceType, targetType, assignableRelation, undefined, undefined, undefined); - } - function isPropertyIdenticalTo(sourceProp, targetProp) { - return isPropertyIdenticalToRecursive(sourceProp, targetProp, false, function (s, t, _reportErrors) { return isTypeIdenticalTo(s, t); }); - } - function checkInheritedPropertiesAreIdentical(type, typeNode) { - if (!type.baseTypes.length || type.baseTypes.length === 1) { - return true; - } - var seen = {}; - ts.forEach(type.declaredProperties, function (p) { - seen[p.name] = { prop: p, containingType: type }; - }); - var ok = true; - for (var i = 0, len = type.baseTypes.length; i < len; ++i) { - var base = type.baseTypes[i]; - var properties = getPropertiesOfType(base); - for (var j = 0, proplen = properties.length; j < proplen; ++j) { - var prop = properties[j]; - if (!ts.hasProperty(seen, prop.name)) { - seen[prop.name] = { prop: prop, containingType: base }; - } - else { - var existing = seen[prop.name]; - var isInheritedProperty = existing.containingType !== type; - if (isInheritedProperty && !isPropertyIdenticalTo(existing.prop, prop)) { - ok = false; - var typeName1 = typeToString(existing.containingType); - 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_Colon, typeToString(type), typeName1, typeName2); - addDiagnostic(ts.createDiagnosticForNodeFromMessageChain(typeNode, errorInfo)); - } - } - } - } - return ok; - } - function isPropertyIdenticalToRecursive(sourceProp, targetProp, reportErrors, relate) { - ts.Debug.assert(sourceProp); - if (!targetProp) { - return false; - } - var sourcePropIsPrivate = getDeclarationFlagsFromSymbol(sourceProp) & 32 /* Private */; - var targetPropIsPrivate = getDeclarationFlagsFromSymbol(targetProp) & 32 /* Private */; - if (sourcePropIsPrivate !== targetPropIsPrivate) { - return false; - } - if (sourcePropIsPrivate) { - return (getTargetSymbol(sourceProp).parent === getTargetSymbol(targetProp).parent) && relate(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp), reportErrors); - } - else { - return isOptionalProperty(sourceProp) === isOptionalProperty(targetProp) && relate(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp), reportErrors); - } - } - function checkTypeRelatedTo(source, target, relation, errorNode, chainedMessage, terminalMessage) { - var errorInfo; - var sourceStack; - var targetStack; - var expandingFlags; - var depth = 0; - var overflow = false; - ts.Debug.assert(relation !== identityRelation || !errorNode, "no error reporting in identity checking"); - var result = isRelatedToWithCustomErrors(source, target, errorNode !== undefined, chainedMessage, terminalMessage); - if (overflow) { - error(errorNode, ts.Diagnostics.Excessive_stack_depth_comparing_types_0_and_1, typeToString(source), typeToString(target)); - } - else if (errorInfo) { - addDiagnostic(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo)); - } - return result; - function reportError(message, arg0, arg1) { - errorInfo = ts.chainDiagnosticMessages(errorInfo, message, arg0, arg1); - } - function isRelatedTo(source, target, reportErrors) { - return isRelatedToWithCustomErrors(source, target, reportErrors, undefined, undefined); - } - function isRelatedToWithCustomErrors(source, target, reportErrors, chainedMessage, terminalMessage) { - if (relation === identityRelation) { - if (source === target) - return true; - } - else { - if (source === target) - return true; - if (target.flags & 1 /* Any */) - return true; - if (source === undefinedType) - return true; - if (source === nullType && target !== undefinedType) - return true; - if (source.flags & 128 /* Enum */ && target === numberType) - return true; - if (source.flags & 256 /* StringLiteral */ && target === stringType) - return true; - if (relation === assignableRelation) { - if (source.flags & 1 /* Any */) - return true; - if (source === numberType && target.flags & 128 /* Enum */) - return true; - } - } - if (source.flags & 512 /* TypeParameter */ && target.flags & 512 /* TypeParameter */) { - if (typeParameterRelatedTo(source, target, reportErrors)) { - return true; - } - } - else { - var saveErrorInfo = errorInfo; - if (source.flags & 4096 /* Reference */ && target.flags & 4096 /* Reference */ && source.target === target.target) { - if (typesRelatedTo(source.typeArguments, target.typeArguments, reportErrors)) { - return true; - } - } - var reportStructuralErrors = reportErrors && errorInfo === saveErrorInfo; - var sourceOrApparentType = relation === identityRelation ? source : getApparentType(source); - if (sourceOrApparentType.flags & ts.TypeFlags.ObjectType && target.flags & ts.TypeFlags.ObjectType && objectTypeRelatedTo(sourceOrApparentType, target, reportStructuralErrors)) { - errorInfo = saveErrorInfo; - return true; - } - } - if (reportErrors) { - chainedMessage = chainedMessage || ts.Diagnostics.Type_0_is_not_assignable_to_type_1_Colon; - terminalMessage = terminalMessage || ts.Diagnostics.Type_0_is_not_assignable_to_type_1; - var diagnosticKey = errorInfo ? chainedMessage : terminalMessage; - ts.Debug.assert(diagnosticKey); - reportError(diagnosticKey, typeToString(source), typeToString(target)); - } - return false; - } - function typesRelatedTo(sources, targets, reportErrors) { - for (var i = 0, len = sources.length; i < len; i++) { - if (!isRelatedTo(sources[i], targets[i], reportErrors)) - return false; - } - return true; - } - function typeParameterRelatedTo(source, target, reportErrors) { - if (relation === identityRelation) { - if (source.symbol.name !== target.symbol.name) { - return false; - } - if (source.constraint === target.constraint) { - return true; - } - if (source.constraint === noConstraintType || target.constraint === noConstraintType) { - return false; - } - return isRelatedTo(source.constraint, target.constraint, reportErrors); - } - else { - while (true) { - var constraint = getConstraintOfTypeParameter(source); - if (constraint === target) - return true; - if (!(constraint && constraint.flags & 512 /* TypeParameter */)) - break; - source = constraint; - } - return false; - } - } - function objectTypeRelatedTo(source, target, reportErrors) { - if (overflow) - return false; - var result; - var id = source.id + "," + target.id; - if ((result = relation[id]) !== undefined) - return result; - if (depth > 0) { - for (var i = 0; i < depth; i++) { - if (source === sourceStack[i] && target === targetStack[i]) - return true; - } - if (depth === 100) { - overflow = true; - return false; - } - } - else { - sourceStack = []; - targetStack = []; - expandingFlags = 0; - } - sourceStack[depth] = source; - targetStack[depth] = target; - depth++; - var saveExpandingFlags = expandingFlags; - if (!(expandingFlags & 1) && isDeeplyNestedGeneric(source, sourceStack)) - expandingFlags |= 1; - if (!(expandingFlags & 2) && isDeeplyNestedGeneric(target, targetStack)) - expandingFlags |= 2; - result = expandingFlags === 3 || propertiesRelatedTo(source, target, reportErrors) && signaturesRelatedTo(source, target, 0 /* Call */, reportErrors) && signaturesRelatedTo(source, target, 1 /* Construct */, reportErrors) && stringIndexTypesRelatedTo(source, target, reportErrors) && numberIndexTypesRelatedTo(source, target, reportErrors); - expandingFlags = saveExpandingFlags; - depth--; - if (depth === 0) { - relation[id] = result; - } - return result; - } - function isDeeplyNestedGeneric(type, stack) { - if (type.flags & 4096 /* Reference */ && 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) { - count++; - if (count >= 10) - return true; - } - } - } - return false; - } - function propertiesRelatedTo(source, target, reportErrors) { - if (relation === identityRelation) { - return propertiesAreIdenticalTo(source, target, reportErrors); - } - else { - return propertiesAreSubtypeOrAssignableTo(source, target, reportErrors); - } - } - function propertiesAreIdenticalTo(source, target, reportErrors) { - if (source === target) { - return true; - } - var sourceProperties = getPropertiesOfType(source); - var targetProperties = getPropertiesOfType(target); - if (sourceProperties.length !== targetProperties.length) { - return false; - } - for (var i = 0, len = sourceProperties.length; i < len; ++i) { - var sourceProp = sourceProperties[i]; - var targetProp = getPropertyOfType(target, sourceProp.name); - if (!isPropertyIdenticalToRecursive(sourceProp, targetProp, reportErrors, isRelatedTo)) { - return false; - } - } - return true; - } - function propertiesAreSubtypeOrAssignableTo(source, target, reportErrors) { - var properties = getPropertiesOfType(target); - for (var i = 0; i < properties.length; i++) { - var targetProp = properties[i]; - var sourceProp = getPropertyOfApparentType(source, targetProp.name); - if (sourceProp === targetProp) { - continue; - } - var targetPropIsOptional = isOptionalProperty(targetProp); - if (!sourceProp) { - if (!targetPropIsOptional) { - if (reportErrors) { - reportError(ts.Diagnostics.Property_0_is_missing_in_type_1, symbolToString(targetProp), typeToString(source)); - } - return false; - } - } - else if (sourceProp !== targetProp) { - if (targetProp.flags & 67108864 /* Prototype */) { - continue; - } - if (getDeclarationFlagsFromSymbol(sourceProp) & 32 /* Private */ || getDeclarationFlagsFromSymbol(targetProp) & 32 /* Private */) { - if (reportErrors) { - reportError(ts.Diagnostics.Private_property_0_cannot_be_reimplemented, symbolToString(targetProp)); - } - return false; - } - if (!isRelatedTo(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp), reportErrors)) { - if (reportErrors) { - reportError(ts.Diagnostics.Types_of_property_0_are_incompatible_Colon, symbolToString(targetProp)); - } - return false; - } - else if (isOptionalProperty(sourceProp) && !targetPropIsOptional) { - if (reportErrors) { - reportError(ts.Diagnostics.Required_property_0_cannot_be_reimplemented_with_optional_property_in_1, targetProp.name, typeToString(source)); - } - return false; - } - } - } - return true; - } - function signaturesRelatedTo(source, target, kind, reportErrors) { - if (relation === identityRelation) { - return areSignaturesIdenticalTo(source, target, kind, reportErrors); - } - else { - return areSignaturesSubtypeOrAssignableTo(source, target, kind, reportErrors); - } - } - function areSignaturesIdenticalTo(source, target, kind, reportErrors) { - var sourceSignatures = getSignaturesOfType(source, kind); - var targetSignatures = getSignaturesOfType(target, kind); - if (sourceSignatures.length !== targetSignatures.length) { - return false; - } - for (var i = 0, len = sourceSignatures.length; i < len; ++i) { - if (!isSignatureIdenticalTo(sourceSignatures[i], targetSignatures[i], reportErrors)) { - return false; - } - } - return true; - } - function isSignatureIdenticalTo(source, target, reportErrors) { - if (source === target) { - return true; - } - if (source.hasRestParameter !== target.hasRestParameter) { - return false; - } - if (source.parameters.length !== target.parameters.length) { - return false; - } - if (source.minArgumentCount !== target.minArgumentCount) { - return false; - } - if (source.typeParameters && target.typeParameters) { - if (source.typeParameters.length !== target.typeParameters.length) { - return false; - } - for (var i = 0, len = source.typeParameters.length; i < len; ++i) { - if (!isRelatedTo(source.typeParameters[i], target.typeParameters[i], reportErrors)) { - return false; - } - } - } - else if (source.typeParameters || source.typeParameters) { - return false; - } - source = getErasedSignature(source); - target = getErasedSignature(target); - for (var i = 0, len = source.parameters.length; i < len; i++) { - var s = source.hasRestParameter && i === len - 1 ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]); - var t = target.hasRestParameter && i === len - 1 ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]); - if (!isRelatedTo(s, t, reportErrors)) { - return false; - } - } - var t = getReturnTypeOfSignature(target); - var s = getReturnTypeOfSignature(source); - return isRelatedTo(s, t, reportErrors); - } - function areSignaturesSubtypeOrAssignableTo(source, target, kind, reportErrors) { - if (target === anyFunctionType || source === anyFunctionType) - return true; - var sourceSignatures = getSignaturesOfType(source, kind); - var targetSignatures = getSignaturesOfType(target, kind); - var saveErrorInfo = errorInfo; - outer: for (var i = 0; i < targetSignatures.length; i++) { - var t = targetSignatures[i]; - if (!t.hasStringLiterals || target.flags & 16384 /* FromSignature */) { - var localErrors = reportErrors; - for (var j = 0; j < sourceSignatures.length; j++) { - var s = sourceSignatures[j]; - if (!s.hasStringLiterals || source.flags & 16384 /* FromSignature */) { - if (isSignatureSubtypeOrAssignableTo(s, t, localErrors)) { - errorInfo = saveErrorInfo; - continue outer; - } - localErrors = false; - } - } - return false; - } - } - return true; - } - function isSignatureSubtypeOrAssignableTo(source, target, reportErrors) { - if (source === target) { - return true; - } - if (!target.hasRestParameter && source.minArgumentCount > target.parameters.length) { - return false; - } - var sourceMax = source.parameters.length; - var targetMax = target.parameters.length; - var checkCount; - if (source.hasRestParameter && target.hasRestParameter) { - checkCount = sourceMax > targetMax ? sourceMax : targetMax; - sourceMax--; - targetMax--; - } - else if (source.hasRestParameter) { - sourceMax--; - checkCount = targetMax; - } - else if (target.hasRestParameter) { - targetMax--; - checkCount = sourceMax; - } - else { - checkCount = sourceMax < targetMax ? sourceMax : targetMax; - } - source = getErasedSignature(source); - target = getErasedSignature(target); - 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); - var saveErrorInfo = errorInfo; - if (!isRelatedTo(s, t, reportErrors)) { - if (!isRelatedTo(t, s, false)) { - if (reportErrors) { - reportError(ts.Diagnostics.Types_of_parameters_0_and_1_are_incompatible_Colon, source.parameters[i < sourceMax ? i : sourceMax].name, target.parameters[i < targetMax ? i : targetMax].name); - } - return false; - } - errorInfo = saveErrorInfo; - } - } - var t = getReturnTypeOfSignature(target); - if (t === voidType) - return true; - var s = getReturnTypeOfSignature(source); - return isRelatedTo(s, t, reportErrors); - } - function stringIndexTypesRelatedTo(source, target, reportErrors) { - if (relation === identityRelation) { - return areIndexTypesIdenticalTo(0 /* String */, source, target, reportErrors); - } - else { - var targetType = getIndexTypeOfType(target, 0 /* String */); - if (targetType) { - var sourceType = getIndexTypeOfType(source, 0 /* String */); - if (!sourceType) { - if (reportErrors) { - reportError(ts.Diagnostics.Index_signature_is_missing_in_type_0, typeToString(source)); - } - return false; - } - if (!isRelatedTo(sourceType, targetType, reportErrors)) { - if (reportErrors) { - reportError(ts.Diagnostics.Index_signatures_are_incompatible_Colon); - } - return false; - } - } - return true; - } - } - function numberIndexTypesRelatedTo(source, target, reportErrors) { - if (relation === identityRelation) { - return areIndexTypesIdenticalTo(1 /* Number */, source, target, reportErrors); - } - else { - var targetType = getIndexTypeOfType(target, 1 /* Number */); - if (targetType) { - var sourceStringType = getIndexTypeOfType(source, 0 /* String */); - var sourceNumberType = getIndexTypeOfType(source, 1 /* Number */); - if (!(sourceStringType || sourceNumberType)) { - if (reportErrors) { - reportError(ts.Diagnostics.Index_signature_is_missing_in_type_0, typeToString(source)); - } - return false; - } - if (sourceStringType && sourceNumberType) { - var compatible = isRelatedTo(sourceStringType, targetType, false) || isRelatedTo(sourceNumberType, targetType, reportErrors); - } - else { - var compatible = isRelatedTo(sourceStringType || sourceNumberType, targetType, reportErrors); - } - if (!compatible) { - if (reportErrors) { - reportError(ts.Diagnostics.Index_signatures_are_incompatible_Colon); - } - return false; - } - } - return true; - } - } - function areIndexTypesIdenticalTo(indexKind, source, target, reportErrors) { - var targetType = getIndexTypeOfType(target, indexKind); - var sourceType = getIndexTypeOfType(source, indexKind); - return (!sourceType && !targetType) || (sourceType && targetType && isRelatedTo(sourceType, targetType, reportErrors)); - } - } - function isSupertypeOfEach(candidate, types) { - for (var i = 0, len = types.length; i < len; i++) { - if (candidate !== types[i] && !isTypeSubtypeOf(types[i], candidate)) - return false; - } - return true; - } - function getBestCommonType(types, contextualType, candidatesOnly) { - if (contextualType && isSupertypeOfEach(contextualType, types)) - return contextualType; - return ts.forEach(types, function (t) { return isSupertypeOfEach(t, types) ? t : undefined; }) || (candidatesOnly ? undefined : emptyObjectType); - } - function isTypeOfObjectLiteral(type) { - return (type.flags & 8192 /* Anonymous */) && type.symbol && (type.symbol.flags & 1024 /* ObjectLiteral */) ? true : false; - } - function getWidenedTypeOfObjectLiteral(type) { - var properties = getPropertiesOfType(type); - if (properties.length) { - var widenedTypes = []; - var propTypeWasWidened = false; - ts.forEach(properties, function (p) { - var propType = getTypeOfSymbol(p); - var widenedType = getWidenedType(propType); - if (propType !== widenedType) { - propTypeWasWidened = true; - if (program.getCompilerOptions().noImplicitAny && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { - error(p.valueDeclaration, ts.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, p.name, typeToString(widenedType)); - } - } - widenedTypes.push(widenedType); - }); - if (propTypeWasWidened) { - var members = {}; - var index = 0; - ts.forEach(properties, function (p) { - var symbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, p.name); - symbol.declarations = p.declarations; - symbol.parent = p.parent; - symbol.type = widenedTypes[index++]; - if (p.valueDeclaration) - symbol.valueDeclaration = p.valueDeclaration; - members[symbol.name] = symbol; - }); - var stringIndexType = getIndexTypeOfType(type, 0 /* String */); - var numberIndexType = getIndexTypeOfType(type, 1 /* Number */); - if (stringIndexType) - stringIndexType = getWidenedType(stringIndexType); - if (numberIndexType) - numberIndexType = getWidenedType(numberIndexType); - type = createAnonymousType(type.symbol, members, emptyArray, emptyArray, stringIndexType, numberIndexType); - } - } - return type; - } - function isArrayType(type) { - return type.flags & 4096 /* Reference */ && type.target === globalArrayType; - } - function getInnermostTypeOfNestedArrayTypes(type) { - while (isArrayType(type)) { - type = type.typeArguments[0]; - } - return type; - } - function getWidenedTypeOfArrayLiteral(type) { - var elementType = type.typeArguments[0]; - var widenedType = getWidenedType(elementType); - type = elementType !== widenedType ? createArrayType(widenedType) : type; - return type; - } - function getWidenedType(type) { - if (type.flags & (32 /* Undefined */ | 64 /* Null */)) { - return anyType; - } - if (isTypeOfObjectLiteral(type)) { - return getWidenedTypeOfObjectLiteral(type); - } - if (isArrayType(type)) { - return getWidenedTypeOfArrayLiteral(type); - } - return type; - } - function forEachMatchingParameterType(source, target, callback) { - var sourceMax = source.parameters.length; - var targetMax = target.parameters.length; - var count; - if (source.hasRestParameter && target.hasRestParameter) { - count = sourceMax > targetMax ? sourceMax : targetMax; - sourceMax--; - targetMax--; - } - else if (source.hasRestParameter) { - sourceMax--; - count = targetMax; - } - else if (target.hasRestParameter) { - targetMax--; - count = sourceMax; - } - else { - count = sourceMax < targetMax ? sourceMax : targetMax; - } - for (var i = 0; i < count; i++) { - var s = i < sourceMax ? getTypeOfSymbol(source.parameters[i]) : getRestTypeOfSignature(source); - var t = i < targetMax ? getTypeOfSymbol(target.parameters[i]) : getRestTypeOfSignature(target); - callback(s, t); - } - } - function createInferenceContext(typeParameters) { - var inferences = []; - for (var i = 0; i < typeParameters.length; i++) - inferences.push([]); - return { - typeParameters: typeParameters, - inferences: inferences, - inferredTypes: new Array(typeParameters.length) - }; - } - function inferTypes(context, source, target) { - var sourceStack; - var targetStack; - var depth = 0; - inferFromTypes(source, target); - function isInProcess(source, target) { - for (var i = 0; i < depth; i++) { - if (source === sourceStack[i] && target === targetStack[i]) - return true; - } - return false; - } - function isWithinDepthLimit(type, stack) { - if (depth >= 5) { - 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) - count++; - } - return count < 5; - } - return true; - } - function inferFromTypes(source, target) { - if (target.flags & 512 /* TypeParameter */) { - var typeParameters = context.typeParameters; - for (var i = 0; i < typeParameters.length; i++) { - if (target === typeParameters[i]) { - var inferences = context.inferences[i]; - if (!ts.contains(inferences, source)) - inferences.push(source); - break; - } - } - } - else if (source.flags & 4096 /* Reference */ && target.flags & 4096 /* Reference */ && 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 (source.flags & ts.TypeFlags.ObjectType && (target.flags & 4096 /* Reference */ || (target.flags & 8192 /* Anonymous */) && target.symbol && target.symbol.flags & (2048 /* Method */ | 512 /* TypeLiteral */))) { - if (!isInProcess(source, target) && isWithinDepthLimit(source, sourceStack) && isWithinDepthLimit(target, targetStack)) { - if (depth === 0) { - sourceStack = []; - targetStack = []; - } - sourceStack[depth] = source; - 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 */); - depth--; - } - } - } - function inferFromProperties(source, target) { - var properties = getPropertiesOfType(target); - for (var i = 0; i < properties.length; i++) { - var targetProp = properties[i]; - var sourceProp = getPropertyOfType(source, targetProp.name); - if (sourceProp) { - inferFromTypes(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp)); - } - } - } - function inferFromSignatures(source, target, kind) { - var sourceSignatures = getSignaturesOfType(source, kind); - var targetSignatures = getSignaturesOfType(target, kind); - var sourceLen = sourceSignatures.length; - var targetLen = targetSignatures.length; - var len = sourceLen < targetLen ? sourceLen : targetLen; - for (var i = 0; i < len; i++) { - inferFromSignature(getErasedSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i])); - } - } - function inferFromSignature(source, target) { - forEachMatchingParameterType(source, target, inferFromTypes); - inferFromTypes(getReturnTypeOfSignature(source), getReturnTypeOfSignature(target)); - } - function inferFromIndexTypes(source, target, sourceKind, targetKind) { - var targetIndexType = getIndexTypeOfType(target, targetKind); - if (targetIndexType) { - var sourceIndexType = getIndexTypeOfType(source, sourceKind); - if (sourceIndexType) { - inferFromTypes(sourceIndexType, targetIndexType); - } - } - } - } - function getInferredType(context, index) { - var result = context.inferredTypes[index]; - if (!result) { - var commonType = getWidenedType(getBestCommonType(context.inferences[index])); - var constraint = getConstraintOfTypeParameter(context.typeParameters[index]); - var result = constraint && !isTypeAssignableTo(commonType, constraint) ? constraint : commonType; - context.inferredTypes[index] = result; - } - return result; - } - function getInferredTypes(context) { - for (var i = 0; i < context.inferredTypes.length; i++) { - getInferredType(context, i); - } - context.inferences = undefined; - return context.inferredTypes; - } - function hasAncestor(node, kind) { - return getAncestor(node, kind) !== undefined; - } - function getAncestor(node, kind) { - switch (kind) { - case 169 /* ClassDeclaration */: - while (node) { - switch (node.kind) { - case 169 /* ClassDeclaration */: - return node; - case 171 /* EnumDeclaration */: - case 170 /* InterfaceDeclaration */: - case 172 /* ModuleDeclaration */: - case 174 /* ImportDeclaration */: - return undefined; - default: - node = node.parent; - continue; - } - } - break; - default: - while (node) { - if (node.kind === kind) { - return node; - } - else { - node = node.parent; - } - } - break; - } - return undefined; - } - function checkIdentifier(node) { - function isInTypeQuery(node) { - while (node) { - switch (node.kind) { - case 124 /* TypeQuery */: - return true; - case 55 /* Identifier */: - case 112 /* QualifiedName */: - node = node.parent; - continue; - default: - return false; - } - } - ts.Debug.fail("should not get here"); - } - var symbol = resolveName(node, node.text, ts.SymbolFlags.Value | 524288 /* ExportValue */, ts.Diagnostics.Cannot_find_name_0, ts.identifierToString(node)); - if (!symbol) { - symbol = unknownSymbol; - } - if (symbol.flags & 4194304 /* Import */) { - getSymbolLinks(symbol).referenced = !isInTypeQuery(node); - } - getNodeLinks(node).resolvedSymbol = symbol; - checkCollisionWithCapturedSuperVariable(node, node); - checkCollisionWithCapturedThisVariable(node, node); - checkCollisionWithIndexVariableInGeneratedCode(node, node); - return getTypeOfSymbol(getExportSymbolOfValueSymbolIfExported(symbol)); - } - function getThisContainer(node) { - while (true) { - node = node.parent; - if (!node) { - return node; - } - switch (node.kind) { - case 167 /* FunctionDeclaration */: - case 136 /* FunctionExpression */: - case 172 /* ModuleDeclaration */: - case 115 /* Property */: - case 116 /* Method */: - case 117 /* Constructor */: - case 118 /* GetAccessor */: - case 119 /* SetAccessor */: - case 171 /* EnumDeclaration */: - case 177 /* SourceFile */: - case 137 /* ArrowFunction */: - return node; - } - } - } - function captureLexicalThis(node, container) { - var classNode = container.parent && container.parent.kind === 169 /* ClassDeclaration */ ? container.parent : undefined; - getNodeLinks(node).flags |= 2 /* LexicalThis */; - if (container.kind === 115 /* Property */ || container.kind === 117 /* Constructor */) { - getNodeLinks(classNode).flags |= 4 /* CaptureThis */; - } - else { - getNodeLinks(container).flags |= 4 /* CaptureThis */; - } - } - function checkThisExpression(node) { - var container = getThisContainer(node); - var needToCaptureLexicalThis = false; - while (container.kind === 137 /* ArrowFunction */) { - container = getThisContainer(container); - needToCaptureLexicalThis = true; - } - switch (container.kind) { - case 172 /* ModuleDeclaration */: - error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_body); - break; - case 171 /* EnumDeclaration */: - error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); - break; - case 117 /* Constructor */: - if (isInConstructorArgumentInitializer(node, container)) { - error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); - } - break; - case 115 /* Property */: - if (container.flags & 64 /* Static */) { - error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer); - } - break; - } - if (needToCaptureLexicalThis) { - captureLexicalThis(node, container); - } - var classNode = container.parent && container.parent.kind === 169 /* ClassDeclaration */ ? container.parent : undefined; - if (classNode) { - var symbol = getSymbolOfNode(classNode); - return container.flags & 64 /* Static */ ? getTypeOfSymbol(symbol) : getDeclaredTypeOfSymbol(symbol); - } - return anyType; - } - function getSuperContainer(node) { - while (true) { - node = node.parent; - if (!node) - return node; - switch (node.kind) { - case 167 /* FunctionDeclaration */: - case 136 /* FunctionExpression */: - case 137 /* ArrowFunction */: - case 115 /* Property */: - case 116 /* Method */: - case 117 /* Constructor */: - case 118 /* GetAccessor */: - case 119 /* SetAccessor */: - return node; - } - } - } - function isInConstructorArgumentInitializer(node, constructorDecl) { - for (var n = node; n && n !== constructorDecl; n = n.parent) { - if (n.kind === 114 /* Parameter */) { - return true; - } - } - return false; - } - function checkSuperExpression(node, isCallExpression) { - var enclosingClass = getAncestor(node, 169 /* ClassDeclaration */); - var baseClass; - if (enclosingClass && enclosingClass.baseType) { - var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(enclosingClass)); - baseClass = classType.baseTypes.length && classType.baseTypes[0]; - } - if (!baseClass) { - error(node, ts.Diagnostics.super_can_only_be_referenced_in_a_derived_class); - return unknownType; - } - var container = getSuperContainer(node); - if (container) { - var canUseSuperExpression = false; - if (isCallExpression) { - canUseSuperExpression = container.kind === 117 /* Constructor */; - } - else { - var needToCaptureLexicalThis = false; - while (container && container.kind === 137 /* ArrowFunction */) { - container = getSuperContainer(container); - needToCaptureLexicalThis = true; - } - if (container && container.parent && container.parent.kind === 169 /* ClassDeclaration */) { - if (container.flags & 64 /* Static */) { - canUseSuperExpression = container.kind === 116 /* Method */ || container.kind === 118 /* GetAccessor */ || container.kind === 119 /* SetAccessor */; - } - else { - canUseSuperExpression = container.kind === 116 /* Method */ || container.kind === 118 /* GetAccessor */ || container.kind === 119 /* SetAccessor */ || container.kind === 115 /* Property */ || container.kind === 117 /* Constructor */; - } - } - } - if (canUseSuperExpression) { - var returnType; - if ((container.flags & 64 /* Static */) || isCallExpression) { - getNodeLinks(node).flags |= 32 /* SuperStatic */; - returnType = getTypeOfSymbol(baseClass.symbol); - } - else { - getNodeLinks(node).flags |= 16 /* SuperInstance */; - returnType = baseClass; - } - if (container.kind === 117 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { - error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); - returnType = unknownType; - } - if (!isCallExpression && needToCaptureLexicalThis) { - captureLexicalThis(node.parent, container); - } - return returnType; - } - } - if (isCallExpression) { - error(node, ts.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors); - } - else { - error(node, ts.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class); - } - return unknownType; - } - function isInferentialContext(mapper) { - return mapper && mapper !== identityMapper; - } - function checkArrayLiteral(node, contextualType, contextualMapper) { - var contextualElementType = contextualType && getIndexTypeOfType(contextualType, 1 /* Number */); - var elementTypes = []; - ts.forEach(node.elements, function (element) { - if (element.kind !== 142 /* OmittedExpression */) { - var type = checkExpression(element, contextualElementType, contextualMapper); - if (!ts.contains(elementTypes, type)) - elementTypes.push(type); - } - }); - var elementType = getBestCommonType(elementTypes, isInferentialContext(contextualMapper) ? undefined : contextualElementType, true); - if (!elementType) - elementType = elementTypes.length ? emptyObjectType : undefinedType; - return createArrayType(elementType); - } - function isNumericName(name) { - return !isNaN(name); - } - function getContextualTypeForProperty(type, name) { - var prop = getPropertyOfType(type, name); - if (prop) - return getTypeOfSymbol(prop); - return isNumericName(name) && getIndexTypeOfType(type, 1 /* Number */) || getIndexTypeOfType(type, 0 /* String */); - } - function checkObjectLiteral(node, contextualType, contextualMapper) { - var members = node.symbol.members; - var properties = {}; - for (var id in members) { - if (ts.hasProperty(members, id)) { - var member = members[id]; - if (member.flags & 2 /* Property */) { - var contextualPropType = contextualType && getContextualTypeForProperty(contextualType, member.name); - var type = checkExpression(member.declarations[0].initializer, contextualPropType, contextualMapper); - var prop = createSymbol(2 /* Property */ | 33554432 /* Transient */, member.name); - prop.declarations = member.declarations; - prop.parent = member.parent; - if (member.valueDeclaration) - prop.valueDeclaration = member.valueDeclaration; - prop.type = type; - member = prop; - } - else { - var getAccessor = getDeclarationOfKind(member, 118 /* GetAccessor */); - if (getAccessor) { - checkAccessorDeclaration(getAccessor); - } - var setAccessor = getDeclarationOfKind(member, 119 /* SetAccessor */); - if (setAccessor) { - checkAccessorDeclaration(setAccessor); - } - } - properties[member.name] = member; - } - } - var stringIndexType = getIndexType(properties, 0 /* String */); - var numberIndexType = getIndexType(properties, 1 /* Number */); - return createAnonymousType(node.symbol, properties, emptyArray, emptyArray, stringIndexType, numberIndexType); - function getIndexType(properties, kind) { - if (contextualType) { - var indexType = getIndexTypeOfType(contextualType, kind); - if (indexType) { - var propTypes = []; - for (var id in properties) { - if (ts.hasProperty(properties, id)) { - if (kind === 0 /* String */ || isNumericName(id)) { - var type = getTypeOfSymbol(properties[id]); - if (!ts.contains(propTypes, type)) - propTypes.push(type); - } - } - } - return getBestCommonType(propTypes, isInferentialContext(contextualMapper) ? undefined : indexType); - } - } - } - } - function getDeclarationKindFromSymbol(s) { - return s.flags & 67108864 /* Prototype */ ? 115 /* Property */ : s.valueDeclaration.kind; - } - function getDeclarationFlagsFromSymbol(s) { - return s.flags & 67108864 /* Prototype */ ? 16 /* Public */ | 64 /* Static */ : s.valueDeclaration.flags; - } - function checkPropertyAccess(node) { - var type = checkExpression(node.left); - if (type === unknownType) - return type; - if (type !== anyType) { - var apparentType = getApparentType(getWidenedType(type)); - if (apparentType === unknownType) { - return unknownType; - } - var prop = getPropertyOfApparentType(apparentType, node.right.text); - if (!prop) { - if (node.right.text) { - error(node.right, ts.Diagnostics.Property_0_does_not_exist_on_type_1, ts.identifierToString(node.right), typeToString(type)); - } - return unknownType; - } - getNodeLinks(node).resolvedSymbol = prop; - if (prop.parent && prop.parent.flags & 16 /* Class */) { - if (node.left.kind === 81 /* SuperKeyword */ && getDeclarationKindFromSymbol(prop) !== 116 /* Method */) { - error(node.right, ts.Diagnostics.Only_public_methods_of_the_base_class_are_accessible_via_the_super_keyword); - } - else if (getDeclarationFlagsFromSymbol(prop) & 32 /* Private */) { - var classDeclaration = getAncestor(node, 169 /* ClassDeclaration */); - if (!classDeclaration || !ts.contains(prop.parent.declarations, classDeclaration)) { - error(node, ts.Diagnostics.Property_0_is_inaccessible, getFullyQualifiedName(prop)); - } - } - } - return getTypeOfSymbol(prop); - } - return anyType; - } - function checkIndexedAccess(node) { - var objectType = checkExpression(node.object); - var indexType = checkExpression(node.index); - if (objectType === unknownType) - return unknownType; - var apparentType = getApparentType(objectType); - if (apparentType === unknownType) { - return unknownType; - } - if (node.index.kind === 3 /* StringLiteral */ || node.index.kind === 2 /* NumericLiteral */) { - var name = node.index.text; - var prop = getPropertyOfApparentType(apparentType, name); - if (prop) { - return getTypeOfSymbol(prop); - } - } - if (indexType.flags & (1 /* Any */ | ts.TypeFlags.StringLike | ts.TypeFlags.NumberLike)) { - if (indexType.flags & (1 /* Any */ | ts.TypeFlags.NumberLike)) { - var numberIndexType = getIndexTypeOfType(apparentType, 1 /* Number */); - if (numberIndexType) { - return numberIndexType; - } - } - var stringIndexType = getIndexTypeOfType(apparentType, 0 /* String */); - if (stringIndexType) { - return stringIndexType; - } - if (program.getCompilerOptions().noImplicitAny && objectType !== anyType) { - error(node, ts.Diagnostics.Index_signature_of_object_type_implicitly_has_an_any_type); - } - return anyType; - } - error(node, ts.Diagnostics.An_index_expression_argument_must_be_of_type_string_number_or_any); - return unknownType; - } - function checkUntypedCall(node) { - ts.forEach(node.arguments, function (argument) { - checkExpression(argument); - }); - return anyType; - } - function checkErrorCall(node) { - checkUntypedCall(node); - return unknownType; - } - function isCandidateSignature(node, signature) { - var args = node.arguments || emptyArray; - return args.length >= signature.minArgumentCount && (signature.hasRestParameter || args.length <= signature.parameters.length) && (!node.typeArguments || signature.typeParameters && node.typeArguments.length === signature.typeParameters.length); - } - function collectCandidates(node, signatures) { - var result = []; - var lastParent; - var pos; - for (var i = 0; i < signatures.length; i++) { - var signature = signatures[i]; - if (isCandidateSignature(node, signature)) { - var parent = signature.declaration ? signature.declaration.parent : undefined; - if (lastParent && parent === lastParent) { - pos++; - } - else { - lastParent = parent; - pos = 0; - } - for (var j = result.length; j > pos; j--) { - result[j] = result[j - 1]; - } - result[pos] = signature; - } - } - return result; - } - function getSingleCallSignature(type) { - if (type.flags & ts.TypeFlags.ObjectType) { - var resolved = resolveObjectTypeMembers(type); - if (resolved.callSignatures.length === 1 && resolved.constructSignatures.length === 0 && resolved.properties.length === 0 && !resolved.stringIndexType && !resolved.numberIndexType) { - return resolved.callSignatures[0]; - } - } - return undefined; - } - function instantiateSignatureInContextOf(signature, contextualSignature, contextualMapper) { - var context = createInferenceContext(signature.typeParameters); - forEachMatchingParameterType(contextualSignature, signature, function (source, target) { - inferTypes(context, instantiateType(source, contextualMapper), target); - }); - return getSignatureInstantiation(signature, getInferredTypes(context)); - } - function inferentiallyTypeExpession(expr, contextualType, contextualMapper) { - var type = checkExpression(expr, contextualType, contextualMapper); - var signature = getSingleCallSignature(type); - if (signature && signature.typeParameters) { - var contextualSignature = getSingleCallSignature(contextualType); - if (contextualSignature && !contextualSignature.typeParameters) { - type = getOrCreateTypeFromSignature(instantiateSignatureInContextOf(signature, contextualSignature, contextualMapper)); - } - } - return type; - } - function inferTypeArguments(signature, args, excludeArgument) { - var typeParameters = signature.typeParameters; - var context = createInferenceContext(typeParameters); - var mapper = createInferenceMapper(context); - for (var i = 0; i < args.length; i++) { - if (!excludeArgument || excludeArgument[i] === undefined) { - var parameterType = getTypeAtPosition(signature, i); - inferTypes(context, inferentiallyTypeExpession(args[i], parameterType, mapper), parameterType); - } - } - if (excludeArgument) { - for (var i = 0; i < args.length; i++) { - if (excludeArgument[i] === false) { - var parameterType = getTypeAtPosition(signature, i); - inferTypes(context, inferentiallyTypeExpession(args[i], parameterType, mapper), parameterType); - } - } - } - return getInferredTypes(context); - } - function checkTypeArguments(signature, typeArguments) { - var typeParameters = signature.typeParameters; - var result = []; - for (var i = 0; i < typeParameters.length; i++) { - var typeArgNode = typeArguments[i]; - var typeArgument = getTypeFromTypeNode(typeArgNode); - var constraint = getConstraintOfTypeParameter(typeParameters[i]); - if (constraint) { - checkTypeAssignableTo(typeArgument, constraint, typeArgNode, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1_Colon, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); - } - result.push(typeArgument); - } - return result; - } - function checkApplicableSignature(node, signature, relation, excludeArgument, reportErrors) { - if (node.arguments) { - for (var i = 0; i < node.arguments.length; i++) { - var arg = node.arguments[i]; - var paramType = getTypeAtPosition(signature, i); - var argType = arg.kind === 3 /* StringLiteral */ && !reportErrors ? getStringLiteralType(arg) : checkExpression(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, ts.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1); - if (!isValidArgument) { - return false; - } - } - } - return true; - } - function checkCall(node, signatures) { - ts.forEach(node.typeArguments, checkSourceElement); - var candidates = collectCandidates(node, signatures); - if (!candidates.length) { - error(node, ts.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target); - return checkErrorCall(node); - } - var args = node.arguments || emptyArray; - var excludeArgument; - for (var i = 0; i < args.length; i++) { - if (isContextSensitiveExpression(args[i])) { - if (!excludeArgument) - excludeArgument = new Array(args.length); - excludeArgument[i] = true; - } - } - var relation = candidates.length === 1 ? assignableRelation : subtypeRelation; - while (true) { - for (var i = 0; i < candidates.length; i++) { - while (true) { - var candidate = candidates[i]; - if (candidate.typeParameters) { - var typeArguments = node.typeArguments ? checkTypeArguments(candidate, node.typeArguments) : inferTypeArguments(candidate, args, excludeArgument); - candidate = getSignatureInstantiation(candidate, typeArguments); - } - if (!checkApplicableSignature(node, candidate, relation, excludeArgument, false)) { - break; - } - var index = excludeArgument ? ts.indexOf(excludeArgument, true) : -1; - if (index < 0) { - return getReturnTypeOfSignature(candidate); - } - excludeArgument[index] = false; - } - } - if (relation === assignableRelation) { - break; - } - relation = assignableRelation; - } - checkApplicableSignature(node, candidate, relation, undefined, true); - return checkErrorCall(node); - } - function checkCallExpression(node) { - if (node.func.kind === 81 /* SuperKeyword */) { - var superType = checkSuperExpression(node.func, true); - if (superType !== unknownType) { - checkCall(node, getSignaturesOfType(superType, 1 /* Construct */)); - } - else { - checkUntypedCall(node); - } - return voidType; - } - var funcType = checkExpression(node.func); - if (funcType === unknownType) { - return checkErrorCall(node); - } - var apparentType = getApparentType(funcType); - if (apparentType === unknownType) { - return checkErrorCall(node); - } - var callSignatures = getSignaturesOfType(apparentType, 0 /* Call */); - var constructSignatures = getSignaturesOfType(apparentType, 1 /* Construct */); - if ((funcType === anyType) || (!callSignatures.length && !constructSignatures.length && isTypeAssignableTo(funcType, globalFunctionType))) { - if (node.typeArguments) { - error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); - } - return checkUntypedCall(node); - } - if (!callSignatures.length) { - if (constructSignatures.length) { - error(node, ts.Diagnostics.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new, typeToString(funcType)); - } - else { - error(node, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature); - } - return checkErrorCall(node); - } - return checkCall(node, callSignatures); - } - function checkNewExpression(node) { - var expressionType = checkExpression(node.func); - if (expressionType === unknownType) { - return checkErrorCall(node); - } - if (expressionType === anyType) { - if (node.typeArguments) { - error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); - } - return checkUntypedCall(node); - } - expressionType = getApparentType(expressionType); - if (expressionType === unknownType) { - return checkErrorCall(node); - } - var constructSignatures = getSignaturesOfType(expressionType, 1 /* Construct */); - if (constructSignatures.length) { - return checkCall(node, constructSignatures); - } - var callSignatures = getSignaturesOfType(expressionType, 0 /* Call */); - if (callSignatures.length) { - var type = checkCall(node, callSignatures); - if (type !== voidType) { - error(node, ts.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword); - } - if (program.getCompilerOptions().noImplicitAny) { - error(node, ts.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type); - } - return anyType; - } - error(node, ts.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature); - return checkErrorCall(node); - } - function checkTypeAssertion(node) { - var targetType = getTypeFromTypeNode(node.type); - if (targetType === unknownType) - return unknownType; - var exprType = checkExpression(node.operand, targetType); - var widenedType = getWidenedType(exprType); - if (!(isTypeAssignableTo(exprType, targetType) || isTypeAssignableTo(targetType, widenedType))) { - checkTypeAssignableTo(targetType, widenedType, node, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other_Colon, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); - } - return targetType; - } - function getContextualSignature(contextualType) { - if (contextualType) { - var signatures = getSignaturesOfType(contextualType, 0 /* Call */); - if (signatures.length === 1) { - var signature = signatures[0]; - if (!signature.typeParameters) { - return signature; - } - } - } - } - function getTypeAtPosition(signature, pos) { - return signature.hasRestParameter ? pos < signature.parameters.length - 1 ? getTypeOfSymbol(signature.parameters[pos]) : getRestTypeOfSignature(signature) : pos < signature.parameters.length ? getTypeOfSymbol(signature.parameters[pos]) : anyType; - } - function assignContextualParameterTypes(signature, context, mapper) { - var len = signature.parameters.length - (signature.hasRestParameter ? 1 : 0); - for (var i = 0; i < len; i++) { - var parameter = signature.parameters[i]; - var links = getSymbolLinks(parameter); - if (!links.type) { - links.type = instantiateType(getTypeAtPosition(context, i), mapper); - } - } - if (signature.hasRestParameter && context.hasRestParameter && signature.parameters.length >= context.parameters.length) { - var parameter = signature.parameters[signature.parameters.length - 1]; - var links = getSymbolLinks(parameter); - if (!links.type) { - links.type = instantiateType(getTypeOfSymbol(context.parameters[context.parameters.length - 1]), mapper); - } - } - } - function getReturnTypeFromBody(func, contextualType, contextualMapper) { - if (func.body.kind !== 168 /* FunctionBlock */) { - var unwidenedType = checkAndMarkExpression(func.body, contextualType, contextualMapper); - var widenedType = getWidenedType(unwidenedType); - if (program.getCompilerOptions().noImplicitAny && widenedType !== unwidenedType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { - error(func, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeToString(widenedType)); - } - return widenedType; - } - var types = checkAndAggregateReturnExpressionTypes(func.body, contextualType, contextualMapper); - if (types.length > 0) { - var commonType = getBestCommonType(types, undefined, true); - if (!commonType) { - error(func, ts.Diagnostics.No_best_common_type_exists_among_return_expressions); - return unknownType; - } - var widenedType = getWidenedType(commonType); - if (program.getCompilerOptions().noImplicitAny && widenedType !== commonType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { - var typeName = typeToString(widenedType); - if (func.name) { - error(func, ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type, ts.identifierToString(func.name), typeName); - } - else { - error(func, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeName); - } - } - return widenedType; - } - return voidType; - } - function forEachReturnStatement(body, visitor) { - return traverse(body); - function traverse(node) { - switch (node.kind) { - case 154 /* ReturnStatement */: - return visitor(node); - case 143 /* Block */: - case 168 /* FunctionBlock */: - case 147 /* IfStatement */: - case 148 /* DoStatement */: - case 149 /* WhileStatement */: - case 150 /* ForStatement */: - case 151 /* ForInStatement */: - case 155 /* WithStatement */: - case 156 /* SwitchStatement */: - case 157 /* CaseClause */: - case 158 /* DefaultClause */: - case 159 /* LabelledStatement */: - case 161 /* TryStatement */: - case 162 /* TryBlock */: - case 163 /* CatchBlock */: - case 164 /* FinallyBlock */: - return ts.forEachChild(node, traverse); - } - } - } - function checkAndAggregateReturnExpressionTypes(body, contextualType, contextualMapper) { - var aggregatedTypes = []; - forEachReturnStatement(body, function (returnStatement) { - var expr = returnStatement.expression; - if (expr) { - var type = checkAndMarkExpression(expr, contextualType, contextualMapper); - if (!ts.contains(aggregatedTypes, type)) { - aggregatedTypes.push(type); - } - } - }); - return aggregatedTypes; - } - function bodyContainsAReturnStatement(funcBody) { - return forEachReturnStatement(funcBody, function (returnStatement) { - return true; - }); - } - function bodyContainsSingleThrowStatement(body) { - return (body.statements.length === 1) && (body.statements[0].kind === 160 /* ThrowStatement */); - } - function checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(func, returnType) { - if (returnType === voidType || returnType === anyType) { - return; - } - if (!func.body || func.body.kind !== 168 /* FunctionBlock */) { - return; - } - var bodyBlock = func.body; - if (bodyContainsAReturnStatement(bodyBlock)) { - return; - } - if (bodyContainsSingleThrowStatement(bodyBlock)) { - return; - } - 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 checkFunctionExpression(node, contextualType, contextualMapper) { - if (contextualMapper === identityMapper) { - return anyFunctionType; - } - var type = getTypeOfSymbol(node.symbol); - var links = getNodeLinks(node); - if (!(links.flags & 1 /* TypeChecked */)) { - var signature = getSignaturesOfType(type, 0 /* Call */)[0]; - var contextualSignature = getContextualSignature(contextualType); - if (contextualSignature) { - if (!node.typeParameters && !ts.forEach(node.parameters, function (p) { return p.type; })) { - assignContextualParameterTypes(signature, contextualSignature, contextualMapper || identityMapper); - } - if (!node.type) { - signature.resolvedReturnType = resolvingType; - var returnType = getReturnTypeFromBody(node, getReturnTypeOfSignature(contextualSignature), contextualMapper); - if (signature.resolvedReturnType === resolvingType) { - signature.resolvedReturnType = returnType; - } - } - else { - checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(node, getTypeFromTypeNode(node.type)); - } - } - checkSignatureDeclaration(node); - if (node.body.kind === 168 /* FunctionBlock */) { - checkSourceElement(node.body); - } - else { - var returnType = getReturnTypeOfSignature(signature); - if (node.type) { - checkTypeAssignableTo(checkExpression(node.body, returnType), returnType, node.body, undefined, undefined); - } - } - links.flags |= 1 /* TypeChecked */; - } - return type; - } - function checkArithmeticOperandType(operand, type, diagnostic) { - if (!(type.flags & (1 /* Any */ | ts.TypeFlags.NumberLike))) { - error(operand, diagnostic); - return false; - } - return true; - } - function checkReferenceExpression(n, message) { - function findSymbol(n) { - var symbol = getNodeLinks(n).resolvedSymbol; - return symbol && getExportSymbolOfValueSymbolIfExported(symbol); - } - function isReferenceOrErrorExpression(n) { - switch (n.kind) { - case 55 /* Identifier */: - var symbol = findSymbol(n); - return !symbol || symbol === unknownSymbol || symbol === argumentsSymbol || (symbol.flags & 1 /* Variable */) !== 0; - case 130 /* PropertyAccess */: - var symbol = findSymbol(n); - return !symbol || symbol === unknownSymbol || (symbol.flags & ~4 /* EnumMember */) !== 0; - case 131 /* IndexedAccess */: - return true; - case 135 /* ParenExpression */: - return isReferenceOrErrorExpression(n.expression); - default: - return false; - } - } - if (!isReferenceOrErrorExpression(n)) { - error(n, message); - return false; - } - return true; - } - function checkPrefixExpression(node) { - var operandType = checkExpression(node.operand); - switch (node.operator) { - case 24 /* PlusToken */: - case 25 /* MinusToken */: - case 38 /* TildeToken */: - return numberType; - case 37 /* ExclamationToken */: - case 64 /* DeleteKeyword */: - return booleanType; - case 87 /* TypeOfKeyword */: - return stringType; - case 89 /* VoidKeyword */: - return undefinedType; - case 29 /* PlusPlusToken */: - case 30 /* MinusMinusToken */: - 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); - } - return numberType; - } - return unknownType; - } - function checkPostfixExpression(node) { - var operandType = checkExpression(node.operand); - 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); - } - return numberType; - } - function isTypeAnyTypeObjectTypeOrTypeParameter(type) { - return type === anyType || ((type.flags & (ts.TypeFlags.ObjectType | 512 /* TypeParameter */)) !== 0); - } - function checkInstanceOfExpression(node, leftType, rightType) { - if (!isTypeAnyTypeObjectTypeOrTypeParameter(leftType)) { - 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 !== anyType && !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 (leftType !== anyType && leftType !== stringType && leftType !== numberType) { - error(node.left, ts.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number); - } - if (!isTypeAnyTypeObjectTypeOrTypeParameter(rightType)) { - 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; - } - function checkBinaryExpression(node, contextualType, contextualMapper) { - var operator = node.operator; - var leftContextualType = operator === 40 /* BarBarToken */ ? contextualType : undefined; - var leftType = checkExpression(node.left, leftContextualType, contextualMapper); - var rightContextualType = operator >= ts.SyntaxKind.FirstAssignment && operator <= ts.SyntaxKind.LastAssignment ? leftType : operator === 40 /* BarBarToken */ ? contextualType || leftType : undefined; - var rightType = checkExpression(node.right, rightContextualType, contextualMapper); - switch (operator) { - case 26 /* AsteriskToken */: - case 46 /* AsteriskEqualsToken */: - case 27 /* SlashToken */: - case 47 /* SlashEqualsToken */: - case 28 /* PercentToken */: - case 48 /* PercentEqualsToken */: - case 25 /* MinusToken */: - case 45 /* MinusEqualsToken */: - case 31 /* LessThanLessThanToken */: - case 49 /* LessThanLessThanEqualsToken */: - case 32 /* GreaterThanGreaterThanToken */: - case 50 /* GreaterThanGreaterThanEqualsToken */: - case 33 /* GreaterThanGreaterThanGreaterThanToken */: - case 51 /* GreaterThanGreaterThanGreaterThanEqualsToken */: - case 35 /* BarToken */: - case 53 /* BarEqualsToken */: - case 36 /* CaretToken */: - case 54 /* CaretEqualsToken */: - case 34 /* AmpersandToken */: - case 52 /* AmpersandEqualsToken */: - if (leftType.flags & (32 /* Undefined */ | 64 /* Null */)) - leftType = rightType; - if (rightType.flags & (32 /* Undefined */ | 64 /* Null */)) - rightType = leftType; - var leftOk = checkArithmeticOperandType(node.left, leftType, ts.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type); - var rightOk = checkArithmeticOperandType(node.right, rightType, ts.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type); - if (leftOk && rightOk) { - checkAssignmentOperator(numberType); - } - return numberType; - case 24 /* PlusToken */: - case 44 /* PlusEqualsToken */: - if (leftType.flags & (32 /* Undefined */ | 64 /* Null */)) - leftType = rightType; - if (rightType.flags & (32 /* Undefined */ | 64 /* Null */)) - rightType = leftType; - var resultType; - if (leftType.flags & ts.TypeFlags.NumberLike && rightType.flags & ts.TypeFlags.NumberLike) { - resultType = numberType; - } - else if (leftType.flags & ts.TypeFlags.StringLike || rightType.flags & ts.TypeFlags.StringLike) { - resultType = stringType; - } - else if (leftType.flags & 1 /* Any */ || leftType === unknownType || rightType.flags & 1 /* Any */ || rightType === unknownType) { - resultType = anyType; - } - if (!resultType) { - reportOperatorError(); - return anyType; - } - if (operator === 44 /* PlusEqualsToken */) { - checkAssignmentOperator(resultType); - } - return resultType; - case 19 /* EqualsEqualsToken */: - case 20 /* ExclamationEqualsToken */: - case 21 /* EqualsEqualsEqualsToken */: - case 22 /* ExclamationEqualsEqualsToken */: - case 15 /* LessThanToken */: - case 16 /* GreaterThanToken */: - case 17 /* LessThanEqualsToken */: - case 18 /* GreaterThanEqualsToken */: - if (!isTypeSubtypeOf(leftType, rightType) && !isTypeSubtypeOf(rightType, leftType)) { - reportOperatorError(); - } - return booleanType; - case 77 /* InstanceOfKeyword */: - return checkInstanceOfExpression(node, leftType, rightType); - case 76 /* InKeyword */: - return checkInExpression(node, leftType, rightType); - case 39 /* AmpersandAmpersandToken */: - return rightType; - case 40 /* BarBarToken */: - return getBestCommonType([leftType, rightType], isInferentialContext(contextualMapper) ? undefined : contextualType); - case 43 /* EqualsToken */: - checkAssignmentOperator(rightType); - return rightType; - case 14 /* CommaToken */: - return rightType; - } - function checkAssignmentOperator(valueType) { - if (operator >= ts.SyntaxKind.FirstAssignment && operator <= ts.SyntaxKind.LastAssignment) { - var ok = checkReferenceExpression(node.left, ts.Diagnostics.Invalid_left_hand_side_of_assignment_expression); - if (ok) { - checkTypeAssignableTo(valueType, leftType, node.left, undefined, undefined); - } - } - } - function reportOperatorError() { - error(node, ts.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2, ts.tokenToString(node.operator), typeToString(leftType), typeToString(rightType)); - } - } - function checkConditionalExpression(node, contextualType, contextualMapper) { - checkExpression(node.condition); - var type1 = checkExpression(node.whenTrue, contextualType, contextualMapper); - var type2 = checkExpression(node.whenFalse, contextualType, contextualMapper); - var resultType = getBestCommonType([type1, type2], isInferentialContext(contextualMapper) ? undefined : contextualType, true); - if (!resultType) { - if (contextualType && !isInferentialContext(contextualMapper)) { - error(node, ts.Diagnostics.No_best_common_type_exists_between_0_1_and_2, typeToString(contextualType), typeToString(type1), typeToString(type2)); - } - else { - error(node, ts.Diagnostics.No_best_common_type_exists_between_0_and_1, typeToString(type1), typeToString(type2)); - } - resultType = emptyObjectType; - } - return resultType; - } - function checkAndMarkExpression(node, contextualType, contextualMapper) { - var result = checkExpression(node, contextualType, contextualMapper); - getNodeLinks(node).flags |= 1 /* TypeChecked */; - return result; - } - function checkExpression(node, contextualType, contextualMapper) { - switch (node.kind) { - case 55 /* Identifier */: - return checkIdentifier(node); - case 83 /* ThisKeyword */: - return checkThisExpression(node); - case 81 /* SuperKeyword */: - return checkSuperExpression(node, false); - case 79 /* NullKeyword */: - return nullType; - case 85 /* TrueKeyword */: - case 70 /* FalseKeyword */: - return booleanType; - case 2 /* NumericLiteral */: - return numberType; - case 3 /* StringLiteral */: - return stringType; - case 4 /* RegularExpressionLiteral */: - return globalRegExpType; - case 112 /* QualifiedName */: - return checkPropertyAccess(node); - case 127 /* ArrayLiteral */: - return checkArrayLiteral(node, contextualType, contextualMapper); - case 128 /* ObjectLiteral */: - return checkObjectLiteral(node, contextualType, contextualMapper); - case 130 /* PropertyAccess */: - return checkPropertyAccess(node); - case 131 /* IndexedAccess */: - return checkIndexedAccess(node); - case 132 /* CallExpression */: - return checkCallExpression(node); - case 133 /* NewExpression */: - return checkNewExpression(node); - case 134 /* TypeAssertion */: - return checkTypeAssertion(node); - case 135 /* ParenExpression */: - return checkExpression(node.expression); - case 136 /* FunctionExpression */: - case 137 /* ArrowFunction */: - return checkFunctionExpression(node, contextualType, contextualMapper); - case 138 /* PrefixOperator */: - return checkPrefixExpression(node); - case 139 /* PostfixOperator */: - return checkPostfixExpression(node); - case 140 /* BinaryExpression */: - return checkBinaryExpression(node, contextualType, contextualMapper); - case 141 /* ConditionalExpression */: - return checkConditionalExpression(node, contextualType, contextualMapper); - } - return unknownType; - } - function checkTypeParameter(node) { - checkTypeNameIsReserved(node.name, ts.Diagnostics.Type_parameter_name_cannot_be_0); - checkSourceElement(node.constraint); - checkTypeParameterHasIllegalReferencesInConstraint(node); - } - function checkParameter(parameterDeclaration) { - checkVariableDeclaration(parameterDeclaration); - checkCollisionWithIndexVariableInGeneratedCode(parameterDeclaration, parameterDeclaration.name); - if (parameterDeclaration.flags & (16 /* Public */ | 32 /* Private */) && !(parameterDeclaration.parent.kind === 117 /* Constructor */ && parameterDeclaration.parent.body)) { - error(parameterDeclaration, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); - } - if (parameterDeclaration.flags & 8 /* Rest */) { - if (!isArrayType(getTypeOfSymbol(parameterDeclaration.symbol))) { - error(parameterDeclaration, ts.Diagnostics.A_rest_parameter_must_be_of_an_array_type); - } - } - else { - if (parameterDeclaration.initializer && !parameterDeclaration.parent.body) { - error(parameterDeclaration, ts.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); - } - } - function checkReferencesInInitializer(n) { - if (n.kind === 55 /* Identifier */) { - var referencedSymbol = getNodeLinks(n).resolvedSymbol; - if (referencedSymbol && referencedSymbol !== unknownSymbol && getSymbol(parameterDeclaration.parent.locals, referencedSymbol.name, ts.SymbolFlags.Value) === referencedSymbol) { - if (referencedSymbol.valueDeclaration.kind === 114 /* Parameter */) { - if (referencedSymbol.valueDeclaration === parameterDeclaration) { - error(n, ts.Diagnostics.Parameter_0_cannot_be_referenced_in_its_initializer, ts.identifierToString(parameterDeclaration.name)); - return; - } - var enclosingOrReferencedParameter = ts.forEach(parameterDeclaration.parent.parameters, function (p) { return p === parameterDeclaration || p === referencedSymbol.valueDeclaration ? p : undefined; }); - if (enclosingOrReferencedParameter === referencedSymbol.valueDeclaration) { - return; - } - } - error(n, ts.Diagnostics.Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it, ts.identifierToString(parameterDeclaration.name), ts.identifierToString(n)); - } - } - else { - ts.forEachChild(n, checkReferencesInInitializer); - } - } - if (parameterDeclaration.initializer) { - checkReferencesInInitializer(parameterDeclaration.initializer); - } - } - function checkSignatureDeclaration(node) { - checkTypeParameters(node.typeParameters); - ts.forEach(node.parameters, checkParameter); - if (node.type) { - checkSourceElement(node.type); - } - checkCollisionWithCapturedSuperVariable(node, node.name); - checkCollisionWithCapturedThisVariable(node, node.name); - checkCollisionWithArgumentsInGeneratedCode(node); - if (program.getCompilerOptions().noImplicitAny && !node.type) { - switch (node.kind) { - case 121 /* ConstructSignature */: - error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); - break; - case 120 /* CallSignature */: - error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); - break; - } - } - checkSpecializedSignatureDeclaration(node); - } - function checkTypeForDuplicateIndexSignatures(node) { - if (node.kind === 170 /* InterfaceDeclaration */) { - var nodeSymbol = getSymbolOfNode(node); - if (nodeSymbol.declarations.length > 0 && nodeSymbol.declarations[0] !== node) { - return; - } - } - var indexSymbol = getIndexSymbol(getSymbolOfNode(node)); - if (indexSymbol) { - var seenNumericIndexer = false; - var seenStringIndexer = false; - for (var i = 0, len = indexSymbol.declarations.length; i < len; ++i) { - var declaration = indexSymbol.declarations[i]; - if (declaration.parameters.length == 1 && declaration.parameters[0].type) { - switch (declaration.parameters[0].type.kind) { - case 110 /* StringKeyword */: - if (!seenStringIndexer) { - seenStringIndexer = true; - } - else { - error(declaration, ts.Diagnostics.Duplicate_string_index_signature); - } - break; - case 108 /* NumberKeyword */: - if (!seenNumericIndexer) { - seenNumericIndexer = true; - } - else { - error(declaration, ts.Diagnostics.Duplicate_number_index_signature); - } - break; - } - } - } - } - } - function checkPropertyDeclaration(node) { - checkVariableDeclaration(node); - } - function checkMethodDeclaration(node) { - checkFunctionDeclaration(node); - } - function checkConstructorDeclaration(node) { - checkSignatureDeclaration(node); - checkSourceElement(node.body); - var symbol = getSymbolOfNode(node); - var firstDeclaration = getDeclarationOfKind(symbol, node.kind); - if (node === firstDeclaration) { - checkFunctionOrConstructorSymbol(symbol); - } - if (!node.body) { - return; - } - function isSuperCallExpression(n) { - return n.kind === 132 /* CallExpression */ && n.func.kind === 81 /* SuperKeyword */; - } - function containsSuperCall(n) { - if (isSuperCallExpression(n)) { - return true; - } - switch (n.kind) { - case 136 /* FunctionExpression */: - case 167 /* FunctionDeclaration */: - case 137 /* ArrowFunction */: - case 128 /* ObjectLiteral */: - return false; - default: - return ts.forEachChild(n, containsSuperCall); - } - } - function markThisReferencesAsErrors(n) { - if (n.kind === 83 /* ThisKeyword */) { - error(n, ts.Diagnostics.this_cannot_be_referenced_in_current_location); - } - else if (n.kind !== 136 /* FunctionExpression */ && n.kind !== 167 /* FunctionDeclaration */) { - ts.forEachChild(n, markThisReferencesAsErrors); - } - } - function isInstancePropertyWithInitializer(n) { - return n.kind === 115 /* Property */ && !(n.flags & 64 /* Static */) && !!n.initializer; - } - if (node.parent.baseType) { - 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 */); }); - if (superCallShouldBeFirst) { - var statements = node.body.statements; - if (!statements.length || statements[0].kind !== 146 /* ExpressionStatement */ || !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 { - markThisReferencesAsErrors(statements[0].expression); - } - } - } - else { - error(node, ts.Diagnostics.Constructors_for_derived_classes_must_contain_a_super_call); - } - } - } - function checkAccessorDeclaration(node) { - if (node.kind === 118 /* GetAccessor */) { - if (!isInAmbientContext(node) && 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); - } - } - var otherKind = node.kind === 118 /* GetAccessor */ ? 119 /* SetAccessor */ : 118 /* GetAccessor */; - var otherAccessor = getDeclarationOfKind(node.symbol, otherKind); - if (otherAccessor) { - var visibilityFlags = 32 /* Private */ | 16 /* Public */; - if (((node.flags & visibilityFlags) !== (otherAccessor.flags & visibilityFlags))) { - error(node.name, ts.Diagnostics.Getter_and_setter_accessors_do_not_agree_in_visibility); - } - var thisType = getAnnotatedAccessorType(node); - var otherType = getAnnotatedAccessorType(otherAccessor); - if (thisType && otherType) { - if (!isTypeIdenticalTo(thisType, otherType)) { - error(node, ts.Diagnostics.get_and_set_accessor_must_have_the_same_type); - } - } - } - checkFunctionDeclaration(node); - checkAndStoreTypeOfAccessors(getSymbolOfNode(node)); - } - function checkTypeReference(node) { - var type = getTypeFromTypeReferenceNode(node); - if (type !== unknownType && node.typeArguments) { - var len = node.typeArguments.length; - for (var i = 0; i < len; i++) { - checkSourceElement(node.typeArguments[i]); - var constraint = getConstraintOfTypeParameter(type.target.typeParameters[i]); - if (constraint) { - var typeArgument = type.typeArguments[i]; - checkTypeAssignableTo(typeArgument, constraint, node, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1_Colon, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); - } - } - } - } - function checkTypeQuery(node) { - getTypeFromTypeQueryNode(node); - } - function checkTypeLiteral(node) { - ts.forEach(node.members, checkSourceElement); - var type = getTypeFromTypeLiteralNode(node); - checkIndexConstraints(type); - checkTypeForDuplicateIndexSignatures(node); - } - function checkArrayType(node) { - getTypeFromArrayTypeNode(node); - } - function isPrivateWithinAmbient(node) { - return (node.flags & 32 /* Private */) && isInAmbientContext(node); - } - function isInAmbientContext(node) { - while (node) { - if (node.flags & (2 /* Ambient */ | 512 /* DeclarationFile */)) - return true; - node = node.parent; - } - return false; - } - function checkSpecializedSignatureDeclaration(signatureDeclarationNode) { - var signature = getSignatureFromDeclaration(signatureDeclarationNode); - if (!signature.hasStringLiterals) { - return; - } - if (signatureDeclarationNode.body) { - error(signatureDeclarationNode, ts.Diagnostics.A_signature_with_an_implementation_cannot_use_a_string_literal_type); - return; - } - var signaturesOfSymbol = getSignaturesOfSymbol(getSymbolOfNode(signatureDeclarationNode)); - for (var i = 0; i < signaturesOfSymbol.length; i++) { - var otherSignature = signaturesOfSymbol[i]; - if (!otherSignature.hasStringLiterals && isSignatureAssignableTo(signature, otherSignature)) { - return; - } - } - error(signatureDeclarationNode, ts.Diagnostics.Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature); - } - function getEffectiveDeclarationFlags(n, flagsToCheck) { - var flags = n.flags; - if (n.parent.kind !== 170 /* InterfaceDeclaration */ && isInAmbientContext(n)) { - if (!(flags & 2 /* Ambient */)) { - flags |= 1 /* Export */; - } - flags |= 2 /* Ambient */; - } - return flags & flagsToCheck; - } - function checkFunctionOrConstructorSymbol(symbol) { - function checkFlagAgreementBetweenOverloads(overloads, implementation, flagsToCheck, someOverloadFlags, allOverloadFlags) { - var someButNotAllOverloadFlags = someOverloadFlags ^ allOverloadFlags; - if (someButNotAllOverloadFlags !== 0) { - var implementationSharesContainerWithFirstOverload = implementation !== undefined && implementation.parent === overloads[0].parent; - var canonicalFlags = implementationSharesContainerWithFirstOverload ? getEffectiveDeclarationFlags(implementation, flagsToCheck) : getEffectiveDeclarationFlags(overloads[0], flagsToCheck); - ts.forEach(overloads, function (o) { - var deviation = getEffectiveDeclarationFlags(o, flagsToCheck) ^ canonicalFlags; - if (deviation & 1 /* Export */) { - error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_exported_or_not_exported); - } - else if (deviation & 2 /* Ambient */) { - error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_ambient_or_non_ambient); - } - else if (deviation & 32 /* Private */) { - error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_public_or_private); - } - else if (deviation & 4 /* QuestionMark */) { - error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_optional_or_required); - } - }); - } - } - var flagsToCheck = 1 /* Export */ | 2 /* Ambient */ | 32 /* Private */ | 4 /* QuestionMark */; - var someNodeFlags = 0; - var allNodeFlags = flagsToCheck; - var hasOverloads = false; - var bodyDeclaration; - var lastSeenNonAmbientDeclaration; - var declarations = symbol.declarations; - var isConstructor = (symbol.flags & 4096 /* Constructor */) !== 0; - for (var i = 0; i < declarations.length; i++) { - var node = declarations[i]; - if (node.kind === 167 /* FunctionDeclaration */ || node.kind === 116 /* Method */ || node.kind === 117 /* Constructor */) { - var currentNodeFlags = getEffectiveDeclarationFlags(node, flagsToCheck); - someNodeFlags |= currentNodeFlags; - allNodeFlags &= currentNodeFlags; - var inAmbientContext = isInAmbientContext(node); - var inAmbientContextOrInterface = node.parent.kind === 170 /* InterfaceDeclaration */ || node.parent.kind === 125 /* TypeLiteral */ || inAmbientContext; - if (!inAmbientContextOrInterface) { - lastSeenNonAmbientDeclaration = node; - } - if (node.body) { - if (bodyDeclaration) { - if (isConstructor) { - error(node, ts.Diagnostics.Multiple_constructor_implementations_are_not_allowed); - } - else { - error(node, ts.Diagnostics.Duplicate_function_implementation); - } - } - else { - bodyDeclaration = node; - } - } - else { - hasOverloads = true; - } - } - } - if (lastSeenNonAmbientDeclaration && !lastSeenNonAmbientDeclaration.body) { - if (isConstructor) { - error(lastSeenNonAmbientDeclaration, ts.Diagnostics.Constructor_implementation_expected); - } - else { - error(lastSeenNonAmbientDeclaration, ts.Diagnostics.Function_implementation_expected); - } - } - if (hasOverloads) { - checkFlagAgreementBetweenOverloads(declarations, bodyDeclaration, flagsToCheck, someNodeFlags, allNodeFlags); - if (bodyDeclaration) { - var signatures = getSignaturesOfSymbol(symbol); - var bodySignature = getSignatureFromDeclaration(bodyDeclaration); - if (!bodySignature.hasStringLiterals) { - for (var i = 0, len = signatures.length; i < len; ++i) { - if (!signatures[i].hasStringLiterals && !isSignatureAssignableTo(bodySignature, signatures[i])) { - error(signatures[i].declaration, ts.Diagnostics.Overload_signature_is_not_compatible_with_function_implementation); - break; - } - } - } - } - } - } - function checkExportsOnMergedDeclarations(node) { - var symbol; - var symbol = node.localSymbol; - if (!symbol) { - symbol = getSymbolOfNode(node); - if (!(symbol.flags & ts.SymbolFlags.Export)) { - return; - } - } - if (getDeclarationOfKind(symbol, node.kind) !== node) { - return; - } - var exportedDeclarationSpaces = 0; - var nonExportedDeclarationSpaces = 0; - ts.forEach(symbol.declarations, function (d) { - var declarationSpaces = getDeclarationSpaces(d); - if (getEffectiveDeclarationFlags(d, 1 /* Export */)) { - exportedDeclarationSpaces |= declarationSpaces; - } - else { - nonExportedDeclarationSpaces |= declarationSpaces; - } - }); - var commonDeclarationSpace = exportedDeclarationSpaces & nonExportedDeclarationSpaces; - if (commonDeclarationSpace) { - ts.forEach(symbol.declarations, function (d) { - if (getDeclarationSpaces(d) & commonDeclarationSpace) { - error(d.name, ts.Diagnostics.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local, ts.identifierToString(d.name)); - } - }); - } - function getDeclarationSpaces(d) { - switch (d.kind) { - case 170 /* InterfaceDeclaration */: - return 1048576 /* ExportType */; - case 172 /* ModuleDeclaration */: - return d.name.kind === 3 /* StringLiteral */ || ts.isInstantiated(d) ? 2097152 /* ExportNamespace */ | 524288 /* ExportValue */ : 2097152 /* ExportNamespace */; - case 169 /* ClassDeclaration */: - case 171 /* EnumDeclaration */: - return 1048576 /* ExportType */ | 524288 /* ExportValue */; - case 174 /* ImportDeclaration */: - var result = 0; - var target = resolveImport(getSymbolOfNode(d)); - ts.forEach(target.declarations, function (d) { - result |= getDeclarationSpaces(d); - }); - return result; - default: - return 524288 /* ExportValue */; - } - } - } - function checkFunctionDeclaration(node) { - checkSignatureDeclaration(node); - var symbol = getSymbolOfNode(node); - var localSymbol = node.localSymbol || symbol; - var firstDeclaration = getDeclarationOfKind(localSymbol, node.kind); - if (node === firstDeclaration) { - checkFunctionOrConstructorSymbol(localSymbol); - } - if (symbol.parent) { - if (getDeclarationOfKind(symbol, node.kind) === node) { - checkFunctionOrConstructorSymbol(symbol); - } - } - checkSourceElement(node.body); - if (node.type && !isAccessor(node.kind)) { - checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(node, getTypeFromTypeNode(node.type)); - } - if (program.getCompilerOptions().noImplicitAny && !node.body && !node.type) { - if (!isPrivateWithinAmbient(node)) { - var typeName = typeToString(anyType); - if (node.name) { - error(node, ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type, ts.identifierToString(node.name), typeName); - } - else { - error(node, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeName); - } - } - } - } - function checkBlock(node) { - ts.forEach(node.statements, checkSourceElement); - } - function checkCollisionWithArgumentsInGeneratedCode(node) { - if (!ts.hasRestParameters(node) || isInAmbientContext(node) || !node.body) { - return; - } - ts.forEach(node.parameters, function (p) { - if (p.name && p.name.text === argumentsSymbol.name) { - error(p, ts.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters); - } - }); - } - function checkCollisionWithIndexVariableInGeneratedCode(node, name) { - if (!(name && name.text === "_i")) { - return; - } - if (node.kind === 114 /* Parameter */) { - if (node.parent.body && ts.hasRestParameters(node.parent) && !isInAmbientContext(node)) { - error(node, ts.Diagnostics.Duplicate_identifier_i_Compiler_uses_i_to_initialize_rest_parameter); - } - return; - } - var symbol = getNodeLinks(node).resolvedSymbol; - if (symbol === unknownSymbol) { - return; - } - var current = node; - while (current) { - var definedOnCurrentLevel = ts.forEach(symbol.declarations, function (d) { return d.parent === current ? d : undefined; }); - if (definedOnCurrentLevel) { - return; - } - switch (current.kind) { - case 167 /* FunctionDeclaration */: - case 136 /* FunctionExpression */: - case 116 /* Method */: - case 137 /* ArrowFunction */: - case 117 /* Constructor */: - if (ts.hasRestParameters(current)) { - error(node, ts.Diagnostics.Expression_resolves_to_variable_declaration_i_that_compiler_uses_to_initialize_rest_parameter); - return; - } - break; - } - current = current.parent; - } - } - function needCollisionCheckForIdentifier(node, identifier, name) { - if (!(identifier && identifier.text === name)) { - return false; - } - if (node.kind === 115 /* Property */ || node.kind === 116 /* Method */ || node.kind === 118 /* GetAccessor */ || node.kind === 119 /* SetAccessor */) { - return false; - } - if (isInAmbientContext(node)) { - return false; - } - if (node.kind === 114 /* Parameter */ && !node.parent.body) { - return false; - } - return true; - } - function checkCollisionWithCapturedThisVariable(node, name) { - if (!needCollisionCheckForIdentifier(node, name, "_this")) { - return; - } - potentialThisCollisions.push(node); - } - function checkIfThisIsCapturedInEnclosingScope(node) { - var current = node; - while (current) { - if (getNodeCheckFlags(current) & 4 /* CaptureThis */) { - var isDeclaration = node.kind !== 55 /* Identifier */; - if (isDeclaration) { - error(node.name, ts.Diagnostics.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference); - } - else { - error(node, ts.Diagnostics.Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference); - } - return; - } - current = current.parent; - } - } - function checkCollisionWithCapturedSuperVariable(node, name) { - if (!needCollisionCheckForIdentifier(node, name, "_super")) { - return; - } - var enclosingClass = getAncestor(node, 169 /* ClassDeclaration */); - if (!enclosingClass || isInAmbientContext(enclosingClass)) { - return; - } - if (enclosingClass.baseType) { - var isDeclaration = node.kind !== 55 /* Identifier */; - if (isDeclaration) { - error(node, ts.Diagnostics.Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference); - } - else { - error(node, ts.Diagnostics.Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference); - } - } - } - function checkVariableDeclaration(node) { - checkSourceElement(node.type); - checkExportsOnMergedDeclarations(node); - var symbol = getSymbolOfNode(node); - var typeOfValueDeclaration = getTypeOfVariableOrParameterOrProperty(symbol); - var type; - var useTypeFromValueDeclaration = node === symbol.valueDeclaration; - if (useTypeFromValueDeclaration) { - type = typeOfValueDeclaration; - } - else { - type = getTypeOfVariableDeclaration(node); - } - if (node.initializer) { - if (!(getNodeLinks(node.initializer).flags & 1 /* TypeChecked */)) { - checkTypeAssignableTo(checkAndMarkExpression(node.initializer, type), type, node, undefined, undefined); - } - } - checkCollisionWithCapturedSuperVariable(node, node.name); - checkCollisionWithCapturedThisVariable(node, node.name); - if (!useTypeFromValueDeclaration) { - if (typeOfValueDeclaration !== unknownType && type !== unknownType && !isTypeIdenticalTo(typeOfValueDeclaration, type)) { - error(node.name, ts.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2, ts.identifierToString(node.name), typeToString(typeOfValueDeclaration), typeToString(type)); - } - } - } - function checkVariableStatement(node) { - ts.forEach(node.declarations, checkVariableDeclaration); - } - function checkExpressionStatement(node) { - checkExpression(node.expression); - } - function checkIfStatement(node) { - checkExpression(node.expression); - checkSourceElement(node.thenStatement); - checkSourceElement(node.elseStatement); - } - function checkDoStatement(node) { - checkSourceElement(node.statement); - checkExpression(node.expression); - } - function checkWhileStatement(node) { - checkExpression(node.expression); - checkSourceElement(node.statement); - } - function checkForStatement(node) { - if (node.declarations) - ts.forEach(node.declarations, checkVariableDeclaration); - if (node.initializer) - checkExpression(node.initializer); - if (node.condition) - checkExpression(node.condition); - if (node.iterator) - checkExpression(node.iterator); - checkSourceElement(node.statement); - } - function checkForInStatement(node) { - if (node.declaration) { - checkVariableDeclaration(node.declaration); - if (node.declaration.type) { - error(node.declaration, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation); - } - } - if (node.variable) { - var exprType = checkExpression(node.variable); - if (exprType !== anyType && exprType !== stringType) { - error(node.variable, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any); - } - else { - checkReferenceExpression(node.variable, ts.Diagnostics.Invalid_left_hand_side_in_for_in_statement); - } - } - var exprType = checkExpression(node.expression); - if (!isTypeAnyTypeObjectTypeOrTypeParameter(exprType) && exprType !== unknownType) { - 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); - } - function checkBreakOrContinueStatement(node) { - } - function getContainingFunction(node) { - while (true) { - node = node.parent; - if (!node || node.kind === 167 /* FunctionDeclaration */ || node.kind === 136 /* FunctionExpression */ || node.kind === 137 /* ArrowFunction */ || node.kind === 116 /* Method */ || node.kind === 117 /* Constructor */ || node.kind === 118 /* GetAccessor */ || node.kind === 119 /* SetAccessor */) { - return node; - } - } - } - function checkReturnStatement(node) { - if (node.expression && !(getNodeLinks(node.expression).flags & 1 /* TypeChecked */)) { - var func = getContainingFunction(node); - if (func) { - if (func.kind === 119 /* SetAccessor */) { - if (node.expression) { - error(node.expression, ts.Diagnostics.Setters_cannot_return_a_value); - } - } - else { - var returnType = getReturnTypeOfSignature(getSignatureFromDeclaration(func)); - var checkAssignability = func.type || (func.kind === 118 /* GetAccessor */ && getSetAccessorTypeAnnotationNode(getDeclarationOfKind(func.symbol, 119 /* SetAccessor */))); - if (checkAssignability) { - checkTypeAssignableTo(checkExpression(node.expression, returnType), returnType, node.expression, undefined, undefined); - } - else if (func.kind == 117 /* Constructor */) { - if (!isTypeAssignableTo(checkExpression(node.expression, returnType), returnType)) { - error(node.expression, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); - } - } - } - } - } - } - function checkWithStatement(node) { - checkExpression(node.expression); - error(node.expression, ts.Diagnostics.All_symbols_within_a_with_block_will_be_resolved_to_any); - } - function checkSwitchStatement(node) { - var expressionType = checkExpression(node.expression); - ts.forEach(node.clauses, function (clause) { - if (clause.expression) { - var caseType = checkExpression(clause.expression); - if (!isTypeAssignableTo(expressionType, caseType)) { - checkTypeAssignableTo(caseType, expressionType, clause.expression, undefined, undefined); - } - } - checkBlock(clause); - }); - } - function checkLabelledStatement(node) { - checkSourceElement(node.statement); - } - function checkThrowStatement(node) { - checkExpression(node.expression); - } - function checkTryStatement(node) { - checkBlock(node.tryBlock); - if (node.catchBlock) - checkBlock(node.catchBlock); - if (node.finallyBlock) - checkBlock(node.finallyBlock); - } - function checkIndexConstraints(type) { - function checkIndexConstraintForProperty(prop, propertyType, indexDeclaration, indexType, indexKind) { - if (!indexType) { - return; - } - if (indexKind === 1 /* Number */ && !isNumericName(prop.name)) { - return; - } - var errorNode; - if (prop.parent === type.symbol) { - errorNode = prop.valueDeclaration; - } - else if (indexDeclaration) { - errorNode = indexDeclaration; - } - else if (type.flags & 2048 /* Interface */) { - var someBaseClassHasBothPropertyAndIndexer = ts.forEach(type.baseTypes, function (base) { return getPropertyOfType(base, prop.name) && getIndexTypeOfType(base, indexKind); }); - errorNode = someBaseClassHasBothPropertyAndIndexer ? undefined : type.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; - error(errorNode, errorMessage, symbolToString(prop), typeToString(propertyType), typeToString(indexType)); - } - } - 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 */); - if (stringIndexType || numberIndexType) { - ts.forEach(getPropertiesOfType(type), function (prop) { - var propType = getTypeOfSymbol(prop); - checkIndexConstraintForProperty(prop, propType, declaredStringIndexer, stringIndexType, 0 /* String */); - checkIndexConstraintForProperty(prop, propType, declaredNumberIndexer, numberIndexType, 1 /* Number */); - }); - } - 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 */); }); - errorNode = someBaseTypeHasBothIndexers ? undefined : type.symbol.declarations[0]; - } - } - if (errorNode && !isTypeAssignableTo(numberIndexType, stringIndexType)) { - error(errorNode, ts.Diagnostics.Numeric_index_type_0_is_not_assignable_to_string_index_type_1, typeToString(numberIndexType), typeToString(stringIndexType)); - } - } - function checkTypeNameIsReserved(name, message) { - switch (name.text) { - case "any": - case "number": - case "boolean": - case "string": - case "void": - error(name, message, name.text); - } - } - function checkTypeParameters(typeParameterDeclarations) { - if (typeParameterDeclarations) { - for (var i = 0; i < typeParameterDeclarations.length; i++) { - var node = typeParameterDeclarations[i]; - checkTypeParameter(node); - for (var j = 0; j < i; j++) { - if (typeParameterDeclarations[j].symbol === node.symbol) { - error(node.name, ts.Diagnostics.Duplicate_identifier_0, ts.identifierToString(node.name)); - } - } - } - } - } - function checkClassDeclaration(node) { - checkTypeNameIsReserved(node.name, ts.Diagnostics.Class_name_cannot_be_0); - checkTypeParameters(node.typeParameters); - checkCollisionWithCapturedThisVariable(node, node.name); - checkExportsOnMergedDeclarations(node); - var symbol = getSymbolOfNode(node); - var type = getDeclaredTypeOfSymbol(symbol); - var staticType = getTypeOfSymbol(symbol); - if (node.baseType) { - emitExtends = emitExtends || !isInAmbientContext(node); - checkTypeReference(node.baseType); - } - if (type.baseTypes.length) { - var baseType = type.baseTypes[0]; - checkTypeAssignableTo(type, baseType, node.name, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1_Colon, 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_Colon, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); - if (baseType.symbol !== resolveEntityName(node, node.baseType.typeName, ts.SymbolFlags.Value)) { - error(node.baseType, ts.Diagnostics.Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0, typeToString(baseType)); - } - checkExpression(node.baseType.typeName); - checkKindsOfPropertyMemberOverrides(type, baseType); - } - if (node.implementedTypes) { - ts.forEach(node.implementedTypes, function (typeRefNode) { - checkTypeReference(typeRefNode); - var t = getTypeFromTypeReferenceNode(typeRefNode); - if (t !== unknownType) { - var declaredType = (t.flags & 4096 /* Reference */) ? t.target : t; - if (declaredType.flags & (1024 /* Class */ | 2048 /* Interface */)) { - checkTypeAssignableTo(type, t, node.name, ts.Diagnostics.Class_0_incorrectly_implements_interface_1_Colon, ts.Diagnostics.Class_0_incorrectly_implements_interface_1); - } - else { - error(typeRefNode, ts.Diagnostics.A_class_may_only_implement_another_class_or_interface); - } - } - }); - } - checkIndexConstraints(type); - ts.forEach(node.members, checkSourceElement); - checkTypeForDuplicateIndexSignatures(node); - } - function getTargetSymbol(s) { - return s.flags & 8388608 /* Instantiated */ ? getSymbolLinks(s).target : s; - } - function checkKindsOfPropertyMemberOverrides(type, baseType) { - var baseProperties = getPropertiesOfType(baseType); - for (var i = 0, len = baseProperties.length; i < len; ++i) { - var base = getTargetSymbol(baseProperties[i]); - if (base.flags & 67108864 /* Prototype */) { - continue; - } - var derived = getTargetSymbol(getPropertyOfType(type, base.name)); - if (derived) { - var baseDeclarationFlags = getDeclarationFlagsFromSymbol(base); - var derivedDeclarationFlags = getDeclarationFlagsFromSymbol(derived); - if ((baseDeclarationFlags & 32 /* Private */) || (derivedDeclarationFlags & 32 /* Private */)) { - continue; - } - if ((baseDeclarationFlags & 64 /* Static */) !== (derivedDeclarationFlags & 64 /* Static */)) { - continue; - } - if ((base.flags & derived.flags & 2048 /* Method */) || ((base.flags & ts.SymbolFlags.PropertyOrAccessor) && (derived.flags & ts.SymbolFlags.PropertyOrAccessor))) { - continue; - } - var errorMessage; - if (base.flags & 2048 /* Method */) { - if (derived.flags & ts.SymbolFlags.Accessor) { - 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 & 2 /* Property */); - errorMessage = ts.Diagnostics.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property; - } - } - else if (base.flags & 2 /* Property */) { - ts.Debug.assert(derived.flags & 2048 /* Method */); - 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 & ts.SymbolFlags.Accessor); - ts.Debug.assert(derived.flags & 2048 /* Method */); - 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)); - } - } - } - function isAccessor(kind) { - return kind === 118 /* GetAccessor */ || kind === 119 /* SetAccessor */; - } - function areTypeParametersIdentical(list1, list2) { - if (!list1 && !list2) { - return true; - } - if (!list1 || !list2 || list1.length !== list2.length) { - return false; - } - for (var i = 0, len = list1.length; i < len; i++) { - var tp1 = list1[i]; - var tp2 = list2[i]; - if (tp1.name.text !== tp2.name.text) { - return false; - } - if (!tp1.constraint && !tp2.constraint) { - continue; - } - if (!tp1.constraint || !tp2.constraint) { - return false; - } - if (!isTypeIdenticalTo(getTypeFromTypeNode(tp1.constraint), getTypeFromTypeNode(tp2.constraint))) { - return false; - } - } - return true; - } - function checkInterfaceDeclaration(node) { - checkTypeNameIsReserved(node.name, ts.Diagnostics.Interface_name_cannot_be_0); - checkTypeParameters(node.typeParameters); - checkExportsOnMergedDeclarations(node); - var symbol = getSymbolOfNode(node); - var firstInterfaceDecl = getDeclarationOfKind(symbol, 170 /* InterfaceDeclaration */); - 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); - } - } - if (node === firstInterfaceDecl) { - var type = getDeclaredTypeOfSymbol(symbol); - if (checkInheritedPropertiesAreIdentical(type, node.name)) { - ts.forEach(type.baseTypes, function (baseType) { - checkTypeAssignableTo(type, baseType, node.name, ts.Diagnostics.Interface_0_incorrectly_extends_interface_1_Colon, ts.Diagnostics.Interface_0_incorrectly_extends_interface_1); - }); - checkIndexConstraints(type); - } - } - ts.forEach(node.baseTypes, checkTypeReference); - ts.forEach(node.members, checkSourceElement); - checkTypeForDuplicateIndexSignatures(node); - } - function getConstantValue(node) { - var isNegative = false; - if (node.kind === 138 /* PrefixOperator */) { - var unaryExpression = node; - if (unaryExpression.operator === 25 /* MinusToken */ || unaryExpression.operator === 24 /* PlusToken */) { - node = unaryExpression.operand; - isNegative = unaryExpression.operator === 25 /* MinusToken */; - } - } - if (node.kind === 2 /* NumericLiteral */) { - var literalText = node.text; - return isNegative ? -literalText : +literalText; - } - return undefined; - } - function checkEnumDeclaration(node) { - checkTypeNameIsReserved(node.name, ts.Diagnostics.Enum_name_cannot_be_0); - checkCollisionWithCapturedThisVariable(node, node.name); - checkExportsOnMergedDeclarations(node); - var enumSymbol = getSymbolOfNode(node); - var enumType = getDeclaredTypeOfSymbol(enumSymbol); - var autoValue = 0; - var ambient = isInAmbientContext(node); - ts.forEach(node.members, function (member) { - var initializer = member.initializer; - if (initializer) { - autoValue = getConstantValue(initializer); - if (autoValue === undefined && !ambient) { - checkTypeAssignableTo(checkExpression(initializer), enumType, initializer, undefined, undefined); - } - } - else if (ambient) { - autoValue = undefined; - } - if (autoValue !== undefined) { - getNodeLinks(member).enumMemberValue = autoValue++; - } - }); - var firstDeclaration = getDeclarationOfKind(enumSymbol, node.kind); - if (node === firstDeclaration) { - var seenEnumMissingInitialInitializer = false; - ts.forEach(enumSymbol.declarations, function (declaration) { - if (declaration.kind !== 171 /* EnumDeclaration */) { - return false; - } - var enumDeclaration = declaration; - if (!enumDeclaration.members.length) { - return false; - } - var firstEnumMember = enumDeclaration.members[0]; - if (!firstEnumMember.initializer) { - if (seenEnumMissingInitialInitializer) { - error(firstEnumMember.name, ts.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element); - } - else { - seenEnumMissingInitialInitializer = true; - } - } - }); - } - } - function getFirstNonAmbientClassOrFunctionDeclaration(symbol) { - var declarations = symbol.declarations; - for (var i = 0; i < declarations.length; i++) { - var declaration = declarations[i]; - if ((declaration.kind === 169 /* ClassDeclaration */ || (declaration.kind === 167 /* FunctionDeclaration */ && declaration.body)) && !isInAmbientContext(declaration)) { - return declaration; - } - } - return undefined; - } - function checkModuleDeclaration(node) { - checkCollisionWithCapturedThisVariable(node, node.name); - checkExportsOnMergedDeclarations(node); - var symbol = getSymbolOfNode(node); - if (symbol.flags & 128 /* ValueModule */ && symbol.declarations.length > 1 && !isInAmbientContext(node)) { - var classOrFunc = getFirstNonAmbientClassOrFunctionDeclaration(symbol); - if (classOrFunc) { - if (ts.getSourceFileOfNode(node) !== ts.getSourceFileOfNode(classOrFunc)) { - error(node.name, ts.Diagnostics.A_module_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged); - } - else if (node.pos < classOrFunc.pos) { - error(node.name, ts.Diagnostics.A_module_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged); - } - } - } - if (node.name.kind === 3 /* StringLiteral */) { - if (!isGlobalSourceFile(node.parent)) { - error(node.name, ts.Diagnostics.Ambient_external_modules_cannot_be_nested_in_other_modules); - } - if (isExternalModuleNameRelative(node.name.text)) { - error(node.name, ts.Diagnostics.Ambient_external_module_declaration_cannot_specify_relative_module_name); - } - } - checkSourceElement(node.body); - } - function getFirstIdentifier(node) { - while (node.kind === 112 /* QualifiedName */) { - node = node.left; - } - return node; - } - function checkImportDeclaration(node) { - checkCollisionWithCapturedThisVariable(node, node.name); - var symbol = getSymbolOfNode(node); - var target; - if (node.entityName) { - target = resolveImport(symbol); - if (target !== unknownSymbol) { - if (target.flags & ts.SymbolFlags.Value) { - var moduleName = getFirstIdentifier(node.entityName); - if (resolveEntityName(node, moduleName, ts.SymbolFlags.Value | ts.SymbolFlags.Namespace).flags & ts.SymbolFlags.Namespace) { - checkExpression(node.entityName); - } - else { - error(moduleName, ts.Diagnostics.Module_0_is_hidden_by_a_local_declaration_with_the_same_name, ts.identifierToString(moduleName)); - } - } - if (target.flags & ts.SymbolFlags.Type) { - checkTypeNameIsReserved(node.name, ts.Diagnostics.Import_name_cannot_be_0); - } - } - } - else { - if (node.parent.kind === 177 /* SourceFile */) { - target = resolveImport(symbol); - } - else if (node.parent.kind === 173 /* ModuleBlock */ && node.parent.parent.name.kind === 3 /* StringLiteral */) { - if (isExternalModuleNameRelative(node.externalModuleName.text)) { - error(node, ts.Diagnostics.Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name); - target = unknownSymbol; - } - else { - target = resolveImport(symbol); - } - } - else { - target = unknownSymbol; - } - } - if (target !== unknownSymbol) { - var excludedMeanings = (symbol.flags & ts.SymbolFlags.Value ? ts.SymbolFlags.Value : 0) | (symbol.flags & ts.SymbolFlags.Type ? ts.SymbolFlags.Type : 0) | (symbol.flags & ts.SymbolFlags.Namespace ? ts.SymbolFlags.Namespace : 0); - if (target.flags & excludedMeanings) { - error(node, ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0, symbolToString(symbol)); - } - } - } - function checkExportAssignment(node) { - var container = node.parent; - if (container.kind !== 177 /* SourceFile */) { - container = container.parent; - } - checkTypeOfExportAssignmentSymbol(getSymbolOfNode(container)); - } - function checkSourceElement(node) { - if (!node) - return; - switch (node.kind) { - case 113 /* TypeParameter */: - return checkTypeParameter(node); - case 114 /* Parameter */: - return checkParameter(node); - case 115 /* Property */: - return checkPropertyDeclaration(node); - case 120 /* CallSignature */: - case 121 /* ConstructSignature */: - case 122 /* IndexSignature */: - return checkSignatureDeclaration(node); - case 116 /* Method */: - return checkMethodDeclaration(node); - case 117 /* Constructor */: - return checkConstructorDeclaration(node); - case 118 /* GetAccessor */: - case 119 /* SetAccessor */: - return checkAccessorDeclaration(node); - case 123 /* TypeReference */: - return checkTypeReference(node); - case 124 /* TypeQuery */: - return checkTypeQuery(node); - case 125 /* TypeLiteral */: - return checkTypeLiteral(node); - case 126 /* ArrayType */: - return checkArrayType(node); - case 167 /* FunctionDeclaration */: - return checkFunctionDeclaration(node); - case 143 /* Block */: - case 168 /* FunctionBlock */: - case 173 /* ModuleBlock */: - return checkBlock(node); - case 144 /* VariableStatement */: - return checkVariableStatement(node); - case 146 /* ExpressionStatement */: - return checkExpressionStatement(node); - case 147 /* IfStatement */: - return checkIfStatement(node); - case 148 /* DoStatement */: - return checkDoStatement(node); - case 149 /* WhileStatement */: - return checkWhileStatement(node); - case 150 /* ForStatement */: - return checkForStatement(node); - case 151 /* ForInStatement */: - return checkForInStatement(node); - case 152 /* ContinueStatement */: - case 153 /* BreakStatement */: - return checkBreakOrContinueStatement(node); - case 154 /* ReturnStatement */: - return checkReturnStatement(node); - case 155 /* WithStatement */: - return checkWithStatement(node); - case 156 /* SwitchStatement */: - return checkSwitchStatement(node); - case 159 /* LabelledStatement */: - return checkLabelledStatement(node); - case 160 /* ThrowStatement */: - return checkThrowStatement(node); - case 161 /* TryStatement */: - return checkTryStatement(node); - case 166 /* VariableDeclaration */: - return ts.Debug.fail("Checker encountered variable declaration"); - case 169 /* ClassDeclaration */: - return checkClassDeclaration(node); - case 170 /* InterfaceDeclaration */: - return checkInterfaceDeclaration(node); - case 171 /* EnumDeclaration */: - return checkEnumDeclaration(node); - case 172 /* ModuleDeclaration */: - return checkModuleDeclaration(node); - case 174 /* ImportDeclaration */: - return checkImportDeclaration(node); - case 175 /* ExportAssignment */: - return checkExportAssignment(node); - } - } - function checkSourceFile(node) { - var links = getNodeLinks(node); - if (!(links.flags & 1 /* TypeChecked */)) { - emitExtends = false; - potentialThisCollisions.length = 0; - ts.forEach(node.statements, checkSourceElement); - if (ts.isExternalModule(node)) { - var symbol = getExportAssignmentSymbol(node.symbol); - if (symbol && symbol.flags & 4194304 /* Import */) { - getSymbolLinks(symbol).referenced = true; - } - } - if (potentialThisCollisions.length) { - ts.forEach(potentialThisCollisions, checkIfThisIsCapturedInEnclosingScope); - potentialThisCollisions.length = 0; - } - if (emitExtends) - links.flags |= 8 /* EmitExtends */; - links.flags |= 1 /* TypeChecked */; - } - } - function checkProgram() { - ts.forEach(program.getSourceFiles(), checkSourceFile); - } - function getSortedDiagnostics() { - if (diagnosticsModified) { - diagnostics.sort(ts.compareDiagnostics); - diagnostics = ts.deduplicateSortedDiagnostics(diagnostics); - diagnosticsModified = false; - } - return diagnostics; - } - function getDiagnostics(sourceFile) { - if (sourceFile) { - checkSourceFile(sourceFile); - return ts.filter(getSortedDiagnostics(), function (d) { return d.file === sourceFile; }); - } - checkProgram(); - return getSortedDiagnostics(); - } - function getGlobalDiagnostics() { - return ts.filter(getSortedDiagnostics(), function (d) { return !d.file; }); - } - function getNodeAtPosition(sourceFile, position) { - function findChildAtPosition(parent) { - var child = ts.forEachChild(parent, function (node) { - if (position >= node.pos && position <= node.end && position >= ts.getTokenPosOfNode(node)) { - return findChildAtPosition(node); - } - }); - return child || parent; - } - if (position < sourceFile.pos) - position = sourceFile.pos; - if (position > sourceFile.end) - position = sourceFile.end; - return findChildAtPosition(sourceFile); - } - function getSymbolsInScope(location, meaning) { - var symbols = {}; - var memberFlags = 0; - function copySymbol(symbol, meaning) { - if (symbol.flags & meaning) { - var id = symbol.name; - if (!isReservedMemberName(id) && !ts.hasProperty(symbols, id)) { - symbols[id] = symbol; - } - } - } - function copySymbols(source, meaning) { - if (meaning) { - for (var id in source) { - if (ts.hasProperty(source, id)) { - copySymbol(source[id], meaning); - } - } - } - } - while (location) { - if (location.locals && !isGlobalSourceFile(location)) { - copySymbols(location.locals, meaning); - } - switch (location.kind) { - case 177 /* SourceFile */: - if (!ts.isExternalModule(location)) - break; - case 172 /* ModuleDeclaration */: - copySymbols(getSymbolOfNode(location).exports, meaning & ts.SymbolFlags.ModuleMember); - break; - case 171 /* EnumDeclaration */: - copySymbols(getSymbolOfNode(location).exports, meaning & 4 /* EnumMember */); - break; - case 169 /* ClassDeclaration */: - case 170 /* InterfaceDeclaration */: - if (!(memberFlags & 64 /* Static */)) { - copySymbols(getSymbolOfNode(location).members, meaning & ts.SymbolFlags.Type); - } - break; - case 136 /* FunctionExpression */: - if (location.name) { - copySymbol(location.symbol, meaning); - } - break; - case 163 /* CatchBlock */: - if (location.variable.text) { - copySymbol(location.symbol, meaning); - } - break; - } - memberFlags = location.flags; - location = location.parent; - } - copySymbols(globals, meaning); - return ts.mapToArray(symbols); - } - function isDeclarationIdentifier(identifier) { - if (identifier.parent) { - switch (identifier.parent.kind) { - case 113 /* TypeParameter */: - case 114 /* Parameter */: - case 166 /* VariableDeclaration */: - case 115 /* Property */: - case 129 /* PropertyAssignment */: - case 176 /* EnumMember */: - case 116 /* Method */: - case 167 /* FunctionDeclaration */: - case 136 /* FunctionExpression */: - case 118 /* GetAccessor */: - case 119 /* SetAccessor */: - case 169 /* ClassDeclaration */: - case 170 /* InterfaceDeclaration */: - case 171 /* EnumDeclaration */: - case 172 /* ModuleDeclaration */: - case 174 /* ImportDeclaration */: - return identifier.parent.name === identifier; - case 163 /* CatchBlock */: - return identifier.parent.variable === identifier; - } - } - return false; - } - function isTypeReferenceIdentifier(identifier) { - var node = identifier; - while (node.parent && node.parent.kind === 112 /* QualifiedName */) - node = node.parent; - return node.parent && node.parent.kind === 123 /* TypeReference */; - } - function isExpression(node) { - switch (node.kind) { - case 83 /* ThisKeyword */: - case 81 /* SuperKeyword */: - case 79 /* NullKeyword */: - case 85 /* TrueKeyword */: - case 70 /* FalseKeyword */: - case 4 /* RegularExpressionLiteral */: - case 127 /* ArrayLiteral */: - case 128 /* ObjectLiteral */: - case 130 /* PropertyAccess */: - case 131 /* IndexedAccess */: - case 132 /* CallExpression */: - case 133 /* NewExpression */: - case 134 /* TypeAssertion */: - case 135 /* ParenExpression */: - case 136 /* FunctionExpression */: - case 137 /* ArrowFunction */: - case 138 /* PrefixOperator */: - case 139 /* PostfixOperator */: - case 140 /* BinaryExpression */: - case 141 /* ConditionalExpression */: - return true; - case 112 /* QualifiedName */: - while (node.parent && node.parent.kind === 112 /* QualifiedName */) - node = node.parent; - return node.parent && node.parent.kind === 124 /* TypeQuery */; - case 55 /* Identifier */: - case 2 /* NumericLiteral */: - case 3 /* StringLiteral */: - var parent = node.parent; - if (parent) { - if (isExpression(parent)) - return true; - switch (parent.kind) { - case 166 /* VariableDeclaration */: - case 114 /* Parameter */: - case 115 /* Property */: - case 176 /* EnumMember */: - return parent.initializer === node; - case 146 /* ExpressionStatement */: - case 147 /* IfStatement */: - case 148 /* DoStatement */: - case 149 /* WhileStatement */: - case 154 /* ReturnStatement */: - case 155 /* WithStatement */: - case 156 /* SwitchStatement */: - case 157 /* CaseClause */: - case 160 /* ThrowStatement */: - case 156 /* SwitchStatement */: - return parent.expression === node; - case 150 /* ForStatement */: - return parent.initializer === node || parent.condition === node || parent.iterator === node; - case 151 /* ForInStatement */: - return parent.variable === node || parent.expression === node; - } - } - } - return false; - } - function getSymbolOfIdentifier(identifier) { - if (isExpression(identifier)) { - if (isRightSideOfQualifiedName()) { - } - return resolveEntityName(identifier, identifier, ts.SymbolFlags.Value); - } - if (isDeclarationIdentifier(identifier)) { - return getSymbolOfNode(identifier.parent); - } - if (isTypeReferenceIdentifier(identifier)) { - var entityName = isRightSideOfQualifiedName() ? identifier.parent : identifier; - var meaning = entityName.parent.kind === 123 /* TypeReference */ ? ts.SymbolFlags.Type : ts.SymbolFlags.Namespace; - return resolveEntityName(entityName, entityName, meaning); - } - function isRightSideOfQualifiedName() { - return (identifier.parent.kind === 112 /* QualifiedName */ || identifier.parent.kind === 130 /* PropertyAccess */) && identifier.parent.right === identifier; - } - } - function isExternalModuleSymbol(symbol) { - return symbol.flags & 128 /* ValueModule */ && symbol.declarations.length === 1 && symbol.declarations[0].kind === 177 /* SourceFile */; - } - function isNodeDescendentOf(node, ancestor) { - while (node) { - if (node === ancestor) - return true; - node = node.parent; - } - return false; - } - function isUniqueLocalName(name, container) { - for (var node = container; isNodeDescendentOf(node, container); node = node.nextContainer) { - if (node.locals && ts.hasProperty(node.locals, name) && node.locals[name].flags & (ts.SymbolFlags.Value | 524288 /* ExportValue */)) { - return false; - } - } - return true; - } - function getLocalNameOfContainer(container) { - var links = getNodeLinks(container); - if (!links.localModuleName) { - var prefix = ""; - var name = ts.unescapeIdentifier(container.name.text); - while (!isUniqueLocalName(ts.escapeIdentifier(prefix + name), container)) { - prefix += "_"; - } - links.localModuleName = prefix + ts.getSourceTextOfNode(container.name); - } - return links.localModuleName; - } - function getLocalNameForSymbol(symbol, location) { - var node = location; - while (node) { - if ((node.kind === 172 /* ModuleDeclaration */ || node.kind === 171 /* EnumDeclaration */) && getSymbolOfNode(node) === symbol) { - return getLocalNameOfContainer(node); - } - node = node.parent; - } - ts.Debug.fail("getLocalNameForSymbol failed"); - } - function getExpressionNamePrefix(node) { - var symbol = getNodeLinks(node).resolvedSymbol; - if (symbol) { - var exportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); - if (symbol !== exportSymbol && !(exportSymbol.flags & ts.SymbolFlags.ExportHasLocal)) { - symbol = exportSymbol; - } - if (symbol.parent) { - return isExternalModuleSymbol(symbol.parent) ? "exports" : getLocalNameForSymbol(getParentOfSymbol(symbol), node.parent); - } - } - } - function getPropertyAccessSubstitution(node) { - var symbol = getNodeLinks(node).resolvedSymbol; - if (symbol && (symbol.flags & 4 /* EnumMember */)) { - var declaration = symbol.valueDeclaration; - var constantValue; - if (declaration.kind === 176 /* EnumMember */ && (constantValue = getNodeLinks(declaration).enumMemberValue) !== undefined) { - return constantValue.toString() + " /* " + ts.identifierToString(declaration.name) + " */"; - } - } - } - function getExportAssignmentName(node) { - var symbol = getExportAssignmentSymbol(getSymbolOfNode(node)); - return symbol && symbolIsValue(symbol) ? symbolToString(symbol) : undefined; - } - function isTopLevelValueImportedViaEntityName(node) { - if (node.parent.kind !== 177 /* SourceFile */ || !node.entityName) { - return false; - } - var symbol = getSymbolOfNode(node); - var target = resolveImport(symbol); - return target !== unknownSymbol && ((target.flags & ts.SymbolFlags.Value) !== 0); - } - function shouldEmitDeclarations() { - return program.getCompilerOptions().declaration && !program.getDiagnostics().length && !getDiagnostics().length; - } - function isReferencedImportDeclaration(node) { - var symbol = getSymbolOfNode(node); - if (getSymbolLinks(symbol).referenced) { - return true; - } - if (node.flags & 1 /* Export */) { - var target = resolveImport(symbol); - if (target !== unknownSymbol && target.flags & ts.SymbolFlags.Value) { - return true; - } - } - return false; - } - function isImplementationOfOverload(node) { - if (node.body) { - var symbol = getSymbolOfNode(node); - return getSignaturesOfSymbol(symbol).length > 1; - } - return false; - } - function getNodeCheckFlags(node) { - return getNodeLinks(node).flags; - } - function getEnumMemberValue(node) { - return getNodeLinks(node).enumMemberValue; - } - function writeTypeAtLocation(location, enclosingDeclaration, flags, writer) { - var symbol = getSymbolOfNode(location); - var type = symbol && !(symbol.flags & 512 /* TypeLiteral */) ? getTypeOfSymbol(symbol) : getTypeFromTypeNode(location); - writeTypeToTextWriter(type, enclosingDeclaration, flags, writer); - } - function writeReturnTypeOfSignatureDeclaration(signatureDeclaration, enclosingDeclaration, flags, writer) { - var signature = getSignatureFromDeclaration(signatureDeclaration); - writeTypeToTextWriter(getReturnTypeOfSignature(signature), enclosingDeclaration, flags, writer); - } - function invokeEmitter() { - var resolver = { - getProgram: function () { return program; }, - getLocalNameOfContainer: getLocalNameOfContainer, - getExpressionNamePrefix: getExpressionNamePrefix, - getPropertyAccessSubstitution: getPropertyAccessSubstitution, - getExportAssignmentName: getExportAssignmentName, - isReferencedImportDeclaration: isReferencedImportDeclaration, - getNodeCheckFlags: getNodeCheckFlags, - getEnumMemberValue: getEnumMemberValue, - isTopLevelValueImportedViaEntityName: isTopLevelValueImportedViaEntityName, - shouldEmitDeclarations: shouldEmitDeclarations, - isDeclarationVisible: isDeclarationVisible, - isImplementationOfOverload: isImplementationOfOverload, - writeTypeAtLocation: writeTypeAtLocation, - writeReturnTypeOfSignatureDeclaration: writeReturnTypeOfSignatureDeclaration - }; - checkProgram(); - return ts.emitFiles(resolver); - } - function initializeTypeChecker() { - ts.forEach(program.getSourceFiles(), function (file) { - ts.bindSourceFile(file); - ts.forEach(file.semanticErrors, addDiagnostic); - }); - ts.forEach(program.getSourceFiles(), function (file) { - if (!ts.isExternalModule(file)) { - extendSymbolTable(globals, file.locals); - } - }); - getSymbolLinks(undefinedSymbol).type = undefinedType; - getSymbolLinks(argumentsSymbol).type = getGlobalType("IArguments"); - getSymbolLinks(unknownSymbol).type = unknownType; - globals[undefinedSymbol.name] = undefinedSymbol; - globalArrayType = getGlobalType("Array", 1); - globalObjectType = getGlobalType("Object"); - globalFunctionType = getGlobalType("Function"); - globalStringType = getGlobalType("String"); - globalNumberType = getGlobalType("Number"); - globalBooleanType = getGlobalType("Boolean"); - globalRegExpType = getGlobalType("RegExp"); - } - initializeTypeChecker(); - checker = { - getProgram: function () { return program; }, - getDiagnostics: getDiagnostics, - getGlobalDiagnostics: getGlobalDiagnostics, - getNodeCount: function () { return ts.sum(program.getSourceFiles(), "nodeCount"); }, - getIdentifierCount: function () { return ts.sum(program.getSourceFiles(), "identifierCount"); }, - getSymbolCount: function () { return ts.sum(program.getSourceFiles(), "symbolCount"); }, - getTypeCount: function () { return typeCount; }, - checkProgram: checkProgram, - emitFiles: invokeEmitter, - getSymbolOfNode: getSymbolOfNode, - getParentOfSymbol: getParentOfSymbol, - getTypeOfSymbol: getTypeOfSymbol, - getDeclaredTypeOfSymbol: getDeclaredTypeOfSymbol, - getPropertiesOfType: getPropertiesOfType, - getSignaturesOfType: getSignaturesOfType, - getIndexTypeOfType: getIndexTypeOfType, - getReturnTypeOfSignature: getReturnTypeOfSignature, - resolveEntityName: resolveEntityName, - getSymbolsInScope: getSymbolsInScope, - getSymbolOfIdentifier: getSymbolOfIdentifier - }; - return checker; - } - ts.createTypeChecker = createTypeChecker; -})(ts || (ts = {})); -var ts; -(function (ts) { - (function (ByteOrderMark) { - ByteOrderMark[ByteOrderMark["None"] = 0] = "None"; - ByteOrderMark[ByteOrderMark["Utf8"] = 1] = "Utf8"; - ByteOrderMark[ByteOrderMark["Utf16BigEndian"] = 2] = "Utf16BigEndian"; - ByteOrderMark[ByteOrderMark["Utf16LittleEndian"] = 3] = "Utf16LittleEndian"; - })(ts.ByteOrderMark || (ts.ByteOrderMark = {})); - var ByteOrderMark = ts.ByteOrderMark; - var scanner = ts.createScanner(1 /* ES5 */); - var emptyArray = []; - function createNode(kind, pos, end, flags, parent) { - var node = new (ts.getNodeConstructor(kind))(); - node.pos = pos; - node.end = end; - node.flags = flags; - node.parent = parent; - return node; - } - var NodeObject = (function () { - function NodeObject() { - } - NodeObject.prototype.getSourceFile = function () { - var node = this; - while (node.kind !== 177 /* SourceFile */) - node = node.parent; - return node; - }; - NodeObject.prototype.getTextPos = function () { - return ts.getTokenPosOfNode(this); - }; - NodeObject.prototype.getFullWidth = function () { - return this.end - this.pos; - }; - NodeObject.prototype.getTriviaWidth = function () { - return ts.getTokenPosOfNode(this) - this.pos; - }; - NodeObject.prototype.getFullText = function () { - return this.getSourceFile().text.substring(this.pos, this.end); - }; - NodeObject.prototype.addSyntheticNodes = function (nodes, pos, end) { - scanner.setTextPos(pos); - while (pos < end) { - var token = scanner.scan(); - var textPos = scanner.getTextPos(); - var node = nodes.push(createNode(token, pos, textPos, 256 /* Synthetic */, this)); - pos = textPos; - } - return pos; - }; - NodeObject.prototype.createSyntaxList = function (nodes) { - var list = createNode(179 /* SyntaxList */, nodes.pos, nodes.end, 256 /* Synthetic */, this); - list._children = []; - var pos = nodes.pos; - for (var i = 0, len = nodes.length; i < len; i++) { - var node = nodes[i]; - if (pos < node.pos) { - pos = this.addSyntheticNodes(list._children, pos, node.pos); - } - list._children.push(node); - pos = node.end; - } - if (pos < nodes.end) { - this.addSyntheticNodes(list._children, pos, nodes.end); - } - return list; - }; - NodeObject.prototype.createChildren = function () { - var _this = this; - if (this.kind > 111 /* Missing */) { - scanner.setText(this.getSourceFile().text); - var children = []; - var pos = this.pos; - var processNode = function (node) { - if (pos < node.pos) { - pos = _this.addSyntheticNodes(children, pos, node.pos); - } - children.push(node); - pos = node.end; - }; - var processNodes = function (nodes) { - if (pos < nodes.pos) { - pos = _this.addSyntheticNodes(children, pos, nodes.pos); - } - children.push(_this.createSyntaxList(nodes)); - pos = nodes.end; - }; - ts.forEachChild(this, processNode, processNodes); - if (pos < this.end) { - this.addSyntheticNodes(children, pos, this.end); - } - scanner.setText(undefined); - } - this._children = children || emptyArray; - }; - NodeObject.prototype.getChildCount = function () { - if (!this._children) - this.createChildren(); - return this._children.length; - }; - NodeObject.prototype.getChildAt = function (index) { - if (!this._children) - this.createChildren(); - return this._children[index]; - }; - NodeObject.prototype.getChildren = function () { - if (!this._children) - this.createChildren(); - return this._children; - }; - NodeObject.prototype.getFirstToken = function () { - var children = this.getChildren(); - for (var i = 0; i < children.length; i++) { - var child = children[i]; - if (child.kind < 111 /* Missing */) - return child; - if (child.kind > 111 /* Missing */) - return child.getFirstToken(); - } - }; - NodeObject.prototype.getLastToken = function () { - var children = this.getChildren(); - for (var i = children.length - 1; i >= 0; i--) { - var child = children[i]; - if (child.kind < 111 /* Missing */) - return child; - if (child.kind > 111 /* Missing */) - return child.getLastToken(); - } - }; - return NodeObject; - })(); - var SymbolObject = (function () { - function SymbolObject(flags, name) { - this.flags = flags; - this.name = name; - } - SymbolObject.prototype.getFlags = function () { - return this.flags; - }; - SymbolObject.prototype.getName = function () { - return this.name; - }; - SymbolObject.prototype.getDeclarations = function () { - return this.declarations; - }; - return SymbolObject; - })(); - var TypeObject = (function () { - function TypeObject(checker, flags) { - this.checker = checker; - this.flags = flags; - } - TypeObject.prototype.getFlags = function () { - return this.flags; - }; - TypeObject.prototype.getSymbol = function () { - return this.symbol; - }; - TypeObject.prototype.getProperties = function () { - return this.checker.getPropertiesOfType(this); - }; - TypeObject.prototype.getCallSignatures = function () { - return this.checker.getSignaturesOfType(this, 0 /* Call */); - }; - TypeObject.prototype.getConstructSignatures = function () { - return this.checker.getSignaturesOfType(this, 1 /* Construct */); - }; - TypeObject.prototype.getStringIndexType = function () { - return this.checker.getIndexTypeOfType(this, 0 /* String */); - }; - TypeObject.prototype.getNumberIndexType = function () { - return this.checker.getIndexTypeOfType(this, 1 /* Number */); - }; - return TypeObject; - })(); - var SignatureObject = (function () { - function SignatureObject(checker) { - this.checker = checker; - } - SignatureObject.prototype.getDeclaration = function () { - return this.declaration; - }; - SignatureObject.prototype.getTypeParameters = function () { - return this.typeParameters; - }; - SignatureObject.prototype.getParameters = function () { - return this.parameters; - }; - SignatureObject.prototype.getReturnType = function () { - return this.checker.getReturnTypeOfSignature(this); - }; - return SignatureObject; - })(); - function createLanguageService(host) { - var program; - var typeChecker; - var filesByName; - function createCompilerHost() { - return { - getSourceFile: function (filename, languageVersion) { - var hostFile = filesByName[filename]; - if (!hostFile.sourceText) { - hostFile.sourceText = host.getScriptSnapshot(filename); - } - return ts.createSourceFile(filename, hostFile.sourceText.getText(0, hostFile.sourceText.getLength()), languageVersion); - }, - getDefaultLibFilename: function () { return ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(sys.getExecutingFilePath())), "lib.d.ts"); }, - getCancellationToken: function () { return undefined; }, - writeFile: function (fileName, data) { - throw Error("TODO: write file"); - }, - getCurrentDirectory: function () { - throw Error("TODO: getCurrentDirectory"); - }, - getCanonicalFileName: ts.getCanonicalFileName, - useCaseSensitiveFileNames: function () { return sys.useCaseSensitiveFileNames; } - }; - } - function synchronizeHostData() { - filesByName = {}; - var files = host.getScriptFileNames(); - ts.forEach(files, function (f) { - filesByName[f] = { - version: host.getScriptVersion(f), - isOpen: host.getScriptIsOpen(f), - byteOrderMark: host.getScriptByteOrderMark(f) - }; - }); - var currentProgram = program; - var options = host.getCompilationSettings(); - program = ts.createProgram(files, options, createCompilerHost()); - typeChecker = program.getTypeChecker(); - if (currentProgram) { - } - } - function getSyntacticDiagnostics(filename) { - synchronizeHostData(); - var sourceFile = program.getSourceFile(filename); - return sourceFile ? program.getDiagnostics(sourceFile) : []; - } - function getSemanticDiagnostics(filename) { - synchronizeHostData(); - var sourceFile = program.getSourceFile(filename); - return sourceFile ? typeChecker.getDiagnostics(sourceFile) : []; - } - return { - getSyntacticDiagnostics: getSyntacticDiagnostics, - getSemanticDiagnostics: getSemanticDiagnostics - }; - } - ts.createLanguageService = createLanguageService; - function initializeServices() { - ts.objectAllocator = { - getNodeConstructor: function (kind) { - function Node() { - } - var proto = new NodeObject(); - proto.kind = kind; - proto.pos = 0; - proto.end = 0; - proto.flags = 0; - proto.parent = undefined; - Node.prototype = proto; - return Node; - }, - getSymbolConstructor: function () { return SymbolObject; }, - getTypeConstructor: function () { return TypeObject; }, - getSignatureConstructor: function () { return SignatureObject; } - }; - } - initializeServices(); -})(ts || (ts = {})); -var ts; -(function (ts) { - var ScriptSnapshotShimAdapter = (function () { - function ScriptSnapshotShimAdapter(scriptSnapshotShim) { - this.scriptSnapshotShim = scriptSnapshotShim; - this.lineStartPositions = null; - } - ScriptSnapshotShimAdapter.prototype.getText = function (start, end) { - return this.scriptSnapshotShim.getText(start, end); - }; - 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 (scriptSnapshot) { - function createTextRange(start, length) { - function createSpan(start, length) { - return { - start: function () { return start; }, - end: function () { return start + length; }, - lenth: function () { return length; }, - isEmpty: function () { return length === 0; } - }; - } - return { - span: function () { return createSpan(start, length); }, - newLength: function () { return length; }, - newSpan: function () { return createSpan(start, length); }, - isUnchanged: function () { return length === 0; } - }; - } - var encoded = this.scriptSnapshotShim.getChangeRange(scriptSnapshot.scriptSnapshotShim); - if (encoded == null) { - return null; - } - var decoded = JSON.parse(encoded); - return createTextRange(decoded.span.start, decoded.span.length); - }; - return ScriptSnapshotShimAdapter; - })(); - var LanguageServiceShimHostAdapter = (function () { - function LanguageServiceShimHostAdapter(shimHost) { - this.shimHost = shimHost; - } - LanguageServiceShimHostAdapter.prototype.log = function (s) { - this.shimHost.log(s); - }; - LanguageServiceShimHostAdapter.prototype.getCompilationSettings = function () { - var settingsJson = this.shimHost.getCompilationSettings(); - if (settingsJson == null || settingsJson == "") { - return {}; - } - var settings = JSON.parse(settingsJson); - return settings; - }; - LanguageServiceShimHostAdapter.prototype.getScriptFileNames = function () { - var encoded = this.shimHost.getScriptFileNames(); - return JSON.parse(encoded); - }; - LanguageServiceShimHostAdapter.prototype.getScriptSnapshot = function (fileName) { - return new ScriptSnapshotShimAdapter(this.shimHost.getScriptSnapshot(fileName)); - }; - LanguageServiceShimHostAdapter.prototype.getScriptVersion = function (fileName) { - return this.shimHost.getScriptVersion(fileName); - }; - LanguageServiceShimHostAdapter.prototype.getScriptIsOpen = function (fileName) { - return this.shimHost.getScriptIsOpen(fileName); - }; - LanguageServiceShimHostAdapter.prototype.getScriptByteOrderMark = function (fileName) { - return this.shimHost.getScriptByteOrderMark(fileName); - }; - LanguageServiceShimHostAdapter.prototype.getLocalizedDiagnosticMessages = function () { - var diagnosticMessagesJson = this.shimHost.getLocalizedDiagnosticMessages(); - if (diagnosticMessagesJson == null || diagnosticMessagesJson == "") { - return null; - } - try { - return JSON.parse(diagnosticMessagesJson); - } - catch (e) { - this.log(e.description || "diagnosticMessages.generated.json has invalid JSON format"); - return null; - } - }; - return LanguageServiceShimHostAdapter; - })(); - ts.LanguageServiceShimHostAdapter = LanguageServiceShimHostAdapter; -})(ts || (ts = {})); diff --git a/bin/tsc.js b/bin/tsc.js index 5268e75b842..5efd7065d8e 100644 --- a/bin/tsc.js +++ b/bin/tsc.js @@ -125,7 +125,7 @@ var ts; 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: 2068, category: 1 /* Error */, key: "'new T[]' cannot be used to create an array. Use 'new Array()' instead." }, + 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." }, 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." }, @@ -402,7 +402,8 @@ var ts; 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." } + 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." }, + You_cannot_rename_this_element: { code: 8000, category: 1 /* Error */, key: "You cannot rename this element." } }; })(ts || (ts = {})); var ts; @@ -1938,9 +1939,9 @@ var ts; if (ts.localizedDiagnosticMessages) { message = ts.localizedDiagnosticMessages[message]; } - Debug.assert(message, "Diagnostic message does not exist in locale map."); return message; } + ts.getLocaleSpecificMessage = getLocaleSpecificMessage; function createFileDiagnostic(file, start, length, message) { var text = getLocaleSpecificMessage(message.key); if (arguments.length > 4) { @@ -2206,10 +2207,6 @@ var ts; return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; } ts.fileExtensionIs = fileExtensionIs; - function getCanonicalFileName(fileName) { - return sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(); - } - ts.getCanonicalFileName = getCanonicalFileName; function Symbol(flags, name) { this.flags = flags; this.name = name; @@ -2247,7 +2244,7 @@ var ts; (function (Debug) { var currentAssertionLevel = 0 /* None */; function shouldAssert(level) { - return this.currentAssertionLevel >= level; + return currentAssertionLevel >= level; } Debug.shouldAssert = shouldAssert; function assert(expression, message, verboseDebugInfo) { @@ -2590,6 +2587,7 @@ var ts; } } ts.getJsDocComments = getJsDocComments; + ts.fullTripleSlashReferencePathRegEx = /^(\/\/\/\s*/; function forEachChild(node, cbNode, cbNodes) { function child(node) { if (node) @@ -2823,7 +2821,6 @@ var ts; ControlBlockContext[ControlBlockContext["CrossingFunctionBoundary"] = 2] = "CrossingFunctionBoundary"; })(ControlBlockContext || (ControlBlockContext = {})); function createSourceFile(filename, sourceText, languageVersion, version, isOpen) { - if (version === void 0) { version = 0; } if (isOpen === void 0) { isOpen = false; } var file; var scanner; @@ -4331,8 +4328,6 @@ var ts; function parseBreakOrContinueStatement(kind) { var node = createNode(kind); var errorCountBeforeStatement = file.syntacticErrors.length; - var keywordStart = scanner.getTokenPos(); - var keywordLength = scanner.getTextPos() - keywordStart; parseExpected(kind === 153 /* BreakStatement */ ? 56 /* BreakKeyword */ : 61 /* ContinueKeyword */); if (!canParseSemicolon()) node.label = parseIdentifier(); @@ -5254,8 +5249,7 @@ var ts; file.hasNoDefaultLib = true; } else { - var fullReferenceRegEx = /^(\/\/\/\s*/; - var matchResult = fullReferenceRegEx.exec(comment); + var matchResult = ts.fullTripleSlashReferencePathRegEx.exec(comment); if (!matchResult) { var start = range.pos; var length = range.end - start; @@ -6027,7 +6021,7 @@ var ts; } } else { - writer.writeLiteral(sys.newLine); + writer.writeLiteral(newLine); } } function calculateIndent(pos, end) { @@ -6056,9 +6050,13 @@ var ts; } : emitLeadingDeclarationComments; var emitTrailingComments = compilerOptions.removeComments ? function (node) { } : emitTrailingDeclarationComments; + var emitLeadingCommentsOfPosition = compilerOptions.removeComments ? function (pos) { + } : emitLeadingCommentsOfLocalPosition; var detachedCommentsInfo; var emitDetachedComments = compilerOptions.removeComments ? function (node) { } : emitDetachedCommentsAtPosition; + var emitPinnedOrTripleSlashComments = compilerOptions.removeComments ? function (node) { + } : emitPinnedOrTripleSlashCommentsOfNode; var writeComment = writeCommentRange; var emit = emitNode; var emitStart = function (node) { @@ -6854,8 +6852,9 @@ var ts; emitTrailingComments(node); } function emitFunctionDeclaration(node) { - if (!node.body) - return; + if (!node.body) { + return emitPinnedOrTripleSlashComments(node); + } if (node.kind !== 116 /* Method */) { emitLeadingComments(node); } @@ -6923,12 +6922,14 @@ var ts; write(";"); emitTrailingComments(node.body); } - decreaseIndent(); writeLine(); if (node.body.kind === 168 /* FunctionBlock */) { + emitLeadingCommentsOfPosition(node.body.statements.end); + decreaseIndent(); emitToken(6 /* CloseBraceToken */, node.body.statements.end); } else { + decreaseIndent(); emitStart(node.body); write("}"); emitEnd(node.body); @@ -7012,8 +7013,9 @@ var ts; function emitMemberFunctions(node) { ts.forEach(node.members, function (member) { if (member.kind === 116 /* Method */) { - if (!member.body) - return; + if (!member.body) { + return emitPinnedOrTripleSlashComments(member); + } writeLine(); emitLeadingComments(member); emitStart(member); @@ -7134,6 +7136,11 @@ var ts; } emitTrailingComments(node); function emitConstructorOfClass() { + ts.forEach(node.members, function (member) { + if (member.kind === 117 /* Constructor */ && !member.body) { + emitPinnedOrTripleSlashComments(member); + } + }); var ctor = getFirstConstructorWithBody(node); if (ctor) { emitLeadingComments(ctor); @@ -7176,8 +7183,11 @@ var ts; statements = statements.slice(1); emitLines(statements); } - decreaseIndent(); writeLine(); + if (ctor) { + emitLeadingCommentsOfPosition(ctor.body.statements.end); + } + decreaseIndent(); emitToken(6 /* CloseBraceToken */, ctor ? ctor.body.statements.end : node.members.end); scopeEmitEnd(); emitEnd(ctor || node); @@ -7186,6 +7196,9 @@ var ts; } } } + function emitInterfaceDeclaration(node) { + emitPinnedOrTripleSlashComments(node); + } function emitEnumDeclaration(node) { emitLeadingComments(node); if (!(node.flags & 1 /* Export */)) { @@ -7258,8 +7271,9 @@ var ts; } } function emitModuleDeclaration(node) { - if (!ts.isInstantiated(node)) - return; + if (!ts.isInstantiated(node)) { + return emitPinnedOrTripleSlashComments(node); + } emitLeadingComments(node); if (!(node.flags & 1 /* Export */)) { emitStart(node); @@ -7438,6 +7452,7 @@ var ts; } function emitSourceFile(node) { currentSourceFile = node; + writeLine(); emitDetachedComments(node); var startIndex = emitDirectivePrologues(node.statements, false); if (!extendsEmitted && resolver.getNodeCheckFlags(node) & 8 /* EmitExtends */) { @@ -7471,8 +7486,12 @@ var ts; } } function emitNode(node) { - if (!node || node.flags & 2 /* Ambient */) + if (!node) { return; + } + if (node.flags & 2 /* Ambient */) { + return emitPinnedOrTripleSlashComments(node); + } switch (node.kind) { case 55 /* Identifier */: return emitIdentifier(node); @@ -7576,6 +7595,8 @@ var ts; return emitVariableDeclaration(node); case 169 /* ClassDeclaration */: return emitClassDeclaration(node); + case 170 /* InterfaceDeclaration */: + return emitInterfaceDeclaration(node); case 171 /* EnumDeclaration */: return emitEnumDeclaration(node); case 172 /* ModuleDeclaration */: @@ -7586,31 +7607,53 @@ var ts; return emitSourceFile(node); } } - function emitLeadingDeclarationComments(node) { + function hasDetachedComments(pos) { + return detachedCommentsInfo !== undefined && detachedCommentsInfo[detachedCommentsInfo.length - 1].nodePos === pos; + } + function getLeadingCommentsWithoutDetachedComments() { + var leadingComments = ts.getLeadingComments(currentSourceFile.text, detachedCommentsInfo[detachedCommentsInfo.length - 1].detachedCommentEndPos); + if (detachedCommentsInfo.length - 1) { + detachedCommentsInfo.pop(); + } + else { + detachedCommentsInfo = undefined; + } + return leadingComments; + } + function getLeadingCommentsToEmit(node) { if (node.parent.kind === 177 /* SourceFile */ || node.pos !== node.parent.pos) { var leadingComments; - if (detachedCommentsInfo === undefined || detachedCommentsInfo[detachedCommentsInfo.length - 1].nodePos !== node.pos) { - leadingComments = ts.getLeadingCommentsOfNode(node, currentSourceFile); + if (hasDetachedComments(node.pos)) { + leadingComments = getLeadingCommentsWithoutDetachedComments(); } else { - leadingComments = ts.getLeadingComments(currentSourceFile.text, detachedCommentsInfo[detachedCommentsInfo.length - 1].detachedCommentEndPos); - if (detachedCommentsInfo.length - 1) { - detachedCommentsInfo.pop(); - } - else { - detachedCommentsInfo = undefined; - } + leadingComments = ts.getLeadingCommentsOfNode(node, currentSourceFile); } - emitNewLineBeforeLeadingComments(node, leadingComments, writer); - emitComments(leadingComments, true, writer, writeComment); + return leadingComments; } } + function emitLeadingDeclarationComments(node) { + var leadingComments = getLeadingCommentsToEmit(node); + emitNewLineBeforeLeadingComments(node, leadingComments, writer); + emitComments(leadingComments, true, writer, writeComment); + } function emitTrailingDeclarationComments(node) { if (node.parent.kind === 177 /* SourceFile */ || node.end !== node.parent.end) { var trailingComments = ts.getTrailingComments(currentSourceFile.text, node.end); emitComments(trailingComments, false, writer, writeComment); } } + function emitLeadingCommentsOfLocalPosition(pos) { + var leadingComments; + if (hasDetachedComments(pos)) { + leadingComments = getLeadingCommentsWithoutDetachedComments(); + } + else { + leadingComments = ts.getLeadingComments(currentSourceFile.text, pos); + } + emitNewLineBeforeLeadingComments({ pos: pos, end: pos }, leadingComments, writer); + emitComments(leadingComments, true, writer, writeComment); + } function emitDetachedCommentsAtPosition(node) { var leadingComments = ts.getLeadingComments(currentSourceFile.text, node.pos); if (leadingComments) { @@ -7627,7 +7670,7 @@ var ts; detachedComments.push(comment); lastComment = comment; }); - if (detachedComments && detachedComments.length) { + if (detachedComments.length) { var lastCommentLine = getLineOfLocalPosition(detachedComments[detachedComments.length - 1].end); var astLine = getLineOfLocalPosition(ts.skipTrivia(currentSourceFile.text, node.pos)); if (astLine >= lastCommentLine + 2) { @@ -7644,6 +7687,19 @@ 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 */; + } + 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)) { + return true; + } + } + emitNewLineBeforeLeadingComments(node, pinnedComments, writer); + emitComments(pinnedComments, true, writer, writeComment); + } if (compilerOptions.sourceMap) { initializeEmitterWithSourceMaps(); } @@ -9078,7 +9134,7 @@ var ts; } return symbol.name; } - if (enclosingDeclaration && !(symbol.flags & ts.SymbolFlags.PropertyOrAccessor & ts.SymbolFlags.Signature & 4096 /* Constructor */ & 2048 /* Method */ & 262144 /* TypeParameter */)) { + if (enclosingDeclaration && !(symbol.flags & (ts.SymbolFlags.PropertyOrAccessor | ts.SymbolFlags.Signature | 4096 /* Constructor */ | 2048 /* Method */ | 262144 /* TypeParameter */))) { var symbolName; while (symbol) { var isFirstName = !symbolName; @@ -9561,7 +9617,7 @@ var ts; function getTypeOfFuncClassEnumModule(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { - var type = links.type = createObjectType(8192 /* Anonymous */, symbol); + links.type = createObjectType(8192 /* Anonymous */, symbol); } return links.type; } @@ -10234,11 +10290,11 @@ var ts; } var type = getDeclaredTypeOfSymbol(symbol); if (!(type.flags & ts.TypeFlags.ObjectType)) { - error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, name); + error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, symbol.name); return emptyObjectType; } if ((type.typeParameters ? type.typeParameters.length : 0) !== arity) { - error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_have_1_type_parameter_s, name, arity); + error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_have_1_type_parameter_s, symbol.name, arity); return emptyObjectType; } return type; @@ -11370,7 +11426,8 @@ var ts; } return false; } - function checkSuperExpression(node, isCallExpression) { + function checkSuperExpression(node) { + var isCallExpression = node.parent.kind === 132 /* CallExpression */ && node.parent.func === node; var enclosingClass = getAncestor(node, 169 /* ClassDeclaration */); var baseClass; if (enclosingClass && enclosingClass.baseType) { @@ -11872,7 +11929,7 @@ var ts; } function resolveCallExpression(node) { if (node.func.kind === 81 /* SuperKeyword */) { - var superType = checkSuperExpression(node.func, true); + var superType = checkSuperExpression(node.func); if (superType !== unknownType) { return resolveCall(node, getSignaturesOfType(superType, 1 /* Construct */)); } @@ -12345,7 +12402,7 @@ var ts; case 83 /* ThisKeyword */: return checkThisExpression(node); case 81 /* SuperKeyword */: - return checkSuperExpression(node, false); + return checkSuperExpression(node); case 79 /* NullKeyword */: return nullType; case 85 /* TrueKeyword */: @@ -13786,6 +13843,7 @@ var ts; case 114 /* Parameter */: case 115 /* Property */: case 176 /* EnumMember */: + case 129 /* PropertyAssignment */: return parent.initializer === node; case 146 /* ExpressionStatement */: case 147 /* IfStatement */: @@ -13888,6 +13946,9 @@ var ts; if (entityName.parent.kind === 175 /* ExportAssignment */) { return resolveEntityName(entityName.parent.parent, entityName, ts.SymbolFlags.Value | ts.SymbolFlags.Type | ts.SymbolFlags.Namespace | 4194304 /* Import */); } + if (isInRightSideOfImportOrExportAssignment(entityName)) { + return getSymbolOfPartOfRightHandSideOfImport(entityName); + } if (isRightSideOfQualifiedNameOrPropertyAccess(entityName)) { entityName = entityName.parent; } @@ -13976,8 +14037,7 @@ var ts; return getTypeOfSymbol(symbol); } if (isInRightSideOfImportOrExportAssignment(node)) { - var symbol; - symbol = node.parent.kind === 175 /* ExportAssignment */ ? getSymbolInfo(node) : getSymbolOfPartOfRightHandSideOfImport(node); + var symbol = getSymbolInfo(node); var declaredType = getDeclaredTypeOfSymbol(symbol); return declaredType !== unknownType ? declaredType : getTypeOfSymbol(symbol); } @@ -14113,7 +14173,8 @@ var ts; function isImplementationOfOverload(node) { if (node.body) { var symbol = getSymbolOfNode(node); - return getSignaturesOfSymbol(symbol).length > 1; + var signaturesOfSymbol = getSignaturesOfSymbol(symbol); + return signaturesOfSymbol.length > 1 || (signaturesOfSymbol.length === 1 && signaturesOfSymbol[0].declaration !== node); } return false; } @@ -14465,13 +14526,14 @@ var ts; return diagnostic.messageText; } function reportDiagnostic(diagnostic) { + var output = ""; if (diagnostic.file) { var loc = diagnostic.file.getLineAndCharacterFromPosition(diagnostic.start); - sys.write(diagnostic.file.filename + "(" + loc.line + "," + loc.character + "): " + diagnostic.messageText + sys.newLine); - } - else { - sys.write(diagnostic.messageText + sys.newLine); + output += diagnostic.file.filename + "(" + loc.line + "," + loc.character + "): "; } + var category = ts.DiagnosticCategory[diagnostic.category].toLowerCase(); + output += category + " TS" + diagnostic.code + ": " + diagnostic.messageText + sys.newLine; + sys.write(output); } function reportDiagnostics(diagnostics) { for (var i = 0; i < diagnostics.length; i++) { @@ -14502,6 +14564,9 @@ var ts; function createCompilerHost(options) { var currentDirectory; var existingDirectories = {}; + function getCanonicalFileName(fileName) { + return sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(); + } function getSourceFile(filename, languageVersion, onError) { try { var text = sys.readFile(filename, options.charset); @@ -14512,7 +14577,7 @@ var ts; } text = ""; } - return text !== undefined ? ts.createSourceFile(filename, text, languageVersion) : undefined; + return text !== undefined ? ts.createSourceFile(filename, text, languageVersion, "0") : undefined; } function writeFile(fileName, data, writeByteOrderMark, onError) { function directoryExists(directoryPath) { @@ -14547,7 +14612,7 @@ var ts; writeFile: writeFile, getCurrentDirectory: function () { return currentDirectory || (currentDirectory = sys.getCurrentDirectory()); }, useCaseSensitiveFileNames: function () { return sys.useCaseSensitiveFileNames; }, - getCanonicalFileName: ts.getCanonicalFileName, + getCanonicalFileName: getCanonicalFileName, getNewLine: function () { return sys.newLine; } }; } diff --git a/bin/typescriptServices.js b/bin/typescriptServices.js index 127aac0fc68..d9b53be63cf 100644 --- a/bin/typescriptServices.js +++ b/bin/typescriptServices.js @@ -125,7 +125,7 @@ var ts; 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: 2068, category: 1 /* Error */, key: "'new T[]' cannot be used to create an array. Use 'new Array()' instead." }, + 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." }, 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." }, @@ -402,7 +402,8 @@ var ts; 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." } + 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." }, + You_cannot_rename_this_element: { code: 8000, category: 1 /* Error */, key: "You cannot rename this element." } }; })(ts || (ts = {})); var ts; @@ -1938,9 +1939,9 @@ var ts; if (ts.localizedDiagnosticMessages) { message = ts.localizedDiagnosticMessages[message]; } - Debug.assert(message, "Diagnostic message does not exist in locale map."); return message; } + ts.getLocaleSpecificMessage = getLocaleSpecificMessage; function createFileDiagnostic(file, start, length, message) { var text = getLocaleSpecificMessage(message.key); if (arguments.length > 4) { @@ -2206,10 +2207,6 @@ var ts; return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; } ts.fileExtensionIs = fileExtensionIs; - function getCanonicalFileName(fileName) { - return sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(); - } - ts.getCanonicalFileName = getCanonicalFileName; function Symbol(flags, name) { this.flags = flags; this.name = name; @@ -2247,7 +2244,7 @@ var ts; (function (Debug) { var currentAssertionLevel = 0 /* None */; function shouldAssert(level) { - return this.currentAssertionLevel >= level; + return currentAssertionLevel >= level; } Debug.shouldAssert = shouldAssert; function assert(expression, message, verboseDebugInfo) { @@ -2267,201 +2264,6 @@ var ts; })(ts.Debug || (ts.Debug = {})); var Debug = ts.Debug; })(ts || (ts = {})); -var sys = (function () { - function getWScriptSystem() { - var fso = new ActiveXObject("Scripting.FileSystemObject"); - var fileStream = new ActiveXObject("ADODB.Stream"); - fileStream.Type = 2; - var binaryStream = new ActiveXObject("ADODB.Stream"); - binaryStream.Type = 1; - var args = []; - for (var i = 0; i < WScript.Arguments.length; i++) { - args[i] = WScript.Arguments.Item(i); - } - function readFile(fileName, encoding) { - if (!fso.FileExists(fileName)) { - return undefined; - } - fileStream.Open(); - try { - if (encoding) { - fileStream.Charset = encoding; - fileStream.LoadFromFile(fileName); - } - else { - fileStream.Charset = "x-ansi"; - fileStream.LoadFromFile(fileName); - var bom = fileStream.ReadText(2) || ""; - fileStream.Position = 0; - fileStream.Charset = bom.length >= 2 && (bom.charCodeAt(0) === 0xFF && bom.charCodeAt(1) === 0xFE || bom.charCodeAt(0) === 0xFE && bom.charCodeAt(1) === 0xFF) ? "unicode" : "utf-8"; - } - return fileStream.ReadText(); - } - catch (e) { - throw e.number === -2147024809 ? new Error(ts.Diagnostics.Unsupported_file_encoding.key) : e; - } - finally { - fileStream.Close(); - } - } - function writeFile(fileName, data, writeByteOrderMark) { - fileStream.Open(); - binaryStream.Open(); - try { - fileStream.Charset = "utf-8"; - fileStream.WriteText(data); - if (writeByteOrderMark) { - fileStream.Position = 0; - } - else { - fileStream.Position = 3; - } - fileStream.CopyTo(binaryStream); - binaryStream.SaveToFile(fileName, 2); - } - finally { - binaryStream.Close(); - fileStream.Close(); - } - } - return { - args: args, - newLine: "\r\n", - useCaseSensitiveFileNames: false, - write: function (s) { - WScript.StdOut.Write(s); - }, - readFile: readFile, - writeFile: writeFile, - resolvePath: function (path) { - return fso.GetAbsolutePathName(path); - }, - fileExists: function (path) { - return fso.FileExists(path); - }, - directoryExists: function (path) { - return fso.FolderExists(path); - }, - createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { - fso.CreateFolder(directoryName); - } - }, - getExecutingFilePath: function () { - return WScript.ScriptFullName; - }, - getCurrentDirectory: function () { - return new ActiveXObject("WScript.Shell").CurrentDirectory; - }, - exit: function (exitCode) { - try { - WScript.Quit(exitCode); - } - catch (e) { - } - } - }; - } - function getNodeSystem() { - var _fs = require("fs"); - var _path = require("path"); - var _os = require('os'); - var platform = _os.platform(); - var useCaseSensitiveFileNames = platform !== "win32" && platform !== "win64" && platform !== "darwin"; - function readFile(fileName, encoding) { - if (!_fs.existsSync(fileName)) { - return undefined; - } - var buffer = _fs.readFileSync(fileName); - var len = buffer.length; - if (len >= 2 && buffer[0] === 0xFE && buffer[1] === 0xFF) { - len &= ~1; - for (var i = 0; i < len; i += 2) { - var temp = buffer[i]; - buffer[i] = buffer[i + 1]; - buffer[i + 1] = temp; - } - return buffer.toString("utf16le", 2); - } - if (len >= 2 && buffer[0] === 0xFF && buffer[1] === 0xFE) { - return buffer.toString("utf16le", 2); - } - if (len >= 3 && buffer[0] === 0xEF && buffer[1] === 0xBB && buffer[2] === 0xBF) { - return buffer.toString("utf8", 3); - } - return buffer.toString("utf8"); - } - function writeFile(fileName, data, writeByteOrderMark) { - if (writeByteOrderMark) { - data = '\uFEFF' + data; - } - _fs.writeFileSync(fileName, data, "utf8"); - } - return { - args: process.argv.slice(2), - newLine: _os.EOL, - useCaseSensitiveFileNames: useCaseSensitiveFileNames, - write: function (s) { - _fs.writeSync(1, s); - }, - readFile: readFile, - writeFile: writeFile, - watchFile: function (fileName, callback) { - _fs.watchFile(fileName, { persistent: true, interval: 250 }, fileChanged); - return { - close: function () { - _fs.unwatchFile(fileName, fileChanged); - } - }; - function fileChanged(curr, prev) { - if (+curr.mtime <= +prev.mtime) { - return; - } - callback(fileName); - } - ; - }, - resolvePath: function (path) { - return _path.resolve(path); - }, - fileExists: function (path) { - return _fs.existsSync(path); - }, - directoryExists: function (path) { - return _fs.existsSync(path) && _fs.statSync(path).isDirectory(); - }, - createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { - _fs.mkdirSync(directoryName); - } - }, - getExecutingFilePath: function () { - return process.mainModule.filename; - }, - getCurrentDirectory: function () { - return process.cwd(); - }, - getMemoryUsage: function () { - if (global.gc) { - global.gc(); - } - return process.memoryUsage().heapUsed; - }, - exit: function (exitCode) { - process.exit(exitCode); - } - }; - } - if (typeof WScript !== "undefined" && typeof ActiveXObject === "function") { - return getWScriptSystem(); - } - else if (typeof module !== "undefined" && module.exports) { - return getNodeSystem(); - } - else { - return undefined; - } -})(); var ts; (function (ts) { var nodeConstructors = new Array(180 /* Count */); @@ -2590,6 +2392,7 @@ var ts; } } ts.getJsDocComments = getJsDocComments; + ts.fullTripleSlashReferencePathRegEx = /^(\/\/\/\s*/; function forEachChild(node, cbNode, cbNodes) { function child(node) { if (node) @@ -2823,7 +2626,6 @@ var ts; ControlBlockContext[ControlBlockContext["CrossingFunctionBoundary"] = 2] = "CrossingFunctionBoundary"; })(ControlBlockContext || (ControlBlockContext = {})); function createSourceFile(filename, sourceText, languageVersion, version, isOpen) { - if (version === void 0) { version = 0; } if (isOpen === void 0) { isOpen = false; } var file; var scanner; @@ -4331,8 +4133,6 @@ var ts; function parseBreakOrContinueStatement(kind) { var node = createNode(kind); var errorCountBeforeStatement = file.syntacticErrors.length; - var keywordStart = scanner.getTokenPos(); - var keywordLength = scanner.getTextPos() - keywordStart; parseExpected(kind === 153 /* BreakStatement */ ? 56 /* BreakKeyword */ : 61 /* ContinueKeyword */); if (!canParseSemicolon()) node.label = parseIdentifier(); @@ -5254,8 +5054,7 @@ var ts; file.hasNoDefaultLib = true; } else { - var fullReferenceRegEx = /^(\/\/\/\s*/; - var matchResult = fullReferenceRegEx.exec(comment); + var matchResult = ts.fullTripleSlashReferencePathRegEx.exec(comment); if (!matchResult) { var start = range.pos; var length = range.end - start; @@ -6027,7 +5826,7 @@ var ts; } } else { - writer.writeLiteral(sys.newLine); + writer.writeLiteral(newLine); } } function calculateIndent(pos, end) { @@ -6056,9 +5855,13 @@ var ts; } : emitLeadingDeclarationComments; var emitTrailingComments = compilerOptions.removeComments ? function (node) { } : emitTrailingDeclarationComments; + var emitLeadingCommentsOfPosition = compilerOptions.removeComments ? function (pos) { + } : emitLeadingCommentsOfLocalPosition; var detachedCommentsInfo; var emitDetachedComments = compilerOptions.removeComments ? function (node) { } : emitDetachedCommentsAtPosition; + var emitPinnedOrTripleSlashComments = compilerOptions.removeComments ? function (node) { + } : emitPinnedOrTripleSlashCommentsOfNode; var writeComment = writeCommentRange; var emit = emitNode; var emitStart = function (node) { @@ -6854,8 +6657,9 @@ var ts; emitTrailingComments(node); } function emitFunctionDeclaration(node) { - if (!node.body) - return; + if (!node.body) { + return emitPinnedOrTripleSlashComments(node); + } if (node.kind !== 116 /* Method */) { emitLeadingComments(node); } @@ -6923,12 +6727,14 @@ var ts; write(";"); emitTrailingComments(node.body); } - decreaseIndent(); writeLine(); if (node.body.kind === 168 /* FunctionBlock */) { + emitLeadingCommentsOfPosition(node.body.statements.end); + decreaseIndent(); emitToken(6 /* CloseBraceToken */, node.body.statements.end); } else { + decreaseIndent(); emitStart(node.body); write("}"); emitEnd(node.body); @@ -7012,8 +6818,9 @@ var ts; function emitMemberFunctions(node) { ts.forEach(node.members, function (member) { if (member.kind === 116 /* Method */) { - if (!member.body) - return; + if (!member.body) { + return emitPinnedOrTripleSlashComments(member); + } writeLine(); emitLeadingComments(member); emitStart(member); @@ -7134,6 +6941,11 @@ var ts; } emitTrailingComments(node); function emitConstructorOfClass() { + ts.forEach(node.members, function (member) { + if (member.kind === 117 /* Constructor */ && !member.body) { + emitPinnedOrTripleSlashComments(member); + } + }); var ctor = getFirstConstructorWithBody(node); if (ctor) { emitLeadingComments(ctor); @@ -7176,8 +6988,11 @@ var ts; statements = statements.slice(1); emitLines(statements); } - decreaseIndent(); writeLine(); + if (ctor) { + emitLeadingCommentsOfPosition(ctor.body.statements.end); + } + decreaseIndent(); emitToken(6 /* CloseBraceToken */, ctor ? ctor.body.statements.end : node.members.end); scopeEmitEnd(); emitEnd(ctor || node); @@ -7186,6 +7001,9 @@ var ts; } } } + function emitInterfaceDeclaration(node) { + emitPinnedOrTripleSlashComments(node); + } function emitEnumDeclaration(node) { emitLeadingComments(node); if (!(node.flags & 1 /* Export */)) { @@ -7258,8 +7076,9 @@ var ts; } } function emitModuleDeclaration(node) { - if (!ts.isInstantiated(node)) - return; + if (!ts.isInstantiated(node)) { + return emitPinnedOrTripleSlashComments(node); + } emitLeadingComments(node); if (!(node.flags & 1 /* Export */)) { emitStart(node); @@ -7438,6 +7257,7 @@ var ts; } function emitSourceFile(node) { currentSourceFile = node; + writeLine(); emitDetachedComments(node); var startIndex = emitDirectivePrologues(node.statements, false); if (!extendsEmitted && resolver.getNodeCheckFlags(node) & 8 /* EmitExtends */) { @@ -7471,8 +7291,12 @@ var ts; } } function emitNode(node) { - if (!node || node.flags & 2 /* Ambient */) + if (!node) { return; + } + if (node.flags & 2 /* Ambient */) { + return emitPinnedOrTripleSlashComments(node); + } switch (node.kind) { case 55 /* Identifier */: return emitIdentifier(node); @@ -7576,6 +7400,8 @@ var ts; return emitVariableDeclaration(node); case 169 /* ClassDeclaration */: return emitClassDeclaration(node); + case 170 /* InterfaceDeclaration */: + return emitInterfaceDeclaration(node); case 171 /* EnumDeclaration */: return emitEnumDeclaration(node); case 172 /* ModuleDeclaration */: @@ -7586,31 +7412,53 @@ var ts; return emitSourceFile(node); } } - function emitLeadingDeclarationComments(node) { + function hasDetachedComments(pos) { + return detachedCommentsInfo !== undefined && detachedCommentsInfo[detachedCommentsInfo.length - 1].nodePos === pos; + } + function getLeadingCommentsWithoutDetachedComments() { + var leadingComments = ts.getLeadingComments(currentSourceFile.text, detachedCommentsInfo[detachedCommentsInfo.length - 1].detachedCommentEndPos); + if (detachedCommentsInfo.length - 1) { + detachedCommentsInfo.pop(); + } + else { + detachedCommentsInfo = undefined; + } + return leadingComments; + } + function getLeadingCommentsToEmit(node) { if (node.parent.kind === 177 /* SourceFile */ || node.pos !== node.parent.pos) { var leadingComments; - if (detachedCommentsInfo === undefined || detachedCommentsInfo[detachedCommentsInfo.length - 1].nodePos !== node.pos) { - leadingComments = ts.getLeadingCommentsOfNode(node, currentSourceFile); + if (hasDetachedComments(node.pos)) { + leadingComments = getLeadingCommentsWithoutDetachedComments(); } else { - leadingComments = ts.getLeadingComments(currentSourceFile.text, detachedCommentsInfo[detachedCommentsInfo.length - 1].detachedCommentEndPos); - if (detachedCommentsInfo.length - 1) { - detachedCommentsInfo.pop(); - } - else { - detachedCommentsInfo = undefined; - } + leadingComments = ts.getLeadingCommentsOfNode(node, currentSourceFile); } - emitNewLineBeforeLeadingComments(node, leadingComments, writer); - emitComments(leadingComments, true, writer, writeComment); + return leadingComments; } } + function emitLeadingDeclarationComments(node) { + var leadingComments = getLeadingCommentsToEmit(node); + emitNewLineBeforeLeadingComments(node, leadingComments, writer); + emitComments(leadingComments, true, writer, writeComment); + } function emitTrailingDeclarationComments(node) { if (node.parent.kind === 177 /* SourceFile */ || node.end !== node.parent.end) { var trailingComments = ts.getTrailingComments(currentSourceFile.text, node.end); emitComments(trailingComments, false, writer, writeComment); } } + function emitLeadingCommentsOfLocalPosition(pos) { + var leadingComments; + if (hasDetachedComments(pos)) { + leadingComments = getLeadingCommentsWithoutDetachedComments(); + } + else { + leadingComments = ts.getLeadingComments(currentSourceFile.text, pos); + } + emitNewLineBeforeLeadingComments({ pos: pos, end: pos }, leadingComments, writer); + emitComments(leadingComments, true, writer, writeComment); + } function emitDetachedCommentsAtPosition(node) { var leadingComments = ts.getLeadingComments(currentSourceFile.text, node.pos); if (leadingComments) { @@ -7627,7 +7475,7 @@ var ts; detachedComments.push(comment); lastComment = comment; }); - if (detachedComments && detachedComments.length) { + if (detachedComments.length) { var lastCommentLine = getLineOfLocalPosition(detachedComments[detachedComments.length - 1].end); var astLine = getLineOfLocalPosition(ts.skipTrivia(currentSourceFile.text, node.pos)); if (astLine >= lastCommentLine + 2) { @@ -7644,6 +7492,19 @@ 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 */; + } + 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)) { + return true; + } + } + emitNewLineBeforeLeadingComments(node, pinnedComments, writer); + emitComments(pinnedComments, true, writer, writeComment); + } if (compilerOptions.sourceMap) { initializeEmitterWithSourceMaps(); } @@ -9078,7 +8939,7 @@ var ts; } return symbol.name; } - if (enclosingDeclaration && !(symbol.flags & ts.SymbolFlags.PropertyOrAccessor & ts.SymbolFlags.Signature & 4096 /* Constructor */ & 2048 /* Method */ & 262144 /* TypeParameter */)) { + if (enclosingDeclaration && !(symbol.flags & (ts.SymbolFlags.PropertyOrAccessor | ts.SymbolFlags.Signature | 4096 /* Constructor */ | 2048 /* Method */ | 262144 /* TypeParameter */))) { var symbolName; while (symbol) { var isFirstName = !symbolName; @@ -9561,7 +9422,7 @@ var ts; function getTypeOfFuncClassEnumModule(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { - var type = links.type = createObjectType(8192 /* Anonymous */, symbol); + links.type = createObjectType(8192 /* Anonymous */, symbol); } return links.type; } @@ -10234,11 +10095,11 @@ var ts; } var type = getDeclaredTypeOfSymbol(symbol); if (!(type.flags & ts.TypeFlags.ObjectType)) { - error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, name); + error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, symbol.name); return emptyObjectType; } if ((type.typeParameters ? type.typeParameters.length : 0) !== arity) { - error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_have_1_type_parameter_s, name, arity); + error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_have_1_type_parameter_s, symbol.name, arity); return emptyObjectType; } return type; @@ -11370,7 +11231,8 @@ var ts; } return false; } - function checkSuperExpression(node, isCallExpression) { + function checkSuperExpression(node) { + var isCallExpression = node.parent.kind === 132 /* CallExpression */ && node.parent.func === node; var enclosingClass = getAncestor(node, 169 /* ClassDeclaration */); var baseClass; if (enclosingClass && enclosingClass.baseType) { @@ -11872,7 +11734,7 @@ var ts; } function resolveCallExpression(node) { if (node.func.kind === 81 /* SuperKeyword */) { - var superType = checkSuperExpression(node.func, true); + var superType = checkSuperExpression(node.func); if (superType !== unknownType) { return resolveCall(node, getSignaturesOfType(superType, 1 /* Construct */)); } @@ -12345,7 +12207,7 @@ var ts; case 83 /* ThisKeyword */: return checkThisExpression(node); case 81 /* SuperKeyword */: - return checkSuperExpression(node, false); + return checkSuperExpression(node); case 79 /* NullKeyword */: return nullType; case 85 /* TrueKeyword */: @@ -13786,6 +13648,7 @@ var ts; case 114 /* Parameter */: case 115 /* Property */: case 176 /* EnumMember */: + case 129 /* PropertyAssignment */: return parent.initializer === node; case 146 /* ExpressionStatement */: case 147 /* IfStatement */: @@ -13888,6 +13751,9 @@ var ts; if (entityName.parent.kind === 175 /* ExportAssignment */) { return resolveEntityName(entityName.parent.parent, entityName, ts.SymbolFlags.Value | ts.SymbolFlags.Type | ts.SymbolFlags.Namespace | 4194304 /* Import */); } + if (isInRightSideOfImportOrExportAssignment(entityName)) { + return getSymbolOfPartOfRightHandSideOfImport(entityName); + } if (isRightSideOfQualifiedNameOrPropertyAccess(entityName)) { entityName = entityName.parent; } @@ -13976,8 +13842,7 @@ var ts; return getTypeOfSymbol(symbol); } if (isInRightSideOfImportOrExportAssignment(node)) { - var symbol; - symbol = node.parent.kind === 175 /* ExportAssignment */ ? getSymbolInfo(node) : getSymbolOfPartOfRightHandSideOfImport(node); + var symbol = getSymbolInfo(node); var declaredType = getDeclaredTypeOfSymbol(symbol); return declaredType !== unknownType ? declaredType : getTypeOfSymbol(symbol); } @@ -14113,7 +13978,8 @@ var ts; function isImplementationOfOverload(node) { if (node.body) { var symbol = getSymbolOfNode(node); - return getSignaturesOfSymbol(symbol).length > 1; + var signaturesOfSymbol = getSignaturesOfSymbol(symbol); + return signaturesOfSymbol.length > 1 || (signaturesOfSymbol.length === 1 && signaturesOfSymbol[0].declaration !== node); } return false; } @@ -15368,7 +15234,7 @@ var TypeScript; })(Location); TypeScript.Diagnostic = Diagnostic; function newLine() { - return sys.newLine ? sys.newLine : "\r\n"; + return "\r\n"; } TypeScript.newLine = newLine; function getLargestIndex(diagnostic) { @@ -15801,7 +15667,7 @@ var TypeScript; } return this._lineStartPositions; }; - StringScriptSnapshot.prototype.getTextChangeRangeSinceVersion = function (scriptVersion) { + StringScriptSnapshot.prototype.getChangeRange = function (oldSnapshot) { throw TypeScript.Errors.notYetImplemented(); }; return StringScriptSnapshot; @@ -15975,6 +15841,9 @@ var TypeScript; this._start = start; this._length = length; } + TextSpan.prototype.toJSON = function (key) { + return { start: this._start, length: this._length }; + }; TextSpan.prototype.start = function () { return this._start; }; @@ -16825,23 +16694,26 @@ var TypeScript; TypeScript.Debug.assert(TypeScript.SyntaxKind.LastToken <= 127); var ScannerConstants; (function (ScannerConstants) { - ScannerConstants[ScannerConstants["LargeTokenFullStartShift"] = 2] = "LargeTokenFullStartShift"; + ScannerConstants[ScannerConstants["LargeTokenFullStartShift"] = 4] = "LargeTokenFullStartShift"; ScannerConstants[ScannerConstants["LargeTokenFullWidthShift"] = 7] = "LargeTokenFullWidthShift"; + ScannerConstants[ScannerConstants["LargeTokenLeadingTriviaBitMask"] = 0x01] = "LargeTokenLeadingTriviaBitMask"; + ScannerConstants[ScannerConstants["LargeTokenLeadingCommentBitMask"] = 0x02] = "LargeTokenLeadingCommentBitMask"; + ScannerConstants[ScannerConstants["LargeTokenTrailingTriviaBitMask"] = 0x04] = "LargeTokenTrailingTriviaBitMask"; + ScannerConstants[ScannerConstants["LargeTokenTrailingCommentBitMask"] = 0x08] = "LargeTokenTrailingCommentBitMask"; + ScannerConstants[ScannerConstants["LargeTokenTriviaBitMask"] = 0x0F] = "LargeTokenTriviaBitMask"; ScannerConstants[ScannerConstants["FixedWidthTokenFullStartShift"] = 7] = "FixedWidthTokenFullStartShift"; + ScannerConstants[ScannerConstants["FixedWidthTokenMaxFullStart"] = 0x7FFFFF] = "FixedWidthTokenMaxFullStart"; ScannerConstants[ScannerConstants["SmallTokenFullWidthShift"] = 7] = "SmallTokenFullWidthShift"; ScannerConstants[ScannerConstants["SmallTokenFullStartShift"] = 12] = "SmallTokenFullStartShift"; - ScannerConstants[ScannerConstants["KindMask"] = 0x7F] = "KindMask"; - ScannerConstants[ScannerConstants["IsVariableWidthMask"] = 0x80] = "IsVariableWidthMask"; - ScannerConstants[ScannerConstants["LargeTokenLeadingTriviaBitMask"] = 0x01] = "LargeTokenLeadingTriviaBitMask"; - ScannerConstants[ScannerConstants["LargeTokenTrailingTriviaBitMask"] = 0x02] = "LargeTokenTrailingTriviaBitMask"; - ScannerConstants[ScannerConstants["SmallTokenFullWidthMask"] = 0x1F] = "SmallTokenFullWidthMask"; - ScannerConstants[ScannerConstants["FixedWidthTokenMaxFullStart"] = 0x7FFFFF] = "FixedWidthTokenMaxFullStart"; ScannerConstants[ScannerConstants["SmallTokenMaxFullStart"] = 0x3FFFF] = "SmallTokenMaxFullStart"; ScannerConstants[ScannerConstants["SmallTokenMaxFullWidth"] = 0x1F] = "SmallTokenMaxFullWidth"; + ScannerConstants[ScannerConstants["SmallTokenFullWidthMask"] = 0x1F] = "SmallTokenFullWidthMask"; + ScannerConstants[ScannerConstants["KindMask"] = 0x7F] = "KindMask"; + ScannerConstants[ScannerConstants["IsVariableWidthMask"] = 0x80] = "IsVariableWidthMask"; })(ScannerConstants || (ScannerConstants = {})); - TypeScript.Debug.assert(largeTokenUnpackFullStart(largeTokenPackFullStartAndInfo(1 << 28, 1, 1)) === (1 << 28)); - TypeScript.Debug.assert(largeTokenUnpackFullStart(largeTokenPackFullStartAndInfo(3 << 27, 0, 1)) === (3 << 27)); - TypeScript.Debug.assert(largeTokenUnpackFullStart(largeTokenPackFullStartAndInfo(10 << 25, 1, 0)) === (10 << 25)); + TypeScript.Debug.assert(largeTokenUnpackFullStart(largeTokenPackFullStartAndInfo(1 << 26, 3)) === (1 << 26)); + TypeScript.Debug.assert(largeTokenUnpackFullStart(largeTokenPackFullStartAndInfo(3 << 25, 1)) === (3 << 25)); + TypeScript.Debug.assert(largeTokenUnpackFullStart(largeTokenPackFullStartAndInfo(10 << 23, 2)) === (10 << 23)); function fixedWidthTokenPackData(fullStart, kind) { return (fullStart << 7 /* FixedWidthTokenFullStartShift */) | kind; } @@ -16857,20 +16729,29 @@ var TypeScript; function smallTokenUnpackFullStart(packedData) { return packedData >> 12 /* SmallTokenFullStartShift */; } - function largeTokenPackFullStartAndInfo(fullStart, hasLeadingTriviaInfo, hasTrailingTriviaInfo) { - return (fullStart << 2 /* LargeTokenFullStartShift */) | hasLeadingTriviaInfo | hasTrailingTriviaInfo; + function largeTokenPackFullStartAndInfo(fullStart, triviaInfo) { + return (fullStart << 4 /* LargeTokenFullStartShift */) | triviaInfo; } function largeTokenUnpackFullWidth(packedFullWidthAndKind) { return packedFullWidthAndKind >> 7 /* LargeTokenFullWidthShift */; } function largeTokenUnpackFullStart(packedFullStartAndInfo) { - return packedFullStartAndInfo >> 2 /* LargeTokenFullStartShift */; + return packedFullStartAndInfo >> 4 /* LargeTokenFullStartShift */; } - function largeTokenUnpackHasLeadingTriviaInfo(packed) { - return packed & 1 /* LargeTokenLeadingTriviaBitMask */; + function largeTokenUnpackHasLeadingTrivia(packed) { + return (packed & 1 /* LargeTokenLeadingTriviaBitMask */) !== 0; } - function largeTokenUnpackHasTrailingTriviaInfo(packed) { - return packed & 2 /* LargeTokenTrailingTriviaBitMask */; + function largeTokenUnpackHasTrailingTrivia(packed) { + return (packed & 4 /* LargeTokenTrailingTriviaBitMask */) !== 0; + } + function largeTokenUnpackHasLeadingComment(packed) { + return (packed & 2 /* LargeTokenLeadingCommentBitMask */) !== 0; + } + function largeTokenUnpackHasTrailingComment(packed) { + return (packed & 8 /* LargeTokenTrailingCommentBitMask */) !== 0; + } + function largeTokenUnpackTriviaInfo(packed) { + return packed & 15 /* LargeTokenTriviaBitMask */; } var isKeywordStartCharacter = TypeScript.ArrayUtilities.createArray(127 /* maxAsciiCharacter */, 0); var isIdentifierStartCharacter = TypeScript.ArrayUtilities.createArray(127 /* maxAsciiCharacter */, false); @@ -16993,6 +16874,12 @@ var TypeScript; FixedWidthTokenWithNoTrivia.prototype.hasTrailingTrivia = function () { return false; }; + FixedWidthTokenWithNoTrivia.prototype.hasLeadingComment = function () { + return false; + }; + FixedWidthTokenWithNoTrivia.prototype.hasTrailingComment = function () { + return false; + }; FixedWidthTokenWithNoTrivia.prototype.clone = function () { return new FixedWidthTokenWithNoTrivia(this._packedData); }; @@ -17007,7 +16894,7 @@ var TypeScript; } } LargeScannerToken.prototype.setFullStart = function (fullStart) { - this._packedFullStartAndInfo = largeTokenPackFullStartAndInfo(fullStart, largeTokenUnpackHasLeadingTriviaInfo(this._packedFullStartAndInfo), largeTokenUnpackHasTrailingTriviaInfo(this._packedFullStartAndInfo)); + this._packedFullStartAndInfo = largeTokenPackFullStartAndInfo(fullStart, largeTokenUnpackTriviaInfo(this._packedFullStartAndInfo)); }; LargeScannerToken.prototype.syntaxTreeText = function (text) { var result = text || TypeScript.syntaxTree(this).text; @@ -17052,10 +16939,16 @@ var TypeScript; return largeTokenUnpackFullStart(this._packedFullStartAndInfo); }; LargeScannerToken.prototype.hasLeadingTrivia = function () { - return largeTokenUnpackHasLeadingTriviaInfo(this._packedFullStartAndInfo) !== 0; + return largeTokenUnpackHasLeadingTrivia(this._packedFullStartAndInfo); }; LargeScannerToken.prototype.hasTrailingTrivia = function () { - return largeTokenUnpackHasTrailingTriviaInfo(this._packedFullStartAndInfo) !== 0; + return largeTokenUnpackHasTrailingTrivia(this._packedFullStartAndInfo); + }; + LargeScannerToken.prototype.hasLeadingComment = function () { + return largeTokenUnpackHasLeadingComment(this._packedFullStartAndInfo); + }; + LargeScannerToken.prototype.hasTrailingComment = function () { + return largeTokenUnpackHasTrailingComment(this._packedFullStartAndInfo); }; LargeScannerToken.prototype.clone = function () { return new LargeScannerToken(this._packedFullStartAndInfo, this._packedFullWidthAndKind, this.cachedText); @@ -17079,8 +16972,8 @@ var TypeScript; index = _index; } function reset(_text, _start, _end) { - TypeScript.Debug.assert(_start <= _text.length()); - TypeScript.Debug.assert(_end <= _text.length()); + TypeScript.Debug.assert(_start <= _text.length(), "Token's start was not within the bounds of text: " + _start + " - [0, " + _text.length() + ")"); + TypeScript.Debug.assert(_end <= _text.length(), "Token's end was not within the bounds of text: " + _end + " - [0, " + _text.length() + ")"); if (!str || text !== _text) { text = _text; str = _text.substr(0, _text.length()); @@ -17103,7 +16996,7 @@ var TypeScript; return new FixedWidthTokenWithNoTrivia((fullStart << 7 /* FixedWidthTokenFullStartShift */) | kind); } else { - var packedFullStartAndTriviaInfo = (fullStart << 2 /* LargeTokenFullStartShift */) | leadingTriviaInfo | (trailingTriviaInfo << 1); + var packedFullStartAndTriviaInfo = (fullStart << 4 /* LargeTokenFullStartShift */) | leadingTriviaInfo | (trailingTriviaInfo << 2); var packedFullWidthAndKind = (fullWidth << 7 /* LargeTokenFullWidthShift */) | kind; var cachedText = isFixedWidth ? undefined : text.substr(start, end - start); return new LargeScannerToken(packedFullStartAndTriviaInfo, packedFullWidthAndKind, cachedText); @@ -17185,7 +17078,7 @@ var TypeScript; case 11 /* verticalTab */: case 12 /* formFeed */: index++; - result = 1; + result |= 1; continue; case 13 /* carriageReturn */: if ((index + 1) < end && str.charCodeAt(index + 1) === 10 /* lineFeed */) { @@ -17193,21 +17086,21 @@ var TypeScript; } case 10 /* lineFeed */: index++; + result |= 1; if (isTrailing) { - return 1; + return result; } - result = 1; continue; case 47 /* slash */: if ((index + 1) < _end) { var ch2 = str.charCodeAt(index + 1); if (ch2 === 47 /* slash */) { - result = 1; + result |= 3; skipSingleLineCommentTrivia(); continue; } if (ch2 === 42 /* asterisk */) { - result = 1; + result |= 3; skipMultiLineCommentTrivia(); continue; } @@ -17215,7 +17108,7 @@ var TypeScript; return result; default: if (ch > 127 /* maxAsciiCharacter */ && slowScanTriviaInfo(ch)) { - result = 1; + result |= 1; continue; } return result; @@ -17884,7 +17777,7 @@ var TypeScript; var fullStart = token.fullStart(); var fullEnd = fullStart + token.fullWidth(); reset(text, fullStart, fullEnd); - var leadingTriviaInfo = scanTriviaInfo(false); + scanTriviaInfo(false); var start = index; scanSyntaxKind(isContextualToken(token)); var end = index; @@ -17995,6 +17888,7 @@ var TypeScript; _tokenDiagnostics.length = tokenDiagnosticsLength; } function resetToPosition(absolutePosition) { + TypeScript.Debug.assert(absolutePosition <= text.length(), "Trying to set the position outside the bounds of the text!"); _absolutePosition = absolutePosition; removeDiagnosticsOnOrAfterPosition(absolutePosition); slidingWindow.disgardAllItemsFromCurrentIndexOnwards(); @@ -19310,15 +19204,21 @@ var TypeScript; EmptyToken.prototype.hasLeadingTrivia = function () { return false; }; - EmptyToken.prototype.leadingTriviaWidth = function () { - return 0; - }; EmptyToken.prototype.hasTrailingTrivia = function () { return false; }; + EmptyToken.prototype.hasLeadingComment = function () { + return false; + }; + EmptyToken.prototype.hasTrailingComment = function () { + return false; + }; EmptyToken.prototype.hasSkippedToken = function () { return false; }; + EmptyToken.prototype.leadingTriviaWidth = function () { + return 0; + }; EmptyToken.prototype.trailingTriviaWidth = function () { return 0; }; @@ -19378,6 +19278,12 @@ var TypeScript; RealizedToken.prototype.hasTrailingTrivia = function () { return this._trailingTrivia.count() > 0; }; + RealizedToken.prototype.hasLeadingComment = function () { + return this._leadingTrivia.hasComment(); + }; + RealizedToken.prototype.hasTrailingComment = function () { + return this._trailingTrivia.hasComment(); + }; RealizedToken.prototype.leadingTriviaWidth = function () { return this._leadingTrivia.fullWidth(); }; @@ -19428,6 +19334,12 @@ var TypeScript; ConvertedKeywordToken.prototype.hasTrailingTrivia = function () { return this.underlyingToken.hasTrailingTrivia(); }; + ConvertedKeywordToken.prototype.hasLeadingComment = function () { + return this.underlyingToken.hasLeadingComment(); + }; + ConvertedKeywordToken.prototype.hasTrailingComment = function () { + return this.underlyingToken.hasTrailingComment(); + }; ConvertedKeywordToken.prototype.hasSkippedToken = function () { return this.underlyingToken.hasSkippedToken(); }; @@ -25974,121 +25886,192 @@ var ts; var TypeScript; (function (TypeScript) { (function (Services) { - var GetScriptLexicalStructureWalker = (function (_super) { - __extends(GetScriptLexicalStructureWalker, _super); - function GetScriptLexicalStructureWalker(fileName) { - _super.call(this); - this.fileName = fileName; - this.nameStack = []; - this.kindStack = []; - this.parentScopes = []; - this.currentScope = this.createScope(); + var NavigationBarItemGetter = (function () { + function NavigationBarItemGetter() { + this.hasGlobalNode = false; } - GetScriptLexicalStructureWalker.prototype.createScope = function () { - return { - items: TypeScript.createIntrinsicsObject(), - childScopes: TypeScript.createIntrinsicsObject(), - childScopeNames: [], - itemNames: [] - }; - }; - GetScriptLexicalStructureWalker.prototype.pushNewContainerScope = function (containerName, kind) { - TypeScript.Debug.assert(containerName, "No scope name provided"); - var key = kind + "+" + containerName; - this.nameStack.push(containerName); - this.kindStack.push(kind); - var parentScope = this.currentScope; - this.parentScopes.push(parentScope); - var scope = ts.lookUp(parentScope.childScopes, key); - if (!scope) { - scope = this.createScope(); - parentScope.childScopes[key] = scope; - parentScope.childScopeNames.push(key); + NavigationBarItemGetter.prototype.getIndent = function (node) { + var indent = this.hasGlobalNode ? 1 : 0; + var current = node.parent; + while (current != null) { + if (current.kind() == 130 /* ModuleDeclaration */ || current.kind() === 129 /* FunctionDeclaration */) { + indent++; + } + current = current.parent; } - this.currentScope = scope; - return parentScope; + return indent; }; - GetScriptLexicalStructureWalker.prototype.popScope = function () { - TypeScript.Debug.assert(this.parentScopes.length > 0, "No parent scopes to return to"); - this.currentScope = this.parentScopes.pop(); - this.kindStack.pop(); - this.nameStack.pop(); - }; - GetScriptLexicalStructureWalker.prototype.collectItems = function (items, scope) { - var _this = this; - if (scope === void 0) { scope = this.currentScope; } - scope.itemNames.forEach(function (item) { - items.push(scope.items[item]); - }); - scope.childScopeNames.forEach(function (childScope) { - _this.collectItems(items, scope.childScopes[childScope]); - }); - }; - GetScriptLexicalStructureWalker.getListsOfAllScriptLexicalStructure = function (items, fileName, unit) { - var visitor = new GetScriptLexicalStructureWalker(fileName); - TypeScript.visitNodeOrToken(visitor, unit); - visitor.collectItems(items); - }; - GetScriptLexicalStructureWalker.prototype.createItem = function (node, modifiers, kind, name) { - var key = kind + "+" + name; - if (ts.lookUp(this.currentScope.items, key) !== undefined) { - this.addAdditionalSpan(node, key); - return; - } - var item = { - name: name, - kind: kind, - matchKind: ts.MatchKind.exact, - fileName: this.fileName, - kindModifiers: this.getKindModifiers(modifiers), - minChar: TypeScript.start(node), - limChar: TypeScript.end(node), - containerName: this.nameStack.join("."), - containerKind: this.kindStack.length === 0 ? "" : TypeScript.ArrayUtilities.last(this.kindStack) - }; - this.currentScope.items[key] = item; - this.currentScope.itemNames.push(key); - }; - GetScriptLexicalStructureWalker.prototype.addAdditionalSpan = function (node, key) { - var item = ts.lookUp(this.currentScope.items, key); - TypeScript.Debug.assert(item !== undefined); - var start = TypeScript.start(node); - var span = { - minChar: start, - limChar: start + TypeScript.width(node) - }; - if (item.additionalSpans) { - item.additionalSpans.push(span); - } - else { - item.additionalSpans = [span]; - } - }; - GetScriptLexicalStructureWalker.prototype.getKindModifiers = function (modifiers) { + NavigationBarItemGetter.prototype.getKindModifiers = function (modifiers) { var result = []; for (var i = 0, n = modifiers.length; i < n; i++) { result.push(modifiers[i].text()); } return result.length > 0 ? result.join(',') : ts.ScriptElementKindModifier.none; }; - GetScriptLexicalStructureWalker.prototype.visitModuleDeclaration = function (node) { - var names = this.getModuleNames(node); - this.visitModuleDeclarationWorker(node, names, 0); + NavigationBarItemGetter.prototype.getItems = function (node) { + var _this = this; + return this.getItemsWorker(function () { return _this.getTopLevelNodes(node); }, function (n) { return _this.createTopLevelItem(n); }); }; - GetScriptLexicalStructureWalker.prototype.visitModuleDeclarationWorker = function (node, names, nameIndex) { - if (nameIndex === names.length) { - _super.prototype.visitModuleDeclaration.call(this, node); + NavigationBarItemGetter.prototype.getChildNodes = function (nodes) { + var childNodes = []; + for (var i = 0, n = nodes.length; i < n; i++) { + var node = nodes[i]; + if (node.kind() === 129 /* FunctionDeclaration */) { + childNodes.push(node); + } + else if (node.kind() === 148 /* VariableStatement */) { + var variableDeclaration = node.variableDeclaration; + childNodes.push.apply(childNodes, variableDeclaration.variableDeclarators); + } } - else { - var name = names[nameIndex]; - var kind = ts.ScriptElementKind.moduleElement; - this.createItem(node, node.modifiers, kind, name); - this.pushNewContainerScope(name, kind); - this.visitModuleDeclarationWorker(node, names, nameIndex + 1); - this.popScope(); + return childNodes; + }; + NavigationBarItemGetter.prototype.getTopLevelNodes = function (node) { + var topLevelNodes = []; + topLevelNodes.push(node); + this.addTopLevelNodes(node.moduleElements, topLevelNodes); + return topLevelNodes; + }; + NavigationBarItemGetter.prototype.addTopLevelNodes = function (nodes, topLevelNodes) { + for (var i = 0, n = nodes.length; i < n; i++) { + var node = nodes[i]; + switch (node.kind()) { + case 131 /* ClassDeclaration */: + case 132 /* EnumDeclaration */: + case 128 /* InterfaceDeclaration */: + topLevelNodes.push(node); + break; + case 130 /* ModuleDeclaration */: + var moduleDeclaration = node; + topLevelNodes.push(node); + this.addTopLevelNodes(moduleDeclaration.moduleElements, topLevelNodes); + break; + case 129 /* FunctionDeclaration */: + var functionDeclaration = node; + if (this.isTopLevelFunctionDeclaration(functionDeclaration)) { + topLevelNodes.push(node); + this.addTopLevelNodes(functionDeclaration.block.statements, topLevelNodes); + } + break; + } } }; - GetScriptLexicalStructureWalker.prototype.getModuleNames = function (node) { + NavigationBarItemGetter.prototype.isTopLevelFunctionDeclaration = function (functionDeclaration) { + return functionDeclaration.block && TypeScript.ArrayUtilities.any(functionDeclaration.block.statements, function (s) { return s.kind() === 129 /* FunctionDeclaration */; }); + }; + NavigationBarItemGetter.prototype.getItemsWorker = function (getNodes, createItem) { + var items = []; + var keyToItem = TypeScript.createIntrinsicsObject(); + var nodes = getNodes(); + for (var i = 0, n = nodes.length; i < n; i++) { + var child = nodes[i]; + var item = createItem(child); + if (item != null) { + if (item.text.length > 0) { + var key = item.text + "-" + item.kind; + var itemWithSameName = keyToItem[key]; + if (itemWithSameName) { + this.merge(itemWithSameName, item); + } + else { + keyToItem[key] = item; + items.push(item); + } + } + } + } + return items; + }; + NavigationBarItemGetter.prototype.merge = function (target, source) { + target.spans.push.apply(target.spans, source.spans); + if (source.childItems) { + if (!target.childItems) { + target.childItems = []; + } + outer: for (var i = 0, n = source.childItems.length; i < n; i++) { + var sourceChild = source.childItems[i]; + for (var j = 0, m = target.childItems.length; j < m; j++) { + var targetChild = target.childItems[j]; + if (targetChild.text === sourceChild.text && targetChild.kind === sourceChild.kind) { + this.merge(targetChild, sourceChild); + continue outer; + } + } + target.childItems.push(sourceChild); + } + } + }; + NavigationBarItemGetter.prototype.createChildItem = function (node) { + switch (node.kind()) { + case 242 /* Parameter */: + var parameter = node; + if (parameter.modifiers.length === 0) { + return null; + } + return new ts.NavigationBarItem(parameter.identifier.text(), ts.ScriptElementKind.memberVariableElement, this.getKindModifiers(parameter.modifiers), [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + case 135 /* MemberFunctionDeclaration */: + var memberFunction = node; + return new ts.NavigationBarItem(memberFunction.propertyName.text(), ts.ScriptElementKind.memberFunctionElement, this.getKindModifiers(memberFunction.modifiers), [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + case 139 /* GetAccessor */: + var getAccessor = node; + return new ts.NavigationBarItem(getAccessor.propertyName.text(), ts.ScriptElementKind.memberGetAccessorElement, this.getKindModifiers(getAccessor.modifiers), [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + case 140 /* SetAccessor */: + var setAccessor = node; + return new ts.NavigationBarItem(setAccessor.propertyName.text(), ts.ScriptElementKind.memberSetAccessorElement, this.getKindModifiers(setAccessor.modifiers), [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + case 144 /* IndexSignature */: + var indexSignature = node; + return new ts.NavigationBarItem("[]", ts.ScriptElementKind.indexSignatureElement, ts.ScriptElementKindModifier.none, [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + case 243 /* EnumElement */: + var enumElement = node; + return new ts.NavigationBarItem(enumElement.propertyName.text(), ts.ScriptElementKind.memberVariableElement, ts.ScriptElementKindModifier.none, [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + case 142 /* CallSignature */: + var callSignature = node; + return new ts.NavigationBarItem("()", ts.ScriptElementKind.callSignatureElement, ts.ScriptElementKindModifier.none, [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + case 143 /* ConstructSignature */: + var constructSignature = node; + return new ts.NavigationBarItem("new()", ts.ScriptElementKind.constructSignatureElement, ts.ScriptElementKindModifier.none, [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + case 145 /* MethodSignature */: + var methodSignature = node; + return new ts.NavigationBarItem(methodSignature.propertyName.text(), ts.ScriptElementKind.memberFunctionElement, ts.ScriptElementKindModifier.none, [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + case 141 /* PropertySignature */: + var propertySignature = node; + return new ts.NavigationBarItem(propertySignature.propertyName.text(), ts.ScriptElementKind.memberVariableElement, ts.ScriptElementKindModifier.none, [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + case 129 /* FunctionDeclaration */: + var functionDeclaration = node; + if (!this.isTopLevelFunctionDeclaration(functionDeclaration)) { + return new ts.NavigationBarItem(functionDeclaration.identifier.text(), ts.ScriptElementKind.functionElement, this.getKindModifiers(functionDeclaration.modifiers), [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + } + break; + case 136 /* MemberVariableDeclaration */: + var memberVariableDeclaration = node; + return new ts.NavigationBarItem(memberVariableDeclaration.variableDeclarator.propertyName.text(), ts.ScriptElementKind.memberVariableElement, this.getKindModifiers(memberVariableDeclaration.modifiers), [TypeScript.TextSpan.fromBounds(TypeScript.start(memberVariableDeclaration.variableDeclarator), TypeScript.end(memberVariableDeclaration.variableDeclarator))]); + case 225 /* VariableDeclarator */: + var variableDeclarator = node; + return new ts.NavigationBarItem(variableDeclarator.propertyName.text(), ts.ScriptElementKind.variableElement, ts.ScriptElementKindModifier.none, [TypeScript.TextSpan.fromBounds(TypeScript.start(variableDeclarator), TypeScript.end(variableDeclarator))]); + case 137 /* ConstructorDeclaration */: + var constructorDeclaration = node; + return new ts.NavigationBarItem("constructor", ts.ScriptElementKind.constructorImplementationElement, ts.ScriptElementKindModifier.none, [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))]); + } + return null; + }; + NavigationBarItemGetter.prototype.createTopLevelItem = function (node) { + switch (node.kind()) { + case 120 /* SourceUnit */: + return this.createSourceUnitItem(node); + case 131 /* ClassDeclaration */: + return this.createClassItem(node); + case 132 /* EnumDeclaration */: + return this.createEnumItem(node); + case 128 /* InterfaceDeclaration */: + return this.createIterfaceItem(node); + case 130 /* ModuleDeclaration */: + return this.createModuleItem(node); + case 129 /* FunctionDeclaration */: + return this.createFunctionItem(node); + } + return null; + }; + NavigationBarItemGetter.prototype.getModuleNames = function (node) { var result = []; if (node.stringLiteral) { result.push(node.stringLiteral.text()); @@ -26098,7 +26081,7 @@ var TypeScript; } return result; }; - GetScriptLexicalStructureWalker.prototype.getModuleNamesHelper = function (name, result) { + NavigationBarItemGetter.prototype.getModuleNamesHelper = function (name, result) { if (name.kind() === 121 /* QualifiedName */) { var qualifiedName = name; this.getModuleNamesHelper(qualifiedName.left, result); @@ -26108,106 +26091,46 @@ var TypeScript; result.push(name.text()); } }; - GetScriptLexicalStructureWalker.prototype.visitClassDeclaration = function (node) { - var name = node.identifier.text(); - var kind = ts.ScriptElementKind.classElement; - this.createItem(node, node.modifiers, kind, name); - this.pushNewContainerScope(name, kind); - _super.prototype.visitClassDeclaration.call(this, node); - this.popScope(); + NavigationBarItemGetter.prototype.createModuleItem = function (node) { + var _this = this; + var moduleNames = this.getModuleNames(node); + var childItems = this.getItemsWorker(function () { return _this.getChildNodes(node.moduleElements); }, function (n) { return _this.createChildItem(n); }); + return new ts.NavigationBarItem(moduleNames.join("."), ts.ScriptElementKind.moduleElement, this.getKindModifiers(node.modifiers), [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))], childItems, this.getIndent(node)); }; - GetScriptLexicalStructureWalker.prototype.visitInterfaceDeclaration = function (node) { - var name = node.identifier.text(); - var kind = ts.ScriptElementKind.interfaceElement; - this.createItem(node, node.modifiers, kind, name); - this.pushNewContainerScope(name, kind); - _super.prototype.visitInterfaceDeclaration.call(this, node); - this.popScope(); + NavigationBarItemGetter.prototype.createFunctionItem = function (node) { + var _this = this; + var childItems = this.getItemsWorker(function () { return node.block.statements; }, function (n) { return _this.createChildItem(n); }); + return new ts.NavigationBarItem(node.identifier.text(), ts.ScriptElementKind.functionElement, this.getKindModifiers(node.modifiers), [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))], childItems, this.getIndent(node)); }; - GetScriptLexicalStructureWalker.prototype.visitObjectType = function (node) { - if (node.parent.kind() === 128 /* InterfaceDeclaration */) { - _super.prototype.visitObjectType.call(this, node); + NavigationBarItemGetter.prototype.createSourceUnitItem = function (node) { + var _this = this; + var childItems = this.getItemsWorker(function () { return _this.getChildNodes(node.moduleElements); }, function (n) { return _this.createChildItem(n); }); + if (childItems === null || childItems.length === 0) { + return null; } + this.hasGlobalNode = true; + return new ts.NavigationBarItem("", ts.ScriptElementKind.moduleElement, ts.ScriptElementKindModifier.none, [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))], childItems); }; - GetScriptLexicalStructureWalker.prototype.visitEnumDeclaration = function (node) { - var name = node.identifier.text(); - var kind = ts.ScriptElementKind.enumElement; - this.createItem(node, node.modifiers, kind, name); - this.pushNewContainerScope(name, kind); - _super.prototype.visitEnumDeclaration.call(this, node); - this.popScope(); + NavigationBarItemGetter.prototype.createClassItem = function (node) { + var _this = this; + var constructor = TypeScript.ArrayUtilities.firstOrDefault(node.classElements, function (n) { return n.kind() === 137 /* ConstructorDeclaration */; }); + var nodes = constructor ? constructor.callSignature.parameterList.parameters.concat(node.classElements) : node.classElements; + var childItems = this.getItemsWorker(function () { return nodes; }, function (n) { return _this.createChildItem(n); }); + return new ts.NavigationBarItem(node.identifier.text(), ts.ScriptElementKind.classElement, this.getKindModifiers(node.modifiers), [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))], childItems, this.getIndent(node)); }; - GetScriptLexicalStructureWalker.prototype.visitConstructorDeclaration = function (node) { - this.createItem(node, TypeScript.Syntax.emptyList(), ts.ScriptElementKind.constructorImplementationElement, "constructor"); - var parameters = node.callSignature.parameterList.parameters; - if (parameters) { - for (var i = 0, n = parameters.length; i < n; i++) { - var parameter = parameters[i]; - TypeScript.Debug.assert(parameter.kind() === 242 /* Parameter */); - if (TypeScript.SyntaxUtilities.containsToken(parameter.modifiers, 57 /* PublicKeyword */) || TypeScript.SyntaxUtilities.containsToken(parameter.modifiers, 55 /* PrivateKeyword */)) { - this.createItem(node, parameter.modifiers, ts.ScriptElementKind.memberVariableElement, parameter.identifier.text()); - } - } - } + NavigationBarItemGetter.prototype.createEnumItem = function (node) { + var _this = this; + var childItems = this.getItemsWorker(function () { return node.enumElements; }, function (n) { return _this.createChildItem(n); }); + return new ts.NavigationBarItem(node.identifier.text(), ts.ScriptElementKind.enumElement, this.getKindModifiers(node.modifiers), [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))], childItems, this.getIndent(node)); }; - GetScriptLexicalStructureWalker.prototype.visitMemberFunctionDeclaration = function (node) { - this.createItem(node, node.modifiers, ts.ScriptElementKind.memberFunctionElement, node.propertyName.text()); + NavigationBarItemGetter.prototype.createIterfaceItem = function (node) { + var _this = this; + var childItems = this.getItemsWorker(function () { return node.body.typeMembers; }, function (n) { return _this.createChildItem(n); }); + return new ts.NavigationBarItem(node.identifier.text(), ts.ScriptElementKind.interfaceElement, this.getKindModifiers(node.modifiers), [TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node))], childItems, this.getIndent(node)); }; - GetScriptLexicalStructureWalker.prototype.visitGetAccessor = function (node) { - this.createItem(node, node.modifiers, ts.ScriptElementKind.memberGetAccessorElement, node.propertyName.text()); - }; - GetScriptLexicalStructureWalker.prototype.visitSetAccessor = function (node) { - this.createItem(node, node.modifiers, ts.ScriptElementKind.memberSetAccessorElement, node.propertyName.text()); - }; - GetScriptLexicalStructureWalker.prototype.visitVariableDeclarator = function (node) { - var modifiers = node.parent.kind() === 136 /* MemberVariableDeclaration */ ? node.parent.modifiers : TypeScript.Syntax.emptyList(); - var kind = node.parent.kind() === 136 /* MemberVariableDeclaration */ ? ts.ScriptElementKind.memberVariableElement : ts.ScriptElementKind.variableElement; - this.createItem(node, modifiers, kind, node.propertyName.text()); - }; - GetScriptLexicalStructureWalker.prototype.visitIndexSignature = function (node) { - this.createItem(node, TypeScript.Syntax.emptyList(), ts.ScriptElementKind.indexSignatureElement, "[]"); - }; - GetScriptLexicalStructureWalker.prototype.visitEnumElement = function (node) { - this.createItem(node, TypeScript.Syntax.emptyList(), ts.ScriptElementKind.memberVariableElement, node.propertyName.text()); - }; - GetScriptLexicalStructureWalker.prototype.visitCallSignature = function (node) { - this.createItem(node, TypeScript.Syntax.emptyList(), ts.ScriptElementKind.callSignatureElement, "()"); - }; - GetScriptLexicalStructureWalker.prototype.visitConstructSignature = function (node) { - this.createItem(node, TypeScript.Syntax.emptyList(), ts.ScriptElementKind.constructSignatureElement, "new()"); - }; - GetScriptLexicalStructureWalker.prototype.visitMethodSignature = function (node) { - this.createItem(node, TypeScript.Syntax.emptyList(), ts.ScriptElementKind.memberFunctionElement, node.propertyName.text()); - }; - GetScriptLexicalStructureWalker.prototype.visitPropertySignature = function (node) { - this.createItem(node, TypeScript.Syntax.emptyList(), ts.ScriptElementKind.memberVariableElement, node.propertyName.text()); - }; - GetScriptLexicalStructureWalker.prototype.visitFunctionDeclaration = function (node) { - if (TypeScript.width(node.identifier) > 0) { - this.createItem(node, node.modifiers, ts.ScriptElementKind.functionElement, node.identifier.text()); - } - }; - GetScriptLexicalStructureWalker.prototype.visitBlock = function (node) { - }; - GetScriptLexicalStructureWalker.prototype.visitIfStatement = function (node) { - }; - GetScriptLexicalStructureWalker.prototype.visitExpressionStatement = function (node) { - }; - GetScriptLexicalStructureWalker.prototype.visitThrowStatement = function (node) { - }; - GetScriptLexicalStructureWalker.prototype.visitReturnStatement = function (node) { - }; - GetScriptLexicalStructureWalker.prototype.visitSwitchStatement = function (node) { - }; - GetScriptLexicalStructureWalker.prototype.visitWithStatement = function (node) { - }; - GetScriptLexicalStructureWalker.prototype.visitTryStatement = function (node) { - }; - GetScriptLexicalStructureWalker.prototype.visitLabeledStatement = function (node) { - }; - return GetScriptLexicalStructureWalker; - })(TypeScript.SyntaxWalker); - Services.GetScriptLexicalStructureWalker = GetScriptLexicalStructureWalker; + return NavigationBarItemGetter; + })(); + Services.NavigationBarItemGetter = NavigationBarItemGetter; })(TypeScript.Services || (TypeScript.Services = {})); var Services = TypeScript.Services; })(TypeScript || (TypeScript = {})); @@ -26219,59 +26142,33 @@ var TypeScript; } BraceMatcher.getMatchSpans = function (syntaxTree, position) { var result = []; - var currentToken = TypeScript.findToken(syntaxTree.sourceUnit(), position); - BraceMatcher.getMatchingCloseBrace(currentToken, position, result); - BraceMatcher.getMatchingOpenBrace(currentToken, position, result); + var token = TypeScript.findToken(syntaxTree.sourceUnit(), position); + if (TypeScript.start(token) === position) { + var matchKind = BraceMatcher.getMatchingTokenKind(token); + if (matchKind !== null) { + var parentElement = token.parent; + for (var i = 0, n = TypeScript.childCount(parentElement); i < n; i++) { + var current = TypeScript.childAt(parentElement, i); + if (current !== null && TypeScript.fullWidth(current) > 0) { + if (current.kind() === matchKind) { + var range1 = new TypeScript.TextSpan(TypeScript.start(token), TypeScript.width(token)); + var range2 = new TypeScript.TextSpan(TypeScript.start(current), TypeScript.width(current)); + if (range1.start() < range2.start()) { + result.push(range1, range2); + } + else { + result.push(range2, range1); + } + break; + } + } + } + } + } return result; }; - BraceMatcher.getMatchingCloseBrace = function (currentToken, position, result) { - if (TypeScript.start(currentToken) === position) { - var closingBraceKind = BraceMatcher.getMatchingCloseBraceTokenKind(currentToken); - if (closingBraceKind !== null) { - var parentElement = currentToken.parent; - var currentPosition = TypeScript.fullStart(currentToken.parent); - for (var i = 0, n = TypeScript.childCount(parentElement); i < n; i++) { - var element = TypeScript.childAt(parentElement, i); - if (element !== null && TypeScript.fullWidth(element) > 0) { - if (element.kind() === closingBraceKind) { - var range1 = new TypeScript.TextSpan(position, TypeScript.width(currentToken)); - var range2 = new TypeScript.TextSpan(currentPosition + TypeScript.leadingTriviaWidth(element), TypeScript.width(element)); - result.push(range1, range2); - break; - } - currentPosition += TypeScript.fullWidth(element); - } - } - } - } - }; - BraceMatcher.getMatchingOpenBrace = function (currentToken, position, result) { - if (currentToken.fullStart() === position) { - currentToken = TypeScript.previousToken(currentToken); - } - if (currentToken !== null && TypeScript.start(currentToken) === (position - 1)) { - var openBraceKind = BraceMatcher.getMatchingOpenBraceTokenKind(currentToken); - if (openBraceKind !== null) { - var parentElement = currentToken.parent; - var currentPosition = TypeScript.fullStart(currentToken.parent) + TypeScript.fullWidth(parentElement); - for (var i = TypeScript.childCount(parentElement) - 1; i >= 0; i--) { - var element = TypeScript.childAt(parentElement, i); - if (element !== null && TypeScript.fullWidth(element) > 0) { - if (element.kind() === openBraceKind) { - var range1 = new TypeScript.TextSpan(position - 1, TypeScript.width(currentToken)); - var range2 = new TypeScript.TextSpan(currentPosition - TypeScript.lastToken(element).trailingTriviaWidth() - TypeScript.width(element), TypeScript.width(element)); - result.push(range1, range2); - break; - } - currentPosition -= TypeScript.fullWidth(element); - } - } - } - } - }; - BraceMatcher.getMatchingCloseBraceTokenKind = function (positionedElement) { - var element = positionedElement !== null && positionedElement; - switch (element.kind()) { + BraceMatcher.getMatchingTokenKind = function (token) { + switch (token.kind()) { case 70 /* OpenBraceToken */: return 71 /* CloseBraceToken */; case 72 /* OpenParenToken */: @@ -26279,13 +26176,7 @@ var TypeScript; case 74 /* OpenBracketToken */: return 75 /* CloseBracketToken */; case 80 /* LessThanToken */: - return TypeScript.SyntaxUtilities.isAngleBracket(positionedElement) ? 81 /* GreaterThanToken */ : null; - } - return null; - }; - BraceMatcher.getMatchingOpenBraceTokenKind = function (positionedElement) { - var element = positionedElement !== null && positionedElement; - switch (element.kind()) { + return 81 /* GreaterThanToken */; case 71 /* CloseBraceToken */: return 70 /* OpenBraceToken */; case 73 /* CloseParenToken */: @@ -26293,7 +26184,7 @@ var TypeScript; case 75 /* CloseBracketToken */: return 74 /* OpenBracketToken */; case 81 /* GreaterThanToken */: - return TypeScript.SyntaxUtilities.isAngleBracket(positionedElement) ? 80 /* LessThanToken */ : null; + return 80 /* LessThanToken */; } return null; }; @@ -26316,10 +26207,7 @@ var TypeScript; return null; } if (childElements.length == 0) { - return { - minChar: TypeScript.start(parentElement), - limChar: TypeScript.end(parentElement) - }; + return TypeScript.TextSpan.fromBounds(TypeScript.start(parentElement), TypeScript.end(parentElement)); } var start; var end; @@ -26332,16 +26220,10 @@ var TypeScript; end = TypeScript.end(element); } } - return { - minChar: start, - limChar: end - }; + return TypeScript.TextSpan.fromBounds(start, end); } function createBreakpointSpanInfoWithLimChar(startElement, limChar) { - return { - minChar: TypeScript.start(startElement), - limChar: limChar - }; + return TypeScript.TextSpan.fromBounds(TypeScript.start(startElement), limChar); } var BreakpointResolver = (function () { function BreakpointResolver(posLine, lineMap) { @@ -27310,6 +27192,9 @@ var TypeScript; this.snapshot = snapshot; this.lines = []; } + TextSnapshot.prototype.getLength = function () { + return this.snapshot.length(); + }; TextSnapshot.prototype.getText = function (span) { return this.snapshot.substr(span.start(), span.length()); }; @@ -27536,14 +27421,10 @@ var TypeScript; var span = TypeScript.TextSpan.fromBounds(minChar, limChar); return this.formatSpan(span, 1 /* FormatSelection */); }; - FormattingManager.prototype.formatDocument = function (minChar, limChar) { - var span = TypeScript.TextSpan.fromBounds(minChar, limChar); + FormattingManager.prototype.formatDocument = function () { + var span = TypeScript.TextSpan.fromBounds(0, this.snapshot.getLength()); return this.formatSpan(span, 0 /* FormatDocument */); }; - FormattingManager.prototype.formatOnPaste = function (minChar, limChar) { - var span = TypeScript.TextSpan.fromBounds(minChar, limChar); - return this.formatSpan(span, 5 /* FormatOnPaste */); - }; FormattingManager.prototype.formatOnSemicolon = function (caretPosition) { var sourceUnit = this.syntaxTree.sourceUnit(); var semicolonPositionedToken = TypeScript.findToken(sourceUnit, caretPosition - 1); @@ -27586,11 +27467,8 @@ var TypeScript; var result = []; var formattingEdits = Formatting.Formatter.getEdits(span, this.syntaxTree.sourceUnit(), this.options, true, this.snapshot, this.rulesProvider, formattingRequestKind); formattingEdits.forEach(function (item) { - result.push({ - minChar: item.position, - limChar: item.position + item.length, - text: item.replaceWith - }); + var edit = new ts.TextChange(new TypeScript.TextSpan(item.position, item.length), item.replaceWith); + result.push(edit); }); return result; }; @@ -28274,14 +28152,9 @@ var TypeScript; return this.rulesMap; }; RulesProvider.prototype.ensureUpToDate = function (options) { - var _this = this; if (this.options == null || !ts.compareDataObjects(this.options, options)) { - var activeRules = TypeScript.timeFunction(this.logger, "RulesProvider: createActiveRules()", function () { - return _this.createActiveRules(options); - }); - var rulesMap = TypeScript.timeFunction(this.logger, "RulesProvider: RulesMap.create()", function () { - return Formatting.RulesMap.create(activeRules); - }); + var activeRules = this.createActiveRules(options); + var rulesMap = Formatting.RulesMap.create(activeRules); this.activeRules = activeRules; this.rulesMap = rulesMap; this.options = ts.clone(options); @@ -29301,36 +29174,11 @@ var TypeScript; var NullLogger = (function () { function NullLogger() { } - NullLogger.prototype.information = function () { - return false; - }; - NullLogger.prototype.debug = function () { - return false; - }; - NullLogger.prototype.warning = function () { - return false; - }; - NullLogger.prototype.error = function () { - return false; - }; - NullLogger.prototype.fatal = function () { - return false; - }; NullLogger.prototype.log = function (s) { }; return NullLogger; })(); TypeScript.NullLogger = NullLogger; - function timeFunction(logger, funcDescription, func) { - var start = (new Date()).getTime(); - var result = func(); - var end = (new Date()).getTime(); - if (logger.information()) { - logger.log(funcDescription + " completed in " + (end - start) + " msec"); - } - return result; - } - TypeScript.timeFunction = timeFunction; })(TypeScript || (TypeScript = {})); var TypeScript; (function (TypeScript) { @@ -31020,6 +30868,9 @@ var ts; SourceFileObject.prototype.getSourceUnit = function () { return this.getSyntaxTree().sourceUnit(); }; + SourceFileObject.prototype.getScriptSnapshot = function () { + return this.scriptSnapshot; + }; SourceFileObject.prototype.getLineMap = function () { return this.getSyntaxTree().lineMap(); }; @@ -31084,6 +30935,164 @@ var ts; }; return SourceFileObject; })(NodeObject); + var NavigationBarItem = (function () { + function NavigationBarItem(text, kind, kindModifiers, spans, childItems, indent, bolded, grayed) { + if (childItems === void 0) { childItems = null; } + if (indent === void 0) { indent = 0; } + if (bolded === void 0) { bolded = false; } + if (grayed === void 0) { grayed = false; } + this.text = text; + this.kind = kind; + this.kindModifiers = kindModifiers; + this.spans = spans; + this.childItems = childItems; + this.indent = indent; + this.bolded = bolded; + this.grayed = grayed; + } + return NavigationBarItem; + })(); + ts.NavigationBarItem = NavigationBarItem; + var TodoCommentDescriptor = (function () { + function TodoCommentDescriptor(text, priority) { + this.text = text; + this.priority = priority; + } + return TodoCommentDescriptor; + })(); + ts.TodoCommentDescriptor = TodoCommentDescriptor; + var TodoComment = (function () { + function TodoComment(descriptor, message, position) { + this.descriptor = descriptor; + this.message = message; + this.position = position; + } + return TodoComment; + })(); + ts.TodoComment = TodoComment; + var TextChange = (function () { + function TextChange(span, newText) { + this.span = span; + this.newText = newText; + } + TextChange.createInsert = function (pos, newText) { + return new TextChange(new TypeScript.TextSpan(pos, 0), newText); + }; + TextChange.createDelete = function (start, end) { + return new TextChange(TypeScript.TextSpan.fromBounds(start, end), ""); + }; + TextChange.createReplace = function (start, end, newText) { + return new TextChange(TypeScript.TextSpan.fromBounds(start, end), newText); + }; + return TextChange; + })(); + ts.TextChange = TextChange; + var ReferenceEntry = (function () { + function ReferenceEntry(fileName, textSpan, isWriteAccess) { + this.fileName = ""; + this.isWriteAccess = false; + this.fileName = fileName; + this.textSpan = textSpan; + this.isWriteAccess = isWriteAccess; + } + return ReferenceEntry; + })(); + ts.ReferenceEntry = ReferenceEntry; + var NavigateToItem = (function () { + function NavigateToItem(name, kind, kindModifiers, matchKind, fileName, textSpan, containerName, containerKind) { + this.name = name; + this.kind = kind; + this.kindModifiers = kindModifiers; + this.matchKind = matchKind; + this.fileName = fileName; + this.textSpan = textSpan; + this.containerName = containerName; + this.containerKind = containerKind; + } + return NavigateToItem; + })(); + ts.NavigateToItem = NavigateToItem; + var DefinitionInfo = (function () { + function DefinitionInfo(fileName, textSpan, kind, name, containerKind, containerName) { + this.fileName = fileName; + this.textSpan = textSpan; + this.kind = kind; + this.name = name; + this.containerKind = containerKind; + this.containerName = containerName; + } + return DefinitionInfo; + })(); + ts.DefinitionInfo = DefinitionInfo; + var TypeInfo = (function () { + function TypeInfo(memberName, docComment, fullSymbolName, kind, textSpan) { + this.memberName = memberName; + this.docComment = docComment; + this.fullSymbolName = fullSymbolName; + this.kind = kind; + this.textSpan = textSpan; + } + return TypeInfo; + })(); + ts.TypeInfo = TypeInfo; + var RenameInfo = (function () { + function RenameInfo(canRename, localizedErrorMessage, displayName, fullDisplayName, kind, kindModifiers, triggerSpan) { + this.canRename = canRename; + this.localizedErrorMessage = localizedErrorMessage; + this.displayName = displayName; + this.fullDisplayName = fullDisplayName; + this.kind = kind; + this.kindModifiers = kindModifiers; + this.triggerSpan = triggerSpan; + } + RenameInfo.CreateError = function (localizedErrorMessage) { + return new RenameInfo(false, localizedErrorMessage, null, null, null, null, null); + }; + RenameInfo.Create = function (displayName, fullDisplayName, kind, kindModifiers, triggerSpan) { + return new RenameInfo(true, null, displayName, fullDisplayName, kind, kindModifiers, triggerSpan); + }; + return RenameInfo; + })(); + ts.RenameInfo = RenameInfo; + var SignatureHelpParameter = (function () { + function SignatureHelpParameter(name, documentation, display, isOptional) { + this.name = name; + this.documentation = documentation; + this.display = display; + this.isOptional = isOptional; + } + return SignatureHelpParameter; + })(); + ts.SignatureHelpParameter = SignatureHelpParameter; + var SignatureHelpItem = (function () { + function SignatureHelpItem(isVariadic, prefix, suffix, separator, parameters, documentation) { + this.isVariadic = isVariadic; + this.prefix = prefix; + this.suffix = suffix; + this.separator = separator; + this.parameters = parameters; + this.documentation = documentation; + } + return SignatureHelpItem; + })(); + ts.SignatureHelpItem = SignatureHelpItem; + var SignatureHelpItems = (function () { + function SignatureHelpItems(items, applicableSpan, selectedItemIndex) { + this.items = items; + this.applicableSpan = applicableSpan; + this.selectedItemIndex = selectedItemIndex; + } + return SignatureHelpItems; + })(); + ts.SignatureHelpItems = SignatureHelpItems; + var SignatureHelpState = (function () { + function SignatureHelpState(argumentIndex, argumentCount) { + this.argumentIndex = argumentIndex; + this.argumentCount = argumentCount; + } + return SignatureHelpState; + })(); + ts.SignatureHelpState = SignatureHelpState; (function (EmitOutputResult) { EmitOutputResult[EmitOutputResult["Succeeded"] = 0] = "Succeeded"; EmitOutputResult[EmitOutputResult["FailedBecauseOfSyntaxErrors"] = 1] = "FailedBecauseOfSyntaxErrors"; @@ -31264,24 +31273,23 @@ var ts; } return file.sourceText; }; - HostCache.prototype.getScriptTextChangeRangeSinceVersion = function (filename, lastKnownVersion) { + HostCache.prototype.getChangeRange = function (filename, lastKnownVersion, oldScriptSnapshot) { var currentVersion = this.getVersion(filename); if (lastKnownVersion === currentVersion) { return TypeScript.TextChangeRange.unchanged; } var scriptSnapshot = this.getScriptSnapshot(filename); - return scriptSnapshot.getTextChangeRangeSinceVersion(lastKnownVersion); + return scriptSnapshot.getChangeRange(oldScriptSnapshot); }; return HostCache; })(); var SyntaxTreeCache = (function () { function SyntaxTreeCache(host) { this.host = host; - this.currentfilename = ""; - this.currentFileVersion = -1; + this.currentFilename = ""; + this.currentFileVersion = null; this.currentSourceFile = null; this.currentFileSyntaxTree = null; - this.currentFileScriptSnapshot = null; this.hostCache = new HostCache(host); } SyntaxTreeCache.prototype.initialize = function (filename) { @@ -31290,7 +31298,7 @@ var ts; var version = this.hostCache.getVersion(filename); var syntaxTree = null; var sourceFile; - if (this.currentFileSyntaxTree === null || this.currentfilename !== filename) { + if (this.currentFileSyntaxTree === null || this.currentFilename !== filename) { var scriptSnapshot = this.hostCache.getScriptSnapshot(filename); syntaxTree = this.createSyntaxTree(filename, scriptSnapshot); sourceFile = createSourceFileFromScriptSnapshot(filename, scriptSnapshot, getDefaultCompilerOptions(), version, true); @@ -31298,16 +31306,15 @@ var ts; } else if (this.currentFileVersion !== version) { var scriptSnapshot = this.hostCache.getScriptSnapshot(filename); - syntaxTree = this.updateSyntaxTree(filename, scriptSnapshot, this.currentFileSyntaxTree, this.currentFileVersion); - var editRange = this.hostCache.getScriptTextChangeRangeSinceVersion(filename, this.currentFileVersion); + syntaxTree = this.updateSyntaxTree(filename, scriptSnapshot, this.currentSourceFile.getScriptSnapshot(), this.currentFileSyntaxTree, this.currentFileVersion); + var editRange = this.hostCache.getChangeRange(filename, this.currentFileVersion, this.currentSourceFile.getScriptSnapshot()); sourceFile = !editRange ? createSourceFileFromScriptSnapshot(filename, scriptSnapshot, getDefaultCompilerOptions(), version, true) : this.currentSourceFile.update(scriptSnapshot, version, true, editRange); fixupParentReferences(sourceFile); } if (syntaxTree !== null) { ts.Debug.assert(sourceFile); - this.currentFileScriptSnapshot = scriptSnapshot; this.currentFileVersion = version; - this.currentfilename = filename; + this.currentFilename = filename; this.currentFileSyntaxTree = syntaxTree; this.currentSourceFile = sourceFile; } @@ -31333,20 +31340,20 @@ var ts; }; SyntaxTreeCache.prototype.getCurrentScriptSnapshot = function (filename) { this.getCurrentFileSyntaxTree(filename); - return this.currentFileScriptSnapshot; + return this.getCurrentSourceFile(filename).getScriptSnapshot(); }; SyntaxTreeCache.prototype.createSyntaxTree = function (filename, scriptSnapshot) { var text = TypeScript.SimpleText.fromScriptSnapshot(scriptSnapshot); var syntaxTree = TypeScript.Parser.parse(filename, text, getDefaultCompilerOptions().target, TypeScript.isDTSFile(filename)); return syntaxTree; }; - SyntaxTreeCache.prototype.updateSyntaxTree = function (filename, scriptSnapshot, previousSyntaxTree, previousFileVersion) { - var editRange = this.hostCache.getScriptTextChangeRangeSinceVersion(filename, previousFileVersion); + SyntaxTreeCache.prototype.updateSyntaxTree = function (filename, scriptSnapshot, previousScriptSnapshot, previousSyntaxTree, previousFileVersion) { + var editRange = this.hostCache.getChangeRange(filename, previousFileVersion, previousScriptSnapshot); if (editRange === null) { return this.createSyntaxTree(filename, scriptSnapshot); } var nextSyntaxTree = TypeScript.IncrementalParser.parse(previousSyntaxTree, editRange, TypeScript.SimpleText.fromScriptSnapshot(scriptSnapshot)); - this.ensureInvariants(filename, editRange, nextSyntaxTree, this.currentFileScriptSnapshot, scriptSnapshot); + this.ensureInvariants(filename, editRange, nextSyntaxTree, previousScriptSnapshot, scriptSnapshot); return nextSyntaxTree; }; SyntaxTreeCache.prototype.ensureInvariants = function (filename, editRange, incrementalTree, oldScriptSnapshot, newScriptSnapshot) { @@ -31562,7 +31569,7 @@ var ts; } var textChangeRange = null; if (sourceFile.isOpen && isOpen) { - textChangeRange = hostCache.getScriptTextChangeRangeSinceVersion(filename, sourceFile.version); + textChangeRange = hostCache.getChangeRange(filename, sourceFile.version, sourceFile.getScriptSnapshot()); } sourceFile = documentRegistry.updateDocument(sourceFile, filename, compilationSettings, scriptSnapshot, version, isOpen, textChangeRange); } @@ -31930,24 +31937,17 @@ var ts; result.push(ScriptElementKindModifier.ambientModifier); return result.length > 0 ? result.join(',') : ScriptElementKindModifier.none; } - function getTypeAtPosition(filename, position) { + function getTypeAtPosition(fileName, position) { synchronizeHostData(); - filename = TypeScript.switchToForwardSlashes(filename); - var sourceFile = getSourceFile(filename); + fileName = TypeScript.switchToForwardSlashes(fileName); + var sourceFile = getSourceFile(fileName); var node = getNodeAtPosition(sourceFile.getSourceFile(), position); if (!node) return undefined; var symbol = typeInfoResolver.getSymbolInfo(node); var type = symbol && typeInfoResolver.getTypeOfSymbol(symbol); if (type) { - return { - memberName: new TypeScript.MemberNameString(typeInfoResolver.typeToString(type)), - docComment: "", - fullSymbolName: typeInfoResolver.symbolToString(symbol, getContainerNode(node)), - kind: getSymbolKind(symbol), - minChar: node.pos, - limChar: node.end - }; + return new TypeInfo(new TypeScript.MemberNameString(typeInfoResolver.typeToString(type)), "", typeInfoResolver.symbolToString(symbol, getContainerNode(node)), getSymbolKind(symbol), TypeScript.TextSpan.fromBounds(node.pos, node.end)); } return undefined; } @@ -31990,15 +31990,7 @@ var ts; return node.kind === 55 /* Identifier */ && isFunctionDeclaration(node.parent) && node.parent.name === node; } function getDefinitionInfo(node, symbolKind, symbolName, containerName) { - return { - fileName: node.getSourceFile().filename, - minChar: node.getStart(), - limChar: node.getEnd(), - kind: symbolKind, - name: symbolName, - containerName: containerName, - containerKind: undefined - }; + return new DefinitionInfo(node.getSourceFile().filename, TypeScript.TextSpan.fromBounds(node.getStart(), node.getEnd()), symbolKind, symbolName, undefined, containerName); } function tryAddSignature(signatureDeclarations, selectConstructors, symbolKind, symbolName, containerName, result) { var declarations = []; @@ -32052,15 +32044,7 @@ var ts; if (comment) { var targetFilename = ts.normalizePath(ts.combinePaths(ts.getDirectoryPath(filename), comment.filename)); if (program.getSourceFile(targetFilename)) { - return [{ - fileName: targetFilename, - minChar: 0, - limChar: 0, - kind: ScriptElementKind.scriptElement, - name: comment.filename, - containerName: undefined, - containerKind: undefined - }]; + return [new DefinitionInfo(targetFilename, TypeScript.TextSpan.fromBounds(0, 0), ScriptElementKind.scriptElement, comment.filename, undefined, undefined)]; } return undefined; } @@ -32135,24 +32119,19 @@ var ts; break; } } - return { - minChar: TypeScript.start(node), - limChar: TypeScript.end(node) - }; + return TypeScript.TextSpan.fromBounds(TypeScript.start(node), TypeScript.end(node)); } function getBreakpointStatementAtPosition(filename, position) { filename = TypeScript.switchToForwardSlashes(filename); var syntaxtree = getSyntaxTree(filename); return TypeScript.Services.Breakpoints.getBreakpointLocation(syntaxtree, position); } - function getScriptLexicalStructure(filename) { + function getNavigationBarItems(filename) { filename = TypeScript.switchToForwardSlashes(filename); var syntaxTree = getSyntaxTree(filename); - var items = []; - TypeScript.Services.GetScriptLexicalStructureWalker.getListsOfAllScriptLexicalStructure(items, filename, syntaxTree.sourceUnit()); - return items; + return new TypeScript.Services.NavigationBarItemGetter().getItems(syntaxTree.sourceUnit()); } - function getOutliningRegions(filename) { + function getOutliningSpans(filename) { filename = TypeScript.switchToForwardSlashes(filename); var sourceFile = getCurrentSourceFile(filename); return ts.OutliningElementsCollector.collectElements(sourceFile); @@ -32183,37 +32162,103 @@ var ts; var manager = new TypeScript.Services.Formatting.FormattingManager(syntaxTree, textSnapshot, formattingRulesProvider, options); return manager; } - function getFormattingEditsForRange(filename, minChar, limChar, options) { - filename = TypeScript.switchToForwardSlashes(filename); - var manager = getFormattingManager(filename, options); - return manager.formatSelection(minChar, limChar); + function getFormattingEditsForRange(fileName, start, end, options) { + fileName = TypeScript.switchToForwardSlashes(fileName); + var manager = getFormattingManager(fileName, options); + return manager.formatSelection(start, end); } - function getFormattingEditsForDocument(filename, minChar, limChar, options) { - filename = TypeScript.switchToForwardSlashes(filename); - var manager = getFormattingManager(filename, options); - return manager.formatDocument(minChar, limChar); + function getFormattingEditsForDocument(fileName, options) { + fileName = TypeScript.switchToForwardSlashes(fileName); + var manager = getFormattingManager(fileName, options); + return manager.formatDocument(); } - function getFormattingEditsOnPaste(filename, minChar, limChar, options) { - filename = TypeScript.switchToForwardSlashes(filename); - var manager = getFormattingManager(filename, options); - return manager.formatOnPaste(minChar, limChar); - } - function getFormattingEditsAfterKeystroke(filename, position, key, options) { - filename = TypeScript.switchToForwardSlashes(filename); - var manager = getFormattingManager(filename, options); - if (key === "}") + function getFormattingEditsAfterKeystroke(fileName, position, key, options) { + fileName = TypeScript.switchToForwardSlashes(fileName); + var manager = getFormattingManager(fileName, options); + if (key === "}") { return manager.formatOnClosingCurlyBrace(position); - else if (key === ";") + } + else if (key === ";") { return manager.formatOnSemicolon(position); - else if (key === "\n") + } + else if (key === "\n") { return manager.formatOnEnter(position); - else - return []; + } + return []; + } + function escapeRegExp(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + } + function getTodoCommentsRegExp(descriptors) { + var singleLineCommentStart = /(?:\/\/+\s*)/.source; + var multiLineCommentStart = /(?:\/\*+\s*)/.source; + var anyNumberOfSpacesAndAsterixesAtStartOfLine = /(?:^(?:\s|\*)*)/.source; + var preamble = "(" + anyNumberOfSpacesAndAsterixesAtStartOfLine + "|" + singleLineCommentStart + "|" + multiLineCommentStart + ")"; + var literals = "(?:" + descriptors.map(function (d) { return "(" + escapeRegExp(d.text) + ")"; }).join("|") + ")"; + var endOfLineOrEndOfComment = /(?:$|\*\/)/.source; + var messageRemainder = /(?:.*?)/.source; + var messagePortion = "(" + literals + messageRemainder + ")"; + var regExpString = preamble + messagePortion + endOfLineOrEndOfComment; + return new RegExp(regExpString, "gim"); + } + function getTodoComments(fileName, descriptors) { + fileName = TypeScript.switchToForwardSlashes(fileName); + var sourceFile = getCurrentSourceFile(fileName); + var syntaxTree = sourceFile.getSyntaxTree(); + cancellationToken.throwIfCancellationRequested(); + var text = syntaxTree.text; + var fileContents = text.substr(0, text.length()); + cancellationToken.throwIfCancellationRequested(); + var result = []; + if (descriptors.length > 0) { + var regExp = getTodoCommentsRegExp(descriptors); + var matchArray; + while (matchArray = regExp.exec(fileContents)) { + cancellationToken.throwIfCancellationRequested(); + var firstDescriptorCaptureIndex = 3; + ts.Debug.assert(matchArray.length === descriptors.length + firstDescriptorCaptureIndex); + var preamble = matchArray[1]; + var matchPosition = matchArray.index + preamble.length; + var token = TypeScript.findToken(syntaxTree.sourceUnit(), matchPosition); + if (matchPosition >= TypeScript.start(token) && matchPosition < TypeScript.end(token)) { + continue; + } + var triviaList = matchPosition < TypeScript.start(token) ? token.leadingTrivia(syntaxTree.text) : token.trailingTrivia(syntaxTree.text); + var trivia = findContainingComment(triviaList, matchPosition); + if (trivia === null) { + continue; + } + var descriptor = undefined; + for (var i = 0, n = descriptors.length; i < n; i++) { + if (matchArray[i + firstDescriptorCaptureIndex]) { + descriptor = descriptors[i]; + } + } + ts.Debug.assert(descriptor); + if (isLetterOrDigit(fileContents.charCodeAt(matchPosition + descriptor.text.length))) { + continue; + } + var message = matchArray[2]; + result.push(new TodoComment(descriptor, message, matchPosition)); + } + } + return result; + } + function isLetterOrDigit(char) { + return (char >= 97 /* a */ && char <= 122 /* z */) || (char >= 65 /* A */ && char <= 90 /* Z */) || (char >= 48 /* _0 */ && char <= 57 /* _9 */); + } + function findContainingComment(triviaList, position) { + for (var i = 0, n = triviaList.count(); i < n; i++) { + var trivia = triviaList.syntaxTriviaAt(i); + var fullEnd = trivia.fullStart() + trivia.fullWidth(); + if (trivia.isComment() && trivia.fullStart() <= position && position < fullEnd) { + return trivia; + } + } + return null; } return { dispose: dispose, - refresh: function () { - }, cleanupSemanticCache: cleanupSemanticCache, getSyntacticDiagnostics: getSyntacticDiagnostics, getSemanticDiagnostics: getSemanticDiagnostics, @@ -32221,7 +32266,8 @@ var ts; getCompletionsAtPosition: getCompletionsAtPosition, getCompletionEntryDetails: getCompletionEntryDetails, getTypeAtPosition: getTypeAtPosition, - getSignatureAtPosition: function (filename, position) { return undefined; }, + getSignatureHelpItems: function (filename, position) { return null; }, + getSignatureHelpCurrentArgumentState: function (fileName, position, applicableSpanStart) { return null; }, getDefinitionAtPosition: getDefinitionAtPosition, getReferencesAtPosition: function (filename, position) { return []; }, getOccurrencesAtPosition: function (filename, position) { return []; }, @@ -32229,15 +32275,16 @@ var ts; getNameOrDottedNameSpan: getNameOrDottedNameSpan, getBreakpointStatementAtPosition: getBreakpointStatementAtPosition, getNavigateToItems: function (searchValue) { return []; }, - getScriptLexicalStructure: getScriptLexicalStructure, - getOutliningRegions: getOutliningRegions, + getRenameInfo: function (fileName, position) { return RenameInfo.CreateError(ts.getLocaleSpecificMessage(ts.Diagnostics.You_cannot_rename_this_element.key)); }, + getNavigationBarItems: getNavigationBarItems, + getOutliningSpans: getOutliningSpans, + getTodoComments: getTodoComments, getBraceMatchingAtPosition: getBraceMatchingAtPosition, getIndentationAtPosition: getIndentationAtPosition, getFormattingEditsForRange: getFormattingEditsForRange, getFormattingEditsForDocument: getFormattingEditsForDocument, - getFormattingEditsOnPaste: getFormattingEditsOnPaste, getFormattingEditsAfterKeystroke: getFormattingEditsAfterKeystroke, - getEmitOutput: function (filename) { return undefined; } + getEmitOutput: function (filename) { return null; } }; } ts.createLanguageService = createLanguageService; @@ -32695,8 +32742,9 @@ var ts; } return this.lineStartPositions; }; - ScriptSnapshotShimAdapter.prototype.getTextChangeRangeSinceVersion = function (scriptVersion) { - var encoded = this.scriptSnapshotShim.getTextChangeRangeSinceVersion(scriptVersion); + ScriptSnapshotShimAdapter.prototype.getChangeRange = function (oldSnapshot) { + var oldSnapshotShim = oldSnapshot; + var encoded = this.scriptSnapshotShim.getChangeRange(oldSnapshotShim.scriptSnapshotShim); if (encoded == null) { return null; } @@ -32709,21 +32757,6 @@ var ts; function LanguageServiceShimHostAdapter(shimHost) { this.shimHost = shimHost; } - LanguageServiceShimHostAdapter.prototype.information = function () { - return this.shimHost.information(); - }; - LanguageServiceShimHostAdapter.prototype.debug = function () { - return this.shimHost.debug(); - }; - LanguageServiceShimHostAdapter.prototype.warning = function () { - return this.shimHost.warning(); - }; - LanguageServiceShimHostAdapter.prototype.error = function () { - return this.shimHost.error(); - }; - LanguageServiceShimHostAdapter.prototype.fatal = function () { - return this.shimHost.fatal(); - }; LanguageServiceShimHostAdapter.prototype.log = function (s) { this.shimHost.log(s); }; @@ -32768,6 +32801,7 @@ var ts; }; return LanguageServiceShimHostAdapter; })(); + ts.LanguageServiceShimHostAdapter = LanguageServiceShimHostAdapter; function simpleForwardCall(logger, actionDescription, action) { logger.log(actionDescription); var start = Date.now(); @@ -32830,9 +32864,7 @@ var ts; _super.prototype.dispose.call(this, dummy); }; LanguageServiceShimObject.prototype.refresh = function (throwOnError) { - var _this = this; this.forwardJSONCall("refresh(" + throwOnError + ")", function () { - _this.languageService.refresh(); return null; }); }; @@ -32862,14 +32894,14 @@ var ts; }; LanguageServiceShimObject.prototype.getSyntacticDiagnostics = function (fileName) { var _this = this; - return this.forwardJSONCall("getSyntacticDiagnostics(\"" + fileName + "\")", function () { + return this.forwardJSONCall("getSyntacticDiagnostics('" + fileName + "')", function () { var errors = _this.languageService.getSyntacticDiagnostics(fileName); return errors.map(LanguageServiceShimObject.realizeDiagnostic); }); }; LanguageServiceShimObject.prototype.getSemanticDiagnostics = function (fileName) { var _this = this; - return this.forwardJSONCall("getSemanticDiagnostics(\"" + fileName + "\")", function () { + return this.forwardJSONCall("getSemanticDiagnostics('" + fileName + "')", function () { var errors = _this.languageService.getSemanticDiagnostics(fileName); return errors.map(LanguageServiceShimObject.realizeDiagnostic); }); @@ -32883,112 +32915,116 @@ var ts; }; LanguageServiceShimObject.prototype.getTypeAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getTypeAtPosition(\"" + fileName + "\", " + position + ")", function () { + return this.forwardJSONCall("getTypeAtPosition('" + fileName + "', " + position + ")", function () { var typeInfo = _this.languageService.getTypeAtPosition(fileName, position); return typeInfo; }); }; LanguageServiceShimObject.prototype.getNameOrDottedNameSpan = function (fileName, startPos, endPos) { var _this = this; - return this.forwardJSONCall("getNameOrDottedNameSpan(\"" + fileName + "\", " + startPos + ", " + endPos + ")", function () { + return this.forwardJSONCall("getNameOrDottedNameSpan('" + fileName + "', " + startPos + ", " + endPos + ")", function () { var spanInfo = _this.languageService.getNameOrDottedNameSpan(fileName, startPos, endPos); return spanInfo; }); }; LanguageServiceShimObject.prototype.getBreakpointStatementAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getBreakpointStatementAtPosition(\"" + fileName + "\", " + position + ")", function () { + return this.forwardJSONCall("getBreakpointStatementAtPosition('" + fileName + "', " + position + ")", function () { var spanInfo = _this.languageService.getBreakpointStatementAtPosition(fileName, position); return spanInfo; }); }; - LanguageServiceShimObject.prototype.getSignatureAtPosition = function (fileName, position) { + LanguageServiceShimObject.prototype.getSignatureHelpItems = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getSignatureAtPosition(\"" + fileName + "\", " + position + ")", function () { - var signatureInfo = _this.languageService.getSignatureAtPosition(fileName, position); + return this.forwardJSONCall("getSignatureHelpItems('" + fileName + "', " + position + ")", function () { + var signatureInfo = _this.languageService.getSignatureHelpItems(fileName, position); + return signatureInfo; + }); + }; + LanguageServiceShimObject.prototype.getSignatureHelpCurrentArgumentState = function (fileName, position, applicableSpanStart) { + var _this = this; + return this.forwardJSONCall("getSignatureHelpCurrentArgumentState('" + fileName + "', " + position + ", " + applicableSpanStart + ")", function () { + var signatureInfo = _this.languageService.getSignatureHelpItems(fileName, position); return signatureInfo; }); }; LanguageServiceShimObject.prototype.getDefinitionAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getDefinitionAtPosition(\"" + fileName + "\", " + position + ")", function () { + return this.forwardJSONCall("getDefinitionAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getDefinitionAtPosition(fileName, position); }); }; + LanguageServiceShimObject.prototype.getRenameInfo = function (fileName, position) { + var _this = this; + return this.forwardJSONCall("getRenameInfo('" + fileName + "', " + position + ")", function () { + return _this.languageService.getRenameInfo(fileName, position); + }); + }; LanguageServiceShimObject.prototype.getBraceMatchingAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getBraceMatchingAtPosition(\"" + fileName + "\", " + position + ")", function () { + return this.forwardJSONCall("getBraceMatchingAtPosition('" + fileName + "', " + position + ")", function () { var textRanges = _this.languageService.getBraceMatchingAtPosition(fileName, position); return textRanges; }); }; LanguageServiceShimObject.prototype.getIndentationAtPosition = function (fileName, position, options) { var _this = this; - return this.forwardJSONCall("getIndentationAtPosition(\"" + fileName + "\", " + position + ")", function () { + return this.forwardJSONCall("getIndentationAtPosition('" + fileName + "', " + position + ")", function () { var localOptions = JSON.parse(options); - var columnOffset = _this.languageService.getIndentationAtPosition(fileName, position, localOptions); - return { value: columnOffset }; + return _this.languageService.getIndentationAtPosition(fileName, position, localOptions); }); }; LanguageServiceShimObject.prototype.getReferencesAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getReferencesAtPosition(\"" + fileName + "\", " + position + ")", function () { + return this.forwardJSONCall("getReferencesAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getReferencesAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.getOccurrencesAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getOccurrencesAtPosition(\"" + fileName + "\", " + position + ")", function () { + return this.forwardJSONCall("getOccurrencesAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getOccurrencesAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.getImplementorsAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getImplementorsAtPosition(\"" + fileName + "\", " + position + ")", function () { + return this.forwardJSONCall("getImplementorsAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getImplementorsAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position, isMemberCompletion) { var _this = this; - return this.forwardJSONCall("getCompletionsAtPosition(\"" + fileName + "\", " + position + ", " + isMemberCompletion + ")", function () { + return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ", " + isMemberCompletion + ")", function () { var completion = _this.languageService.getCompletionsAtPosition(fileName, position, isMemberCompletion); return completion; }); }; LanguageServiceShimObject.prototype.getCompletionEntryDetails = function (fileName, position, entryName) { var _this = this; - return this.forwardJSONCall("getCompletionEntryDetails(\"" + fileName + "\", " + position + ", " + entryName + ")", function () { + return this.forwardJSONCall("getCompletionEntryDetails('" + fileName + "', " + position + ", " + entryName + ")", function () { var details = _this.languageService.getCompletionEntryDetails(fileName, position, entryName); return details; }); }; - LanguageServiceShimObject.prototype.getFormattingEditsForRange = function (fileName, minChar, limChar, options) { + LanguageServiceShimObject.prototype.getFormattingEditsForRange = function (fileName, start, end, options) { var _this = this; - return this.forwardJSONCall("getFormattingEditsForRange(\"" + fileName + "\", " + minChar + ", " + limChar + ")", function () { + return this.forwardJSONCall("getFormattingEditsForRange('" + fileName + "', " + start + ", " + end + ")", function () { var localOptions = JSON.parse(options); - var edits = _this.languageService.getFormattingEditsForRange(fileName, minChar, limChar, localOptions); + var edits = _this.languageService.getFormattingEditsForRange(fileName, start, end, localOptions); return edits; }); }; - LanguageServiceShimObject.prototype.getFormattingEditsForDocument = function (fileName, minChar, limChar, options) { + LanguageServiceShimObject.prototype.getFormattingEditsForDocument = function (fileName, options) { var _this = this; - return this.forwardJSONCall("getFormattingEditsForDocument(\"" + fileName + "\", " + minChar + ", " + limChar + ")", function () { + return this.forwardJSONCall("getFormattingEditsForDocument('" + fileName + "')", function () { var localOptions = JSON.parse(options); - var edits = _this.languageService.getFormattingEditsForDocument(fileName, minChar, limChar, localOptions); - return edits; - }); - }; - LanguageServiceShimObject.prototype.getFormattingEditsOnPaste = function (fileName, minChar, limChar, options) { - var _this = this; - return this.forwardJSONCall("getFormattingEditsOnPaste(\"" + fileName + "\", " + minChar + ", " + limChar + ")", function () { - var localOptions = JSON.parse(options); - var edits = _this.languageService.getFormattingEditsOnPaste(fileName, minChar, limChar, localOptions); + var edits = _this.languageService.getFormattingEditsForDocument(fileName, localOptions); return edits; }); }; LanguageServiceShimObject.prototype.getFormattingEditsAfterKeystroke = function (fileName, position, key, options) { var _this = this; - return this.forwardJSONCall("getFormattingEditsAfterKeystroke(\"" + fileName + "\", " + position + ", \"" + key + "\")", function () { + return this.forwardJSONCall("getFormattingEditsAfterKeystroke('" + fileName + "', " + position + ", '" + key + "')", function () { var localOptions = JSON.parse(options); var edits = _this.languageService.getFormattingEditsAfterKeystroke(fileName, position, key, localOptions); return edits; @@ -32996,64 +33032,47 @@ var ts; }; LanguageServiceShimObject.prototype.getNavigateToItems = function (searchValue) { var _this = this; - return this.forwardJSONCall("getNavigateToItems(\"" + searchValue + "\")", function () { + return this.forwardJSONCall("getNavigateToItems('" + searchValue + "')", function () { var items = _this.languageService.getNavigateToItems(searchValue); - var result = _this._navigateToItemsToString(items); - return result; + return items; }); }; - LanguageServiceShimObject.prototype.getScriptLexicalStructure = function (fileName) { + LanguageServiceShimObject.prototype.getNavigationBarItems = function (fileName) { var _this = this; - return this.forwardJSONCall("getScriptLexicalStructure(\"" + fileName + "\")", function () { - var items = _this.languageService.getScriptLexicalStructure(fileName); - var result = _this._navigateToItemsToString(items); - return result; + return this.forwardJSONCall("getNavigationBarItems('" + fileName + "')", function () { + var items = _this.languageService.getNavigationBarItems(fileName); + return items; }); }; - LanguageServiceShimObject.prototype.getOutliningRegions = function (fileName) { + LanguageServiceShimObject.prototype.getOutliningSpans = function (fileName) { var _this = this; - return this.forwardJSONCall("getOutliningRegions(\"" + fileName + "\")", function () { - var items = _this.languageService.getOutliningRegions(fileName); - var spans = ts.map(items, function (i) { return i.textSpan; }); - return spans; + return this.forwardJSONCall("getOutliningSpans('" + fileName + "')", function () { + var items = _this.languageService.getOutliningSpans(fileName); + return items; + }); + }; + LanguageServiceShimObject.prototype.getTodoComments = function (fileName, descriptors) { + var _this = this; + return this.forwardJSONCall("getTodoComments('" + fileName + "')", function () { + var items = _this.languageService.getTodoComments(fileName, JSON.parse(descriptors)); + return items; }); }; LanguageServiceShimObject.prototype.getEmitOutput = function (fileName) { var _this = this; - return this.forwardJSONCall("getEmitOutput(\"" + fileName + "\")", function () { + return this.forwardJSONCall("getEmitOutput('" + fileName + "')", function () { var output = _this.languageService.getEmitOutput(fileName); return output; }); }; - LanguageServiceShimObject.prototype._navigateToItemsToString = function (items) { - var result = []; - for (var i = 0; i < items.length; i++) { - var item = items[i]; - result.push({ - name: item.name, - kind: item.kind, - kindModifiers: item.kindModifiers, - containerName: item.containerName, - containerKind: item.containerKind, - matchKind: item.matchKind, - fileName: item.fileName, - minChar: item.minChar, - limChar: item.limChar, - additionalSpans: item.additionalSpans ? item.additionalSpans.map(function (i) { - return { start: i.minChar, end: i.limChar }; - }) : undefined - }); - } - return result; - }; return LanguageServiceShimObject; })(ShimBase); var ClassifierShimObject = (function (_super) { __extends(ClassifierShimObject, _super); - function ClassifierShimObject(factory, host) { + function ClassifierShimObject(factory, logger) { _super.call(this, factory); - this.host = host; - this.classifier = ts.createClassifier(this.host); + this.logger = logger; + this.classifier = ts.createClassifier(this.logger); } ClassifierShimObject.prototype.getClassificationsForLine = function (text, lexState) { var classification = this.classifier.getClassificationsForLine(text, lexState); @@ -33070,15 +33089,15 @@ var ts; })(ShimBase); var CoreServicesShimObject = (function (_super) { __extends(CoreServicesShimObject, _super); - function CoreServicesShimObject(factory, host) { + function CoreServicesShimObject(factory, logger) { _super.call(this, factory); - this.host = host; + this.logger = logger; } CoreServicesShimObject.prototype.forwardJSONCall = function (actionDescription, action) { - return forwardJSONCall(this.host, actionDescription, action); + return forwardJSONCall(this.logger, actionDescription, action); }; CoreServicesShimObject.prototype.getPreProcessedFileInfo = function (fileName, sourceText) { - return this.forwardJSONCall("getPreProcessedFileInfo(\"" + fileName + "\")", function () { + return this.forwardJSONCall("getPreProcessedFileInfo('" + fileName + "')", function () { var result = TypeScript.preProcessFile(fileName, sourceText); return result; }); @@ -33106,21 +33125,21 @@ var ts; throw err; } }; - TypeScriptServicesFactory.prototype.createClassifierShim = function (host) { + TypeScriptServicesFactory.prototype.createClassifierShim = function (logger) { try { - return new ClassifierShimObject(this, host); + return new ClassifierShimObject(this, logger); } catch (err) { - logInternalError(host, err); + logInternalError(logger, err); throw err; } }; - TypeScriptServicesFactory.prototype.createCoreServicesShim = function (host) { + TypeScriptServicesFactory.prototype.createCoreServicesShim = function (logger) { try { - return new CoreServicesShimObject(this, host); + return new CoreServicesShimObject(this, logger); } catch (err) { - logInternalError(host, err); + logInternalError(logger, err); throw err; } }; diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e1b2adde64f..9a41b4a89ae 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -908,7 +908,7 @@ module ts { // Get qualified name if (enclosingDeclaration && // Properties/methods/Signatures/Constructors/TypeParameters do not need qualification - !(symbol.flags & SymbolFlags.PropertyOrAccessor & SymbolFlags.Signature & SymbolFlags.Constructor & SymbolFlags.Method & SymbolFlags.TypeParameter)) { + !(symbol.flags & (SymbolFlags.PropertyOrAccessor | SymbolFlags.Signature | SymbolFlags.Constructor | SymbolFlags.Method | SymbolFlags.TypeParameter))) { var symbolName: string; while (symbol) { var isFirstName = !symbolName; @@ -2238,13 +2238,12 @@ module ts { return emptyObjectType; } var type = getDeclaredTypeOfSymbol(symbol); - var name = symbol.name; if (!(type.flags & TypeFlags.ObjectType)) { - error(getTypeDeclaration(symbol), Diagnostics.Global_type_0_must_be_a_class_or_interface_type, name); + error(getTypeDeclaration(symbol), Diagnostics.Global_type_0_must_be_a_class_or_interface_type, symbol.name); return emptyObjectType; } if (((type).typeParameters ? (type).typeParameters.length : 0) !== arity) { - error(getTypeDeclaration(symbol), Diagnostics.Global_type_0_must_have_1_type_parameter_s, name, arity); + error(getTypeDeclaration(symbol), Diagnostics.Global_type_0_must_have_1_type_parameter_s, symbol.name, arity); return emptyObjectType; } return type; @@ -3548,7 +3547,8 @@ module ts { return false; } - function checkSuperExpression(node: Node, isCallExpression: boolean): Type { + function checkSuperExpression(node: Node): Type { + var isCallExpression = node.parent.kind === SyntaxKind.CallExpression && (node.parent).func === node; var enclosingClass = getAncestor(node, SyntaxKind.ClassDeclaration); var baseClass: Type; if (enclosingClass && enclosingClass.baseType) { @@ -4183,7 +4183,7 @@ module ts { function resolveCallExpression(node: CallExpression): Signature { if (node.func.kind === SyntaxKind.SuperKeyword) { - var superType = checkSuperExpression(node.func, true); + var superType = checkSuperExpression(node.func); if (superType !== unknownType) { return resolveCall(node, getSignaturesOfType(superType, SignatureKind.Construct)); } @@ -4831,7 +4831,7 @@ module ts { case SyntaxKind.ThisKeyword: return checkThisExpression(node); case SyntaxKind.SuperKeyword: - return checkSuperExpression(node, false); + return checkSuperExpression(node); case SyntaxKind.NullKeyword: return nullType; case SyntaxKind.TrueKeyword: @@ -6775,6 +6775,11 @@ module ts { /*all meanings*/ SymbolFlags.Value | SymbolFlags.Type | SymbolFlags.Namespace | SymbolFlags.Import); } + if (isInRightSideOfImportOrExportAssignment(entityName)) { + // Since we already checked for ExportAssignment, this really could only be an Import + return getSymbolOfPartOfRightHandSideOfImport(entityName); + } + if (isRightSideOfQualifiedNameOrPropertyAccess(entityName)) { entityName = entityName.parent; } @@ -6895,11 +6900,7 @@ module ts { } if (isInRightSideOfImportOrExportAssignment(node)) { - var symbol: Symbol; - symbol = node.parent.kind === SyntaxKind.ExportAssignment - ? getSymbolInfo(node) - : getSymbolOfPartOfRightHandSideOfImport(node); - + var symbol = getSymbolInfo(node); var declaredType = getDeclaredTypeOfSymbol(symbol); return declaredType !== unknownType ? declaredType : getTypeOfSymbol(symbol); } @@ -7073,7 +7074,20 @@ module ts { function isImplementationOfOverload(node: FunctionDeclaration) { if (node.body) { var symbol = getSymbolOfNode(node); - return getSignaturesOfSymbol(symbol).length > 1; + var signaturesOfSymbol = getSignaturesOfSymbol(symbol); + // If this function body corresponds to function with multiple signature, it is implementation of overload + // eg: function foo(a: string): string; + // function foo(a: number): number; + // function foo(a: any) { // This is implementation of the overloads + // return a; + // } + return signaturesOfSymbol.length > 1 || + // If there is single signature for the symbol, it is overload if that signature isnt coming from the node + // eg: function foo(a: string): string; + // function foo(a: any) { // This is implementation of the overloads + // return a; + // } + (signaturesOfSymbol.length === 1 && signaturesOfSymbol[0].declaration !== node); } return false; } diff --git a/src/compiler/core.ts b/src/compiler/core.ts index b042b7e6cc8..fbf767b91a9 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -509,12 +509,6 @@ module ts { return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; } - export function getCanonicalFileName(fileName: string): string { - // if underlying system can distinguish between two files whose names differs only in cases then file name already in canonical form. - // otherwise use toLowerCase as a canonical form. - return sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(); - } - export interface ObjectAllocator { getNodeConstructor(kind: SyntaxKind): new () => Node; getSymbolConstructor(): new (flags: SymbolFlags, name: string) => Symbol; diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 198adc4c37e..fc3f845dc45 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -290,7 +290,7 @@ module ts { } else { // Empty string - make sure we write empty line - writer.writeLiteral(sys.newLine); + writer.writeLiteral(newLine); } } @@ -336,6 +336,9 @@ module ts { /** Emit detached comments of the node */ var emitDetachedComments = compilerOptions.removeComments ? (node: TextRange) => { } : emitDetachedCommentsAtPosition; + /** Emits /// or pinned which is comment starting with /*! comments */ + var emitPinnedOrTripleSlashComments = compilerOptions.removeComments ? (node: Node) => { } : emitPinnedOrTripleSlashCommentsOfNode; + var writeComment = writeCommentRange; /** Emit a node */ @@ -1318,7 +1321,10 @@ module ts { } function emitFunctionDeclaration(node: FunctionDeclaration) { - if (!node.body) return; + if (!node.body) { + return emitPinnedOrTripleSlashComments(node); + } + if (node.kind !== SyntaxKind.Method) { // Methods will emit the comments as part of emitting method declaration emitLeadingComments(node); @@ -1488,7 +1494,10 @@ module ts { function emitMemberFunctions(node: ClassDeclaration) { forEach(node.members, member => { if (member.kind === SyntaxKind.Method) { - if (!(member).body) return; + if (!(member).body) { + return emitPinnedOrTripleSlashComments(member); + } + writeLine(); emitLeadingComments(member); emitStart(member); @@ -1611,6 +1620,13 @@ module ts { emitTrailingComments(node); function emitConstructorOfClass() { + // Emit the constructor overload pinned comments + forEach(node.members, member => { + if (member.kind === SyntaxKind.Constructor && !(member).body) { + emitPinnedOrTripleSlashComments(member); + } + }); + var ctor = getFirstConstructorWithBody(node); if (ctor) { emitLeadingComments(ctor); @@ -1666,6 +1682,10 @@ module ts { } } + function emitInterfaceDeclaration(node: InterfaceDeclaration) { + emitPinnedOrTripleSlashComments(node); + } + function emitEnumDeclaration(node: EnumDeclaration) { emitLeadingComments(node); if (!(node.flags & NodeFlags.Export)) { @@ -1741,7 +1761,10 @@ module ts { } function emitModuleDeclaration(node: ModuleDeclaration) { - if (!isInstantiated(node)) return; + if (!isInstantiated(node)) { + return emitPinnedOrTripleSlashComments(node); + } + emitLeadingComments(node); if (!(node.flags & NodeFlags.Export)) { emitStart(node); @@ -1969,7 +1992,14 @@ module ts { } function emitNode(node: Node) { - if (!node || node.flags & NodeFlags.Ambient) return; + if (!node) { + return; + } + + if (node.flags & NodeFlags.Ambient) { + return emitPinnedOrTripleSlashComments(node); + } + switch (node.kind) { case SyntaxKind.Identifier: return emitIdentifier(node); @@ -2073,6 +2103,8 @@ module ts { return emitVariableDeclaration(node); case SyntaxKind.ClassDeclaration: return emitClassDeclaration(node); + case SyntaxKind.InterfaceDeclaration: + return emitInterfaceDeclaration(node); case SyntaxKind.EnumDeclaration: return emitEnumDeclaration(node); case SyntaxKind.ModuleDeclaration: @@ -2101,7 +2133,7 @@ module ts { return leadingComments; } - function emitLeadingDeclarationComments(node: Node) { + function getLeadingCommentsToEmit(node: Node) { // Emit the leading comments only if the parent's pos doesnt match because parent should take care of emitting these comments if (node.parent.kind === SyntaxKind.SourceFile || node.pos !== node.parent.pos) { var leadingComments: Comment[]; @@ -2113,12 +2145,17 @@ module ts { // get the leading comments from the node leadingComments = getLeadingCommentsOfNode(node, currentSourceFile); } - emitNewLineBeforeLeadingComments(node, leadingComments, writer); - // Leading comments are emitted at /*leading comment1 */space/*leading comment*/space - emitComments(leadingComments, /*trailingSeparator*/ true, writer, writeComment); + return leadingComments; } } + function emitLeadingDeclarationComments(node: Node) { + var leadingComments = getLeadingCommentsToEmit(node); + emitNewLineBeforeLeadingComments(node, leadingComments, writer); + // Leading comments are emitted at /*leading comment1 */space/*leading comment*/space + emitComments(leadingComments, /*trailingSeparator*/ true, writer, writeComment); + } + function emitTrailingDeclarationComments(node: Node) { // Emit the trailing comments only if the parent's end doesnt match if (node.parent.kind === SyntaxKind.SourceFile || node.end !== node.parent.end) { @@ -2166,7 +2203,7 @@ module ts { lastComment = comment; }); - if (detachedComments && detachedComments.length) { + if (detachedComments.length) { // All comments look like they could have been part of the copyright header. Make // sure there is at least one blank line between it and the node. If not, it's not // a copyright header. @@ -2188,6 +2225,28 @@ module ts { } } + function emitPinnedOrTripleSlashCommentsOfNode(node: Node) { + var pinnedComments = ts.filter(getLeadingCommentsToEmit(node), isPinnedOrTripleSlashComment); + + function isPinnedOrTripleSlashComment(comment: Comment) { + if (currentSourceFile.text.charCodeAt(comment.pos + 1) === CharacterCodes.asterisk) { + return currentSourceFile.text.charCodeAt(comment.pos + 2) === CharacterCodes.exclamation; + } + // Verify this is /// comment, but do the regexp match only when we first can find /// in the comment text + // so that we dont end up computing comment string and doing match for all // comments + else if (currentSourceFile.text.charCodeAt(comment.pos + 1) === CharacterCodes.slash && + comment.pos + 2 < comment.end && + currentSourceFile.text.charCodeAt(comment.pos + 2) === CharacterCodes.slash && + currentSourceFile.text.substring(comment.pos, comment.end).match(fullTripleSlashReferencePathRegEx)) { + return true; + } + } + + emitNewLineBeforeLeadingComments(node, pinnedComments, writer); + // Leading comments are emitted at /*leading comment1 */space/*leading comment*/space + emitComments(pinnedComments, /*trailingSeparator*/ true, writer, writeComment); + } + if (compilerOptions.sourceMap) { initializeEmitterWithSourceMaps(); } diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 1e957cd2abe..a0d9e805191 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1,4 +1,3 @@ -/// /// /// /// @@ -165,6 +164,8 @@ module ts { } } + export var fullTripleSlashReferencePathRegEx = /^(\/\/\/\s*/ + // Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes // stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise, // embedded arrays are flattened and the 'cbNode' callback is invoked for each element. If a callback returns @@ -3555,8 +3556,7 @@ module ts { file.hasNoDefaultLib = true; } else { - var fullReferenceRegEx = /^(\/\/\/\s*/; - var matchResult = fullReferenceRegEx.exec(comment); + var matchResult = fullTripleSlashReferencePathRegEx.exec(comment); if (!matchResult) { var start = range.pos; var length = range.end - start; diff --git a/src/compiler/tsc.ts b/src/compiler/tsc.ts index 202864c72a0..8188cb8e4d1 100644 --- a/src/compiler/tsc.ts +++ b/src/compiler/tsc.ts @@ -137,6 +137,12 @@ module ts { var currentDirectory: string; var existingDirectories: Map = {}; + function getCanonicalFileName(fileName: string): string { + // if underlying system can distinguish between two files whose names differs only in cases then file name already in canonical form. + // otherwise use toLowerCase as a canonical form. + return sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(); + } + function getSourceFile(filename: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile { try { var text = sys.readFile(filename, options.charset); @@ -323,6 +329,7 @@ module ts { function compile(commandLine: ParsedCommandLine, compilerHost: CompilerHost) { var parseStart = new Date().getTime(); var program = createProgram(commandLine.filenames, commandLine.options, compilerHost); + var bindStart = new Date().getTime(); var errors = program.getDiagnostics(); if (errors.length) { diff --git a/src/harness/compilerRunner.ts b/src/harness/compilerRunner.ts index bab1200d74c..60da87b1dfc 100644 --- a/src/harness/compilerRunner.ts +++ b/src/harness/compilerRunner.ts @@ -41,16 +41,16 @@ class CompilerBaselineRunner extends RunnerBase { describe('compiler tests for ' + fileName, () => { // Mocha holds onto the closure environment of the describe callback even after the test is done. // Everything declared here should be cleared out in the "after" callback. - var justName = fileName.replace(/^.*[\\\/]/, ''); // strips the fileName from the path. - var content = Harness.IO.readFile(fileName); - var testCaseContent = Harness.TestCaseParser.makeUnitsFromTest(content, fileName); + var justName: string; + var content: string; + var testCaseContent: { settings: Harness.TestCaseParser.CompilerSetting[]; testUnitData: Harness.TestCaseParser.TestUnitData[]; } - var units = testCaseContent.testUnitData; - var tcSettings = testCaseContent.settings; - var createNewInstance = false; + var units: Harness.TestCaseParser.TestUnitData[]; + var tcSettings: Harness.TestCaseParser.CompilerSetting[]; + var createNewInstance: boolean; - var lastUnit = units[units.length - 1]; - var rootDir = lastUnit.originalFilePath.indexOf('conformance') === -1 ? 'tests/cases/compiler/' : lastUnit.originalFilePath.substring(0, lastUnit.originalFilePath.lastIndexOf('/')) + '/'; + var lastUnit: Harness.TestCaseParser.TestUnitData; + var rootDir: string; var result: Harness.Compiler.CompilerResult; var checker: ts.TypeChecker; @@ -68,6 +68,14 @@ class CompilerBaselineRunner extends RunnerBase { var createNewInstance = false; before(() => { + justName = fileName.replace(/^.*[\\\/]/, ''); // strips the fileName from the path. + content = Harness.IO.readFile(fileName); + testCaseContent = Harness.TestCaseParser.makeUnitsFromTest(content, fileName); + units = testCaseContent.testUnitData; + tcSettings = testCaseContent.settings; + createNewInstance = false; + lastUnit = units[units.length - 1]; + rootDir = lastUnit.originalFilePath.indexOf('conformance') === -1 ? 'tests/cases/compiler/' : lastUnit.originalFilePath.substring(0, lastUnit.originalFilePath.lastIndexOf('/')) + '/'; harnessCompiler = Harness.Compiler.getCompiler(); // We need to assemble the list of input files for the compiler and other related files on the 'filesystem' (ie in a multi-file test) // If the last file in a test uses require or a triple slash reference we'll assume all other files will be brought in via references, @@ -307,7 +315,7 @@ class CompilerBaselineRunner extends RunnerBase { allFiles.forEach(file => { var codeLines = file.content.split('\n'); walker.getTypes(file.unitName).forEach(result => { - var formattedLine = result.identifierName + " : " + result.type; + var formattedLine = result.sourceText.replace(/\r?\n/g, "") + " : " + result.type; if (!typeMap[file.unitName]) { typeMap[file.unitName] = {}; } diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index dd19508b222..c4cb3662eea 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -1923,9 +1923,9 @@ module FourSlash { fourslashSourceFile = fourslashSourceFile || ts.createSourceFile(tsFn, Harness.IO.readFile(tsFn), ts.ScriptTarget.ES5, /*version*/ "0", /*isOpen*/ false); var files: { [filename: string]: ts.SourceFile; } = {}; - files[ts.getCanonicalFileName(fourslashFilename)] = fourslashSourceFile; - files[ts.getCanonicalFileName(fileName)] = ts.createSourceFile(fileName, content, ts.ScriptTarget.ES5, /*version*/ "0", /*isOpen*/ false); - files[ts.getCanonicalFileName(Harness.Compiler.defaultLibFileName)] = Harness.Compiler.defaultLibSourceFile; + files[Harness.Compiler.getCanonicalFileName(fourslashFilename)] = fourslashSourceFile; + files[Harness.Compiler.getCanonicalFileName(fileName)] = ts.createSourceFile(fileName, content, ts.ScriptTarget.ES5, /*version*/ "0", /*isOpen*/ false); + files[Harness.Compiler.getCanonicalFileName(Harness.Compiler.defaultLibFileName)] = Harness.Compiler.defaultLibSourceFile; var host = Harness.Compiler.createCompilerHost(files, (fn, contents) => result = contents); var program = ts.createProgram([fourslashFilename, fileName], { out: "fourslashTestOutput.js" }, host); diff --git a/src/harness/harness.ts b/src/harness/harness.ts index 1a115fbddd4..f2488c06b48 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -534,13 +534,17 @@ module Harness { export var defaultLibFileName = 'lib.d.ts'; export var defaultLibSourceFile = ts.createSourceFile(defaultLibFileName, IO.readFile(libFolder + 'lib.core.d.ts'), /*languageVersion*/ ts.ScriptTarget.ES5, /*version:*/ "0"); + export function getCanonicalFileName(fileName: string): string { + return sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(); + } + export function createCompilerHost(filemap: { [filename: string]: ts.SourceFile; }, writeFile: (fn: string, contents: string, writeByteOrderMark:boolean) => void): ts.CompilerHost { return { getCurrentDirectory: sys.getCurrentDirectory, getCancellationToken: (): any => undefined, getSourceFile: (fn, languageVersion) => { - if (Object.prototype.hasOwnProperty.call(filemap, ts.getCanonicalFileName(fn))) { - return filemap[ts.getCanonicalFileName(fn)]; + if (Object.prototype.hasOwnProperty.call(filemap, getCanonicalFileName(fn))) { + return filemap[getCanonicalFileName(fn)]; } else { var lib = defaultLibFileName; if (fn === defaultLibFileName) { @@ -552,7 +556,7 @@ module Harness { }, getDefaultLibFilename: () => defaultLibFileName, writeFile: writeFile, - getCanonicalFileName: ts.getCanonicalFileName, + getCanonicalFileName: getCanonicalFileName, useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames, getNewLine: ()=> sys.newLine }; @@ -729,7 +733,7 @@ module Harness { var filemap: { [name: string]: ts.SourceFile; } = {}; var register = (file: { unitName: string; content: string; }) => { var filename = Path.switchToForwardSlashes(file.unitName); - filemap[ts.getCanonicalFileName(filename)] = ts.createSourceFile(filename, file.content, options.target, /*version:*/ "0"); + filemap[getCanonicalFileName(filename)] = ts.createSourceFile(filename, file.content, options.target, /*version:*/ "0"); }; inputFiles.forEach(register); otherFiles.forEach(register); diff --git a/src/harness/projectsRunner.ts b/src/harness/projectsRunner.ts index b6d25b558f8..b0f3e939d30 100644 --- a/src/harness/projectsRunner.ts +++ b/src/harness/projectsRunner.ts @@ -187,7 +187,7 @@ class ProjectRunner extends RunnerBase { getDefaultLibFilename: () => "lib.d.ts", writeFile: writeFile, getCurrentDirectory: getCurrentDirectory, - getCanonicalFileName: ts.getCanonicalFileName, + getCanonicalFileName: Harness.Compiler.getCanonicalFileName, useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames, getNewLine: () => sys.newLine }; diff --git a/src/harness/typeWriter.ts b/src/harness/typeWriter.ts index 87f215d5b72..a3b23d10f14 100644 --- a/src/harness/typeWriter.ts +++ b/src/harness/typeWriter.ts @@ -2,7 +2,7 @@ interface TypeWriterResult { line: number; column: number; syntaxKind: string; - identifierName: string; + sourceText: string; type: string; } @@ -28,7 +28,7 @@ class TypeWriterWalker { // TODO: Ideally we should log all expressions, but to compare to the // old typeWriter baselines, suppress tokens case ts.SyntaxKind.ThisKeyword: - case ts.SyntaxKind.RegularExpressionLiteral: + case ts.SyntaxKind.SuperKeyword: case ts.SyntaxKind.ArrayLiteral: case ts.SyntaxKind.ObjectLiteral: case ts.SyntaxKind.PropertyAccess: @@ -77,7 +77,6 @@ class TypeWriterWalker { var actualPos = ts.skipTrivia(this.currentSourceFile.text, node.pos); var lineAndCharacter = this.currentSourceFile.getLineAndCharacterFromPosition(actualPos); var sourceText = ts.getSourceTextOfNodeFromSourceText(this.currentSourceFile.text, node); - var isUnknownType = (type).intrinsicName === "unknown"; // If we got an unknown type, we temporarily want to fall back to just pretending the name // (source text) of the node is the type. This is to align with the old typeWriter to make @@ -86,8 +85,8 @@ class TypeWriterWalker { line: lineAndCharacter.line - 1, column: lineAndCharacter.character, syntaxKind: ts.SyntaxKind[node.kind], - identifierName: sourceText, - type: isUnknownType ? sourceText : this.checker.typeToString(type) + sourceText: sourceText, + type: this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.None) }); } diff --git a/src/services/core/diagnosticCore.ts b/src/services/core/diagnosticCore.ts index 0c12a354933..b4d95a1c60b 100644 --- a/src/services/core/diagnosticCore.ts +++ b/src/services/core/diagnosticCore.ts @@ -120,7 +120,7 @@ module TypeScript { // TODO: We need to expose an extensibility point on our hosts to have them tell us what // they want the newline string to be. That way we can get the correct result regardless // of which host we use - return sys.newLine ? sys.newLine : "\r\n"; + return "\r\n"; } function getLargestIndex(diagnostic: string): number { diff --git a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types index ff49e1c530f..8846d2c3a37 100644 --- a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types @@ -45,15 +45,15 @@ var p: { x: number; y: number; } var p = A.Point.Origin; >p : { x: number; y: number; } >A.Point.Origin : { x: number; y: number; } ->A.Point : typeof Point +>A.Point : typeof A.Point >A : typeof A ->Point : typeof Point +>Point : typeof A.Point >Origin : { x: number; y: number; } var p = new A.Point(0, 0); // unexpected error here, bug 840000 >p : { x: number; y: number; } ->new A.Point(0, 0) : Point ->A.Point : typeof Point +>new A.Point(0, 0) : A.Point +>A.Point : typeof A.Point >A : typeof A ->Point : typeof Point +>Point : typeof A.Point diff --git a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types index b928b699b95..975f0f65a68 100644 --- a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types @@ -39,15 +39,15 @@ var p: { x: number; y: number; } var p = A.Point.Origin; >p : { x: number; y: number; } >A.Point.Origin : { x: number; y: number; } ->A.Point : typeof Point +>A.Point : typeof A.Point >A : typeof A ->Point : typeof Point +>Point : typeof A.Point >Origin : { x: number; y: number; } var p = new A.Point(0, 0); // unexpected error here, bug 840000 >p : { x: number; y: number; } ->new A.Point(0, 0) : Point ->A.Point : typeof Point +>new A.Point(0, 0) : A.Point +>A.Point : typeof A.Point >A : typeof A ->Point : typeof Point +>Point : typeof A.Point diff --git a/tests/baselines/reference/ArrowFunction1.errors.txt b/tests/baselines/reference/ArrowFunction1.errors.txt new file mode 100644 index 00000000000..ed868daec13 --- /dev/null +++ b/tests/baselines/reference/ArrowFunction1.errors.txt @@ -0,0 +1,6 @@ +==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction1.ts (1 errors) ==== + var v = (a: ) => { + ~ +!!! Type expected. + + }; \ No newline at end of file diff --git a/tests/baselines/reference/ArrowFunction2.errors.txt b/tests/baselines/reference/ArrowFunction2.errors.txt new file mode 100644 index 00000000000..eef47a30ba2 --- /dev/null +++ b/tests/baselines/reference/ArrowFunction2.errors.txt @@ -0,0 +1,8 @@ +==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction2.ts (2 errors) ==== + var v = (a: b,) => { + ~ +!!! Trailing comma not allowed. + ~ +!!! Cannot find name 'b'. + + }; \ No newline at end of file diff --git a/tests/baselines/reference/ArrowFunction3.errors.txt b/tests/baselines/reference/ArrowFunction3.errors.txt new file mode 100644 index 00000000000..a286116ff29 --- /dev/null +++ b/tests/baselines/reference/ArrowFunction3.errors.txt @@ -0,0 +1,10 @@ +==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction3.ts (3 errors) ==== + var v = (a): => { + ~ +!!! ',' expected. + ~~ +!!! ';' expected. + ~ +!!! Cannot find name 'a'. + + }; \ No newline at end of file diff --git a/tests/baselines/reference/ArrowFunction4.js b/tests/baselines/reference/ArrowFunction4.js new file mode 100644 index 00000000000..e9759abb183 --- /dev/null +++ b/tests/baselines/reference/ArrowFunction4.js @@ -0,0 +1,8 @@ +//// [ArrowFunction4.ts] +var v = (a, b) => { + +}; + +//// [ArrowFunction4.js] +var v = function (a, b) { +}; diff --git a/tests/baselines/reference/ArrowFunction4.types b/tests/baselines/reference/ArrowFunction4.types new file mode 100644 index 00000000000..1d049f193e6 --- /dev/null +++ b/tests/baselines/reference/ArrowFunction4.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction4.ts === +var v = (a, b) => { +>v : (a: any, b: any) => void +>(a, b) => { } : (a: any, b: any) => void +>a : any +>b : any + +}; diff --git a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types index 50768c8c2f9..3cbd14c78bb 100644 --- a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types @@ -36,8 +36,8 @@ var y: { x: number; y: number }; var y = new enumdule.Point(0, 0); >y : { x: number; y: number; } ->new enumdule.Point(0, 0) : Point ->enumdule.Point : typeof Point +>new enumdule.Point(0, 0) : enumdule.Point +>enumdule.Point : typeof enumdule.Point >enumdule : typeof enumdule ->Point : typeof Point +>Point : typeof enumdule.Point diff --git a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types index 8d6c43a9a78..6caed8a138a 100644 --- a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types +++ b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types @@ -1,6 +1,6 @@ === tests/cases/conformance/internalModules/exportDeclarations/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts === module A { ->A : A +>A : unknown interface Point { >Point : Point diff --git a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types index 3110020b9bc..879088f93df 100644 --- a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types +++ b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types @@ -47,8 +47,8 @@ var cl: { x: number; y: number; } var cl = B.Point.Origin; >cl : { x: number; y: number; } >B.Point.Origin : { x: number; y: number; } ->B.Point : typeof Point +>B.Point : typeof B.Point >B : typeof B ->Point : typeof Point +>Point : typeof B.Point >Origin : { x: number; y: number; } diff --git a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types index c33be647018..023511c8c4d 100644 --- a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types @@ -36,8 +36,8 @@ var y: { x: number; y: number }; var y = new enumdule.Point(0, 0); >y : { x: number; y: number; } ->new enumdule.Point(0, 0) : Point ->enumdule.Point : typeof Point +>new enumdule.Point(0, 0) : enumdule.Point +>enumdule.Point : typeof enumdule.Point >enumdule : typeof enumdule ->Point : typeof Point +>Point : typeof enumdule.Point diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types index 9fc4a86e362..a856b699dd5 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types @@ -20,20 +20,20 @@ module A { >Point : Point fromCarthesian(p: A.Point) { ->fromCarthesian : (p: Point) => { x: number; y: number; } ->p : Point ->A : A ->Point : Point +>fromCarthesian : (p: A.Point) => { x: number; y: number; } +>p : A.Point +>A : unknown +>Point : A.Point return { x: p.x, y: p.y }; >{ x: p.x, y: p.y } : { x: number; y: number; } >x : number >p.x : number ->p : Point +>p : A.Point >x : number >y : number >p.y : number ->p : Point +>p : A.Point >y : number } } @@ -47,8 +47,8 @@ var p: { x: number; y: number; }; var p: A.Point; >p : { x: number; y: number; } ->A : A ->Point : Point +>A : unknown +>Point : A.Point module X.Y.Z { >X : typeof X @@ -89,9 +89,9 @@ var l: { length: number; } var l: X.Y.Z.Line; >l : { length: number; } ->X : X ->Y : Y ->Z : Z ->Line : Line +>X : unknown +>Y : unknown +>Z : unknown +>Line : X.Y.Z.Line diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types index c589eae642f..a8fc56495dd 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types @@ -1,6 +1,6 @@ === tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts === module A { ->A : A +>A : unknown export interface Point { >Point : Point @@ -18,7 +18,7 @@ module A { } module A { ->A : A +>A : unknown interface Point { >Point : Point @@ -31,73 +31,73 @@ module A { // ensure merges as expected var p: { x: number; y: number; toCarth(): A.Point; }; ->p : { x: number; y: number; toCarth(): Point; } +>p : { x: number; y: number; toCarth(): A.Point; } >x : number >y : number ->toCarth : () => Point ->A : A ->Point : Point +>toCarth : () => A.Point +>A : unknown +>Point : A.Point var p: A.Point; ->p : { x: number; y: number; toCarth(): Point; } ->A : A ->Point : Point +>p : { x: number; y: number; toCarth(): A.Point; } +>A : unknown +>Point : A.Point module X.Y.Z { ->X : X ->Y : Y ->Z : Z +>X : unknown +>Y : unknown +>Z : unknown export interface Line { >Line : Line new (start: A.Point, end: A.Point); ->start : Point ->A : A ->Point : Point ->end : Point ->A : A ->Point : Point +>start : A.Point +>A : unknown +>Point : A.Point +>end : A.Point +>A : unknown +>Point : A.Point } } module X { ->X : X +>X : unknown export module Y.Z { ->Y : Y ->Z : Z +>Y : unknown +>Z : unknown interface Line { >Line : Line start: A.Point; ->start : Point ->A : A ->Point : Point +>start : A.Point +>A : unknown +>Point : A.Point end: A.Point; ->end : Point ->A : A ->Point : Point +>end : A.Point +>A : unknown +>Point : A.Point } } } // ensure merges as expected var l: { new (s: A.Point, e: A.Point); } ->l : new (s: Point, e: Point) => any ->s : Point ->A : A ->Point : Point ->e : Point ->A : A ->Point : Point +>l : new (s: A.Point, e: A.Point) => any +>s : A.Point +>A : unknown +>Point : A.Point +>e : A.Point +>A : unknown +>Point : A.Point var l: X.Y.Z.Line; ->l : new (s: Point, e: Point) => any ->X : X ->Y : Y ->Z : Z ->Line : Line +>l : new (s: A.Point, e: A.Point) => any +>X : unknown +>Y : unknown +>Z : unknown +>Line : X.Y.Z.Line diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types index 44472c4da6b..003fb5fa15a 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types @@ -75,48 +75,48 @@ var o: { x: number; y: number }; var o: A.Point; >o : { x: number; y: number; } ->A : A ->Point : Point +>A : unknown +>Point : A.Point var o = A.Origin; >o : { x: number; y: number; } ->A.Origin : Point +>A.Origin : A.Point >A : typeof A ->Origin : Point +>Origin : A.Point var o = A.Utils.mirror(o); >o : { x: number; y: number; } >A.Utils.mirror(o) : { x: number; y: number; } ->A.Utils.mirror : (p: T) => { x: number; y: number; } ->A.Utils : typeof Utils +>A.Utils.mirror : (p: T) => { x: number; y: number; } +>A.Utils : typeof A.Utils >A : typeof A ->Utils : typeof Utils ->mirror : (p: T) => { x: number; y: number; } +>Utils : typeof A.Utils +>mirror : (p: T) => { x: number; y: number; } >o : { x: number; y: number; } var p: { tl: A.Point; br: A.Point }; ->p : { tl: Point; br: Point; } ->tl : Point ->A : A ->Point : Point ->br : Point ->A : A ->Point : Point +>p : { tl: A.Point; br: A.Point; } +>tl : A.Point +>A : unknown +>Point : A.Point +>br : A.Point +>A : unknown +>Point : A.Point var p: A.Utils.Plane; ->p : { tl: Point; br: Point; } ->A : A ->Utils : Utils ->Plane : Plane +>p : { tl: A.Point; br: A.Point; } +>A : unknown +>Utils : unknown +>Plane : A.Utils.Plane var p = new A.Utils.Plane(o, { x: 1, y: 1 }); ->p : { tl: Point; br: Point; } ->new A.Utils.Plane(o, { x: 1, y: 1 }) : Plane ->A.Utils.Plane : typeof Plane ->A.Utils : typeof Utils +>p : { tl: A.Point; br: A.Point; } +>new A.Utils.Plane(o, { x: 1, y: 1 }) : A.Utils.Plane +>A.Utils.Plane : typeof A.Utils.Plane +>A.Utils : typeof A.Utils >A : typeof A ->Utils : typeof Utils ->Plane : typeof Plane +>Utils : typeof A.Utils +>Plane : typeof A.Utils.Plane >o : { x: number; y: number; } >{ x: 1, y: 1 } : { x: number; y: number; } >x : number diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types index 6a3bc7d15bd..c54ad5f3ad9 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types @@ -1,6 +1,6 @@ === tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts === module A { ->A : A +>A : unknown export interface Point { >Point : Point @@ -18,7 +18,7 @@ module A { } module A { ->A : A +>A : unknown export interface Point { >Point : Point @@ -31,82 +31,82 @@ module A { // ensure merges as expected var p: { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; }; ->p : { x: number; y: number; toCarth(): Point; fromCarth(): Point; } +>p : { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; } >x : number >y : number ->toCarth : () => Point ->A : A ->Point : Point ->fromCarth : () => Point ->A : A ->Point : Point +>toCarth : () => A.Point +>A : unknown +>Point : A.Point +>fromCarth : () => A.Point +>A : unknown +>Point : A.Point var p: A.Point; ->p : { x: number; y: number; toCarth(): Point; fromCarth(): Point; } ->A : A ->Point : Point +>p : { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; } +>A : unknown +>Point : A.Point module X.Y.Z { ->X : X ->Y : Y ->Z : Z +>X : unknown +>Y : unknown +>Z : unknown export interface Line { >Line : Line new (start: A.Point, end: A.Point); ->start : Point ->A : A ->Point : Point ->end : Point ->A : A ->Point : Point +>start : A.Point +>A : unknown +>Point : A.Point +>end : A.Point +>A : unknown +>Point : A.Point } } module X { ->X : X +>X : unknown export module Y.Z { ->Y : Y ->Z : Z +>Y : unknown +>Z : unknown export interface Line { >Line : Line start: A.Point; ->start : Point ->A : A ->Point : Point +>start : A.Point +>A : unknown +>Point : A.Point end: A.Point; ->end : Point ->A : A ->Point : Point +>end : A.Point +>A : unknown +>Point : A.Point } } } // ensure merges as expected var l: { start: A.Point; end: A.Point; new (s: A.Point, e: A.Point); } ->l : { new (s: Point, e: Point): any; start: Point; end: Point; } ->start : Point ->A : A ->Point : Point ->end : Point ->A : A ->Point : Point ->s : Point ->A : A ->Point : Point ->e : Point ->A : A ->Point : Point +>l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; } +>start : A.Point +>A : unknown +>Point : A.Point +>end : A.Point +>A : unknown +>Point : A.Point +>s : A.Point +>A : unknown +>Point : A.Point +>e : A.Point +>A : unknown +>Point : A.Point var l: X.Y.Z.Line; ->l : { new (s: Point, e: Point): any; start: Point; end: Point; } ->X : X ->Y : Y ->Z : Z ->Line : Line +>l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; } +>X : unknown +>Y : unknown +>Z : unknown +>Line : X.Y.Z.Line diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types index 3903b181a03..9232af469ac 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types @@ -25,9 +25,9 @@ var x: number; var x = A.B.x; >x : number >A.B.x : number ->A.B : typeof B +>A.B : typeof A.B >A : typeof A ->B : typeof B +>B : typeof A.B >x : number module X.Y.Z { @@ -69,8 +69,8 @@ var l: { length: number }; var l: X.Y.Z.Line; >l : { length: number; } ->X : X ->Y : Y ->Z : Z ->Line : Line +>X : unknown +>Y : unknown +>Z : unknown +>Line : X.Y.Z.Line diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types index 15f596622e7..b31bb4b22ac 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types @@ -49,10 +49,10 @@ module otherRoot { // have to be fully qualified since in different root export var Origin: Root.A.Point = { x: 0, y: 0 }; ->Origin : Point ->Root : Root ->A : A ->Point : Point +>Origin : Root.A.Point +>Root : unknown +>A : unknown +>Point : Root.A.Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >y : number @@ -64,14 +64,14 @@ module otherRoot { >Plane : Plane constructor(public tl: Root.A.Point, public br: Root.A.Point) { } ->tl : Point ->Root : Root ->A : A ->Point : Point ->br : Point ->Root : Root ->A : A ->Point : Point +>tl : Root.A.Point +>Root : unknown +>A : unknown +>Point : Root.A.Point +>br : Root.A.Point +>Root : unknown +>A : unknown +>Point : Root.A.Point } } } diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types index 0bcc1b750c8..b13cbde5522 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types @@ -72,48 +72,48 @@ var o: { x: number; y: number }; var o: A.Point; >o : { x: number; y: number; } ->A : A ->Point : Point +>A : unknown +>Point : A.Point var o = A.Origin; >o : { x: number; y: number; } ->A.Origin : Point +>A.Origin : A.Point >A : typeof A ->Origin : Point +>Origin : A.Point var o = A.Utils.mirror(o); >o : { x: number; y: number; } >A.Utils.mirror(o) : { x: number; y: number; } ->A.Utils.mirror : (p: T) => { x: number; y: number; } ->A.Utils : typeof Utils +>A.Utils.mirror : (p: T) => { x: number; y: number; } +>A.Utils : typeof A.Utils >A : typeof A ->Utils : typeof Utils ->mirror : (p: T) => { x: number; y: number; } +>Utils : typeof A.Utils +>mirror : (p: T) => { x: number; y: number; } >o : { x: number; y: number; } var p: { tl: A.Point; br: A.Point }; ->p : { tl: Point; br: Point; } ->tl : Point ->A : A ->Point : Point ->br : Point ->A : A ->Point : Point +>p : { tl: A.Point; br: A.Point; } +>tl : A.Point +>A : unknown +>Point : A.Point +>br : A.Point +>A : unknown +>Point : A.Point var p: A.Utils.Plane; ->p : { tl: Point; br: Point; } ->A : A ->Utils : Utils ->Plane : Plane +>p : { tl: A.Point; br: A.Point; } +>A : unknown +>Utils : unknown +>Plane : A.Utils.Plane var p = new A.Utils.Plane(o, { x: 1, y: 1 }); ->p : { tl: Point; br: Point; } ->new A.Utils.Plane(o, { x: 1, y: 1 }) : Plane ->A.Utils.Plane : typeof Plane ->A.Utils : typeof Utils +>p : { tl: A.Point; br: A.Point; } +>new A.Utils.Plane(o, { x: 1, y: 1 }) : A.Utils.Plane +>A.Utils.Plane : typeof A.Utils.Plane +>A.Utils : typeof A.Utils >A : typeof A ->Utils : typeof Utils ->Plane : typeof Plane +>Utils : typeof A.Utils +>Plane : typeof A.Utils.Plane >o : { x: number; y: number; } >{ x: 1, y: 1 } : { x: number; y: number; } >x : number diff --git a/tests/baselines/reference/TypeArgumentList1.errors.txt b/tests/baselines/reference/TypeArgumentList1.errors.txt new file mode 100644 index 00000000000..6c1a300f5a5 --- /dev/null +++ b/tests/baselines/reference/TypeArgumentList1.errors.txt @@ -0,0 +1,12 @@ +==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/TypeArgumentLists/TypeArgumentList1.ts (5 errors) ==== + Foo(4, 5, 6); + +!!! Invalid character. + ~~~ +!!! Cannot find name 'Foo'. + ~ +!!! Cannot find name 'A'. + ~ +!!! Cannot find name 'B'. + ~ +!!! Cannot find name 'C'. \ No newline at end of file diff --git a/tests/baselines/reference/acceptableAlias1.types b/tests/baselines/reference/acceptableAlias1.types index 3375ceee302..213e5ad5bc3 100644 --- a/tests/baselines/reference/acceptableAlias1.types +++ b/tests/baselines/reference/acceptableAlias1.types @@ -3,15 +3,15 @@ module M { >M : typeof M export module N { ->N : N +>N : unknown } export import X = N; ->X : X ->N : N +>X : unknown +>N : unknown } import r = M.X; ->r : r +>r : unknown >M : typeof M ->X : X +>X : unknown diff --git a/tests/baselines/reference/accessOverriddenBaseClassMember1.types b/tests/baselines/reference/accessOverriddenBaseClassMember1.types index 89701992cae..15007cebf4c 100644 --- a/tests/baselines/reference/accessOverriddenBaseClassMember1.types +++ b/tests/baselines/reference/accessOverriddenBaseClassMember1.types @@ -32,6 +32,7 @@ class ColoredPoint extends Point { super(x, y); >super(x, y) : void +>super : typeof Point >x : number >y : number } @@ -43,6 +44,7 @@ class ColoredPoint extends Point { >super.toString() + " color=" : string >super.toString() : string >super.toString : () => string +>super : Point >toString : () => string >this.color : string >this : ColoredPoint diff --git a/tests/baselines/reference/accessorWithES5.types b/tests/baselines/reference/accessorWithES5.types index 8753eb64ae4..9d4976dd91a 100644 --- a/tests/baselines/reference/accessorWithES5.types +++ b/tests/baselines/reference/accessorWithES5.types @@ -21,9 +21,7 @@ class D { var x = { >x : { a: number; } ->{ - get a() { return 1 } -} : { a: number; } +>{ get a() { return 1 }} : { a: number; } get a() { return 1 } >a : number @@ -31,9 +29,7 @@ var x = { var y = { >y : { b: any; } ->{ - set b(v) { } -} : { b: any; } +>{ set b(v) { }} : { b: any; } set b(v) { } >b : any diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types index 8dc3aadedae..c300ae861ac 100644 --- a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types +++ b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types @@ -1,17 +1,17 @@ === tests/cases/compiler/aliasUsage1_main.ts === import Backbone = require("aliasUsage1_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsage1_backbone" +>Backbone : typeof Backbone import moduleA = require("aliasUsage1_moduleA"); ->moduleA : typeof "tests/cases/compiler/aliasUsage1_moduleA" +>moduleA : typeof moduleA interface IHasVisualizationModel { >IHasVisualizationModel : IHasVisualizationModel VisualizationModel: typeof Backbone.Model; ->VisualizationModel : typeof Model ->Backbone : typeof "tests/cases/compiler/aliasUsage1_backbone" ->Model : typeof Model +>VisualizationModel : typeof Backbone.Model +>Backbone : typeof Backbone +>Model : typeof Backbone.Model } class C2 { >C2 : C2 @@ -33,9 +33,9 @@ class C2 { >x : IHasVisualizationModel x = moduleA; ->x = moduleA : typeof "tests/cases/compiler/aliasUsage1_moduleA" +>x = moduleA : typeof moduleA >x : IHasVisualizationModel ->moduleA : typeof "tests/cases/compiler/aliasUsage1_moduleA" +>moduleA : typeof moduleA } } === tests/cases/compiler/aliasUsage1_backbone.ts === @@ -48,12 +48,12 @@ export class Model { === tests/cases/compiler/aliasUsage1_moduleA.ts === import Backbone = require("aliasUsage1_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsage1_backbone" +>Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel ->Backbone : Backbone ->Model : Model +>Backbone : unknown +>Model : Backbone.Model // interesting stuff here } diff --git a/tests/baselines/reference/aliasUsageInArray.types b/tests/baselines/reference/aliasUsageInArray.types index 9903592ffdc..df657233f90 100644 --- a/tests/baselines/reference/aliasUsageInArray.types +++ b/tests/baselines/reference/aliasUsageInArray.types @@ -1,30 +1,30 @@ === tests/cases/compiler/aliasUsageInArray_main.ts === import Backbone = require("aliasUsageInArray_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInArray_backbone" +>Backbone : typeof Backbone import moduleA = require("aliasUsageInArray_moduleA"); ->moduleA : typeof "tests/cases/compiler/aliasUsageInArray_moduleA" +>moduleA : typeof moduleA interface IHasVisualizationModel { >IHasVisualizationModel : IHasVisualizationModel VisualizationModel: typeof Backbone.Model; ->VisualizationModel : typeof Model ->Backbone : typeof "tests/cases/compiler/aliasUsageInArray_backbone" ->Model : typeof Model +>VisualizationModel : typeof Backbone.Model +>Backbone : typeof Backbone +>Model : typeof Backbone.Model } var xs: IHasVisualizationModel[] = [moduleA]; >xs : IHasVisualizationModel[] >IHasVisualizationModel : IHasVisualizationModel >[moduleA] : IHasVisualizationModel[] ->moduleA : typeof "tests/cases/compiler/aliasUsageInArray_moduleA" +>moduleA : typeof moduleA var xs2: typeof moduleA[] = [moduleA]; ->xs2 : typeof "tests/cases/compiler/aliasUsageInArray_moduleA"[] ->moduleA : typeof "tests/cases/compiler/aliasUsageInArray_moduleA" ->[moduleA] : typeof "tests/cases/compiler/aliasUsageInArray_moduleA"[] ->moduleA : typeof "tests/cases/compiler/aliasUsageInArray_moduleA" +>xs2 : typeof moduleA[] +>moduleA : typeof moduleA +>[moduleA] : typeof moduleA[] +>moduleA : typeof moduleA === tests/cases/compiler/aliasUsageInArray_backbone.ts === export class Model { @@ -36,12 +36,12 @@ export class Model { === tests/cases/compiler/aliasUsageInArray_moduleA.ts === import Backbone = require("aliasUsageInArray_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInArray_backbone" +>Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel ->Backbone : Backbone ->Model : Model +>Backbone : unknown +>Model : Backbone.Model // interesting stuff here } diff --git a/tests/baselines/reference/aliasUsageInFunctionExpression.types b/tests/baselines/reference/aliasUsageInFunctionExpression.types index 1ab7065f00f..ba66a0f1c7c 100644 --- a/tests/baselines/reference/aliasUsageInFunctionExpression.types +++ b/tests/baselines/reference/aliasUsageInFunctionExpression.types @@ -1,17 +1,17 @@ === tests/cases/compiler/aliasUsageInFunctionExpression_main.ts === import Backbone = require("aliasUsageInFunctionExpression_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInFunctionExpression_backbone" +>Backbone : typeof Backbone import moduleA = require("aliasUsageInFunctionExpression_moduleA"); ->moduleA : typeof "tests/cases/compiler/aliasUsageInFunctionExpression_moduleA" +>moduleA : typeof moduleA interface IHasVisualizationModel { >IHasVisualizationModel : IHasVisualizationModel VisualizationModel: typeof Backbone.Model; ->VisualizationModel : typeof Model ->Backbone : typeof "tests/cases/compiler/aliasUsageInFunctionExpression_backbone" ->Model : typeof Model +>VisualizationModel : typeof Backbone.Model +>Backbone : typeof Backbone +>Model : typeof Backbone.Model } var f = (x: IHasVisualizationModel) => x; >f : (x: IHasVisualizationModel) => IHasVisualizationModel @@ -21,11 +21,11 @@ var f = (x: IHasVisualizationModel) => x; >x : IHasVisualizationModel f = (x) => moduleA; ->f = (x) => moduleA : (x: IHasVisualizationModel) => typeof "tests/cases/compiler/aliasUsageInFunctionExpression_moduleA" +>f = (x) => moduleA : (x: IHasVisualizationModel) => typeof moduleA >f : (x: IHasVisualizationModel) => IHasVisualizationModel ->(x) => moduleA : (x: IHasVisualizationModel) => typeof "tests/cases/compiler/aliasUsageInFunctionExpression_moduleA" +>(x) => moduleA : (x: IHasVisualizationModel) => typeof moduleA >x : IHasVisualizationModel ->moduleA : typeof "tests/cases/compiler/aliasUsageInFunctionExpression_moduleA" +>moduleA : typeof moduleA === tests/cases/compiler/aliasUsageInFunctionExpression_backbone.ts === export class Model { @@ -37,12 +37,12 @@ export class Model { === tests/cases/compiler/aliasUsageInFunctionExpression_moduleA.ts === import Backbone = require("aliasUsageInFunctionExpression_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInFunctionExpression_backbone" +>Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel ->Backbone : Backbone ->Model : Model +>Backbone : unknown +>Model : Backbone.Model // interesting stuff here } diff --git a/tests/baselines/reference/aliasUsageInGenericFunction.types b/tests/baselines/reference/aliasUsageInGenericFunction.types index b0af020e25e..cf63eba6a61 100644 --- a/tests/baselines/reference/aliasUsageInGenericFunction.types +++ b/tests/baselines/reference/aliasUsageInGenericFunction.types @@ -1,17 +1,17 @@ === tests/cases/compiler/aliasUsageInGenericFunction_main.ts === import Backbone = require("aliasUsageInGenericFunction_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInGenericFunction_backbone" +>Backbone : typeof Backbone import moduleA = require("aliasUsageInGenericFunction_moduleA"); ->moduleA : typeof "tests/cases/compiler/aliasUsageInGenericFunction_moduleA" +>moduleA : typeof moduleA interface IHasVisualizationModel { >IHasVisualizationModel : IHasVisualizationModel VisualizationModel: typeof Backbone.Model; ->VisualizationModel : typeof Model ->Backbone : typeof "tests/cases/compiler/aliasUsageInGenericFunction_backbone" ->Model : typeof Model +>VisualizationModel : typeof Backbone.Model +>Backbone : typeof Backbone +>Model : typeof Backbone.Model } function foo(x: T) { >foo : (x: T) => T @@ -25,12 +25,12 @@ function foo(x: T) { >x : T } var r = foo({ a: moduleA }); ->r : { a: typeof "tests/cases/compiler/aliasUsageInGenericFunction_moduleA"; } ->foo({ a: moduleA }) : { a: typeof "tests/cases/compiler/aliasUsageInGenericFunction_moduleA"; } +>r : { a: typeof moduleA; } +>foo({ a: moduleA }) : { a: typeof moduleA; } >foo : (x: T) => T ->{ a: moduleA } : { a: typeof "tests/cases/compiler/aliasUsageInGenericFunction_moduleA"; } ->a : typeof "tests/cases/compiler/aliasUsageInGenericFunction_moduleA" ->moduleA : typeof "tests/cases/compiler/aliasUsageInGenericFunction_moduleA" +>{ a: moduleA } : { a: typeof moduleA; } +>a : typeof moduleA +>moduleA : typeof moduleA var r2 = foo({ a: null }); >r2 : { a: IHasVisualizationModel; } @@ -51,12 +51,12 @@ export class Model { === tests/cases/compiler/aliasUsageInGenericFunction_moduleA.ts === import Backbone = require("aliasUsageInGenericFunction_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInGenericFunction_backbone" +>Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel ->Backbone : Backbone ->Model : Model +>Backbone : unknown +>Model : Backbone.Model // interesting stuff here } diff --git a/tests/baselines/reference/aliasUsageInIndexerOfClass.types b/tests/baselines/reference/aliasUsageInIndexerOfClass.types index dab53004c49..cc4b2377099 100644 --- a/tests/baselines/reference/aliasUsageInIndexerOfClass.types +++ b/tests/baselines/reference/aliasUsageInIndexerOfClass.types @@ -1,17 +1,17 @@ === tests/cases/compiler/aliasUsageInIndexerOfClass_main.ts === import Backbone = require("aliasUsageInIndexerOfClass_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInIndexerOfClass_backbone" +>Backbone : typeof Backbone import moduleA = require("aliasUsageInIndexerOfClass_moduleA"); ->moduleA : typeof "tests/cases/compiler/aliasUsageInIndexerOfClass_moduleA" +>moduleA : typeof moduleA interface IHasVisualizationModel { >IHasVisualizationModel : IHasVisualizationModel VisualizationModel: typeof Backbone.Model; ->VisualizationModel : typeof Model ->Backbone : typeof "tests/cases/compiler/aliasUsageInIndexerOfClass_backbone" ->Model : typeof Model +>VisualizationModel : typeof Backbone.Model +>Backbone : typeof Backbone +>Model : typeof Backbone.Model } class N { >N : N @@ -21,15 +21,15 @@ class N { >IHasVisualizationModel : IHasVisualizationModel x = moduleA; ->x : typeof "tests/cases/compiler/aliasUsageInIndexerOfClass_moduleA" ->moduleA : typeof "tests/cases/compiler/aliasUsageInIndexerOfClass_moduleA" +>x : typeof moduleA +>moduleA : typeof moduleA } class N2 { >N2 : N2 [idx: string]: typeof moduleA >idx : string ->moduleA : typeof "tests/cases/compiler/aliasUsageInIndexerOfClass_moduleA" +>moduleA : typeof moduleA x: IHasVisualizationModel; >x : IHasVisualizationModel @@ -45,12 +45,12 @@ export class Model { === tests/cases/compiler/aliasUsageInIndexerOfClass_moduleA.ts === import Backbone = require("aliasUsageInIndexerOfClass_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInIndexerOfClass_backbone" +>Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel ->Backbone : Backbone ->Model : Model +>Backbone : unknown +>Model : Backbone.Model // interesting stuff here } diff --git a/tests/baselines/reference/aliasUsageInObjectLiteral.types b/tests/baselines/reference/aliasUsageInObjectLiteral.types index 399639cee74..b34a4300c52 100644 --- a/tests/baselines/reference/aliasUsageInObjectLiteral.types +++ b/tests/baselines/reference/aliasUsageInObjectLiteral.types @@ -1,44 +1,44 @@ === tests/cases/compiler/aliasUsageInObjectLiteral_main.ts === import Backbone = require("aliasUsageInObjectLiteral_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_backbone" +>Backbone : typeof Backbone import moduleA = require("aliasUsageInObjectLiteral_moduleA"); ->moduleA : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA" +>moduleA : typeof moduleA interface IHasVisualizationModel { >IHasVisualizationModel : IHasVisualizationModel VisualizationModel: typeof Backbone.Model; ->VisualizationModel : typeof Model ->Backbone : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_backbone" ->Model : typeof Model +>VisualizationModel : typeof Backbone.Model +>Backbone : typeof Backbone +>Model : typeof Backbone.Model } var a: { x: typeof moduleA } = { x: moduleA }; ->a : { x: typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA"; } ->x : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA" ->moduleA : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA" ->{ x: moduleA } : { x: typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA"; } ->x : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA" ->moduleA : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA" +>a : { x: typeof moduleA; } +>x : typeof moduleA +>moduleA : typeof moduleA +>{ x: moduleA } : { x: typeof moduleA; } +>x : typeof moduleA +>moduleA : typeof moduleA var b: { x: IHasVisualizationModel } = { x: moduleA }; >b : { x: IHasVisualizationModel; } >x : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel ->{ x: moduleA } : { x: typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA"; } ->x : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA" ->moduleA : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA" +>{ x: moduleA } : { x: typeof moduleA; } +>x : typeof moduleA +>moduleA : typeof moduleA var c: { y: { z: IHasVisualizationModel } } = { y: { z: moduleA } }; >c : { y: { z: IHasVisualizationModel; }; } >y : { z: IHasVisualizationModel; } >z : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel ->{ y: { z: moduleA } } : { y: { z: typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA"; }; } ->y : { z: typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA"; } ->{ z: moduleA } : { z: typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA"; } ->z : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA" ->moduleA : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_moduleA" +>{ y: { z: moduleA } } : { y: { z: typeof moduleA; }; } +>y : { z: typeof moduleA; } +>{ z: moduleA } : { z: typeof moduleA; } +>z : typeof moduleA +>moduleA : typeof moduleA === tests/cases/compiler/aliasUsageInObjectLiteral_backbone.ts === export class Model { @@ -50,12 +50,12 @@ export class Model { === tests/cases/compiler/aliasUsageInObjectLiteral_moduleA.ts === import Backbone = require("aliasUsageInObjectLiteral_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInObjectLiteral_backbone" +>Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel ->Backbone : Backbone ->Model : Model +>Backbone : unknown +>Model : Backbone.Model // interesting stuff here } diff --git a/tests/baselines/reference/aliasUsageInOrExpression.types b/tests/baselines/reference/aliasUsageInOrExpression.types index cf039cbc621..fdcf0be4479 100644 --- a/tests/baselines/reference/aliasUsageInOrExpression.types +++ b/tests/baselines/reference/aliasUsageInOrExpression.types @@ -1,17 +1,17 @@ === tests/cases/compiler/aliasUsageInOrExpression_main.ts === import Backbone = require("aliasUsageInOrExpression_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInOrExpression_backbone" +>Backbone : typeof Backbone import moduleA = require("aliasUsageInOrExpression_moduleA"); ->moduleA : typeof "tests/cases/compiler/aliasUsageInOrExpression_moduleA" +>moduleA : typeof moduleA interface IHasVisualizationModel { >IHasVisualizationModel : IHasVisualizationModel VisualizationModel: typeof Backbone.Model; ->VisualizationModel : typeof Model ->Backbone : typeof "tests/cases/compiler/aliasUsageInOrExpression_backbone" ->Model : typeof Model +>VisualizationModel : typeof Backbone.Model +>Backbone : typeof Backbone +>Model : typeof Backbone.Model } var i: IHasVisualizationModel; >i : IHasVisualizationModel @@ -21,20 +21,20 @@ var d1 = i || moduleA; >d1 : IHasVisualizationModel >i || moduleA : IHasVisualizationModel >i : IHasVisualizationModel ->moduleA : typeof "tests/cases/compiler/aliasUsageInOrExpression_moduleA" +>moduleA : typeof moduleA var d2: IHasVisualizationModel = i || moduleA; >d2 : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel >i || moduleA : IHasVisualizationModel >i : IHasVisualizationModel ->moduleA : typeof "tests/cases/compiler/aliasUsageInOrExpression_moduleA" +>moduleA : typeof moduleA var d2: IHasVisualizationModel = moduleA || i; >d2 : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel >moduleA || i : IHasVisualizationModel ->moduleA : typeof "tests/cases/compiler/aliasUsageInOrExpression_moduleA" +>moduleA : typeof moduleA >i : IHasVisualizationModel var e: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null || { x: moduleA }; @@ -45,9 +45,9 @@ var e: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null || { ><{ x: IHasVisualizationModel }>null : { x: IHasVisualizationModel; } >x : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel ->{ x: moduleA } : { x: typeof "tests/cases/compiler/aliasUsageInOrExpression_moduleA"; } ->x : typeof "tests/cases/compiler/aliasUsageInOrExpression_moduleA" ->moduleA : typeof "tests/cases/compiler/aliasUsageInOrExpression_moduleA" +>{ x: moduleA } : { x: typeof moduleA; } +>x : typeof moduleA +>moduleA : typeof moduleA var f: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null ? { x: moduleA } : null; >f : { x: IHasVisualizationModel; } @@ -57,9 +57,9 @@ var f: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null ? { x ><{ x: IHasVisualizationModel }>null : { x: IHasVisualizationModel; } >x : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel ->{ x: moduleA } : { x: typeof "tests/cases/compiler/aliasUsageInOrExpression_moduleA"; } ->x : typeof "tests/cases/compiler/aliasUsageInOrExpression_moduleA" ->moduleA : typeof "tests/cases/compiler/aliasUsageInOrExpression_moduleA" +>{ x: moduleA } : { x: typeof moduleA; } +>x : typeof moduleA +>moduleA : typeof moduleA === tests/cases/compiler/aliasUsageInOrExpression_backbone.ts === export class Model { @@ -71,12 +71,12 @@ export class Model { === tests/cases/compiler/aliasUsageInOrExpression_moduleA.ts === import Backbone = require("aliasUsageInOrExpression_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInOrExpression_backbone" +>Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel ->Backbone : Backbone ->Model : Model +>Backbone : unknown +>Model : Backbone.Model // interesting stuff here } diff --git a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types index d66878258f8..e2e8b57b94f 100644 --- a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types +++ b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types @@ -1,17 +1,17 @@ === tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_main.ts === import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_backbone" +>Backbone : typeof Backbone import moduleA = require("aliasUsageInTypeArgumentOfExtendsClause_moduleA"); ->moduleA : typeof "tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_moduleA" +>moduleA : typeof moduleA interface IHasVisualizationModel { >IHasVisualizationModel : IHasVisualizationModel VisualizationModel: typeof Backbone.Model; ->VisualizationModel : typeof Model ->Backbone : typeof "tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_backbone" ->Model : typeof Model +>VisualizationModel : typeof Backbone.Model +>Backbone : typeof Backbone +>Model : typeof Backbone.Model } class C { >C : C @@ -28,8 +28,8 @@ class D extends C { >IHasVisualizationModel : IHasVisualizationModel x = moduleA; ->x : typeof "tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_moduleA" ->moduleA : typeof "tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_moduleA" +>x : typeof moduleA +>moduleA : typeof moduleA } === tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_backbone.ts === export class Model { @@ -41,12 +41,12 @@ export class Model { === tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts === import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_backbone" +>Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel ->Backbone : Backbone ->Model : Model +>Backbone : unknown +>Model : Backbone.Model // interesting stuff here } diff --git a/tests/baselines/reference/aliasUsageInVarAssignment.types b/tests/baselines/reference/aliasUsageInVarAssignment.types index a258652d6c9..7ca745b3d23 100644 --- a/tests/baselines/reference/aliasUsageInVarAssignment.types +++ b/tests/baselines/reference/aliasUsageInVarAssignment.types @@ -1,25 +1,25 @@ === tests/cases/compiler/aliasUsageInVarAssignment_main.ts === import Backbone = require("aliasUsageInVarAssignment_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInVarAssignment_backbone" +>Backbone : typeof Backbone import moduleA = require("aliasUsageInVarAssignment_moduleA"); ->moduleA : typeof "tests/cases/compiler/aliasUsageInVarAssignment_moduleA" +>moduleA : typeof moduleA interface IHasVisualizationModel { >IHasVisualizationModel : IHasVisualizationModel VisualizationModel: typeof Backbone.Model; ->VisualizationModel : typeof Model ->Backbone : typeof "tests/cases/compiler/aliasUsageInVarAssignment_backbone" ->Model : typeof Model +>VisualizationModel : typeof Backbone.Model +>Backbone : typeof Backbone +>Model : typeof Backbone.Model } var i: IHasVisualizationModel; >i : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel var m: typeof moduleA = i; ->m : typeof "tests/cases/compiler/aliasUsageInVarAssignment_moduleA" ->moduleA : typeof "tests/cases/compiler/aliasUsageInVarAssignment_moduleA" +>m : typeof moduleA +>moduleA : typeof moduleA >i : IHasVisualizationModel === tests/cases/compiler/aliasUsageInVarAssignment_backbone.ts === @@ -32,12 +32,12 @@ export class Model { === tests/cases/compiler/aliasUsageInVarAssignment_moduleA.ts === import Backbone = require("aliasUsageInVarAssignment_backbone"); ->Backbone : typeof "tests/cases/compiler/aliasUsageInVarAssignment_backbone" +>Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel ->Backbone : Backbone ->Model : Model +>Backbone : unknown +>Model : Backbone.Model // interesting stuff here } diff --git a/tests/baselines/reference/aliasUsedAsNameValue.types b/tests/baselines/reference/aliasUsedAsNameValue.types index 3eebbdce7fd..b8d92f28496 100644 --- a/tests/baselines/reference/aliasUsedAsNameValue.types +++ b/tests/baselines/reference/aliasUsedAsNameValue.types @@ -2,25 +2,22 @@ /// /// import mod = require("aliasUsedAsNameValue_0"); ->mod : typeof "tests/cases/compiler/aliasUsedAsNameValue_0" +>mod : typeof mod import b = require("aliasUsedAsNameValue_1"); ->b : typeof "tests/cases/compiler/aliasUsedAsNameValue_1" +>b : typeof b export var a = function () { >a : () => void ->function () { - //var x = mod.id; // TODO needed hack that mod is loaded - b.b(mod); -} : () => void +>function () { //var x = mod.id; // TODO needed hack that mod is loaded b.b(mod);} : () => void //var x = mod.id; // TODO needed hack that mod is loaded b.b(mod); >b.b(mod) : any >b.b : (a: any) => any ->b : typeof "tests/cases/compiler/aliasUsedAsNameValue_1" +>b : typeof b >b : (a: any) => any ->mod : typeof "tests/cases/compiler/aliasUsedAsNameValue_0" +>mod : typeof mod } === tests/cases/compiler/aliasUsedAsNameValue_0.ts === diff --git a/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.types b/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.types index ae37e5b7581..22e4b19fb25 100644 --- a/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.types +++ b/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.types @@ -1,33 +1,33 @@ === tests/cases/compiler/ambientExternalModuleWithInternalImportDeclaration_1.ts === /// import A = require('M'); ->A : typeof C +>A : typeof A var c = new A(); ->c : C ->new A() : C ->A : typeof C +>c : A +>new A() : A +>A : typeof A === tests/cases/compiler/ambientExternalModuleWithInternalImportDeclaration_0.ts === declare module 'M' { module C { ->C : typeof C +>C : typeof X export var f: number; >f : number } class C { ->C : C +>C : X foo(): void; >foo : () => void } import X = C; ->X : typeof C ->C : C +>X : typeof X +>C : X export = X; ->X : C +>X : X } diff --git a/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.types b/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.types index d23f33402bc..0029817400b 100644 --- a/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.types +++ b/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.types @@ -1,12 +1,12 @@ === tests/cases/compiler/ambientExternalModuleWithoutInternalImportDeclaration_1.ts === /// import A = require('M'); ->A : typeof C +>A : typeof A var c = new A(); ->c : C ->new A() : C ->A : typeof C +>c : A +>new A() : A +>A : typeof A === tests/cases/compiler/ambientExternalModuleWithoutInternalImportDeclaration_0.ts === declare module 'M' { diff --git a/tests/baselines/reference/ambientModuleExports.types b/tests/baselines/reference/ambientModuleExports.types index bb964bd3927..3f096afa838 100644 --- a/tests/baselines/reference/ambientModuleExports.types +++ b/tests/baselines/reference/ambientModuleExports.types @@ -24,11 +24,11 @@ Foo.b; >b : number var c = new Foo.C(); ->c : C ->new Foo.C() : C ->Foo.C : typeof C +>c : Foo.C +>new Foo.C() : Foo.C +>Foo.C : typeof Foo.C >Foo : typeof Foo ->C : typeof C +>C : typeof Foo.C declare module Foo2 { >Foo2 : typeof Foo2 @@ -55,9 +55,9 @@ Foo2.b; >b : number var c2 = new Foo2.C(); ->c2 : C ->new Foo2.C() : C ->Foo2.C : typeof C +>c2 : Foo2.C +>new Foo2.C() : Foo2.C +>Foo2.C : typeof Foo2.C >Foo2 : typeof Foo2 ->C : typeof C +>C : typeof Foo2.C diff --git a/tests/baselines/reference/ambientModules.types b/tests/baselines/reference/ambientModules.types index da6d3b77201..fe0aceef810 100644 --- a/tests/baselines/reference/ambientModules.types +++ b/tests/baselines/reference/ambientModules.types @@ -7,8 +7,8 @@ declare module Foo.Bar { export var foo; }; Foo.Bar.foo = 5; >Foo.Bar.foo = 5 : number >Foo.Bar.foo : any ->Foo.Bar : typeof Bar +>Foo.Bar : typeof Foo.Bar >Foo : typeof Foo ->Bar : typeof Bar +>Bar : typeof Foo.Bar >foo : any diff --git a/tests/baselines/reference/amdImportAsPrimaryExpression.types b/tests/baselines/reference/amdImportAsPrimaryExpression.types index ac2f63709df..f88bc9a1ffe 100644 --- a/tests/baselines/reference/amdImportAsPrimaryExpression.types +++ b/tests/baselines/reference/amdImportAsPrimaryExpression.types @@ -1,14 +1,14 @@ === tests/cases/conformance/externalModules/foo_1.ts === import foo = require("./foo_0"); ->foo : typeof "tests/cases/conformance/externalModules/foo_0" +>foo : typeof foo if(foo.E1.A === 0){ >foo.E1.A === 0 : boolean ->foo.E1.A : E1 ->foo.E1 : typeof E1 ->foo : typeof "tests/cases/conformance/externalModules/foo_0" ->E1 : typeof E1 ->A : E1 +>foo.E1.A : foo.E1 +>foo.E1 : typeof foo.E1 +>foo : typeof foo +>E1 : typeof foo.E1 +>A : foo.E1 // Should cause runtime import - interesting optimization possibility, as gets inlined to 0. } diff --git a/tests/baselines/reference/amdImportNotAsPrimaryExpression.types b/tests/baselines/reference/amdImportNotAsPrimaryExpression.types index affce41c42e..bde0cb02b1e 100644 --- a/tests/baselines/reference/amdImportNotAsPrimaryExpression.types +++ b/tests/baselines/reference/amdImportNotAsPrimaryExpression.types @@ -1,43 +1,43 @@ === tests/cases/conformance/externalModules/foo_1.ts === import foo = require("./foo_0"); ->foo : typeof "tests/cases/conformance/externalModules/foo_0" +>foo : typeof foo // None of the below should cause a runtime dependency on foo_0 import f = foo.M1; ->f : f ->foo : typeof "tests/cases/conformance/externalModules/foo_0" ->M1 : M1 +>f : unknown +>foo : typeof foo +>M1 : unknown var i: f.I2; ->i : I2 ->f : f ->I2 : I2 +>i : f.I2 +>f : unknown +>I2 : f.I2 var x: foo.C1 = <{m1: number}>{}; ->x : C1 ->foo : foo ->C1 : C1 +>x : foo.C1 +>foo : unknown +>C1 : foo.C1 ><{m1: number}>{} : { m1: number; } >m1 : number >{} : {} var y: typeof foo.C1.s1 = false; >y : boolean ->foo : typeof "tests/cases/conformance/externalModules/foo_0" ->C1 : typeof C1 +>foo : typeof foo +>C1 : typeof foo.C1 >s1 : boolean var z: foo.M1.I2; ->z : I2 ->foo : foo ->M1 : M1 ->I2 : I2 +>z : f.I2 +>foo : unknown +>M1 : unknown +>I2 : f.I2 var e: number = 0; >e : number ->0 : E1 ->foo : foo ->E1 : E1 +>0 : foo.E1 +>foo : unknown +>E1 : foo.E1 === tests/cases/conformance/externalModules/foo_0.ts === export class C1 { @@ -61,7 +61,7 @@ export interface I1 { } export module M1 { ->M1 : M1 +>M1 : unknown export interface I2 { >I2 : I2 diff --git a/tests/baselines/reference/anonterface.types b/tests/baselines/reference/anonterface.types index b71f7526b3f..7b5b1401cac 100644 --- a/tests/baselines/reference/anonterface.types +++ b/tests/baselines/reference/anonterface.types @@ -20,16 +20,16 @@ module M { } var c=new M.C(); ->c : C ->new M.C() : C ->M.C : typeof C +>c : M.C +>new M.C() : M.C +>M.C : typeof M.C >M : typeof M ->C : typeof C +>C : typeof M.C c.m(function(n) { return "hello: "+n; },18); >c.m(function(n) { return "hello: "+n; },18) : string >c.m : (fn: (n: number) => string, n2: number) => string ->c : C +>c : M.C >m : (fn: (n: number) => string, n2: number) => string >function(n) { return "hello: "+n; } : (n: number) => string >n : number diff --git a/tests/baselines/reference/anyInferenceAnonymousFunctions.types b/tests/baselines/reference/anyInferenceAnonymousFunctions.types index ac249f83414..8dc7fdcb90f 100644 --- a/tests/baselines/reference/anyInferenceAnonymousFunctions.types +++ b/tests/baselines/reference/anyInferenceAnonymousFunctions.types @@ -3,19 +3,11 @@ var paired: any[]; >paired : any[] paired.reduce(function (a1, a2) { ->paired.reduce(function (a1, a2) { - - return a1.concat({}); - -} , []) : any +>paired.reduce(function (a1, a2) { return a1.concat({});} , []) : any >paired.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } >paired : any[] >reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } ->function (a1, a2) { - - return a1.concat({}); - -} : (a1: any, a2: any) => any +>function (a1, a2) { return a1.concat({});} : (a1: any, a2: any) => any >a1 : any >a2 : any @@ -30,17 +22,11 @@ paired.reduce(function (a1, a2) { >[] : undefined[] paired.reduce((b1, b2) => { ->paired.reduce((b1, b2) => { - - return b1.concat({}); -} , []) : any +>paired.reduce((b1, b2) => { return b1.concat({});} , []) : any >paired.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } >paired : any[] >reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } ->(b1, b2) => { - - return b1.concat({}); -} : (b1: any, b2: any) => any +>(b1, b2) => { return b1.concat({});} : (b1: any, b2: any) => any >b1 : any >b2 : any diff --git a/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.types b/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.types index 532412d0c08..697858534db 100644 --- a/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.types +++ b/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.types @@ -8,9 +8,7 @@ class A { >selectedValue : any return { ->{ - selectedValue: arguments.length - } : { selectedValue: number; } +>{ selectedValue: arguments.length } : { selectedValue: number; } selectedValue: arguments.length >selectedValue : number diff --git a/tests/baselines/reference/arrayConcatMap.types b/tests/baselines/reference/arrayConcatMap.types index 643f1a6a57e..92da3edf93f 100644 --- a/tests/baselines/reference/arrayConcatMap.types +++ b/tests/baselines/reference/arrayConcatMap.types @@ -1,10 +1,8 @@ === tests/cases/compiler/arrayConcatMap.ts === var x = [].concat([{ a: 1 }], [{ a: 2 }]) >x : any[] ->[].concat([{ a: 1 }], [{ a: 2 }]) - .map(b => b.a) : any[] ->[].concat([{ a: 1 }], [{ a: 2 }]) - .map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] +>[].concat([{ a: 1 }], [{ a: 2 }]) .map(b => b.a) : any[] +>[].concat([{ a: 1 }], [{ a: 2 }]) .map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] >[].concat([{ a: 1 }], [{ a: 2 }]) : any[] >[].concat : { (...items: U[]): any[]; (...items: any[]): any[]; } >[] : undefined[] diff --git a/tests/baselines/reference/arrayLiteralTypeInference.types b/tests/baselines/reference/arrayLiteralTypeInference.types index a5f1cb97084..5b4d9b7fff8 100644 --- a/tests/baselines/reference/arrayLiteralTypeInference.types +++ b/tests/baselines/reference/arrayLiteralTypeInference.types @@ -25,10 +25,7 @@ class ActionB extends Action { var x1: Action[] = [ >x1 : Action[] >Action : Action ->[ - { id: 2, trueness: false }, - { id: 3, name: "three" } -] : Action[] +>[ { id: 2, trueness: false }, { id: 3, name: "three" }] : Action[] { id: 2, trueness: false }, >{ id: 2, trueness: false } : { id: number; trueness: boolean; } @@ -45,10 +42,7 @@ var x1: Action[] = [ var x2: Action[] = [ >x2 : Action[] >Action : Action ->[ - new ActionA(), - new ActionB() -] : Action[] +>[ new ActionA(), new ActionB()] : Action[] new ActionA(), >new ActionA() : ActionA @@ -63,11 +57,7 @@ var x2: Action[] = [ var x3: Action[] = [ >x3 : Action[] >Action : Action ->[ - new Action(), - new ActionA(), - new ActionB() -] : Action[] +>[ new Action(), new ActionA(), new ActionB()] : Action[] new Action(), >new Action() : Action @@ -88,10 +78,7 @@ var z1: { id: number }[] = >id : number [ ->[ - { id: 2, trueness: false }, - { id: 3, name: "three" } - ] : { id: number; }[] +>[ { id: 2, trueness: false }, { id: 3, name: "three" } ] : { id: number; }[] { id: 2, trueness: false }, >{ id: 2, trueness: false } : { id: number; trueness: boolean; } @@ -110,10 +97,7 @@ var z2: { id: number }[] = >id : number [ ->[ - new ActionA(), - new ActionB() - ] : { id: number; }[] +>[ new ActionA(), new ActionB() ] : { id: number; }[] new ActionA(), >new ActionA() : ActionA @@ -130,11 +114,7 @@ var z3: { id: number }[] = >id : number [ ->[ - new Action(), - new ActionA(), - new ActionB() - ] : { id: number; }[] +>[ new Action(), new ActionA(), new ActionB() ] : { id: number; }[] new Action(), >new Action() : Action diff --git a/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.types b/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.types index 5425ccf9344..419db571c05 100644 --- a/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.types +++ b/tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.types @@ -62,11 +62,11 @@ declare module Data { //removeIndices: WinJS.Promise[]>; removeIndices(indices: number[], options?: any): WinJS.Promise[]>; ->removeIndices : (indices: number[], options?: any) => Promise[]> +>removeIndices : (indices: number[], options?: any) => WinJS.Promise[]> >indices : number[] >options : any ->WinJS : WinJS ->Promise : Promise +>WinJS : unknown +>Promise : WinJS.Promise >IListItem : IListItem >T : T } @@ -78,11 +78,11 @@ declare module Data { //removeIndices: WinJS.Promise[]>; public removeIndices(indices: number[], options?: any): WinJS.Promise[]>; ->removeIndices : (indices: number[], options?: any) => Promise[]> +>removeIndices : (indices: number[], options?: any) => WinJS.Promise[]> >indices : number[] >options : any ->WinJS : WinJS ->Promise : Promise +>WinJS : unknown +>Promise : WinJS.Promise >IListItem : IListItem >T : T } diff --git a/tests/baselines/reference/arrayconcat.types b/tests/baselines/reference/arrayconcat.types index 0ae65d31426..37e7308aad9 100644 --- a/tests/baselines/reference/arrayconcat.types +++ b/tests/baselines/reference/arrayconcat.types @@ -36,50 +36,17 @@ class parser { >m : () => void this.options = this.options.sort(function(a, b) { ->this.options = this.options.sort(function(a, b) { - var aName = a.name.toLowerCase(); - var bName = b.name.toLowerCase(); - - if (aName > bName) { - return 1; - } else if (aName < bName) { - return -1; - } else { - return 0; - } - }) : IOptions[] +>this.options = this.options.sort(function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } }) : IOptions[] >this.options : IOptions[] >this : parser >options : IOptions[] ->this.options.sort(function(a, b) { - var aName = a.name.toLowerCase(); - var bName = b.name.toLowerCase(); - - if (aName > bName) { - return 1; - } else if (aName < bName) { - return -1; - } else { - return 0; - } - }) : IOptions[] +>this.options.sort(function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } }) : IOptions[] >this.options.sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[] >this.options : IOptions[] >this : parser >options : IOptions[] >sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[] ->function(a, b) { - var aName = a.name.toLowerCase(); - var bName = b.name.toLowerCase(); - - if (aName > bName) { - return 1; - } else if (aName < bName) { - return -1; - } else { - return 0; - } - } : (a: IOptions, b: IOptions) => number +>function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } } : (a: IOptions, b: IOptions) => number >a : IOptions >b : IOptions diff --git a/tests/baselines/reference/arrowFunctionExpressions.types b/tests/baselines/reference/arrowFunctionExpressions.types index 6d23dcd6600..5807f6d6a7d 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.types +++ b/tests/baselines/reference/arrowFunctionExpressions.types @@ -182,12 +182,7 @@ function outerFn() { // Arrow function used in nested function in arrow function var f = (n: string) => { >f : (n: string) => () => string ->(n: string) => { - function fn(x: number) { - return () => n + x; - } - return fn(4); -} : (n: string) => () => string +>(n: string) => { function fn(x: number) { return () => n + x; } return fn(4);} : (n: string) => () => string >n : string function fn(x: number) { @@ -220,12 +215,7 @@ function someOuterFn() { var arr = (n: string) => { >arr : (n: string) => () => () => number ->(n: string) => { - function innerFn() { - return () => n.length; - } - return innerFn; - } : (n: string) => () => () => number +>(n: string) => { function innerFn() { return () => n.length; } return innerFn; } : (n: string) => () => () => number >n : string function innerFn() { diff --git a/tests/baselines/reference/asiArith.types b/tests/baselines/reference/asiArith.types index 5a4ae5fbcc4..d6c0c7abd71 100644 --- a/tests/baselines/reference/asiArith.types +++ b/tests/baselines/reference/asiArith.types @@ -9,30 +9,16 @@ var z = >z : number x ->x - -+ - -+ - -+ - -y : number +>x+++y : number >x : number + + ->+ - -+ - -y : number +>++y : number + ->+ - -y : number +>+y : number y >y : number @@ -48,30 +34,16 @@ var c = >c : number x ->x - -- - -- - -- - -y : number +>x---y : number >x : number - - ->- - -- - -y : number +>--y : number - ->- - -y : number +>-y : number y >y : number diff --git a/tests/baselines/reference/asiInES6Classes.types b/tests/baselines/reference/asiInES6Classes.types index aa80e3e073e..90c7f71aba6 100644 --- a/tests/baselines/reference/asiInES6Classes.types +++ b/tests/baselines/reference/asiInES6Classes.types @@ -6,11 +6,7 @@ class Foo { defaults = { >defaults : { done: boolean; } ->{ - - done: false - - } : { done: boolean; } +>{ done: false } : { done: boolean; } done: false >done : boolean diff --git a/tests/baselines/reference/assignToPrototype1.types b/tests/baselines/reference/assignToPrototype1.types index 6fec8d187d3..f4631c89e0b 100644 --- a/tests/baselines/reference/assignToPrototype1.types +++ b/tests/baselines/reference/assignToPrototype1.types @@ -9,15 +9,13 @@ declare class Point { } Point.prototype.add = function(dx, dy) { ->Point.prototype.add = function(dx, dy) { -} : (dx: number, dy: number) => void +>Point.prototype.add = function(dx, dy) {} : (dx: number, dy: number) => void >Point.prototype.add : (dx: number, dy: number) => void >Point.prototype : Point >Point : typeof Point >prototype : Point >add : (dx: number, dy: number) => void ->function(dx, dy) { -} : (dx: number, dy: number) => void +>function(dx, dy) {} : (dx: number, dy: number) => void >dx : number >dy : number diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers.js b/tests/baselines/reference/assignmentCompatWithObjectMembers.js new file mode 100644 index 00000000000..3bd457f19d3 --- /dev/null +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers.js @@ -0,0 +1,170 @@ +//// [assignmentCompatWithObjectMembers.ts] +// members N and M of types S and T have the same name, same accessibility, same optionality, and N is assignable M +// no errors expected + +module SimpleTypes { + class S { foo: string; } + class T { foo: string; } + var s: S; + var t: T; + + interface S2 { foo: string; } + interface T2 { foo: string; } + var s2: S2; + var t2: T2; + + var a: { foo: string; } + var b: { foo: string; } + + var a2 = { foo: '' }; + var b2 = { foo: '' }; + + s = t; + t = s; + s = s2; + s = a2; + + s2 = t2; + t2 = s2; + s2 = t; + s2 = b; + s2 = a2; + + a = b; + b = a; + a = s; + a = s2; + a = a2; + + a2 = b2; + b2 = a2; + a2 = b; + a2 = t2; + a2 = t; +} + +module ObjectTypes { + class S { foo: S; } + class T { foo: T; } + var s: S; + var t: T; + + interface S2 { foo: S2; } + interface T2 { foo: T2; } + var s2: S2; + var t2: T2; + + var a: { foo: typeof a; } + var b: { foo: typeof b; } + + var a2 = { foo: a2 }; + var b2 = { foo: b2 }; + + s = t; + t = s; + s = s2; + s = a2; + + s2 = t2; + t2 = s2; + s2 = t; + s2 = b; + s2 = a2; + + a = b; + b = a; + a = s; + a = s2; + a = a2; + + a2 = b2; + b2 = a2; + a2 = b; + a2 = t2; + a2 = t; + +} + +//// [assignmentCompatWithObjectMembers.js] +// members N and M of types S and T have the same name, same accessibility, same optionality, and N is assignable M +// no errors expected +var SimpleTypes; +(function (SimpleTypes) { + var S = (function () { + function S() { + } + return S; + })(); + var T = (function () { + function T() { + } + return T; + })(); + var s; + var t; + var s2; + var t2; + var a; + var b; + var a2 = { foo: '' }; + var b2 = { foo: '' }; + s = t; + t = s; + s = s2; + s = a2; + s2 = t2; + t2 = s2; + s2 = t; + s2 = b; + s2 = a2; + a = b; + b = a; + a = s; + a = s2; + a = a2; + a2 = b2; + b2 = a2; + a2 = b; + a2 = t2; + a2 = t; +})(SimpleTypes || (SimpleTypes = {})); +var ObjectTypes; +(function (ObjectTypes) { + var S = (function () { + function S() { + } + return S; + })(); + var T = (function () { + function T() { + } + return T; + })(); + var s; + var t; + var s2; + var t2; + var a; + var b; + var a2 = { foo: a2 }; + var b2 = { foo: b2 }; + s = t; + t = s; + s = s2; + s = a2; + s2 = t2; + t2 = s2; + s2 = t; + s2 = b; + s2 = a2; + a = b; + b = a; + a = s; + a = s2; + a = a2; + a2 = b2; + b2 = a2; + a2 = b; + a2 = t2; + a2 = t; +})(ObjectTypes || (ObjectTypes = {})); diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers.types b/tests/baselines/reference/assignmentCompatWithObjectMembers.types new file mode 100644 index 00000000000..940b1d7071d --- /dev/null +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers.types @@ -0,0 +1,310 @@ +=== tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers.ts === +// members N and M of types S and T have the same name, same accessibility, same optionality, and N is assignable M +// no errors expected + +module SimpleTypes { +>SimpleTypes : typeof SimpleTypes + + class S { foo: string; } +>S : S +>foo : string + + class T { foo: string; } +>T : T +>foo : string + + var s: S; +>s : S +>S : S + + var t: T; +>t : T +>T : T + + interface S2 { foo: string; } +>S2 : S2 +>foo : string + + interface T2 { foo: string; } +>T2 : T2 +>foo : string + + var s2: S2; +>s2 : S2 +>S2 : S2 + + var t2: T2; +>t2 : T2 +>T2 : T2 + + var a: { foo: string; } +>a : { foo: string; } +>foo : string + + var b: { foo: string; } +>b : { foo: string; } +>foo : string + + var a2 = { foo: '' }; +>a2 : { foo: string; } +>{ foo: '' } : { foo: string; } +>foo : string + + var b2 = { foo: '' }; +>b2 : { foo: string; } +>{ foo: '' } : { foo: string; } +>foo : string + + s = t; +>s = t : T +>s : S +>t : T + + t = s; +>t = s : S +>t : T +>s : S + + s = s2; +>s = s2 : S2 +>s : S +>s2 : S2 + + s = a2; +>s = a2 : { foo: string; } +>s : S +>a2 : { foo: string; } + + s2 = t2; +>s2 = t2 : T2 +>s2 : S2 +>t2 : T2 + + t2 = s2; +>t2 = s2 : S2 +>t2 : T2 +>s2 : S2 + + s2 = t; +>s2 = t : T +>s2 : S2 +>t : T + + s2 = b; +>s2 = b : { foo: string; } +>s2 : S2 +>b : { foo: string; } + + s2 = a2; +>s2 = a2 : { foo: string; } +>s2 : S2 +>a2 : { foo: string; } + + a = b; +>a = b : { foo: string; } +>a : { foo: string; } +>b : { foo: string; } + + b = a; +>b = a : { foo: string; } +>b : { foo: string; } +>a : { foo: string; } + + a = s; +>a = s : S +>a : { foo: string; } +>s : S + + a = s2; +>a = s2 : S2 +>a : { foo: string; } +>s2 : S2 + + a = a2; +>a = a2 : { foo: string; } +>a : { foo: string; } +>a2 : { foo: string; } + + a2 = b2; +>a2 = b2 : { foo: string; } +>a2 : { foo: string; } +>b2 : { foo: string; } + + b2 = a2; +>b2 = a2 : { foo: string; } +>b2 : { foo: string; } +>a2 : { foo: string; } + + a2 = b; +>a2 = b : { foo: string; } +>a2 : { foo: string; } +>b : { foo: string; } + + a2 = t2; +>a2 = t2 : T2 +>a2 : { foo: string; } +>t2 : T2 + + a2 = t; +>a2 = t : T +>a2 : { foo: string; } +>t : T +} + +module ObjectTypes { +>ObjectTypes : typeof ObjectTypes + + class S { foo: S; } +>S : S +>foo : S +>S : S + + class T { foo: T; } +>T : T +>foo : T +>T : T + + var s: S; +>s : S +>S : S + + var t: T; +>t : T +>T : T + + interface S2 { foo: S2; } +>S2 : S2 +>foo : S2 +>S2 : S2 + + interface T2 { foo: T2; } +>T2 : T2 +>foo : T2 +>T2 : T2 + + var s2: S2; +>s2 : S2 +>S2 : S2 + + var t2: T2; +>t2 : T2 +>T2 : T2 + + var a: { foo: typeof a; } +>a : { foo: any; } +>foo : { foo: any; } +>a : { foo: any; } + + var b: { foo: typeof b; } +>b : { foo: any; } +>foo : { foo: any; } +>b : { foo: any; } + + var a2 = { foo: a2 }; +>a2 : any +>{ foo: a2 } : { foo: any; } +>foo : any +>a2 : any + + var b2 = { foo: b2 }; +>b2 : any +>{ foo: b2 } : { foo: any; } +>foo : any +>b2 : any + + s = t; +>s = t : T +>s : S +>t : T + + t = s; +>t = s : S +>t : T +>s : S + + s = s2; +>s = s2 : S2 +>s : S +>s2 : S2 + + s = a2; +>s = a2 : any +>s : S +>a2 : any + + s2 = t2; +>s2 = t2 : T2 +>s2 : S2 +>t2 : T2 + + t2 = s2; +>t2 = s2 : S2 +>t2 : T2 +>s2 : S2 + + s2 = t; +>s2 = t : T +>s2 : S2 +>t : T + + s2 = b; +>s2 = b : { foo: any; } +>s2 : S2 +>b : { foo: any; } + + s2 = a2; +>s2 = a2 : any +>s2 : S2 +>a2 : any + + a = b; +>a = b : { foo: any; } +>a : { foo: any; } +>b : { foo: any; } + + b = a; +>b = a : { foo: any; } +>b : { foo: any; } +>a : { foo: any; } + + a = s; +>a = s : S +>a : { foo: any; } +>s : S + + a = s2; +>a = s2 : S2 +>a : { foo: any; } +>s2 : S2 + + a = a2; +>a = a2 : any +>a : { foo: any; } +>a2 : any + + a2 = b2; +>a2 = b2 : any +>a2 : any +>b2 : any + + b2 = a2; +>b2 = a2 : any +>b2 : any +>a2 : any + + a2 = b; +>a2 = b : { foo: any; } +>a2 : any +>b : { foo: any; } + + a2 = t2; +>a2 = t2 : T2 +>a2 : any +>t2 : T2 + + a2 = t; +>a2 = t : T +>a2 : any +>t : T + +} diff --git a/tests/baselines/reference/assignmentCompatability1.types b/tests/baselines/reference/assignmentCompatability1.types index 43f2466f48b..9949fc14bf5 100644 --- a/tests/baselines/reference/assignmentCompatability1.types +++ b/tests/baselines/reference/assignmentCompatability1.types @@ -31,11 +31,11 @@ module __test2__ { >aa : {} } __test2__.__val__aa = __test1__.__val__obj4 ->__test2__.__val__aa = __test1__.__val__obj4 : interfaceWithPublicAndOptional +>__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test2__.__val__aa : {} >__test2__ : typeof __test2__ >__val__aa : {} ->__test1__.__val__obj4 : interfaceWithPublicAndOptional +>__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test1__ : typeof __test1__ ->__val__obj4 : interfaceWithPublicAndOptional +>__val__obj4 : __test1__.interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability2.types b/tests/baselines/reference/assignmentCompatability2.types index 5e27bf37521..16da45c7e35 100644 --- a/tests/baselines/reference/assignmentCompatability2.types +++ b/tests/baselines/reference/assignmentCompatability2.types @@ -30,11 +30,11 @@ module __test2__ { >aa : {} } __test2__.__val__aa = __test1__.__val__obj4 ->__test2__.__val__aa = __test1__.__val__obj4 : interfaceWithPublicAndOptional +>__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test2__.__val__aa : {} >__test2__ : typeof __test2__ >__val__aa : {} ->__test1__.__val__obj4 : interfaceWithPublicAndOptional +>__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test1__ : typeof __test1__ ->__val__obj4 : interfaceWithPublicAndOptional +>__val__obj4 : __test1__.interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability3.types b/tests/baselines/reference/assignmentCompatability3.types index 94676fbfbe1..61279b9c7fa 100644 --- a/tests/baselines/reference/assignmentCompatability3.types +++ b/tests/baselines/reference/assignmentCompatability3.types @@ -32,11 +32,11 @@ module __test2__ { >obj : { one: number; } } __test2__.__val__obj = __test1__.__val__obj4 ->__test2__.__val__obj = __test1__.__val__obj4 : interfaceWithPublicAndOptional +>__test2__.__val__obj = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test2__.__val__obj : { one: number; } >__test2__ : typeof __test2__ >__val__obj : { one: number; } ->__test1__.__val__obj4 : interfaceWithPublicAndOptional +>__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test1__ : typeof __test1__ ->__val__obj4 : interfaceWithPublicAndOptional +>__val__obj4 : __test1__.interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability4.types b/tests/baselines/reference/assignmentCompatability4.types index 89281dae988..f7e5801e9b3 100644 --- a/tests/baselines/reference/assignmentCompatability4.types +++ b/tests/baselines/reference/assignmentCompatability4.types @@ -31,11 +31,11 @@ module __test2__ { >aa : { one: number; } } __test2__.__val__aa = __test1__.__val__obj4 ->__test2__.__val__aa = __test1__.__val__obj4 : interfaceWithPublicAndOptional +>__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test2__.__val__aa : { one: number; } >__test2__ : typeof __test2__ >__val__aa : { one: number; } ->__test1__.__val__obj4 : interfaceWithPublicAndOptional +>__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test1__ : typeof __test1__ ->__val__obj4 : interfaceWithPublicAndOptional +>__val__obj4 : __test1__.interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability5.types b/tests/baselines/reference/assignmentCompatability5.types index e5d69b4a6a4..80eda3e510b 100644 --- a/tests/baselines/reference/assignmentCompatability5.types +++ b/tests/baselines/reference/assignmentCompatability5.types @@ -37,11 +37,11 @@ module __test2__ { >obj1 : interfaceOne } __test2__.__val__obj1 = __test1__.__val__obj4 ->__test2__.__val__obj1 = __test1__.__val__obj4 : interfaceWithPublicAndOptional ->__test2__.__val__obj1 : interfaceOne +>__test2__.__val__obj1 = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional +>__test2__.__val__obj1 : __test2__.interfaceOne >__test2__ : typeof __test2__ ->__val__obj1 : interfaceOne ->__test1__.__val__obj4 : interfaceWithPublicAndOptional +>__val__obj1 : __test2__.interfaceOne +>__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test1__ : typeof __test1__ ->__val__obj4 : interfaceWithPublicAndOptional +>__val__obj4 : __test1__.interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability6.types b/tests/baselines/reference/assignmentCompatability6.types index d7662f0bb2c..5e9ae8c6a2f 100644 --- a/tests/baselines/reference/assignmentCompatability6.types +++ b/tests/baselines/reference/assignmentCompatability6.types @@ -36,11 +36,11 @@ module __test2__ { >obj3 : interfaceWithOptional } __test2__.__val__obj3 = __test1__.__val__obj4 ->__test2__.__val__obj3 = __test1__.__val__obj4 : interfaceWithPublicAndOptional ->__test2__.__val__obj3 : interfaceWithOptional +>__test2__.__val__obj3 = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional +>__test2__.__val__obj3 : __test2__.interfaceWithOptional >__test2__ : typeof __test2__ ->__val__obj3 : interfaceWithOptional ->__test1__.__val__obj4 : interfaceWithPublicAndOptional +>__val__obj3 : __test2__.interfaceWithOptional +>__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test1__ : typeof __test1__ ->__val__obj4 : interfaceWithPublicAndOptional +>__val__obj4 : __test1__.interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability7.types b/tests/baselines/reference/assignmentCompatability7.types index e48e164aa55..b7b2ab70566 100644 --- a/tests/baselines/reference/assignmentCompatability7.types +++ b/tests/baselines/reference/assignmentCompatability7.types @@ -40,11 +40,11 @@ module __test2__ { >obj4 : interfaceWithPublicAndOptional } __test2__.__val__obj4 = __test1__.__val__obj4 ->__test2__.__val__obj4 = __test1__.__val__obj4 : interfaceWithPublicAndOptional ->__test2__.__val__obj4 : interfaceWithPublicAndOptional +>__test2__.__val__obj4 = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional +>__test2__.__val__obj4 : __test2__.interfaceWithPublicAndOptional >__test2__ : typeof __test2__ ->__val__obj4 : interfaceWithPublicAndOptional ->__test1__.__val__obj4 : interfaceWithPublicAndOptional +>__val__obj4 : __test2__.interfaceWithPublicAndOptional +>__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test1__ : typeof __test1__ ->__val__obj4 : interfaceWithPublicAndOptional +>__val__obj4 : __test1__.interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability8.types b/tests/baselines/reference/assignmentCompatability8.types index 581ad05c5a2..1c009eea482 100644 --- a/tests/baselines/reference/assignmentCompatability8.types +++ b/tests/baselines/reference/assignmentCompatability8.types @@ -36,11 +36,11 @@ module __test2__ { >x1 : classWithPublic } __test2__.__val__x1 = __test1__.__val__obj4 ->__test2__.__val__x1 = __test1__.__val__obj4 : interfaceWithPublicAndOptional ->__test2__.__val__x1 : classWithPublic +>__test2__.__val__x1 = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional +>__test2__.__val__x1 : __test2__.classWithPublic >__test2__ : typeof __test2__ ->__val__x1 : classWithPublic ->__test1__.__val__obj4 : interfaceWithPublicAndOptional +>__val__x1 : __test2__.classWithPublic +>__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test1__ : typeof __test1__ ->__val__obj4 : interfaceWithPublicAndOptional +>__val__obj4 : __test1__.interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability9.types b/tests/baselines/reference/assignmentCompatability9.types index d71cb54e225..a8235220bec 100644 --- a/tests/baselines/reference/assignmentCompatability9.types +++ b/tests/baselines/reference/assignmentCompatability9.types @@ -36,11 +36,11 @@ module __test2__ { >x3 : classWithOptional } __test2__.__val__x3 = __test1__.__val__obj4 ->__test2__.__val__x3 = __test1__.__val__obj4 : interfaceWithPublicAndOptional ->__test2__.__val__x3 : classWithOptional +>__test2__.__val__x3 = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional +>__test2__.__val__x3 : __test2__.classWithOptional >__test2__ : typeof __test2__ ->__val__x3 : classWithOptional ->__test1__.__val__obj4 : interfaceWithPublicAndOptional +>__val__x3 : __test2__.classWithOptional +>__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional >__test1__ : typeof __test1__ ->__val__obj4 : interfaceWithPublicAndOptional +>__val__obj4 : __test1__.interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/badThisBinding.types b/tests/baselines/reference/badThisBinding.types index 852fb02f58e..a6b1c478d53 100644 --- a/tests/baselines/reference/badThisBinding.types +++ b/tests/baselines/reference/badThisBinding.types @@ -12,26 +12,14 @@ class Greeter { constructor() { foo(() => { ->foo(() => { - bar(() => { - var x = this; - }); - }) : any +>foo(() => { bar(() => { var x = this; }); }) : any >foo : (a: any) => any ->() => { - bar(() => { - var x = this; - }); - } : () => void +>() => { bar(() => { var x = this; }); } : () => void bar(() => { ->bar(() => { - var x = this; - }) : any +>bar(() => { var x = this; }) : any >bar : (a: any) => any ->() => { - var x = this; - } : () => void +>() => { var x = this; } : () => void var x = this; >x : Greeter diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement1.js b/tests/baselines/reference/breakInIterationOrSwitchStatement1.js new file mode 100644 index 00000000000..0a3de64c675 --- /dev/null +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement1.js @@ -0,0 +1,9 @@ +//// [breakInIterationOrSwitchStatement1.ts] +while (true) { + break; +} + +//// [breakInIterationOrSwitchStatement1.js] +while (true) { + break; +} diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement1.types b/tests/baselines/reference/breakInIterationOrSwitchStatement1.types new file mode 100644 index 00000000000..6a2bae2c2c4 --- /dev/null +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement1.types @@ -0,0 +1,5 @@ +=== tests/cases/compiler/breakInIterationOrSwitchStatement1.ts === +while (true) { +No type information for this code. break; +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement2.js b/tests/baselines/reference/breakInIterationOrSwitchStatement2.js new file mode 100644 index 00000000000..903bed733db --- /dev/null +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement2.js @@ -0,0 +1,10 @@ +//// [breakInIterationOrSwitchStatement2.ts] +do { + break; +} +while (true); + +//// [breakInIterationOrSwitchStatement2.js] +do { + break; +} while (true); diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement2.types b/tests/baselines/reference/breakInIterationOrSwitchStatement2.types new file mode 100644 index 00000000000..0f8928a664d --- /dev/null +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement2.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/breakInIterationOrSwitchStatement2.ts === +do { +No type information for this code. break; +No type information for this code.} +No type information for this code.while (true); +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement3.js b/tests/baselines/reference/breakInIterationOrSwitchStatement3.js new file mode 100644 index 00000000000..dfadaf03182 --- /dev/null +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement3.js @@ -0,0 +1,9 @@ +//// [breakInIterationOrSwitchStatement3.ts] +for (;;) { + break; +} + +//// [breakInIterationOrSwitchStatement3.js] +for (;;) { + break; +} diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement3.types b/tests/baselines/reference/breakInIterationOrSwitchStatement3.types new file mode 100644 index 00000000000..5676b2deccd --- /dev/null +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement3.types @@ -0,0 +1,5 @@ +=== tests/cases/compiler/breakInIterationOrSwitchStatement3.ts === +for (;;) { +No type information for this code. break; +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement4.errors.txt b/tests/baselines/reference/breakInIterationOrSwitchStatement4.errors.txt new file mode 100644 index 00000000000..667108c902d --- /dev/null +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement4.errors.txt @@ -0,0 +1,6 @@ +==== tests/cases/compiler/breakInIterationOrSwitchStatement4.ts (1 errors) ==== + for (var i in something) { + ~~~~~~~~~ +!!! Cannot find name 'something'. + break; + } \ No newline at end of file diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement4.js b/tests/baselines/reference/breakInIterationOrSwitchStatement4.js new file mode 100644 index 00000000000..ef1978666e2 --- /dev/null +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement4.js @@ -0,0 +1,9 @@ +//// [breakInIterationOrSwitchStatement4.ts] +for (var i in something) { + break; +} + +//// [breakInIterationOrSwitchStatement4.js] +for (var i in something) { + break; +} diff --git a/tests/baselines/reference/breakNotInIterationOrSwitchStatement1.errors.txt b/tests/baselines/reference/breakNotInIterationOrSwitchStatement1.errors.txt new file mode 100644 index 00000000000..6220fd09e9d --- /dev/null +++ b/tests/baselines/reference/breakNotInIterationOrSwitchStatement1.errors.txt @@ -0,0 +1,4 @@ +==== tests/cases/compiler/breakNotInIterationOrSwitchStatement1.ts (1 errors) ==== + break; + ~~~~~~ +!!! A 'break' statement can only be used within an enclosing iteration or switch statement. \ No newline at end of file diff --git a/tests/baselines/reference/breakNotInIterationOrSwitchStatement2.errors.txt b/tests/baselines/reference/breakNotInIterationOrSwitchStatement2.errors.txt new file mode 100644 index 00000000000..e34345f8e8c --- /dev/null +++ b/tests/baselines/reference/breakNotInIterationOrSwitchStatement2.errors.txt @@ -0,0 +1,8 @@ +==== tests/cases/compiler/breakNotInIterationOrSwitchStatement2.ts (1 errors) ==== + while (true) { + function f() { + break; + ~~~~~~ +!!! Jump target cannot cross function boundary. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/breakTarget1.js b/tests/baselines/reference/breakTarget1.js new file mode 100644 index 00000000000..5283dfe1911 --- /dev/null +++ b/tests/baselines/reference/breakTarget1.js @@ -0,0 +1,6 @@ +//// [breakTarget1.ts] +target: + break target; + +//// [breakTarget1.js] +target: break target; diff --git a/tests/baselines/reference/breakTarget1.types b/tests/baselines/reference/breakTarget1.types new file mode 100644 index 00000000000..eda3b1cac35 --- /dev/null +++ b/tests/baselines/reference/breakTarget1.types @@ -0,0 +1,4 @@ +=== tests/cases/compiler/breakTarget1.ts === +target: +No type information for this code. break target; +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/breakTarget2.js b/tests/baselines/reference/breakTarget2.js new file mode 100644 index 00000000000..9ca050c18e5 --- /dev/null +++ b/tests/baselines/reference/breakTarget2.js @@ -0,0 +1,10 @@ +//// [breakTarget2.ts] +target: +while (true) { + break target; +} + +//// [breakTarget2.js] +target: while (true) { + break target; +} diff --git a/tests/baselines/reference/breakTarget2.types b/tests/baselines/reference/breakTarget2.types new file mode 100644 index 00000000000..6357695785b --- /dev/null +++ b/tests/baselines/reference/breakTarget2.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/breakTarget2.ts === +target: +No type information for this code.while (true) { +No type information for this code. break target; +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/breakTarget3.js b/tests/baselines/reference/breakTarget3.js new file mode 100644 index 00000000000..0fa6cd2d298 --- /dev/null +++ b/tests/baselines/reference/breakTarget3.js @@ -0,0 +1,11 @@ +//// [breakTarget3.ts] +target1: +target2: +while (true) { + break target1; +} + +//// [breakTarget3.js] +target1: target2: while (true) { + break target1; +} diff --git a/tests/baselines/reference/breakTarget3.types b/tests/baselines/reference/breakTarget3.types new file mode 100644 index 00000000000..580706bbd4a --- /dev/null +++ b/tests/baselines/reference/breakTarget3.types @@ -0,0 +1,7 @@ +=== tests/cases/compiler/breakTarget3.ts === +target1: +No type information for this code.target2: +No type information for this code.while (true) { +No type information for this code. break target1; +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/breakTarget4.js b/tests/baselines/reference/breakTarget4.js new file mode 100644 index 00000000000..4586301d71b --- /dev/null +++ b/tests/baselines/reference/breakTarget4.js @@ -0,0 +1,11 @@ +//// [breakTarget4.ts] +target1: +target2: +while (true) { + break target2; +} + +//// [breakTarget4.js] +target1: target2: while (true) { + break target2; +} diff --git a/tests/baselines/reference/breakTarget4.types b/tests/baselines/reference/breakTarget4.types new file mode 100644 index 00000000000..aba35ddcfdf --- /dev/null +++ b/tests/baselines/reference/breakTarget4.types @@ -0,0 +1,7 @@ +=== tests/cases/compiler/breakTarget4.ts === +target1: +No type information for this code.target2: +No type information for this code.while (true) { +No type information for this code. break target2; +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/breakTarget5.errors.txt b/tests/baselines/reference/breakTarget5.errors.txt new file mode 100644 index 00000000000..a9b3932bcbb --- /dev/null +++ b/tests/baselines/reference/breakTarget5.errors.txt @@ -0,0 +1,11 @@ +==== tests/cases/compiler/breakTarget5.ts (1 errors) ==== + target: + while (true) { + function f() { + while (true) { + break target; + ~~~~~~~~~~~~~ +!!! Jump target cannot cross function boundary. + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/breakTarget6.errors.txt b/tests/baselines/reference/breakTarget6.errors.txt new file mode 100644 index 00000000000..3a921bc6d36 --- /dev/null +++ b/tests/baselines/reference/breakTarget6.errors.txt @@ -0,0 +1,6 @@ +==== tests/cases/compiler/breakTarget6.ts (1 errors) ==== + while (true) { + break target; + ~~~~~~~~~~~~~ +!!! A 'break' statement can only jump to a label of an enclosing statement. + } \ No newline at end of file diff --git a/tests/baselines/reference/callSignaturesWithOptionalParameters.types b/tests/baselines/reference/callSignaturesWithOptionalParameters.types index b38b5687ed4..8b1e929d9e3 100644 --- a/tests/baselines/reference/callSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/callSignaturesWithOptionalParameters.types @@ -134,11 +134,7 @@ a.foo(1); var b = { >b : { foo: (x?: number) => void; a: (x: number, y?: number) => void; b: (x?: number) => void; } ->{ - foo(x?: number) { }, - a: function foo(x: number, y?: number) { }, - b: (x?: number) => { } -} : { foo: (x?: number) => void; a: (x: number, y?: number) => void; b: (x?: number) => void; } +>{ foo(x?: number) { }, a: function foo(x: number, y?: number) { }, b: (x?: number) => { }} : { foo: (x?: number) => void; a: (x: number, y?: number) => void; b: (x?: number) => void; } foo(x?: number) { }, >foo : (x?: number) => void diff --git a/tests/baselines/reference/captureThisInSuperCall.types b/tests/baselines/reference/captureThisInSuperCall.types index dc11b56ada2..faa7d2ad97e 100644 --- a/tests/baselines/reference/captureThisInSuperCall.types +++ b/tests/baselines/reference/captureThisInSuperCall.types @@ -12,6 +12,7 @@ class B extends A { constructor() { super({ test: () => this.someMethod()}); } >super({ test: () => this.someMethod()}) : void +>super : typeof A >{ test: () => this.someMethod()} : { test: () => void; } >test : () => void >() => this.someMethod() : () => void diff --git a/tests/baselines/reference/castExpressionParentheses.types b/tests/baselines/reference/castExpressionParentheses.types index 590c23b048f..7004aef9c95 100644 --- a/tests/baselines/reference/castExpressionParentheses.types +++ b/tests/baselines/reference/castExpressionParentheses.types @@ -26,7 +26,6 @@ declare var a; (/regexp/g); >(/regexp/g) : any >/regexp/g : any ->/regexp/g : RegExp (false); >(false) : any diff --git a/tests/baselines/reference/castTest.types b/tests/baselines/reference/castTest.types index 42a721d8fff..501ff5a3cbe 100644 --- a/tests/baselines/reference/castTest.types +++ b/tests/baselines/reference/castTest.types @@ -63,31 +63,10 @@ declare class Point var p_cast = ({ >p_cast : Point -> ({ - x: 0, - y: 0, - add: function(dx, dy) { - return new Point(this.x + dx, this.y + dy); - }, - mult: function(p) { return p; } -}) : Point +> ({ x: 0, y: 0, add: function(dx, dy) { return new Point(this.x + dx, this.y + dy); }, mult: function(p) { return p; }}) : Point >Point : Point ->({ - x: 0, - y: 0, - add: function(dx, dy) { - return new Point(this.x + dx, this.y + dy); - }, - mult: function(p) { return p; } -}) : { x: number; y: number; add: (dx: any, dy: any) => Point; mult: (p: any) => any; } ->{ - x: 0, - y: 0, - add: function(dx, dy) { - return new Point(this.x + dx, this.y + dy); - }, - mult: function(p) { return p; } -} : { x: number; y: number; add: (dx: any, dy: any) => Point; mult: (p: any) => any; } +>({ x: 0, y: 0, add: function(dx, dy) { return new Point(this.x + dx, this.y + dy); }, mult: function(p) { return p; }}) : { x: number; y: number; add: (dx: any, dy: any) => Point; mult: (p: any) => any; } +>{ x: 0, y: 0, add: function(dx, dy) { return new Point(this.x + dx, this.y + dy); }, mult: function(p) { return p; }} : { x: number; y: number; add: (dx: any, dy: any) => Point; mult: (p: any) => any; } x: 0, >x : number @@ -97,9 +76,7 @@ var p_cast = ({ add: function(dx, dy) { >add : (dx: any, dy: any) => Point ->function(dx, dy) { - return new Point(this.x + dx, this.y + dy); - } : (dx: any, dy: any) => Point +>function(dx, dy) { return new Point(this.x + dx, this.y + dy); } : (dx: any, dy: any) => Point >dx : any >dy : any diff --git a/tests/baselines/reference/chainedImportAlias.types b/tests/baselines/reference/chainedImportAlias.types index 4a94cf6867e..1435776fff2 100644 --- a/tests/baselines/reference/chainedImportAlias.types +++ b/tests/baselines/reference/chainedImportAlias.types @@ -1,17 +1,17 @@ === tests/cases/compiler/chainedImportAlias_file1.ts === import x = require('chainedImportAlias_file0'); ->x : typeof "tests/cases/compiler/chainedImportAlias_file0" +>x : typeof x import y = x; ->y : typeof "tests/cases/compiler/chainedImportAlias_file0" ->x : typeof "tests/cases/compiler/chainedImportAlias_file0" +>y : typeof x +>x : typeof x y.m.foo(); >y.m.foo() : void >y.m.foo : () => void ->y.m : typeof m ->y : typeof "tests/cases/compiler/chainedImportAlias_file0" ->m : typeof m +>y.m : typeof x.m +>y : typeof x +>m : typeof x.m >foo : () => void === tests/cases/compiler/chainedImportAlias_file0.ts === diff --git a/tests/baselines/reference/checkInterfaceBases.js b/tests/baselines/reference/checkInterfaceBases.js index 54718986340..a30f4938c9e 100644 --- a/tests/baselines/reference/checkInterfaceBases.js +++ b/tests/baselines/reference/checkInterfaceBases.js @@ -16,3 +16,4 @@ interface Third extends JQueryEventObjectTest, SecondEvent {} //// [app.js] +/// diff --git a/tests/baselines/reference/circularImportAlias.types b/tests/baselines/reference/circularImportAlias.types index a8d952ae993..ab8de414e30 100644 --- a/tests/baselines/reference/circularImportAlias.types +++ b/tests/baselines/reference/circularImportAlias.types @@ -2,16 +2,16 @@ // expected no error module B { ->B : typeof B +>B : typeof a.b export import a = A; ->a : typeof A ->A : typeof A +>a : typeof a +>A : typeof a export class D extends a.C { >D : D ->a : a ->C : C +>a : unknown +>C : a.C id: number; >id : number @@ -19,15 +19,15 @@ module B { } module A { ->A : typeof A +>A : typeof b.a export class C { name: string } >C : C >name : string export import b = B; ->b : typeof B ->B : typeof B +>b : typeof b +>B : typeof b } var c: { name: string }; @@ -36,12 +36,12 @@ var c: { name: string }; var c = new B.a.C(); >c : { name: string; } ->new B.a.C() : C ->B.a.C : typeof C +>new B.a.C() : A.C +>B.a.C : typeof A.C >B.a : typeof A >B : typeof B >a : typeof A ->C : typeof C +>C : typeof A.C diff --git a/tests/baselines/reference/classDeclarationMergedInModuleWithContinuation.types b/tests/baselines/reference/classDeclarationMergedInModuleWithContinuation.types index c58b1dd898d..b39d65c3d65 100644 --- a/tests/baselines/reference/classDeclarationMergedInModuleWithContinuation.types +++ b/tests/baselines/reference/classDeclarationMergedInModuleWithContinuation.types @@ -18,7 +18,7 @@ module M { export class O extends M.N { >O : O ->M : M +>M : unknown >N : N } } diff --git a/tests/baselines/reference/classExtendingQualifiedName2.types b/tests/baselines/reference/classExtendingQualifiedName2.types index e2e1b7dfdd8..7706f6bada9 100644 --- a/tests/baselines/reference/classExtendingQualifiedName2.types +++ b/tests/baselines/reference/classExtendingQualifiedName2.types @@ -8,7 +8,7 @@ module M { class D extends M.C { >D : D ->M : M +>M : unknown >C : C } } diff --git a/tests/baselines/reference/classImplementsImportedInterface.types b/tests/baselines/reference/classImplementsImportedInterface.types index ef02896a945..74b0e81eb60 100644 --- a/tests/baselines/reference/classImplementsImportedInterface.types +++ b/tests/baselines/reference/classImplementsImportedInterface.types @@ -1,6 +1,6 @@ === tests/cases/compiler/classImplementsImportedInterface.ts === module M1 { ->M1 : M1 +>M1 : unknown export interface I { >I : I @@ -14,13 +14,13 @@ module M2 { >M2 : typeof M2 import T = M1.I; ->T : T ->M1 : M1 ->I : I +>T : unknown +>M1 : unknown +>I : T class C implements T { >C : C ->T : I +>T : T foo() {} >foo : () => void diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types b/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types index 689ff5bdf41..bff966e605f 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types @@ -17,9 +17,7 @@ class Greeter { messageHandler = (message: string) => { >messageHandler : (message: string) => void ->(message: string) => { - console.log(message); // This shouldnt be error - } : (message: string) => void +>(message: string) => { console.log(message); // This shouldnt be error } : (message: string) => void >message : string console.log(message); // This shouldnt be error diff --git a/tests/baselines/reference/classSideInheritance2.types b/tests/baselines/reference/classSideInheritance2.types index 8f89cca44bd..9c2d632ebbb 100644 --- a/tests/baselines/reference/classSideInheritance2.types +++ b/tests/baselines/reference/classSideInheritance2.types @@ -21,6 +21,7 @@ class SubText extends TextBase { super(); >super() : void +>super : typeof TextBase } } diff --git a/tests/baselines/reference/cloduleAcrossModuleDefinitions.types b/tests/baselines/reference/cloduleAcrossModuleDefinitions.types index 3bd384b6e95..cda79f73734 100644 --- a/tests/baselines/reference/cloduleAcrossModuleDefinitions.types +++ b/tests/baselines/reference/cloduleAcrossModuleDefinitions.types @@ -25,7 +25,7 @@ module A { } var b: A.B; // ok ->b : B ->A : A ->B : B +>b : A.B +>A : unknown +>B : A.B diff --git a/tests/baselines/reference/cloduleAndTypeParameters.types b/tests/baselines/reference/cloduleAndTypeParameters.types index dc4d6579467..493aaa2d395 100644 --- a/tests/baselines/reference/cloduleAndTypeParameters.types +++ b/tests/baselines/reference/cloduleAndTypeParameters.types @@ -3,7 +3,7 @@ class Foo { >Foo : Foo >T : T >Foo : Foo ->Bar : Bar +>Bar : Foo.Bar constructor() { } diff --git a/tests/baselines/reference/cloduleWithRecursiveReference.types b/tests/baselines/reference/cloduleWithRecursiveReference.types index d9f28399a53..8a5df1c5a9f 100644 --- a/tests/baselines/reference/cloduleWithRecursiveReference.types +++ b/tests/baselines/reference/cloduleWithRecursiveReference.types @@ -6,12 +6,12 @@ module M >C : C export module C { ->C : typeof C +>C : typeof M.C export var C = M.C ->C : typeof C ->M.C : typeof C +>C : typeof M.C +>M.C : typeof M.C >M : typeof M ->C : typeof C +>C : typeof M.C } } diff --git a/tests/baselines/reference/collisionCodeGenModuleWithMemberClassConflict.types b/tests/baselines/reference/collisionCodeGenModuleWithMemberClassConflict.types index d9901034517..edbe25b7a7d 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithMemberClassConflict.types +++ b/tests/baselines/reference/collisionCodeGenModuleWithMemberClassConflict.types @@ -7,11 +7,11 @@ module m1 { } } var foo = new m1.m1(); ->foo : m1 ->new m1.m1() : m1 ->m1.m1 : typeof m1 ->m1 : typeof m1 +>foo : m1.m1 +>new m1.m1() : m1.m1 +>m1.m1 : typeof m1.m1 >m1 : typeof m1 +>m1 : typeof m1.m1 module m2 { >m2 : typeof m2 @@ -25,16 +25,16 @@ module m2 { } } var foo = new m2.m2(); ->foo : m1 ->new m2.m2() : m2 ->m2.m2 : typeof m2 ->m2 : typeof m2 +>foo : m1.m1 +>new m2.m2() : m2.m2 +>m2.m2 : typeof m2.m2 >m2 : typeof m2 +>m2 : typeof m2.m2 var foo = new m2._m2(); ->foo : m1 ->new m2._m2() : _m2 ->m2._m2 : typeof _m2 +>foo : m1.m1 +>new m2._m2() : m2._m2 +>m2._m2 : typeof m2._m2 >m2 : typeof m2 ->_m2 : typeof _m2 +>_m2 : typeof m2._m2 diff --git a/tests/baselines/reference/collisionCodeGenModuleWithMemberInterfaceConflict.types b/tests/baselines/reference/collisionCodeGenModuleWithMemberInterfaceConflict.types index fde4c2fefeb..e2f36aeaa8f 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithMemberInterfaceConflict.types +++ b/tests/baselines/reference/collisionCodeGenModuleWithMemberInterfaceConflict.types @@ -11,9 +11,9 @@ module m1 { } } var foo = new m1.m2(); ->foo : m2 ->new m1.m2() : m2 ->m1.m2 : typeof m2 +>foo : m1.m2 +>new m1.m2() : m1.m2 +>m1.m2 : typeof m1.m2 >m1 : typeof m1 ->m2 : typeof m2 +>m2 : typeof m1.m2 diff --git a/tests/baselines/reference/collisionCodeGenModuleWithModuleReopening.types b/tests/baselines/reference/collisionCodeGenModuleWithModuleReopening.types index 7a8090a6666..27520618366 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithModuleReopening.types +++ b/tests/baselines/reference/collisionCodeGenModuleWithModuleReopening.types @@ -7,11 +7,11 @@ module m1 { } } var foo = new m1.m1(); ->foo : m1 ->new m1.m1() : m1 ->m1.m1 : typeof m1 ->m1 : typeof m1 +>foo : m1.m1 +>new m1.m1() : m1.m1 +>m1.m1 : typeof m1.m1 >m1 : typeof m1 +>m1 : typeof m1.m1 module m1 { >m1 : typeof m1 @@ -30,11 +30,11 @@ module m1 { >m1 : typeof m1 } var foo2 = new m1.c1(); ->foo2 : c1 ->new m1.c1() : c1 ->m1.c1 : typeof c1 +>foo2 : m1.c1 +>new m1.c1() : m1.c1 +>m1.c1 : typeof m1.c1 >m1 : typeof m1 ->c1 : typeof c1 +>c1 : typeof m1.c1 module m2 { >m2 : typeof m2 @@ -51,11 +51,11 @@ module m2 { >c1 : typeof c1 } var foo3 = new m2.c1(); ->foo3 : c1 ->new m2.c1() : c1 ->m2.c1 : typeof c1 +>foo3 : m2.c1 +>new m2.c1() : m2.c1 +>m2.c1 : typeof m2.c1 >m2 : typeof m2 ->c1 : typeof c1 +>c1 : typeof m2.c1 module m2 { >m2 : typeof m2 @@ -78,16 +78,16 @@ module m2 { >c1 : typeof c1 } var foo3 = new m2.c1(); ->foo3 : c1 ->new m2.c1() : c1 ->m2.c1 : typeof c1 +>foo3 : m2.c1 +>new m2.c1() : m2.c1 +>m2.c1 : typeof m2.c1 >m2 : typeof m2 ->c1 : typeof c1 +>c1 : typeof m2.c1 var foo2 = new m2.m2(); ->foo2 : c1 ->new m2.m2() : m2 ->m2.m2 : typeof m2 ->m2 : typeof m2 +>foo2 : m1.c1 +>new m2.m2() : m2.m2 +>m2.m2 : typeof m2.m2 >m2 : typeof m2 +>m2 : typeof m2.m2 diff --git a/tests/baselines/reference/collisionCodeGenModuleWithPrivateMember.types b/tests/baselines/reference/collisionCodeGenModuleWithPrivateMember.types index 47898d28352..a4af255dcf3 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithPrivateMember.types +++ b/tests/baselines/reference/collisionCodeGenModuleWithPrivateMember.types @@ -15,9 +15,9 @@ module m1 { } } var foo = new m1.c1(); ->foo : c1 ->new m1.c1() : c1 ->m1.c1 : typeof c1 +>foo : m1.c1 +>new m1.c1() : m1.c1 +>m1.c1 : typeof m1.c1 >m1 : typeof m1 ->c1 : typeof c1 +>c1 : typeof m1.c1 diff --git a/tests/baselines/reference/collisionCodeGenModuleWithUnicodeNames.types b/tests/baselines/reference/collisionCodeGenModuleWithUnicodeNames.types index e690ba6b713..5d7ca71b1be 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithUnicodeNames.types +++ b/tests/baselines/reference/collisionCodeGenModuleWithUnicodeNames.types @@ -8,11 +8,11 @@ module 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودö } var x = new 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123(); ->x : 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 ->new 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123() : 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 ->才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 : typeof 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 ->才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 : typeof 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 +>x : 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 +>new 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123() : 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 +>才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 : typeof 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 >才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 : typeof 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 +>才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 : typeof 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123.才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 diff --git a/tests/baselines/reference/collisionExportsRequireAndModule.types b/tests/baselines/reference/collisionExportsRequireAndModule.types index e2956ee1ba8..c462a508d06 100644 --- a/tests/baselines/reference/collisionExportsRequireAndModule.types +++ b/tests/baselines/reference/collisionExportsRequireAndModule.types @@ -10,9 +10,9 @@ export module require { } } export function foo(): require.I { ->foo : () => I ->require : require ->I : I +>foo : () => require.I +>require : unknown +>I : require.I return null; } @@ -27,9 +27,9 @@ export module exports { } } export function foo2(): exports.I { ->foo2 : () => I ->exports : exports ->I : I +>foo2 : () => exports.I +>exports : unknown +>I : exports.I return null; } diff --git a/tests/baselines/reference/collisionExportsRequireAndUninstantiatedModule.types b/tests/baselines/reference/collisionExportsRequireAndUninstantiatedModule.types index 4b219229ef3..59d90feda46 100644 --- a/tests/baselines/reference/collisionExportsRequireAndUninstantiatedModule.types +++ b/tests/baselines/reference/collisionExportsRequireAndUninstantiatedModule.types @@ -1,29 +1,29 @@ === tests/cases/compiler/collisionExportsRequireAndUninstantiatedModule.ts === export module require { // no error ->require : require +>require : unknown export interface I { >I : I } } export function foo(): require.I { ->foo : () => I ->require : require ->I : I +>foo : () => require.I +>require : unknown +>I : require.I return null; } export module exports { // no error ->exports : exports +>exports : unknown export interface I { >I : I } } export function foo2(): exports.I { ->foo2 : () => I ->exports : exports ->I : I +>foo2 : () => exports.I +>exports : unknown +>I : exports.I return null; } diff --git a/tests/baselines/reference/commentInMethodCall.types b/tests/baselines/reference/commentInMethodCall.types index dad966bd3df..e9543a8c6f2 100644 --- a/tests/baselines/reference/commentInMethodCall.types +++ b/tests/baselines/reference/commentInMethodCall.types @@ -4,8 +4,7 @@ var s: string[]; >s : string[] s.map(// do something ->s.map(// do something - function () { }) : void[] +>s.map(// do something function () { }) : void[] >s.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] >s : string[] >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] diff --git a/tests/baselines/reference/commentOnAmbientClass1.js b/tests/baselines/reference/commentOnAmbientClass1.js index 38ce0d345be..beacc71335c 100644 --- a/tests/baselines/reference/commentOnAmbientClass1.js +++ b/tests/baselines/reference/commentOnAmbientClass1.js @@ -1,10 +1,20 @@ -//// [commentOnAmbientClass1.ts] +//// [tests/cases/compiler/commentOnAmbientClass1.ts] //// + +//// [a.ts] /*! Keep this pinned comment */ declare class C { } // Don't keep this comment. declare class D { +} + +//// [b.ts] +/// +declare class E extends C { } -//// [commentOnAmbientClass1.js] +//// [a.js] +/*! Keep this pinned comment */ +//// [b.js] +/// diff --git a/tests/baselines/reference/commentOnAmbientClass1.types b/tests/baselines/reference/commentOnAmbientClass1.types index f7b9f206f0d..44c0334ef6c 100644 --- a/tests/baselines/reference/commentOnAmbientClass1.types +++ b/tests/baselines/reference/commentOnAmbientClass1.types @@ -1,4 +1,10 @@ -=== tests/cases/compiler/commentOnAmbientClass1.ts === +=== tests/cases/compiler/b.ts === +/// +declare class E extends C { +>E : E +>C : C +} +=== tests/cases/compiler/a.ts === /*! Keep this pinned comment */ declare class C { >C : C @@ -8,3 +14,4 @@ declare class C { declare class D { >D : D } + diff --git a/tests/baselines/reference/commentOnAmbientEnum.js b/tests/baselines/reference/commentOnAmbientEnum.js new file mode 100644 index 00000000000..d602c68a0e5 --- /dev/null +++ b/tests/baselines/reference/commentOnAmbientEnum.js @@ -0,0 +1,23 @@ +//// [tests/cases/compiler/commentOnAmbientEnum.ts] //// + +//// [a.ts] +/*! Keep this pinned comment */ +declare enum C { + a, + b, + c +} + +// Don't keep this comment. +declare enum D { +} + +//// [b.ts] +/// +declare enum E { +} + +//// [a.js] +/*! Keep this pinned comment */ +//// [b.js] +/// diff --git a/tests/baselines/reference/commentOnAmbientEnum.types b/tests/baselines/reference/commentOnAmbientEnum.types new file mode 100644 index 00000000000..4a0193b7937 --- /dev/null +++ b/tests/baselines/reference/commentOnAmbientEnum.types @@ -0,0 +1,25 @@ +=== tests/cases/compiler/b.ts === +/// +declare enum E { +>E : E +} +=== tests/cases/compiler/a.ts === +/*! Keep this pinned comment */ +declare enum C { +>C : C + + a, +>a : C + + b, +>b : C + + c +>c : C +} + +// Don't keep this comment. +declare enum D { +>D : D +} + diff --git a/tests/baselines/reference/commentOnAmbientModule.js b/tests/baselines/reference/commentOnAmbientModule.js new file mode 100644 index 00000000000..d5a536302b5 --- /dev/null +++ b/tests/baselines/reference/commentOnAmbientModule.js @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/commentOnAmbientModule.ts] //// + +//// [a.ts] +/*! Keep this pinned comment */ +declare module C { + function foo(); +} + +// Don't keep this comment. +declare module D { + class bar { } +} + +//// [b.ts] +/// +declare module E { + class foobar extends D.bar { + foo(); + } +} + +//// [a.js] +/*! Keep this pinned comment */ +//// [b.js] +/// diff --git a/tests/baselines/reference/commentOnAmbientModule.types b/tests/baselines/reference/commentOnAmbientModule.types new file mode 100644 index 00000000000..bf57d9d11bd --- /dev/null +++ b/tests/baselines/reference/commentOnAmbientModule.types @@ -0,0 +1,31 @@ +=== tests/cases/compiler/b.ts === +/// +declare module E { +>E : typeof E + + class foobar extends D.bar { +>foobar : foobar +>D : unknown +>bar : D.bar + + foo(); +>foo : () => any + } +} +=== tests/cases/compiler/a.ts === +/*! Keep this pinned comment */ +declare module C { +>C : typeof C + + function foo(); +>foo : () => any +} + +// Don't keep this comment. +declare module D { +>D : typeof D + + class bar { } +>bar : bar +} + diff --git a/tests/baselines/reference/commentOnAmbientVariable1.js b/tests/baselines/reference/commentOnAmbientVariable1.js index 44e68ad338d..b76fd3345b5 100644 --- a/tests/baselines/reference/commentOnAmbientVariable1.js +++ b/tests/baselines/reference/commentOnAmbientVariable1.js @@ -6,3 +6,4 @@ declare var v: number; declare var y: number; //// [commentOnAmbientVariable1.js] +/*! Keep this pinned comment */ diff --git a/tests/baselines/reference/commentOnAmbientVariable2.js b/tests/baselines/reference/commentOnAmbientVariable2.js index 091add41ae4..8aacecae0ef 100644 --- a/tests/baselines/reference/commentOnAmbientVariable2.js +++ b/tests/baselines/reference/commentOnAmbientVariable2.js @@ -11,4 +11,5 @@ x = 2; //// [commentOnAmbientVariable2_1.js] var y = 1; //// [commentOnAmbientVariable2_2.js] +/// x = 2; diff --git a/tests/baselines/reference/commentOnAmbientfunction.js b/tests/baselines/reference/commentOnAmbientfunction.js new file mode 100644 index 00000000000..6290d407727 --- /dev/null +++ b/tests/baselines/reference/commentOnAmbientfunction.js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/commentOnAmbientfunction.ts] //// + +//// [a.ts] +/*! Keep this pinned comment */ +declare function foo(); + +// Don't keep this comment. +declare function bar(); + +//// [b.ts] +/// +declare function foobar(a: typeof foo): typeof bar; + +//// [a.js] +/*! Keep this pinned comment */ +//// [b.js] +/// diff --git a/tests/baselines/reference/commentOnAmbientfunction.types b/tests/baselines/reference/commentOnAmbientfunction.types new file mode 100644 index 00000000000..f75f7b377fb --- /dev/null +++ b/tests/baselines/reference/commentOnAmbientfunction.types @@ -0,0 +1,17 @@ +=== tests/cases/compiler/b.ts === +/// +declare function foobar(a: typeof foo): typeof bar; +>foobar : (a: () => any) => () => any +>a : () => any +>foo : () => any +>bar : () => any + +=== tests/cases/compiler/a.ts === +/*! Keep this pinned comment */ +declare function foo(); +>foo : () => any + +// Don't keep this comment. +declare function bar(); +>bar : () => any + diff --git a/tests/baselines/reference/commentOnElidedModule1.js b/tests/baselines/reference/commentOnElidedModule1.js index c8458b7aaf6..8a7b8d91b4c 100644 --- a/tests/baselines/reference/commentOnElidedModule1.js +++ b/tests/baselines/reference/commentOnElidedModule1.js @@ -1,10 +1,20 @@ -//// [commentOnElidedModule1.ts] +//// [tests/cases/compiler/commentOnElidedModule1.ts] //// + +//// [a.ts] /*! Keep this pinned comment */ module ElidedModule { } // Don't keep this comment. module ElidedModule2 { +} + +//// [b.ts] +/// +module ElidedModule3 { } -//// [commentOnElidedModule1.js] +//// [a.js] +/*! Keep this pinned comment */ +//// [b.js] +/// diff --git a/tests/baselines/reference/commentOnElidedModule1.types b/tests/baselines/reference/commentOnElidedModule1.types index 1a13ba668cf..785336dff3d 100644 --- a/tests/baselines/reference/commentOnElidedModule1.types +++ b/tests/baselines/reference/commentOnElidedModule1.types @@ -1,10 +1,16 @@ -=== tests/cases/compiler/commentOnElidedModule1.ts === +=== tests/cases/compiler/b.ts === +/// +module ElidedModule3 { +>ElidedModule3 : unknown +} +=== tests/cases/compiler/a.ts === /*! Keep this pinned comment */ module ElidedModule { ->ElidedModule : ElidedModule +>ElidedModule : unknown } // Don't keep this comment. module ElidedModule2 { ->ElidedModule2 : ElidedModule2 +>ElidedModule2 : unknown } + diff --git a/tests/baselines/reference/commentOnInterface1.js b/tests/baselines/reference/commentOnInterface1.js index 2785341ed1a..bde6202f03f 100644 --- a/tests/baselines/reference/commentOnInterface1.js +++ b/tests/baselines/reference/commentOnInterface1.js @@ -1,10 +1,20 @@ -//// [commentOnInterface1.ts] +//// [tests/cases/compiler/commentOnInterface1.ts] //// + +//// [a.ts] /*! Keep this pinned comment */ interface I { } // Don't keep this comment. interface I2 { +} + +//// [b.ts] +/// +interface I3 { } -//// [commentOnInterface1.js] +//// [a.js] +/*! Keep this pinned comment */ +//// [b.js] +/// diff --git a/tests/baselines/reference/commentOnInterface1.types b/tests/baselines/reference/commentOnInterface1.types index 60ddb0ccae6..d03b1939026 100644 --- a/tests/baselines/reference/commentOnInterface1.types +++ b/tests/baselines/reference/commentOnInterface1.types @@ -1,4 +1,9 @@ -=== tests/cases/compiler/commentOnInterface1.ts === +=== tests/cases/compiler/b.ts === +/// +interface I3 { +>I3 : I3 +} +=== tests/cases/compiler/a.ts === /*! Keep this pinned comment */ interface I { >I : I @@ -8,3 +13,4 @@ interface I { interface I2 { >I2 : I2 } + diff --git a/tests/baselines/reference/commentOnSignature1.js b/tests/baselines/reference/commentOnSignature1.js index fac146e4e6c..1b2327f9861 100644 --- a/tests/baselines/reference/commentOnSignature1.js +++ b/tests/baselines/reference/commentOnSignature1.js @@ -1,11 +1,51 @@ -//// [commentOnSignature1.ts] +//// [tests/cases/compiler/commentOnSignature1.ts] //// + +//// [a.ts] /*! Keep this pinned comment */ function foo(n: number): void; // Don't keep this comment. function foo(s: string): void; function foo(a: any): void { +} + +class c { + // dont keep this comment + constructor(a: string); + /*! keep this pinned comment */ + constructor(a: number); + constructor(a: any) { + } + + // dont keep this comment + foo(a: string); + /*! keep this pinned comment */ + foo(a: number); + foo(a: any) { + } +} + +//// [b.ts] +/// +function foo2(n: number): void; +// Don't keep this comment. +function foo2(s: string): void; +function foo2(a: any): void { } -//// [commentOnSignature1.js] +//// [a.js] +/*! Keep this pinned comment */ function foo(a) { } +var c = (function () { + /*! keep this pinned comment */ + function c(a) { + } + /*! keep this pinned comment */ + c.prototype.foo = function (a) { + }; + return c; +})(); +//// [b.js] +/// +function foo2(a) { +} diff --git a/tests/baselines/reference/commentOnSignature1.types b/tests/baselines/reference/commentOnSignature1.types index 6fd4516d4e9..790aaaf7523 100644 --- a/tests/baselines/reference/commentOnSignature1.types +++ b/tests/baselines/reference/commentOnSignature1.types @@ -1,4 +1,19 @@ -=== tests/cases/compiler/commentOnSignature1.ts === +=== tests/cases/compiler/b.ts === +/// +function foo2(n: number): void; +>foo2 : { (n: number): void; (s: string): void; } +>n : number + +// Don't keep this comment. +function foo2(s: string): void; +>foo2 : { (n: number): void; (s: string): void; } +>s : string + +function foo2(a: any): void { +>foo2 : { (n: number): void; (s: string): void; } +>a : any +} +=== tests/cases/compiler/a.ts === /*! Keep this pinned comment */ function foo(n: number): void; >foo : { (n: number): void; (s: string): void; } @@ -13,3 +28,35 @@ function foo(a: any): void { >foo : { (n: number): void; (s: string): void; } >a : any } + +class c { +>c : c + + // dont keep this comment + constructor(a: string); +>a : string + + /*! keep this pinned comment */ + constructor(a: number); +>a : number + + constructor(a: any) { +>a : any + } + + // dont keep this comment + foo(a: string); +>foo : { (a: string): any; (a: number): any; } +>a : string + + /*! keep this pinned comment */ + foo(a: number); +>foo : { (a: string): any; (a: number): any; } +>a : number + + foo(a: any) { +>foo : { (a: string): any; (a: number): any; } +>a : any + } +} + diff --git a/tests/baselines/reference/commentOnSimpleArrowFunctionBody1.types b/tests/baselines/reference/commentOnSimpleArrowFunctionBody1.types index 797da3e419a..916a03eb65e 100644 --- a/tests/baselines/reference/commentOnSimpleArrowFunctionBody1.types +++ b/tests/baselines/reference/commentOnSimpleArrowFunctionBody1.types @@ -6,13 +6,9 @@ function Foo(x: any) } Foo(() => ->Foo(() => - // do something - 127) : void +>Foo(() => // do something 127) : void >Foo : (x: any) => void ->() => - // do something - 127 : () => number +>() => // do something 127 : () => number // do something 127); diff --git a/tests/baselines/reference/commentsBeforeFunctionExpression1.types b/tests/baselines/reference/commentsBeforeFunctionExpression1.types index 50bb6352fad..4580ca9ceeb 100644 --- a/tests/baselines/reference/commentsBeforeFunctionExpression1.types +++ b/tests/baselines/reference/commentsBeforeFunctionExpression1.types @@ -1,9 +1,7 @@ === tests/cases/compiler/commentsBeforeFunctionExpression1.ts === var v = { >v : { f: (a: any) => number; } ->{ - f: /**own f*/ (a) => 0 -} : { f: (a: any) => number; } +>{ f: /**own f*/ (a) => 0} : { f: (a: any) => number; } f: /**own f*/ (a) => 0 >f : (a: any) => number diff --git a/tests/baselines/reference/commentsClassMembers.js b/tests/baselines/reference/commentsClassMembers.js index 298991c2eef..a0cf8f2b631 100644 --- a/tests/baselines/reference/commentsClassMembers.js +++ b/tests/baselines/reference/commentsClassMembers.js @@ -557,11 +557,11 @@ declare var i1_ncf: (b: number) => number; declare var i1_ncr: number; declare var i1_ncprop: number; declare var i1_s_p: number; -declare var i1_s_f: typeof c1.s2; +declare var i1_s_f: typeof s2; declare var i1_s_r: number; declare var i1_s_prop: number; declare var i1_s_nc_p: number; -declare var i1_s_ncf: typeof c1.nc_s2; +declare var i1_s_ncf: typeof nc_s2; declare var i1_s_ncr: number; declare var i1_s_ncprop: number; declare var i1_c: typeof c1; @@ -577,3 +577,111 @@ declare class cProperties { private y; } declare var cProperties_i: cProperties; + + +//// [DtsFileErrors] + + +==== tests/cases/compiler/commentsClassMembers.d.ts (2 errors) ==== + /** This is comment for c1*/ + declare class c1 { + /** p1 is property of c1*/ + p1: number; + /** sum with property*/ + p2(/** number to add*/ b: number): number; + /** getter property*/ + /** setter property*/ + p3: number; + /** pp1 is property of c1*/ + private pp1; + /** sum with property*/ + private pp2(/** number to add*/ b); + /** getter property*/ + /** setter property*/ + private pp3; + /** Constructor method*/ + constructor(); + /** s1 is static property of c1*/ + static s1: number; + /** static sum with property*/ + static s2(/** number to add*/ b: number): number; + /** static getter property*/ + /** setter property*/ + static s3: number; + nc_p1: number; + nc_p2(b: number): number; + nc_p3: number; + private nc_pp1; + private nc_pp2(b); + private nc_pp3; + static nc_s1: number; + static nc_s2(b: number): number; + static nc_s3: number; + a_p1: number; + a_p2(b: number): number; + a_p3: number; + private a_pp1; + private a_pp2(b); + private a_pp3; + static a_s1: number; + static a_s2(b: number): number; + static a_s3: number; + /** p1 is property of c1 */ + b_p1: number; + /** sum with property */ + b_p2(b: number): number; + /** getter property */ + /** setter property */ + b_p3: number; + /** pp1 is property of c1 */ + private b_pp1; + /** sum with property */ + private b_pp2(b); + /** getter property */ + /** setter property */ + private b_pp3; + /** s1 is static property of c1 */ + static b_s1: number; + /** static sum with property */ + static b_s2(b: number): number; + /** static getter property + */ + /** setter property + */ + static b_s3: number; + } + declare var i1: c1; + declare var i1_p: number; + declare var i1_f: (b: number) => number; + declare var i1_r: number; + declare var i1_prop: number; + declare var i1_nc_p: number; + declare var i1_ncf: (b: number) => number; + declare var i1_ncr: number; + declare var i1_ncprop: number; + declare var i1_s_p: number; + declare var i1_s_f: typeof s2; + ~~ +!!! Cannot find name 's2'. + declare var i1_s_r: number; + declare var i1_s_prop: number; + declare var i1_s_nc_p: number; + declare var i1_s_ncf: typeof nc_s2; + ~~~~~ +!!! Cannot find name 'nc_s2'. + declare var i1_s_ncr: number; + declare var i1_s_ncprop: number; + declare var i1_c: typeof c1; + declare class cProperties { + private val; + /** getter only property*/ + p1: number; + nc_p1: number; + /**setter only property*/ + p2: number; + nc_p2: number; + x: number; + private y; + } + declare var cProperties_i: cProperties; + \ No newline at end of file diff --git a/tests/baselines/reference/commentsExternalModules.types b/tests/baselines/reference/commentsExternalModules.types index cff7702fcfa..56b6b338f4d 100644 --- a/tests/baselines/reference/commentsExternalModules.types +++ b/tests/baselines/reference/commentsExternalModules.types @@ -1,45 +1,45 @@ === tests/cases/compiler/commentsExternalModules_1.ts === /**This is on import declaration*/ import extMod = require("commentsExternalModules_0"); // trailing comment1 ->extMod : typeof "tests/cases/compiler/commentsExternalModules_0" +>extMod : typeof extMod extMod.m1.fooExport(); >extMod.m1.fooExport() : number >extMod.m1.fooExport : () => number ->extMod.m1 : typeof m1 ->extMod : typeof "tests/cases/compiler/commentsExternalModules_0" ->m1 : typeof m1 +>extMod.m1 : typeof extMod.m1 +>extMod : typeof extMod +>m1 : typeof extMod.m1 >fooExport : () => number var newVar = new extMod.m1.m2.c(); ->newVar : c ->new extMod.m1.m2.c() : c ->extMod.m1.m2.c : typeof c ->extMod.m1.m2 : typeof m2 ->extMod.m1 : typeof m1 ->extMod : typeof "tests/cases/compiler/commentsExternalModules_0" ->m1 : typeof m1 ->m2 : typeof m2 ->c : typeof c +>newVar : extMod.m1.m2.c +>new extMod.m1.m2.c() : extMod.m1.m2.c +>extMod.m1.m2.c : typeof extMod.m1.m2.c +>extMod.m1.m2 : typeof extMod.m1.m2 +>extMod.m1 : typeof extMod.m1 +>extMod : typeof extMod +>m1 : typeof extMod.m1 +>m2 : typeof extMod.m1.m2 +>c : typeof extMod.m1.m2.c extMod.m4.fooExport(); >extMod.m4.fooExport() : number >extMod.m4.fooExport : () => number ->extMod.m4 : typeof m4 ->extMod : typeof "tests/cases/compiler/commentsExternalModules_0" ->m4 : typeof m4 +>extMod.m4 : typeof extMod.m4 +>extMod : typeof extMod +>m4 : typeof extMod.m4 >fooExport : () => number var newVar2 = new extMod.m4.m2.c(); ->newVar2 : c ->new extMod.m4.m2.c() : c ->extMod.m4.m2.c : typeof c ->extMod.m4.m2 : typeof m2 ->extMod.m4 : typeof m4 ->extMod : typeof "tests/cases/compiler/commentsExternalModules_0" ->m4 : typeof m4 ->m2 : typeof m2 ->c : typeof c +>newVar2 : extMod.m4.m2.c +>new extMod.m4.m2.c() : extMod.m4.m2.c +>extMod.m4.m2.c : typeof extMod.m4.m2.c +>extMod.m4.m2 : typeof extMod.m4.m2 +>extMod.m4 : typeof extMod.m4 +>extMod : typeof extMod +>m4 : typeof extMod.m4 +>m2 : typeof extMod.m4.m2 +>c : typeof extMod.m4.m2.c === tests/cases/compiler/commentsExternalModules_0.ts === @@ -89,13 +89,13 @@ m1.fooExport(); >fooExport : () => number var myvar = new m1.m2.c(); ->myvar : c ->new m1.m2.c() : c ->m1.m2.c : typeof c ->m1.m2 : typeof m2 +>myvar : m1.m2.c +>new m1.m2.c() : m1.m2.c +>m1.m2.c : typeof m1.m2.c +>m1.m2 : typeof m1.m2 >m1 : typeof m1 ->m2 : typeof m2 ->c : typeof c +>m2 : typeof m1.m2 +>c : typeof m1.m2.c /** Module comment */ export module m4 { @@ -145,11 +145,11 @@ m4.fooExport(); >fooExport : () => number var myvar2 = new m4.m2.c(); ->myvar2 : c ->new m4.m2.c() : c ->m4.m2.c : typeof c ->m4.m2 : typeof m2 +>myvar2 : m4.m2.c +>new m4.m2.c() : m4.m2.c +>m4.m2.c : typeof m4.m2.c +>m4.m2 : typeof m4.m2 >m4 : typeof m4 ->m2 : typeof m2 ->c : typeof c +>m2 : typeof m4.m2 +>c : typeof m4.m2.c diff --git a/tests/baselines/reference/commentsExternalModules2.types b/tests/baselines/reference/commentsExternalModules2.types index d7f72277b2e..556b5d11d35 100644 --- a/tests/baselines/reference/commentsExternalModules2.types +++ b/tests/baselines/reference/commentsExternalModules2.types @@ -1,45 +1,45 @@ === tests/cases/compiler/commentsExternalModules_1.ts === /**This is on import declaration*/ import extMod = require("commentsExternalModules2_0"); // trailing comment 1 ->extMod : typeof "tests/cases/compiler/commentsExternalModules2_0" +>extMod : typeof extMod extMod.m1.fooExport(); >extMod.m1.fooExport() : number >extMod.m1.fooExport : () => number ->extMod.m1 : typeof m1 ->extMod : typeof "tests/cases/compiler/commentsExternalModules2_0" ->m1 : typeof m1 +>extMod.m1 : typeof extMod.m1 +>extMod : typeof extMod +>m1 : typeof extMod.m1 >fooExport : () => number export var newVar = new extMod.m1.m2.c(); ->newVar : c ->new extMod.m1.m2.c() : c ->extMod.m1.m2.c : typeof c ->extMod.m1.m2 : typeof m2 ->extMod.m1 : typeof m1 ->extMod : typeof "tests/cases/compiler/commentsExternalModules2_0" ->m1 : typeof m1 ->m2 : typeof m2 ->c : typeof c +>newVar : extMod.m1.m2.c +>new extMod.m1.m2.c() : extMod.m1.m2.c +>extMod.m1.m2.c : typeof extMod.m1.m2.c +>extMod.m1.m2 : typeof extMod.m1.m2 +>extMod.m1 : typeof extMod.m1 +>extMod : typeof extMod +>m1 : typeof extMod.m1 +>m2 : typeof extMod.m1.m2 +>c : typeof extMod.m1.m2.c extMod.m4.fooExport(); >extMod.m4.fooExport() : number >extMod.m4.fooExport : () => number ->extMod.m4 : typeof m4 ->extMod : typeof "tests/cases/compiler/commentsExternalModules2_0" ->m4 : typeof m4 +>extMod.m4 : typeof extMod.m4 +>extMod : typeof extMod +>m4 : typeof extMod.m4 >fooExport : () => number export var newVar2 = new extMod.m4.m2.c(); ->newVar2 : c ->new extMod.m4.m2.c() : c ->extMod.m4.m2.c : typeof c ->extMod.m4.m2 : typeof m2 ->extMod.m4 : typeof m4 ->extMod : typeof "tests/cases/compiler/commentsExternalModules2_0" ->m4 : typeof m4 ->m2 : typeof m2 ->c : typeof c +>newVar2 : extMod.m4.m2.c +>new extMod.m4.m2.c() : extMod.m4.m2.c +>extMod.m4.m2.c : typeof extMod.m4.m2.c +>extMod.m4.m2 : typeof extMod.m4.m2 +>extMod.m4 : typeof extMod.m4 +>extMod : typeof extMod +>m4 : typeof extMod.m4 +>m2 : typeof extMod.m4.m2 +>c : typeof extMod.m4.m2.c === tests/cases/compiler/commentsExternalModules2_0.ts === @@ -89,13 +89,13 @@ m1.fooExport(); >fooExport : () => number var myvar = new m1.m2.c(); ->myvar : c ->new m1.m2.c() : c ->m1.m2.c : typeof c ->m1.m2 : typeof m2 +>myvar : m1.m2.c +>new m1.m2.c() : m1.m2.c +>m1.m2.c : typeof m1.m2.c +>m1.m2 : typeof m1.m2 >m1 : typeof m1 ->m2 : typeof m2 ->c : typeof c +>m2 : typeof m1.m2 +>c : typeof m1.m2.c /** Module comment */ export module m4 { @@ -145,11 +145,11 @@ m4.fooExport(); >fooExport : () => number var myvar2 = new m4.m2.c(); ->myvar2 : c ->new m4.m2.c() : c ->m4.m2.c : typeof c ->m4.m2 : typeof m2 +>myvar2 : m4.m2.c +>new m4.m2.c() : m4.m2.c +>m4.m2.c : typeof m4.m2.c +>m4.m2 : typeof m4.m2 >m4 : typeof m4 ->m2 : typeof m2 ->c : typeof c +>m2 : typeof m4.m2 +>c : typeof m4.m2.c diff --git a/tests/baselines/reference/commentsExternalModules3.types b/tests/baselines/reference/commentsExternalModules3.types index d7f72277b2e..556b5d11d35 100644 --- a/tests/baselines/reference/commentsExternalModules3.types +++ b/tests/baselines/reference/commentsExternalModules3.types @@ -1,45 +1,45 @@ === tests/cases/compiler/commentsExternalModules_1.ts === /**This is on import declaration*/ import extMod = require("commentsExternalModules2_0"); // trailing comment 1 ->extMod : typeof "tests/cases/compiler/commentsExternalModules2_0" +>extMod : typeof extMod extMod.m1.fooExport(); >extMod.m1.fooExport() : number >extMod.m1.fooExport : () => number ->extMod.m1 : typeof m1 ->extMod : typeof "tests/cases/compiler/commentsExternalModules2_0" ->m1 : typeof m1 +>extMod.m1 : typeof extMod.m1 +>extMod : typeof extMod +>m1 : typeof extMod.m1 >fooExport : () => number export var newVar = new extMod.m1.m2.c(); ->newVar : c ->new extMod.m1.m2.c() : c ->extMod.m1.m2.c : typeof c ->extMod.m1.m2 : typeof m2 ->extMod.m1 : typeof m1 ->extMod : typeof "tests/cases/compiler/commentsExternalModules2_0" ->m1 : typeof m1 ->m2 : typeof m2 ->c : typeof c +>newVar : extMod.m1.m2.c +>new extMod.m1.m2.c() : extMod.m1.m2.c +>extMod.m1.m2.c : typeof extMod.m1.m2.c +>extMod.m1.m2 : typeof extMod.m1.m2 +>extMod.m1 : typeof extMod.m1 +>extMod : typeof extMod +>m1 : typeof extMod.m1 +>m2 : typeof extMod.m1.m2 +>c : typeof extMod.m1.m2.c extMod.m4.fooExport(); >extMod.m4.fooExport() : number >extMod.m4.fooExport : () => number ->extMod.m4 : typeof m4 ->extMod : typeof "tests/cases/compiler/commentsExternalModules2_0" ->m4 : typeof m4 +>extMod.m4 : typeof extMod.m4 +>extMod : typeof extMod +>m4 : typeof extMod.m4 >fooExport : () => number export var newVar2 = new extMod.m4.m2.c(); ->newVar2 : c ->new extMod.m4.m2.c() : c ->extMod.m4.m2.c : typeof c ->extMod.m4.m2 : typeof m2 ->extMod.m4 : typeof m4 ->extMod : typeof "tests/cases/compiler/commentsExternalModules2_0" ->m4 : typeof m4 ->m2 : typeof m2 ->c : typeof c +>newVar2 : extMod.m4.m2.c +>new extMod.m4.m2.c() : extMod.m4.m2.c +>extMod.m4.m2.c : typeof extMod.m4.m2.c +>extMod.m4.m2 : typeof extMod.m4.m2 +>extMod.m4 : typeof extMod.m4 +>extMod : typeof extMod +>m4 : typeof extMod.m4 +>m2 : typeof extMod.m4.m2 +>c : typeof extMod.m4.m2.c === tests/cases/compiler/commentsExternalModules2_0.ts === @@ -89,13 +89,13 @@ m1.fooExport(); >fooExport : () => number var myvar = new m1.m2.c(); ->myvar : c ->new m1.m2.c() : c ->m1.m2.c : typeof c ->m1.m2 : typeof m2 +>myvar : m1.m2.c +>new m1.m2.c() : m1.m2.c +>m1.m2.c : typeof m1.m2.c +>m1.m2 : typeof m1.m2 >m1 : typeof m1 ->m2 : typeof m2 ->c : typeof c +>m2 : typeof m1.m2 +>c : typeof m1.m2.c /** Module comment */ export module m4 { @@ -145,11 +145,11 @@ m4.fooExport(); >fooExport : () => number var myvar2 = new m4.m2.c(); ->myvar2 : c ->new m4.m2.c() : c ->m4.m2.c : typeof c ->m4.m2 : typeof m2 +>myvar2 : m4.m2.c +>new m4.m2.c() : m4.m2.c +>m4.m2.c : typeof m4.m2.c +>m4.m2 : typeof m4.m2 >m4 : typeof m4 ->m2 : typeof m2 ->c : typeof c +>m2 : typeof m4.m2 +>c : typeof m4.m2.c diff --git a/tests/baselines/reference/commentsFunction.types b/tests/baselines/reference/commentsFunction.types index 642a1c42665..6d37e1732e0 100644 --- a/tests/baselines/reference/commentsFunction.types +++ b/tests/baselines/reference/commentsFunction.types @@ -32,9 +32,7 @@ fooWithParameters("a", 10); */ var fooFunc = function FooFunctionValue(/** fooFunctionValue param */ b: string) { >fooFunc : (b: string) => string ->function FooFunctionValue(/** fooFunctionValue param */ b: string) { - return b; -} : (b: string) => string +>function FooFunctionValue(/** fooFunctionValue param */ b: string) { return b;} : (b: string) => string >FooFunctionValue : (b: string) => string >b : string diff --git a/tests/baselines/reference/commentsInheritance.types b/tests/baselines/reference/commentsInheritance.types index 5fc9a564cf1..b4db5767107 100644 --- a/tests/baselines/reference/commentsInheritance.types +++ b/tests/baselines/reference/commentsInheritance.types @@ -178,6 +178,7 @@ class c3 extends c2 { constructor() { super(10); >super(10) : void +>super : typeof c2 } /** c3 p1*/ public p1: number; diff --git a/tests/baselines/reference/commentsInterface.types b/tests/baselines/reference/commentsInterface.types index 74ae683cff2..68d552882e2 100644 --- a/tests/baselines/reference/commentsInterface.types +++ b/tests/baselines/reference/commentsInterface.types @@ -186,25 +186,9 @@ var i3_i: i3; >i3 : i3 i3_i = { ->i3_i = { - f: /**own f*/ (/**i3_i a*/a: number) => "Hello" + a, - l: this.f, - /** own x*/ - x: this.f(10), - nc_x: this.l(this.x), - nc_f: this.f, - nc_l: this.l -} : { f: (a: number) => string; l: any; x: any; nc_x: any; nc_f: any; nc_l: any; } +>i3_i = { f: /**own f*/ (/**i3_i a*/a: number) => "Hello" + a, l: this.f, /** own x*/ x: this.f(10), nc_x: this.l(this.x), nc_f: this.f, nc_l: this.l} : { f: (a: number) => string; l: any; x: any; nc_x: any; nc_f: any; nc_l: any; } >i3_i : i3 ->{ - f: /**own f*/ (/**i3_i a*/a: number) => "Hello" + a, - l: this.f, - /** own x*/ - x: this.f(10), - nc_x: this.l(this.x), - nc_f: this.f, - nc_l: this.l -} : { f: (a: number) => string; l: any; x: any; nc_x: any; nc_f: any; nc_l: any; } +>{ f: /**own f*/ (/**i3_i a*/a: number) => "Hello" + a, l: this.f, /** own x*/ x: this.f(10), nc_x: this.l(this.x), nc_f: this.f, nc_l: this.l} : { f: (a: number) => string; l: any; x: any; nc_x: any; nc_f: any; nc_l: any; } f: /**own f*/ (/**i3_i a*/a: number) => "Hello" + a, >f : (a: number) => string diff --git a/tests/baselines/reference/commentsModules.types b/tests/baselines/reference/commentsModules.types index 253ec964c1d..1027f1ce308 100644 --- a/tests/baselines/reference/commentsModules.types +++ b/tests/baselines/reference/commentsModules.types @@ -65,13 +65,13 @@ m1.fooExport(); >fooExport : () => number var myvar = new m1.m2.c(); ->myvar : c ->new m1.m2.c() : c ->m1.m2.c : typeof c ->m1.m2 : typeof m2 +>myvar : m1.m2.c +>new m1.m2.c() : m1.m2.c +>m1.m2.c : typeof m1.m2.c +>m1.m2 : typeof m1.m2 >m1 : typeof m1 ->m2 : typeof m2 ->c : typeof c +>m2 : typeof m1.m2 +>c : typeof m1.m2.c /** module comment of m2.m3*/ module m2.m3 { @@ -84,12 +84,12 @@ module m2.m3 { } } /* trailing dotted module comment*/ new m2.m3.c(); ->new m2.m3.c() : c ->m2.m3.c : typeof c ->m2.m3 : typeof m3 +>new m2.m3.c() : m2.m3.c +>m2.m3.c : typeof m2.m3.c +>m2.m3 : typeof m2.m3 >m2 : typeof m2 ->m3 : typeof m3 ->c : typeof c +>m3 : typeof m2.m3 +>c : typeof m2.m3.c /** module comment of m3.m4.m5*/ module m3.m4.m5 { @@ -103,14 +103,14 @@ module m3.m4.m5 { } } // trailing dotted module 2 new m3.m4.m5.c(); ->new m3.m4.m5.c() : c ->m3.m4.m5.c : typeof c ->m3.m4.m5 : typeof m5 ->m3.m4 : typeof m4 +>new m3.m4.m5.c() : m3.m4.m5.c +>m3.m4.m5.c : typeof m3.m4.m5.c +>m3.m4.m5 : typeof m3.m4.m5 +>m3.m4 : typeof m3.m4 >m3 : typeof m3 ->m4 : typeof m4 ->m5 : typeof m5 ->c : typeof c +>m4 : typeof m3.m4 +>m5 : typeof m3.m4.m5 +>c : typeof m3.m4.m5.c /** module comment of m4.m5.m6*/ module m4.m5.m6 { @@ -128,16 +128,16 @@ module m4.m5.m6 { } /* trailing inner module */ /* multiple comments*/ } new m4.m5.m6.m7.c(); ->new m4.m5.m6.m7.c() : c ->m4.m5.m6.m7.c : typeof c ->m4.m5.m6.m7 : typeof m7 ->m4.m5.m6 : typeof m6 ->m4.m5 : typeof m5 +>new m4.m5.m6.m7.c() : m4.m5.m6.m7.c +>m4.m5.m6.m7.c : typeof m4.m5.m6.m7.c +>m4.m5.m6.m7 : typeof m4.m5.m6.m7 +>m4.m5.m6 : typeof m4.m5.m6 +>m4.m5 : typeof m4.m5 >m4 : typeof m4 ->m5 : typeof m5 ->m6 : typeof m6 ->m7 : typeof m7 ->c : typeof c +>m5 : typeof m4.m5 +>m6 : typeof m4.m5.m6 +>m7 : typeof m4.m5.m6.m7 +>c : typeof m4.m5.m6.m7.c /** module comment of m5.m6.m7*/ module m5.m6.m7 { @@ -156,16 +156,16 @@ module m5.m6.m7 { } } new m5.m6.m7.m8.c(); ->new m5.m6.m7.m8.c() : c ->m5.m6.m7.m8.c : typeof c ->m5.m6.m7.m8 : typeof m8 ->m5.m6.m7 : typeof m7 ->m5.m6 : typeof m6 +>new m5.m6.m7.m8.c() : m5.m6.m7.m8.c +>m5.m6.m7.m8.c : typeof m5.m6.m7.m8.c +>m5.m6.m7.m8 : typeof m5.m6.m7.m8 +>m5.m6.m7 : typeof m5.m6.m7 +>m5.m6 : typeof m5.m6 >m5 : typeof m5 ->m6 : typeof m6 ->m7 : typeof m7 ->m8 : typeof m8 ->c : typeof c +>m6 : typeof m5.m6 +>m7 : typeof m5.m6.m7 +>m8 : typeof m5.m6.m7.m8 +>c : typeof m5.m6.m7.m8.c module m6.m7 { >m6 : typeof m6 @@ -181,14 +181,14 @@ module m6.m7 { } } new m6.m7.m8.c(); ->new m6.m7.m8.c() : c ->m6.m7.m8.c : typeof c ->m6.m7.m8 : typeof m8 ->m6.m7 : typeof m7 +>new m6.m7.m8.c() : m6.m7.m8.c +>m6.m7.m8.c : typeof m6.m7.m8.c +>m6.m7.m8 : typeof m6.m7.m8 +>m6.m7 : typeof m6.m7 >m6 : typeof m6 ->m7 : typeof m7 ->m8 : typeof m8 ->c : typeof c +>m7 : typeof m6.m7 +>m8 : typeof m6.m7.m8 +>c : typeof m6.m7.m8.c module m7.m8 { >m7 : typeof m7 @@ -215,12 +215,12 @@ module m7.m8 { } } new m7.m8.m9.c(); ->new m7.m8.m9.c() : c ->m7.m8.m9.c : typeof c ->m7.m8.m9 : typeof m9 ->m7.m8 : typeof m8 +>new m7.m8.m9.c() : m7.m8.m9.c +>m7.m8.m9.c : typeof m7.m8.m9.c +>m7.m8.m9 : typeof m7.m8.m9 +>m7.m8 : typeof m7.m8 >m7 : typeof m7 ->m8 : typeof m8 ->m9 : typeof m9 ->c : typeof c +>m8 : typeof m7.m8 +>m9 : typeof m7.m8.m9 +>c : typeof m7.m8.m9.c diff --git a/tests/baselines/reference/commentsMultiModuleMultiFile.types b/tests/baselines/reference/commentsMultiModuleMultiFile.types index cb3db3961f0..c0f3fb1b875 100644 --- a/tests/baselines/reference/commentsMultiModuleMultiFile.types +++ b/tests/baselines/reference/commentsMultiModuleMultiFile.types @@ -1,6 +1,6 @@ === tests/cases/compiler/commentsMultiModuleMultiFile_1.ts === import m = require('commentsMultiModuleMultiFile_0'); ->m : typeof "tests/cases/compiler/commentsMultiModuleMultiFile_0" +>m : typeof m /** this is multi module 3 comment*/ export module multiM { @@ -17,10 +17,10 @@ export module multiM { } } new multiM.d(); ->new multiM.d() : d ->multiM.d : typeof d +>new multiM.d() : multiM.d +>multiM.d : typeof multiM.d >multiM : typeof multiM ->d : typeof d +>d : typeof multiM.d === tests/cases/compiler/commentsMultiModuleMultiFile_0.ts === @@ -49,14 +49,14 @@ export module multiM { } new multiM.b(); ->new multiM.b() : b ->multiM.b : typeof b +>new multiM.b() : multiM.b +>multiM.b : typeof multiM.b >multiM : typeof multiM ->b : typeof b +>b : typeof multiM.b new multiM.c(); ->new multiM.c() : c ->multiM.c : typeof c +>new multiM.c() : multiM.c +>multiM.c : typeof multiM.c >multiM : typeof multiM ->c : typeof c +>c : typeof multiM.c diff --git a/tests/baselines/reference/commentsMultiModuleSingleFile.types b/tests/baselines/reference/commentsMultiModuleSingleFile.types index c77d5e972e0..29c18639c21 100644 --- a/tests/baselines/reference/commentsMultiModuleSingleFile.types +++ b/tests/baselines/reference/commentsMultiModuleSingleFile.types @@ -30,14 +30,14 @@ module multiM { } } new multiM.b(); ->new multiM.b() : b ->multiM.b : typeof b +>new multiM.b() : multiM.b +>multiM.b : typeof multiM.b >multiM : typeof multiM ->b : typeof b +>b : typeof multiM.b new multiM.c(); ->new multiM.c() : c ->multiM.c : typeof c +>new multiM.c() : multiM.c +>multiM.c : typeof multiM.c >multiM : typeof multiM ->c : typeof c +>c : typeof multiM.c diff --git a/tests/baselines/reference/commentsOnObjectLiteral3.types b/tests/baselines/reference/commentsOnObjectLiteral3.types index b9bdc09506f..e7770c7e273 100644 --- a/tests/baselines/reference/commentsOnObjectLiteral3.types +++ b/tests/baselines/reference/commentsOnObjectLiteral3.types @@ -2,23 +2,7 @@ var v = { >v : { prop: number; func: () => void; func1: () => void; a: any; } ->{ - //property - prop: 1 /* multiple trailing comments */ /*trailing comments*/, - //property - func: function () { - }, - //PropertyName + CallSignature - func1() { }, - //getter - get a() { - return this.prop; - } /*trailing 1*/, - //setter - set a(value) { - this.prop = value; - } // trailing 2 -} : { prop: number; func: () => void; func1: () => void; a: any; } +>{ //property prop: 1 /* multiple trailing comments */ /*trailing comments*/, //property func: function () { }, //PropertyName + CallSignature func1() { }, //getter get a() { return this.prop; } /*trailing 1*/, //setter set a(value) { this.prop = value; } // trailing 2} : { prop: number; func: () => void; func1: () => void; a: any; } //property prop: 1 /* multiple trailing comments */ /*trailing comments*/, @@ -27,8 +11,7 @@ var v = { //property func: function () { >func : () => void ->function () { - } : () => void +>function () { } : () => void }, //PropertyName + CallSignature diff --git a/tests/baselines/reference/commentsOnObjectLiteral4.types b/tests/baselines/reference/commentsOnObjectLiteral4.types index 6f89ba78ea4..364df6e5ea1 100644 --- a/tests/baselines/reference/commentsOnObjectLiteral4.types +++ b/tests/baselines/reference/commentsOnObjectLiteral4.types @@ -2,14 +2,7 @@ var v = { >v : { bar: number; } ->{ - /** - * @type {number} - */ - get bar(): number { - return this._bar; - } -} : { bar: number; } +>{ /** * @type {number} */ get bar(): number { return this._bar; }} : { bar: number; } /** * @type {number} diff --git a/tests/baselines/reference/commentsPropertySignature1.types b/tests/baselines/reference/commentsPropertySignature1.types index c2fe276a410..857b0c98ee5 100644 --- a/tests/baselines/reference/commentsPropertySignature1.types +++ b/tests/baselines/reference/commentsPropertySignature1.types @@ -1,10 +1,7 @@ === tests/cases/compiler/commentsPropertySignature1.ts === var a = { >a : { x: number; } ->{ - /** own x*/ - x: 0 -} : { x: number; } +>{ /** own x*/ x: 0} : { x: number; } /** own x*/ x: 0 diff --git a/tests/baselines/reference/commentsdoNotEmitComments.types b/tests/baselines/reference/commentsdoNotEmitComments.types index 8cc0b26028d..c42d3d2c17c 100644 --- a/tests/baselines/reference/commentsdoNotEmitComments.types +++ b/tests/baselines/reference/commentsdoNotEmitComments.types @@ -143,7 +143,7 @@ module m1 { /// module m2 export module m2 { ->m2 : m2 +>m2 : unknown } } diff --git a/tests/baselines/reference/commentsemitComments.types b/tests/baselines/reference/commentsemitComments.types index 0defb522428..b87ef5ad6fd 100644 --- a/tests/baselines/reference/commentsemitComments.types +++ b/tests/baselines/reference/commentsemitComments.types @@ -143,7 +143,7 @@ module m1 { /// module m2 export module m2 { ->m2 : m2 +>m2 : unknown } } diff --git a/tests/baselines/reference/commonJSImportAsPrimaryExpression.types b/tests/baselines/reference/commonJSImportAsPrimaryExpression.types index b1a0a7e49ac..0d2e96afaa2 100644 --- a/tests/baselines/reference/commonJSImportAsPrimaryExpression.types +++ b/tests/baselines/reference/commonJSImportAsPrimaryExpression.types @@ -1,12 +1,12 @@ === tests/cases/conformance/externalModules/foo_1.ts === import foo = require("./foo_0"); ->foo : typeof "tests/cases/conformance/externalModules/foo_0" +>foo : typeof foo if(foo.C1.s1){ >foo.C1.s1 : boolean ->foo.C1 : typeof C1 ->foo : typeof "tests/cases/conformance/externalModules/foo_0" ->C1 : typeof C1 +>foo.C1 : typeof foo.C1 +>foo : typeof foo +>C1 : typeof foo.C1 >s1 : boolean // Should cause runtime import diff --git a/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.types b/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.types index affce41c42e..bde0cb02b1e 100644 --- a/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.types +++ b/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.types @@ -1,43 +1,43 @@ === tests/cases/conformance/externalModules/foo_1.ts === import foo = require("./foo_0"); ->foo : typeof "tests/cases/conformance/externalModules/foo_0" +>foo : typeof foo // None of the below should cause a runtime dependency on foo_0 import f = foo.M1; ->f : f ->foo : typeof "tests/cases/conformance/externalModules/foo_0" ->M1 : M1 +>f : unknown +>foo : typeof foo +>M1 : unknown var i: f.I2; ->i : I2 ->f : f ->I2 : I2 +>i : f.I2 +>f : unknown +>I2 : f.I2 var x: foo.C1 = <{m1: number}>{}; ->x : C1 ->foo : foo ->C1 : C1 +>x : foo.C1 +>foo : unknown +>C1 : foo.C1 ><{m1: number}>{} : { m1: number; } >m1 : number >{} : {} var y: typeof foo.C1.s1 = false; >y : boolean ->foo : typeof "tests/cases/conformance/externalModules/foo_0" ->C1 : typeof C1 +>foo : typeof foo +>C1 : typeof foo.C1 >s1 : boolean var z: foo.M1.I2; ->z : I2 ->foo : foo ->M1 : M1 ->I2 : I2 +>z : f.I2 +>foo : unknown +>M1 : unknown +>I2 : f.I2 var e: number = 0; >e : number ->0 : E1 ->foo : foo ->E1 : E1 +>0 : foo.E1 +>foo : unknown +>E1 : foo.E1 === tests/cases/conformance/externalModules/foo_0.ts === export class C1 { @@ -61,7 +61,7 @@ export interface I1 { } export module M1 { ->M1 : M1 +>M1 : unknown export interface I2 { >I2 : I2 diff --git a/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types b/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types index 021574dfbfa..41981e19b8e 100644 --- a/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types +++ b/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types @@ -13,19 +13,9 @@ declare function foo(func: (x: string, y: number) => any): string; var out = foo((x, y) => { >out : boolean ->foo((x, y) => { - function bar(a: typeof x): void; - function bar(b: typeof y): void; - function bar() { } - return bar; -}) : boolean +>foo((x, y) => { function bar(a: typeof x): void; function bar(b: typeof y): void; function bar() { } return bar;}) : boolean >foo : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } ->(x, y) => { - function bar(a: typeof x): void; - function bar(b: typeof y): void; - function bar() { } - return bar; -} : (x: string, y: string) => { (a: string): void; (b: string): void; } +>(x, y) => { function bar(a: typeof x): void; function bar(b: typeof y): void; function bar() { } return bar;} : (x: string, y: string) => { (a: string): void; (b: string): void; } >x : string >y : string @@ -61,21 +51,9 @@ declare function foo2(func: (x: string, y: number) => any): string; var out2 = foo2((x, y) => { >out2 : boolean ->foo2((x, y) => { - var bar: { - (a: typeof x): void; - (b: typeof y): void; - }; - return bar; -}) : boolean +>foo2((x, y) => { var bar: { (a: typeof x): void; (b: typeof y): void; }; return bar;}) : boolean >foo2 : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } ->(x, y) => { - var bar: { - (a: typeof x): void; - (b: typeof y): void; - }; - return bar; -} : (x: string, y: string) => { (a: string): void; (b: string): void; } +>(x, y) => { var bar: { (a: typeof x): void; (b: typeof y): void; }; return bar;} : (x: string, y: string) => { (a: string): void; (b: string): void; } >x : string >y : string diff --git a/tests/baselines/reference/constructorArgWithGenericCallSignature.types b/tests/baselines/reference/constructorArgWithGenericCallSignature.types index de3ed3ae5f1..a419f3a3427 100644 --- a/tests/baselines/reference/constructorArgWithGenericCallSignature.types +++ b/tests/baselines/reference/constructorArgWithGenericCallSignature.types @@ -25,22 +25,22 @@ module Test { >MyFunc : MyFunc } var func: Test.MyFunc; ->func : MyFunc ->Test : Test ->MyFunc : MyFunc +>func : Test.MyFunc +>Test : unknown +>MyFunc : Test.MyFunc Test.F(func); // OK >Test.F(func) : void ->Test.F : (func: MyFunc) => void +>Test.F : (func: Test.MyFunc) => void >Test : typeof Test ->F : (func: MyFunc) => void ->func : MyFunc +>F : (func: Test.MyFunc) => void +>func : Test.MyFunc var test = new Test.MyClass(func); // Should be OK ->test : MyClass ->new Test.MyClass(func) : MyClass ->Test.MyClass : typeof MyClass +>test : Test.MyClass +>new Test.MyClass(func) : Test.MyClass +>Test.MyClass : typeof Test.MyClass >Test : typeof Test ->MyClass : typeof MyClass ->func : MyFunc +>MyClass : typeof Test.MyClass +>func : Test.MyFunc diff --git a/tests/baselines/reference/constructorArgs.types b/tests/baselines/reference/constructorArgs.types index 14971ac935f..ccd23c22f5d 100644 --- a/tests/baselines/reference/constructorArgs.types +++ b/tests/baselines/reference/constructorArgs.types @@ -24,6 +24,7 @@ class Sub extends Super { super(options.value); >super(options.value) : void +>super : typeof Super >options.value : number >options : Options >value : number diff --git a/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.types b/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.types index b9fccd0efea..53853163827 100644 --- a/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.types +++ b/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.types @@ -34,6 +34,7 @@ class Derived extends Base { super(x); >super(x) : void +>super : typeof Base >x : number } } @@ -55,6 +56,7 @@ class Derived2 extends Base { super(x); >super(x) : void +>super : typeof Base >x : any return 1; diff --git a/tests/baselines/reference/constructorOverloads2.types b/tests/baselines/reference/constructorOverloads2.types index fc5b97723b4..65da67f04fe 100644 --- a/tests/baselines/reference/constructorOverloads2.types +++ b/tests/baselines/reference/constructorOverloads2.types @@ -34,6 +34,7 @@ class Foo extends FooBase { super(x); >super(x) : void +>super : typeof FooBase >x : any } bar1() { /*WScript.Echo("bar1");*/ } diff --git a/tests/baselines/reference/contextualTypeAppliedToVarArgs.types b/tests/baselines/reference/contextualTypeAppliedToVarArgs.types index 2ae7600faa5..cbd16aea35f 100644 --- a/tests/baselines/reference/contextualTypeAppliedToVarArgs.types +++ b/tests/baselines/reference/contextualTypeAppliedToVarArgs.types @@ -19,18 +19,10 @@ class Foo{ >Bar : () => void delegate(this, function (source, args2) ->delegate(this, function (source, args2) - { - var a = source.node; - var b = args2.node; - } ) : (...args: any[]) => any +>delegate(this, function (source, args2) { var a = source.node; var b = args2.node; } ) : (...args: any[]) => any >delegate : (instance: any, method: (...args: any[]) => any, data?: any) => (...args: any[]) => any >this : Foo ->function (source, args2) - { - var a = source.node; - var b = args2.node; - } : (source: any, args2: any) => void +>function (source, args2) { var a = source.node; var b = args2.node; } : (source: any, args2: any) => void >source : any >args2 : any { diff --git a/tests/baselines/reference/contextualTypeArrayReturnType.types b/tests/baselines/reference/contextualTypeArrayReturnType.types index 62790f234ce..b0cd03f8510 100644 --- a/tests/baselines/reference/contextualTypeArrayReturnType.types +++ b/tests/baselines/reference/contextualTypeArrayReturnType.types @@ -26,27 +26,15 @@ interface Transform3D { var style: IBookStyle = { >style : IBookStyle >IBookStyle : IBookStyle ->{ - initialLeftPageTransforms: (width: number) => { - return [ - {'ry': null } - ]; - } -} : { initialLeftPageTransforms: (width: number) => NamedTransform[]; } +>{ initialLeftPageTransforms: (width: number) => { return [ {'ry': null } ]; }} : { initialLeftPageTransforms: (width: number) => NamedTransform[]; } initialLeftPageTransforms: (width: number) => { >initialLeftPageTransforms : (width: number) => NamedTransform[] ->(width: number) => { - return [ - {'ry': null } - ]; - } : (width: number) => NamedTransform[] +>(width: number) => { return [ {'ry': null } ]; } : (width: number) => NamedTransform[] >width : number return [ ->[ - {'ry': null } - ] : NamedTransform[] +>[ {'ry': null } ] : NamedTransform[] {'ry': null } >{'ry': null } : { [x: string]: Transform3D; 'ry': null; } diff --git a/tests/baselines/reference/continueInIterationStatement1.js b/tests/baselines/reference/continueInIterationStatement1.js new file mode 100644 index 00000000000..e1c787ae7ea --- /dev/null +++ b/tests/baselines/reference/continueInIterationStatement1.js @@ -0,0 +1,9 @@ +//// [continueInIterationStatement1.ts] +while (true) { + continue; +} + +//// [continueInIterationStatement1.js] +while (true) { + continue; +} diff --git a/tests/baselines/reference/continueInIterationStatement1.types b/tests/baselines/reference/continueInIterationStatement1.types new file mode 100644 index 00000000000..210de69f6bb --- /dev/null +++ b/tests/baselines/reference/continueInIterationStatement1.types @@ -0,0 +1,5 @@ +=== tests/cases/compiler/continueInIterationStatement1.ts === +while (true) { +No type information for this code. continue; +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/continueInIterationStatement2.js b/tests/baselines/reference/continueInIterationStatement2.js new file mode 100644 index 00000000000..d7ff84895f6 --- /dev/null +++ b/tests/baselines/reference/continueInIterationStatement2.js @@ -0,0 +1,10 @@ +//// [continueInIterationStatement2.ts] +do { + continue; +} +while (true); + +//// [continueInIterationStatement2.js] +do { + continue; +} while (true); diff --git a/tests/baselines/reference/continueInIterationStatement2.types b/tests/baselines/reference/continueInIterationStatement2.types new file mode 100644 index 00000000000..5cb4b62f39a --- /dev/null +++ b/tests/baselines/reference/continueInIterationStatement2.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/continueInIterationStatement2.ts === +do { +No type information for this code. continue; +No type information for this code.} +No type information for this code.while (true); +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/continueInIterationStatement3.js b/tests/baselines/reference/continueInIterationStatement3.js new file mode 100644 index 00000000000..90619118ac5 --- /dev/null +++ b/tests/baselines/reference/continueInIterationStatement3.js @@ -0,0 +1,9 @@ +//// [continueInIterationStatement3.ts] +for (;;) { + continue; +} + +//// [continueInIterationStatement3.js] +for (;;) { + continue; +} diff --git a/tests/baselines/reference/continueInIterationStatement3.types b/tests/baselines/reference/continueInIterationStatement3.types new file mode 100644 index 00000000000..f4df3a295fb --- /dev/null +++ b/tests/baselines/reference/continueInIterationStatement3.types @@ -0,0 +1,5 @@ +=== tests/cases/compiler/continueInIterationStatement3.ts === +for (;;) { +No type information for this code. continue; +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/continueInIterationStatement4.errors.txt b/tests/baselines/reference/continueInIterationStatement4.errors.txt new file mode 100644 index 00000000000..c0f4388cf79 --- /dev/null +++ b/tests/baselines/reference/continueInIterationStatement4.errors.txt @@ -0,0 +1,6 @@ +==== tests/cases/compiler/continueInIterationStatement4.ts (1 errors) ==== + for (var i in something) { + ~~~~~~~~~ +!!! Cannot find name 'something'. + continue; + } \ No newline at end of file diff --git a/tests/baselines/reference/continueInIterationStatement4.js b/tests/baselines/reference/continueInIterationStatement4.js new file mode 100644 index 00000000000..e72ab3ed9ab --- /dev/null +++ b/tests/baselines/reference/continueInIterationStatement4.js @@ -0,0 +1,9 @@ +//// [continueInIterationStatement4.ts] +for (var i in something) { + continue; +} + +//// [continueInIterationStatement4.js] +for (var i in something) { + continue; +} diff --git a/tests/baselines/reference/continueLabel.js b/tests/baselines/reference/continueLabel.js new file mode 100644 index 00000000000..390566353eb --- /dev/null +++ b/tests/baselines/reference/continueLabel.js @@ -0,0 +1,9 @@ +//// [continueLabel.ts] +label1: for(var i = 0; i < 1; i++) { + continue label1; +} + +//// [continueLabel.js] +label1: for (var i = 0; i < 1; i++) { + continue label1; +} diff --git a/tests/baselines/reference/continueLabel.types b/tests/baselines/reference/continueLabel.types new file mode 100644 index 00000000000..79c5381f08a --- /dev/null +++ b/tests/baselines/reference/continueLabel.types @@ -0,0 +1,10 @@ +=== tests/cases/compiler/continueLabel.ts === +label1: for(var i = 0; i < 1; i++) { +>i : number +>i < 1 : boolean +>i : number +>i++ : number +>i : number + + continue label1; +} diff --git a/tests/baselines/reference/continueNotInIterationStatement1.errors.txt b/tests/baselines/reference/continueNotInIterationStatement1.errors.txt new file mode 100644 index 00000000000..5f7d543a0aa --- /dev/null +++ b/tests/baselines/reference/continueNotInIterationStatement1.errors.txt @@ -0,0 +1,4 @@ +==== tests/cases/compiler/continueNotInIterationStatement1.ts (1 errors) ==== + continue; + ~~~~~~~~~ +!!! A 'continue' statement can only be used within an enclosing iteration statement. \ No newline at end of file diff --git a/tests/baselines/reference/continueNotInIterationStatement2.errors.txt b/tests/baselines/reference/continueNotInIterationStatement2.errors.txt new file mode 100644 index 00000000000..0bfc41d7f72 --- /dev/null +++ b/tests/baselines/reference/continueNotInIterationStatement2.errors.txt @@ -0,0 +1,8 @@ +==== tests/cases/compiler/continueNotInIterationStatement2.ts (1 errors) ==== + while (true) { + function f() { + continue; + ~~~~~~~~~ +!!! Jump target cannot cross function boundary. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/continueNotInIterationStatement3.errors.txt b/tests/baselines/reference/continueNotInIterationStatement3.errors.txt new file mode 100644 index 00000000000..d8627b4fc3a --- /dev/null +++ b/tests/baselines/reference/continueNotInIterationStatement3.errors.txt @@ -0,0 +1,7 @@ +==== tests/cases/compiler/continueNotInIterationStatement3.ts (1 errors) ==== + switch (0) { + default: + continue; + ~~~~~~~~~ +!!! A 'continue' statement can only be used within an enclosing iteration statement. + } \ No newline at end of file diff --git a/tests/baselines/reference/continueNotInIterationStatement4.errors.txt b/tests/baselines/reference/continueNotInIterationStatement4.errors.txt new file mode 100644 index 00000000000..91e7b26b578 --- /dev/null +++ b/tests/baselines/reference/continueNotInIterationStatement4.errors.txt @@ -0,0 +1,10 @@ +==== tests/cases/compiler/continueNotInIterationStatement4.ts (1 errors) ==== + TWO: + while (true){ + var x = () => { + continue TWO; + ~~~~~~~~~~~~~ +!!! Jump target cannot cross function boundary. + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/continueTarget1.errors.txt b/tests/baselines/reference/continueTarget1.errors.txt new file mode 100644 index 00000000000..1b93d9fc707 --- /dev/null +++ b/tests/baselines/reference/continueTarget1.errors.txt @@ -0,0 +1,5 @@ +==== tests/cases/compiler/continueTarget1.ts (1 errors) ==== + target: + continue target; + ~~~~~~~~~~~~~~~~ +!!! A 'continue' statement can only jump to a label of an enclosing iteration statement. \ No newline at end of file diff --git a/tests/baselines/reference/continueTarget2.js b/tests/baselines/reference/continueTarget2.js new file mode 100644 index 00000000000..eb3b4118f7f --- /dev/null +++ b/tests/baselines/reference/continueTarget2.js @@ -0,0 +1,10 @@ +//// [continueTarget2.ts] +target: +while (true) { + continue target; +} + +//// [continueTarget2.js] +target: while (true) { + continue target; +} diff --git a/tests/baselines/reference/continueTarget2.types b/tests/baselines/reference/continueTarget2.types new file mode 100644 index 00000000000..16f45c402cd --- /dev/null +++ b/tests/baselines/reference/continueTarget2.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/continueTarget2.ts === +target: +No type information for this code.while (true) { +No type information for this code. continue target; +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/continueTarget3.js b/tests/baselines/reference/continueTarget3.js new file mode 100644 index 00000000000..052b7b593c3 --- /dev/null +++ b/tests/baselines/reference/continueTarget3.js @@ -0,0 +1,11 @@ +//// [continueTarget3.ts] +target1: +target2: +while (true) { + continue target1; +} + +//// [continueTarget3.js] +target1: target2: while (true) { + continue target1; +} diff --git a/tests/baselines/reference/continueTarget3.types b/tests/baselines/reference/continueTarget3.types new file mode 100644 index 00000000000..a1b930f2f5a --- /dev/null +++ b/tests/baselines/reference/continueTarget3.types @@ -0,0 +1,7 @@ +=== tests/cases/compiler/continueTarget3.ts === +target1: +No type information for this code.target2: +No type information for this code.while (true) { +No type information for this code. continue target1; +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/continueTarget4.js b/tests/baselines/reference/continueTarget4.js new file mode 100644 index 00000000000..0f6211f9202 --- /dev/null +++ b/tests/baselines/reference/continueTarget4.js @@ -0,0 +1,11 @@ +//// [continueTarget4.ts] +target1: +target2: +while (true) { + continue target2; +} + +//// [continueTarget4.js] +target1: target2: while (true) { + continue target2; +} diff --git a/tests/baselines/reference/continueTarget4.types b/tests/baselines/reference/continueTarget4.types new file mode 100644 index 00000000000..ea1989a3e4d --- /dev/null +++ b/tests/baselines/reference/continueTarget4.types @@ -0,0 +1,7 @@ +=== tests/cases/compiler/continueTarget4.ts === +target1: +No type information for this code.target2: +No type information for this code.while (true) { +No type information for this code. continue target2; +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/continueTarget5.errors.txt b/tests/baselines/reference/continueTarget5.errors.txt new file mode 100644 index 00000000000..aa156707aa5 --- /dev/null +++ b/tests/baselines/reference/continueTarget5.errors.txt @@ -0,0 +1,11 @@ +==== tests/cases/compiler/continueTarget5.ts (1 errors) ==== + target: + while (true) { + function f() { + while (true) { + continue target; + ~~~~~~~~~~~~~~~~ +!!! Jump target cannot cross function boundary. + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/continueTarget6.errors.txt b/tests/baselines/reference/continueTarget6.errors.txt new file mode 100644 index 00000000000..2177e50523d --- /dev/null +++ b/tests/baselines/reference/continueTarget6.errors.txt @@ -0,0 +1,6 @@ +==== tests/cases/compiler/continueTarget6.ts (1 errors) ==== + while (true) { + continue target; + ~~~~~~~~~~~~~~~~ +!!! A 'continue' statement can only jump to a label of an enclosing iteration statement. + } \ No newline at end of file diff --git a/tests/baselines/reference/convertKeywordsYes.types b/tests/baselines/reference/convertKeywordsYes.types index 839c5b5f580..af2e0766181 100644 --- a/tests/baselines/reference/convertKeywordsYes.types +++ b/tests/baselines/reference/convertKeywordsYes.types @@ -170,64 +170,7 @@ function bigGeneric< var bigObject = { >bigObject : { constructor: number; any: number; boolean: number; implements: number; interface: number; let: number; module: number; number: number; package: number; private: number; protected: number; public: number; set: number; static: number; string: number; get: number; yield: number; break: number; case: number; catch: number; class: number; continue: number; const: number; debugger: number; declare: number; default: number; delete: number; do: number; else: number; enum: number; export: number; extends: number; false: number; finally: number; for: number; function: number; if: number; import: number; in: number; instanceof: number; new: number; null: number; return: number; super: number; switch: number; this: number; throw: number; true: number; try: number; typeof: number; var: number; void: number; while: number; with: number; } ->{ - constructor: 0, - any: 0, - boolean: 0, - implements: 0, - interface: 0, - let: 0, - module: 0, - number: 0, - package: 0, - private: 0, - protected: 0, - public: 0, - set: 0, - static: 0, - string: 0, - get: 0, - yield: 0, - break: 0, - case: 0, - catch: 0, - class: 0, - continue: 0, - const: 0, - - debugger: 0, - declare: 0, - default: 0, - delete: 0, - do: 0, - else: 0, - enum: 0, - export: 0, - extends: 0, - false: 0, - finally: 0, - for: 0, - function: 0, - if: 0, - - import: 0, - in: 0, - instanceof: 0, - new: 0, - null: 0, - return: 0, - super: 0, - switch: 0, - this: 0, - throw: 0, - true: 0, - try: 0, - typeof: 0, - var: 0, - void: 0, - while: 0, - with: 0, -} : { constructor: number; any: number; boolean: number; implements: number; interface: number; let: number; module: number; number: number; package: number; private: number; protected: number; public: number; set: number; static: number; string: number; get: number; yield: number; break: number; case: number; catch: number; class: number; continue: number; const: number; debugger: number; declare: number; default: number; delete: number; do: number; else: number; enum: number; export: number; extends: number; false: number; finally: number; for: number; function: number; if: number; import: number; in: number; instanceof: number; new: number; null: number; return: number; super: number; switch: number; this: number; throw: number; true: number; try: number; typeof: number; var: number; void: number; while: number; with: number; } +>{ constructor: 0, any: 0, boolean: 0, implements: 0, interface: 0, let: 0, module: 0, number: 0, package: 0, private: 0, protected: 0, public: 0, set: 0, static: 0, string: 0, get: 0, yield: 0, break: 0, case: 0, catch: 0, class: 0, continue: 0, const: 0, debugger: 0, declare: 0, default: 0, delete: 0, do: 0, else: 0, enum: 0, export: 0, extends: 0, false: 0, finally: 0, for: 0, function: 0, if: 0, import: 0, in: 0, instanceof: 0, new: 0, null: 0, return: 0, super: 0, switch: 0, this: 0, throw: 0, true: 0, try: 0, typeof: 0, var: 0, void: 0, while: 0, with: 0,} : { constructor: number; any: number; boolean: number; implements: number; interface: number; let: number; module: number; number: number; package: number; private: number; protected: number; public: number; set: number; static: number; string: number; get: number; yield: number; break: number; case: number; catch: number; class: number; continue: number; const: number; debugger: number; declare: number; default: number; delete: number; do: number; else: number; enum: number; export: number; extends: number; false: number; finally: number; for: number; function: number; if: number; import: number; in: number; instanceof: number; new: number; null: number; return: number; super: number; switch: number; this: number; throw: number; true: number; try: number; typeof: number; var: number; void: number; while: number; with: number; } constructor: 0, >constructor : number diff --git a/tests/baselines/reference/crashInResolveInterface.js b/tests/baselines/reference/crashInResolveInterface.js index 6feb855c46f..85b6217726a 100644 --- a/tests/baselines/reference/crashInResolveInterface.js +++ b/tests/baselines/reference/crashInResolveInterface.js @@ -22,3 +22,4 @@ interface C { var q1; var x = q1.each(function (x) { return c.log(x); }); //// [file2.js] +/// diff --git a/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.types b/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.types index fb937443e85..420f1550d7a 100644 --- a/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.types +++ b/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.types @@ -1,24 +1,24 @@ === tests/cases/compiler/declFileAmbientExternalModuleWithSingleExportedModule_1.ts === /// import SubModule = require('SubModule'); ->SubModule : typeof "SubModule" +>SubModule : typeof SubModule export var x: SubModule.m.m3.c; ->x : c ->SubModule : SubModule ->m : m ->m3 : m3 ->c : c +>x : SubModule.m.m3.c +>SubModule : unknown +>m : unknown +>m3 : unknown +>c : SubModule.m.m3.c === tests/cases/compiler/declFileAmbientExternalModuleWithSingleExportedModule_0.ts === declare module "SubModule" { export module m { ->m : m +>m : unknown export module m3 { ->m3 : m3 +>m3 : unknown interface c { >c : c diff --git a/tests/baselines/reference/declFileExportAssignmentImportInternalModule.types b/tests/baselines/reference/declFileExportAssignmentImportInternalModule.types index 7a690b83de1..e0bf172e584 100644 --- a/tests/baselines/reference/declFileExportAssignmentImportInternalModule.types +++ b/tests/baselines/reference/declFileExportAssignmentImportInternalModule.types @@ -3,7 +3,7 @@ module m3 { >m3 : typeof m3 export module m2 { ->m2 : m2 +>m2 : unknown export interface connectModule { >connectModule : connectModule @@ -30,21 +30,21 @@ module m3 { } export var server: { ->server : { (): connectExport; test1: connectModule; test2(): connectModule; } +>server : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } (): m2.connectExport; ->m2 : m2 ->connectExport : connectExport +>m2 : unknown +>connectExport : m2.connectExport test1: m2.connectModule; ->test1 : connectModule ->m2 : m2 ->connectModule : connectModule +>test1 : m2.connectModule +>m2 : unknown +>connectModule : m2.connectModule test2(): m2.connectModule; ->test2 : () => connectModule ->m2 : m2 ->connectModule : connectModule +>test2 : () => m2.connectModule +>m2 : unknown +>connectModule : m2.connectModule }; } diff --git a/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.types b/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.types index b7e14978048..1d77f8ee7a3 100644 --- a/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.types +++ b/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.types @@ -1,15 +1,15 @@ === tests/cases/compiler/declFileExportAssignmentOfGenericInterface_1.ts === import a = require('declFileExportAssignmentOfGenericInterface_0'); ->a : a +>a : unknown export var x: a>; ->x : Foo> ->a : Foo ->a : Foo +>x : a> +>a : a +>a : a x.a; >x.a : string ->x : Foo> +>x : a> >a : string === tests/cases/compiler/declFileExportAssignmentOfGenericInterface_0.ts === diff --git a/tests/baselines/reference/declFileExportImportChain.types b/tests/baselines/reference/declFileExportImportChain.types index 8e72c07fb9f..df71d32d4d9 100644 --- a/tests/baselines/reference/declFileExportImportChain.types +++ b/tests/baselines/reference/declFileExportImportChain.types @@ -1,14 +1,14 @@ === tests/cases/compiler/declFileExportImportChain_d.ts === import c = require("declFileExportImportChain_c"); ->c : typeof "tests/cases/compiler/declFileExportImportChain_c" +>c : typeof c export var x: c.b1.a.m2.c1; ->x : c1 ->c : c ->b1 : b1 ->a : a ->m2 : m2 ->c1 : c1 +>x : c.b1.a.m2.c1 +>c : unknown +>b1 : unknown +>a : unknown +>m2 : unknown +>c1 : c.b1.a.m2.c1 === tests/cases/compiler/declFileExportImportChain_a.ts === @@ -28,16 +28,16 @@ export = m1; === tests/cases/compiler/declFileExportImportChain_b.ts === export import a = require("declFileExportImportChain_a"); ->a : typeof m1 +>a : typeof a === tests/cases/compiler/declFileExportImportChain_b1.ts === import b = require("declFileExportImportChain_b"); ->b : typeof "tests/cases/compiler/declFileExportImportChain_b" +>b : typeof b export = b; ->b : typeof "tests/cases/compiler/declFileExportImportChain_b" +>b : typeof b === tests/cases/compiler/declFileExportImportChain_c.ts === export import b1 = require("declFileExportImportChain_b1"); ->b1 : typeof "tests/cases/compiler/declFileExportImportChain_b" +>b1 : typeof b1 diff --git a/tests/baselines/reference/declFileExportImportChain2.types b/tests/baselines/reference/declFileExportImportChain2.types index 3c0c3f89837..a0e3f1c31a1 100644 --- a/tests/baselines/reference/declFileExportImportChain2.types +++ b/tests/baselines/reference/declFileExportImportChain2.types @@ -1,13 +1,13 @@ === tests/cases/compiler/declFileExportImportChain2_d.ts === import c = require("declFileExportImportChain2_c"); ->c : typeof "tests/cases/compiler/declFileExportImportChain2_c" +>c : typeof c export var x: c.b.m2.c1; ->x : c1 ->c : c ->b : b ->m2 : m2 ->c1 : c1 +>x : c.b.m2.c1 +>c : unknown +>b : unknown +>m2 : unknown +>c1 : c.b.m2.c1 === tests/cases/compiler/declFileExportImportChain2_a.ts === @@ -27,12 +27,12 @@ export = m1; === tests/cases/compiler/declFileExportImportChain2_b.ts === import a = require("declFileExportImportChain2_a"); ->a : typeof m1 +>a : typeof a export = a; ->a : typeof m1 +>a : typeof a === tests/cases/compiler/declFileExportImportChain2_c.ts === export import b = require("declFileExportImportChain2_b"); ->b : typeof m1 +>b : typeof b diff --git a/tests/baselines/reference/declFileForExportedImport.types b/tests/baselines/reference/declFileForExportedImport.types index 95224208188..987f82bf5a0 100644 --- a/tests/baselines/reference/declFileForExportedImport.types +++ b/tests/baselines/reference/declFileForExportedImport.types @@ -1,22 +1,22 @@ === tests/cases/compiler/declFileForExportedImport_1.ts === /// export import a = require('declFileForExportedImport_0'); ->a : typeof "tests/cases/compiler/declFileForExportedImport_0" +>a : typeof a var y = a.x; >y : number >a.x : number ->a : typeof "tests/cases/compiler/declFileForExportedImport_0" +>a : typeof a >x : number export import b = a; ->b : typeof "tests/cases/compiler/declFileForExportedImport_0" ->a : typeof "tests/cases/compiler/declFileForExportedImport_0" +>b : typeof a +>a : typeof a var z = b.x; >z : number >b.x : number ->b : typeof "tests/cases/compiler/declFileForExportedImport_0" +>b : typeof a >x : number === tests/cases/compiler/declFileForExportedImport_0.ts === diff --git a/tests/baselines/reference/declFileFunctions.js b/tests/baselines/reference/declFileFunctions.js index b5018e1fb1d..da1917163e1 100644 --- a/tests/baselines/reference/declFileFunctions.js +++ b/tests/baselines/reference/declFileFunctions.js @@ -21,6 +21,11 @@ export function fooWithOverloads(a: any): any { return a; } +export function fooWithSingleOverload(a: string): string; +export function fooWithSingleOverload(a: any) { + return a; +} + /** This comment should appear for nonExportedFoo*/ function nonExportedFoo() { } @@ -83,6 +88,10 @@ function fooWithOverloads(a) { return a; } exports.fooWithOverloads = fooWithOverloads; +function fooWithSingleOverload(a) { + return a; +} +exports.fooWithSingleOverload = fooWithSingleOverload; /** This comment should appear for nonExportedFoo*/ function nonExportedFoo() { } @@ -134,6 +143,7 @@ export declare function fooWithParameters(/** this is comment about a*/ a: strin export declare function fooWithRestParameters(a: string, ...rests: string[]): string; export declare function fooWithOverloads(a: string): string; export declare function fooWithOverloads(a: number): number; +export declare function fooWithSingleOverload(a: string): string; //// [declFileFunctions_1.d.ts] /** This comment should appear for foo*/ declare function globalfoo(): void; diff --git a/tests/baselines/reference/declFileFunctions.types b/tests/baselines/reference/declFileFunctions.types index 46281813eb0..bfbe658a758 100644 --- a/tests/baselines/reference/declFileFunctions.types +++ b/tests/baselines/reference/declFileFunctions.types @@ -47,6 +47,18 @@ export function fooWithOverloads(a: any): any { >a : any } +export function fooWithSingleOverload(a: string): string; +>fooWithSingleOverload : (a: string) => string +>a : string + +export function fooWithSingleOverload(a: any) { +>fooWithSingleOverload : (a: string) => string +>a : any + + return a; +>a : any +} + /** This comment should appear for nonExportedFoo*/ function nonExportedFoo() { >nonExportedFoo : () => void diff --git a/tests/baselines/reference/declFileGenericType.types b/tests/baselines/reference/declFileGenericType.types index 1e85eef3824..284ce8f475b 100644 --- a/tests/baselines/reference/declFileGenericType.types +++ b/tests/baselines/reference/declFileGenericType.types @@ -22,9 +22,9 @@ export module C { >T : T >x : T >T : T ->C : C +>C : unknown >A : A ->C : C +>C : unknown >B : B export function F3(x: T): C.A[] { return null; } @@ -32,9 +32,9 @@ export module C { >T : T >x : T >T : T ->C : C +>C : unknown >A : A ->C : C +>C : unknown >B : B export function F4>(x: T): Array> { return null; } @@ -45,9 +45,9 @@ export module C { >x : T >T : T >Array : T[] ->C : C +>C : unknown >A : A ->C : C +>C : unknown >B : B export function F5(): T { return null; } @@ -76,92 +76,92 @@ export module C { } export var a: C.A; ->a : A ->C : C ->A : A ->C : C ->B : B +>a : C.A +>C : unknown +>A : C.A +>C : unknown +>B : C.B export var b = C.F; ->b : (x: T) => A ->C.F : (x: T) => A +>b : (x: T) => C.A +>C.F : (x: T) => C.A >C : typeof C ->F : (x: T) => A +>F : (x: T) => C.A export var c = C.F2; ->c : (x: T) => A ->C.F2 : (x: T) => A +>c : (x: T) => C.A +>C.F2 : (x: T) => C.A >C : typeof C ->F2 : (x: T) => A +>F2 : (x: T) => C.A export var d = C.F3; ->d : (x: T) => A[] ->C.F3 : (x: T) => A[] +>d : (x: T) => C.A[] +>C.F3 : (x: T) => C.A[] >C : typeof C ->F3 : (x: T) => A[] +>F3 : (x: T) => C.A[] export var e = C.F4; ->e : >(x: T) => A[] ->C.F4 : >(x: T) => A[] +>e : >(x: T) => C.A[] +>C.F4 : >(x: T) => C.A[] >C : typeof C ->F4 : >(x: T) => A[] +>F4 : >(x: T) => C.A[] export var x = (new C.D>(new C.A())).val; ->x : A ->(new C.D>(new C.A())).val : A ->(new C.D>(new C.A())) : D> ->new C.D>(new C.A()) : D> ->C.D : typeof D +>x : C.A +>(new C.D>(new C.A())).val : C.A +>(new C.D>(new C.A())) : C.D> +>new C.D>(new C.A()) : C.D> +>C.D : typeof C.D >C : typeof C ->D : typeof D ->C : C ->A : A ->C : C ->B : B ->new C.A() : A ->C.A : typeof A +>D : typeof C.D +>C : unknown +>A : C.A +>C : unknown +>B : C.B +>new C.A() : C.A +>C.A : typeof C.A >C : typeof C ->A : typeof A ->C : C ->B : B ->val : A +>A : typeof C.A +>C : unknown +>B : C.B +>val : C.A export function f>() { } ->f : >() => void +>f : >() => void >T : T ->C : C ->A : A ->C : C ->B : B +>C : unknown +>A : C.A +>C : unknown +>B : C.B export var g = C.F5>(); ->g : A ->C.F5>() : A +>g : C.A +>C.F5>() : C.A >C.F5 : () => T >C : typeof C >F5 : () => T ->C : C ->A : A ->C : C ->B : B +>C : unknown +>A : C.A +>C : unknown +>B : C.B export class h extends C.A{ } >h : h ->C : C ->A : A ->C : C ->B : B +>C : unknown +>A : C.A +>C : unknown +>B : C.B export interface i extends C.A { } >i : i ->C : C ->A : A ->C : C ->B : B +>C : unknown +>A : C.A +>C : unknown +>B : C.B export var j = C.F6; ->j : >(x: T) => T ->C.F6 : >(x: T) => T +>j : >(x: T) => T +>C.F6 : >(x: T) => T >C : typeof C ->F6 : >(x: T) => T +>F6 : >(x: T) => T diff --git a/tests/baselines/reference/declFileGenericType2.types b/tests/baselines/reference/declFileGenericType2.types index bc68a41dc1b..a6b6546326c 100644 --- a/tests/baselines/reference/declFileGenericType2.types +++ b/tests/baselines/reference/declFileGenericType2.types @@ -15,8 +15,8 @@ declare module templa.mvc { interface IController { >IController : IController >ModelType : ModelType ->templa : templa ->mvc : mvc +>templa : unknown +>mvc : unknown >IModel : IModel } } @@ -27,10 +27,10 @@ declare module templa.mvc { class AbstractController implements mvc.IController { >AbstractController : AbstractController >ModelType : ModelType ->templa : templa ->mvc : mvc +>templa : unknown +>mvc : unknown >IModel : IModel ->mvc : mvc +>mvc : unknown >IController : IController >ModelType : ModelType } @@ -38,18 +38,18 @@ declare module templa.mvc { declare module templa.mvc.composite { >templa : typeof templa >mvc : typeof mvc ->composite : composite +>composite : unknown interface ICompositeControllerModel extends mvc.IModel { >ICompositeControllerModel : ICompositeControllerModel ->mvc : mvc +>mvc : unknown >IModel : IModel getControllers(): mvc.IController[]; >getControllers : () => IController[] ->mvc : mvc +>mvc : unknown >IController : IController ->mvc : mvc +>mvc : unknown >IModel : IModel } } @@ -61,12 +61,12 @@ module templa.dom.mvc { export interface IElementController extends templa.mvc.IController { >IElementController : IElementController >ModelType : ModelType ->templa : templa ->mvc : mvc ->IModel : IModel ->templa : templa ->mvc : mvc ->IController : IController +>templa : unknown +>mvc : unknown +>IModel : templa.mvc.IModel +>templa : unknown +>mvc : unknown +>IController : templa.mvc.IController >ModelType : ModelType } } @@ -79,12 +79,12 @@ module templa.dom.mvc { export class AbstractElementController extends templa.mvc.AbstractController implements IElementController { >AbstractElementController : AbstractElementController >ModelType : ModelType ->templa : templa ->mvc : mvc ->IModel : IModel ->templa : templa ->mvc : mvc ->AbstractController : AbstractController +>templa : unknown +>mvc : unknown +>IModel : templa.mvc.IModel +>templa : unknown +>mvc : unknown +>AbstractController : templa.mvc.AbstractController >ModelType : ModelType >IElementController : IElementController >ModelType : ModelType @@ -92,6 +92,7 @@ module templa.dom.mvc { constructor() { super(); >super() : void +>super : typeof templa.mvc.AbstractController } } } @@ -105,35 +106,36 @@ module templa.dom.mvc.composite { export class AbstractCompositeElementController extends templa.dom.mvc.AbstractElementController { >AbstractCompositeElementController : AbstractCompositeElementController >ModelType : ModelType ->templa : templa ->mvc : mvc ->composite : composite ->ICompositeControllerModel : ICompositeControllerModel ->templa : templa ->dom : dom ->mvc : mvc +>templa : unknown +>mvc : unknown +>composite : unknown +>ICompositeControllerModel : templa.mvc.composite.ICompositeControllerModel +>templa : unknown +>dom : unknown +>mvc : unknown >AbstractElementController : AbstractElementController >ModelType : ModelType public _controllers: templa.mvc.IController[]; ->_controllers : IController[] ->templa : templa ->mvc : mvc ->IController : IController ->templa : templa ->mvc : mvc ->IModel : IModel +>_controllers : templa.mvc.IController[] +>templa : unknown +>mvc : unknown +>IController : templa.mvc.IController +>templa : unknown +>mvc : unknown +>IModel : templa.mvc.IModel constructor() { super(); >super() : void +>super : typeof AbstractElementController this._controllers = []; ->this._controllers = [] : IController[] ->this._controllers : IController[] +>this._controllers = [] : templa.mvc.IController[] +>this._controllers : templa.mvc.IController[] >this : AbstractCompositeElementController ->_controllers : IController[] ->[] : IController[] +>_controllers : templa.mvc.IController[] +>[] : templa.mvc.IController[] } } } diff --git a/tests/baselines/reference/declFileImportChainInExportAssignment.types b/tests/baselines/reference/declFileImportChainInExportAssignment.types index 9f440c231ee..8cb130c638c 100644 --- a/tests/baselines/reference/declFileImportChainInExportAssignment.types +++ b/tests/baselines/reference/declFileImportChainInExportAssignment.types @@ -3,7 +3,7 @@ module m { >m : typeof m export module c { ->c : typeof c +>c : typeof m.c export class c { >c : c @@ -11,14 +11,14 @@ module m { } } import a = m.c; ->a : typeof c +>a : typeof a >m : typeof m ->c : typeof c +>c : typeof a import b = a; ->b : typeof c ->a : typeof c +>b : typeof a +>a : typeof a export = b; ->b : typeof c +>b : typeof a diff --git a/tests/baselines/reference/declFileImportModuleWithExportAssignment.types b/tests/baselines/reference/declFileImportModuleWithExportAssignment.types index 328760ed096..15201baa487 100644 --- a/tests/baselines/reference/declFileImportModuleWithExportAssignment.types +++ b/tests/baselines/reference/declFileImportModuleWithExportAssignment.types @@ -1,17 +1,17 @@ === tests/cases/compiler/declFileImportModuleWithExportAssignment_1.ts === /**This is on import declaration*/ import a1 = require("declFileImportModuleWithExportAssignment_0"); ->a1 : { (): connectExport; test1: connectModule; test2(): connectModule; } +>a1 : { (): a1.connectExport; test1: a1.connectModule; test2(): a1.connectModule; } export var a = a1; ->a : { (): connectExport; test1: connectModule; test2(): connectModule; } ->a1 : { (): connectExport; test1: connectModule; test2(): connectModule; } +>a : { (): a1.connectExport; test1: a1.connectModule; test2(): a1.connectModule; } +>a1 : { (): a1.connectExport; test1: a1.connectModule; test2(): a1.connectModule; } a.test1(null, null, null); >a.test1(null, null, null) : void ->a.test1 : connectModule ->a : { (): connectExport; test1: connectModule; test2(): connectModule; } ->test1 : connectModule +>a.test1 : a1.connectModule +>a : { (): a1.connectExport; test1: a1.connectModule; test2(): a1.connectModule; } +>test1 : a1.connectModule === tests/cases/compiler/declFileImportModuleWithExportAssignment_0.ts === @@ -42,23 +42,23 @@ module m2 { } var m2: { ->m2 : { (): connectExport; test1: connectModule; test2(): connectModule; } +>m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } (): m2.connectExport; ->m2 : m2 ->connectExport : connectExport +>m2 : unknown +>connectExport : m2.connectExport test1: m2.connectModule; ->test1 : connectModule ->m2 : m2 ->connectModule : connectModule +>test1 : m2.connectModule +>m2 : unknown +>connectModule : m2.connectModule test2(): m2.connectModule; ->test2 : () => connectModule ->m2 : m2 ->connectModule : connectModule +>test2 : () => m2.connectModule +>m2 : unknown +>connectModule : m2.connectModule }; export = m2; ->m2 : { (): connectExport; test1: connectModule; test2(): connectModule; } +>m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } diff --git a/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.types b/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.types index f7cc171ed94..f5d443d0c57 100644 --- a/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.types +++ b/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.types @@ -11,13 +11,13 @@ declare module 'mod1' { declare module 'moo' { import x = require('mod1'); ->x : typeof 'mod1' +>x : typeof x export var p: List; ->p : List +>p : List >List : List ->x : x ->Foo : Foo +>x : unknown +>Foo : x.Foo } diff --git a/tests/baselines/reference/declFileInternalAliases.types b/tests/baselines/reference/declFileInternalAliases.types index 379d70be53d..6dbc8db5c38 100644 --- a/tests/baselines/reference/declFileInternalAliases.types +++ b/tests/baselines/reference/declFileInternalAliases.types @@ -10,25 +10,25 @@ module m1 { >m1 : typeof m1 import x = m.c; ->x : typeof c +>x : typeof x >m : typeof m ->c : c +>c : x export var d = new x(); // emit the type as m.c ->d : c ->new x() : c ->x : typeof c +>d : x +>new x() : x +>x : typeof x } module m2 { >m2 : typeof m2 export import x = m.c; ->x : typeof c +>x : typeof x >m : typeof m ->c : c +>c : x export var d = new x(); // emit the type as x ->d : c ->new x() : c ->x : typeof c +>d : x +>new x() : x +>x : typeof x } diff --git a/tests/baselines/reference/declFileModuleAssignmentInObjectLiteralProperty.types b/tests/baselines/reference/declFileModuleAssignmentInObjectLiteralProperty.types index db24dc10800..6fd697b7ea2 100644 --- a/tests/baselines/reference/declFileModuleAssignmentInObjectLiteralProperty.types +++ b/tests/baselines/reference/declFileModuleAssignmentInObjectLiteralProperty.types @@ -8,11 +8,8 @@ module m1 { } } var d = { ->d : { m1: { m: typeof m1; }; m2: { c: typeof c; }; } ->{ - m1: { m: m1 }, - m2: { c: m1.c }, -} : { m1: { m: typeof m1; }; m2: { c: typeof c; }; } +>d : { m1: { m: typeof m1; }; m2: { c: typeof m1.c; }; } +>{ m1: { m: m1 }, m2: { c: m1.c },} : { m1: { m: typeof m1; }; m2: { c: typeof m1.c; }; } m1: { m: m1 }, >m1 : { m: typeof m1; } @@ -21,11 +18,11 @@ var d = { >m1 : typeof m1 m2: { c: m1.c }, ->m2 : { c: typeof c; } ->{ c: m1.c } : { c: typeof c; } ->c : typeof c ->m1.c : typeof c +>m2 : { c: typeof m1.c; } +>{ c: m1.c } : { c: typeof m1.c; } +>c : typeof m1.c +>m1.c : typeof m1.c >m1 : typeof m1 ->c : typeof c +>c : typeof m1.c }; diff --git a/tests/baselines/reference/declFileModuleContinuation.types b/tests/baselines/reference/declFileModuleContinuation.types index 06eb82a1933..671d9e6923c 100644 --- a/tests/baselines/reference/declFileModuleContinuation.types +++ b/tests/baselines/reference/declFileModuleContinuation.types @@ -1,7 +1,7 @@ === tests/cases/compiler/declFileModuleContinuation.ts === module A.C { >A : typeof A ->C : C +>C : unknown export interface Z { >Z : Z @@ -15,8 +15,8 @@ module A.B.C { export class W implements A.C.Z { >W : W ->A : A ->C : C ->Z : Z +>A : unknown +>C : unknown +>Z : A.C.Z } } diff --git a/tests/baselines/reference/declFileTypeofFunction.types b/tests/baselines/reference/declFileTypeofFunction.types index a157f80074c..4f913b2c184 100644 --- a/tests/baselines/reference/declFileTypeofFunction.types +++ b/tests/baselines/reference/declFileTypeofFunction.types @@ -55,18 +55,14 @@ var foo2 = foo; var foo3 = function () { >foo3 : any ->function () { - return foo3; -} : () => any +>function () { return foo3;} : () => any return foo3; >foo3 : any } var x = () => { >x : any ->() => { - return x; -} : () => any +>() => { return x;} : () => any return x; >x : any diff --git a/tests/baselines/reference/declFileTypeofInAnonymousType.types b/tests/baselines/reference/declFileTypeofInAnonymousType.types index 49fc00e981e..39ea7383ca4 100644 --- a/tests/baselines/reference/declFileTypeofInAnonymousType.types +++ b/tests/baselines/reference/declFileTypeofInAnonymousType.types @@ -20,23 +20,20 @@ module m1 { } } var a: { c: m1.c; }; ->a : { c: c; } ->c : c ->m1 : m1 ->c : c +>a : { c: m1.c; } +>c : m1.c +>m1 : unknown +>c : m1.c var b = { ->b : { c: typeof c; m1: typeof m1; } ->{ - c: m1.c, - m1: m1 -} : { c: typeof c; m1: typeof m1; } +>b : { c: typeof m1.c; m1: typeof m1; } +>{ c: m1.c, m1: m1} : { c: typeof m1.c; m1: typeof m1; } c: m1.c, ->c : typeof c ->m1.c : typeof c +>c : typeof m1.c +>m1.c : typeof m1.c >m1 : typeof m1 ->c : typeof c +>c : typeof m1.c m1: m1 >m1 : typeof m1 @@ -50,13 +47,8 @@ var c = { m1: m1 }; >m1 : typeof m1 var d = { ->d : { m: { mod: typeof m1; }; mc: { cl: typeof c; }; me: { en: typeof e; }; mh: e; } ->{ - m: { mod: m1 }, - mc: { cl: m1.c }, - me: { en: m1.e }, - mh: m1.e.holiday -} : { m: { mod: typeof m1; }; mc: { cl: typeof c; }; me: { en: typeof e; }; mh: e; } +>d : { m: { mod: typeof m1; }; mc: { cl: typeof m1.c; }; me: { en: typeof m1.e; }; mh: m1.e; } +>{ m: { mod: m1 }, mc: { cl: m1.c }, me: { en: m1.e }, mh: m1.e.holiday} : { m: { mod: typeof m1; }; mc: { cl: typeof m1.c; }; me: { en: typeof m1.e; }; mh: m1.e; } m: { mod: m1 }, >m : { mod: typeof m1; } @@ -65,27 +57,27 @@ var d = { >m1 : typeof m1 mc: { cl: m1.c }, ->mc : { cl: typeof c; } ->{ cl: m1.c } : { cl: typeof c; } ->cl : typeof c ->m1.c : typeof c +>mc : { cl: typeof m1.c; } +>{ cl: m1.c } : { cl: typeof m1.c; } +>cl : typeof m1.c +>m1.c : typeof m1.c >m1 : typeof m1 ->c : typeof c +>c : typeof m1.c me: { en: m1.e }, ->me : { en: typeof e; } ->{ en: m1.e } : { en: typeof e; } ->en : typeof e ->m1.e : typeof e +>me : { en: typeof m1.e; } +>{ en: m1.e } : { en: typeof m1.e; } +>en : typeof m1.e +>m1.e : typeof m1.e >m1 : typeof m1 ->e : typeof e +>e : typeof m1.e mh: m1.e.holiday ->mh : e ->m1.e.holiday : e ->m1.e : typeof e +>mh : m1.e +>m1.e.holiday : m1.e +>m1.e : typeof m1.e >m1 : typeof m1 ->e : typeof e ->holiday : e +>e : typeof m1.e +>holiday : m1.e }; diff --git a/tests/baselines/reference/declFileWithClassNameConflictingWithClassReferredByExtendsClause.types b/tests/baselines/reference/declFileWithClassNameConflictingWithClassReferredByExtendsClause.types index 4da4b703f5f..34d263ef6bb 100644 --- a/tests/baselines/reference/declFileWithClassNameConflictingWithClassReferredByExtendsClause.types +++ b/tests/baselines/reference/declFileWithClassNameConflictingWithClassReferredByExtendsClause.types @@ -19,10 +19,10 @@ module X.Y.base { export class W extends A.B.Base.W { >W : W ->A : A ->B : B ->Base : Base ->W : W +>A : unknown +>B : unknown +>Base : unknown +>W : A.B.Base.W name: string; >name : string @@ -38,10 +38,10 @@ module X.Y.base.Z { export class W extends X.Y.base.W { >W : W >TValue : TValue ->X : X ->Y : Y ->base : base ->W : W +>X : unknown +>Y : unknown +>base : unknown +>W : base.W value: boolean; >value : boolean diff --git a/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause1.types b/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause1.types index 3f0c7d37e58..8c5c4169cb4 100644 --- a/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause1.types +++ b/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause1.types @@ -3,7 +3,7 @@ module X.A.C { >X : typeof X >A : typeof A ->C : C +>C : unknown export interface Z { >Z : Z @@ -16,13 +16,13 @@ module X.A.B.C { >C : typeof C module A { ->A : A +>A : unknown } export class W implements X.A.C.Z { // This needs to be refered as X.A.C.Z as A has conflict >W : W ->X : X ->A : A ->C : C ->Z : Z +>X : unknown +>A : unknown +>C : unknown +>Z : X.A.C.Z } } diff --git a/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause2.types b/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause2.types index 8041383332c..11afd69d94c 100644 --- a/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause2.types +++ b/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause2.types @@ -3,7 +3,7 @@ module X.A.C { >X : typeof X >A : typeof A ->C : C +>C : unknown export interface Z { >Z : Z @@ -17,9 +17,9 @@ module X.A.B.C { export class W implements A.C.Z { // This can refer to it as A.C.Z >W : W ->A : A ->C : C ->Z : Z +>A : unknown +>C : unknown +>Z : A.C.Z } } @@ -30,6 +30,6 @@ module X.A.B.C { >C : typeof C module A { ->A : A +>A : unknown } } diff --git a/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause3.types b/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause3.types index 023f4d81465..0b17b2ce78a 100644 --- a/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause3.types +++ b/tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause3.types @@ -3,7 +3,7 @@ module X.A.C { >X : typeof X >A : typeof A ->C : C +>C : unknown export interface Z { >Z : Z @@ -17,10 +17,10 @@ module X.A.B.C { export class W implements X.A.C.Z { // This needs to be refered as X.A.C.Z as A has conflict >W : W ->X : X ->A : A ->C : C ->Z : Z +>X : unknown +>A : unknown +>C : unknown +>Z : X.A.C.Z } } @@ -31,6 +31,6 @@ module X.A.B.C { >C : typeof C export module A { ->A : A +>A : unknown } } diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.types b/tests/baselines/reference/declarationEmit_nameConflicts.types index 2b6a8d21827..f07a7fbb2ab 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts.types +++ b/tests/baselines/reference/declarationEmit_nameConflicts.types @@ -1,6 +1,6 @@ === tests/cases/compiler/declarationEmit_nameConflicts_0.ts === import im = require('declarationEmit_nameConflicts_1'); ->im : typeof f +>im : typeof im export module M { >M : typeof M @@ -36,8 +36,8 @@ export module M { >N : typeof N export import d = im; ->d : typeof f ->im : typeof f +>d : typeof d +>im : typeof d } export module M.P { @@ -72,30 +72,30 @@ export module M.P { >a : () => void export var b = M.b; // ok ->b : typeof C ->M.b : typeof C +>b : typeof M.C +>M.b : typeof M.C >M : typeof M ->b : typeof C +>b : typeof M.C export var c = M.c; // ok ->c : typeof N ->M.c : typeof N +>c : typeof M.N +>M.c : typeof M.N >M : typeof M ->c : typeof N +>c : typeof M.N export var g = M.c.g; // ok >g : () => void >M.c.g : () => void ->M.c : typeof N +>M.c : typeof M.N >M : typeof M ->c : typeof N +>c : typeof M.N >g : () => void export var d = M.d; // emitted incorrectly as typeof im ->d : typeof f ->M.d : typeof f +>d : typeof M.d +>M.d : typeof M.d >M : typeof M ->d : typeof f +>d : typeof M.d } export module M.Q { @@ -119,23 +119,23 @@ export module M.Q { } export interface b extends M.b { } // ok >b : b ->M : M ->b : C +>M : unknown +>b : M.C export interface I extends M.c.I { } // ok >I : I ->M : M ->c : c ->I : I +>M : unknown +>c : unknown +>I : M.c.I export module c { ->c : c +>c : unknown export interface I extends M.c.I { } // ok >I : I ->M : M ->c : c ->I : I +>M : unknown +>c : unknown +>I : M.c.I } } === tests/cases/compiler/declarationEmit_nameConflicts_1.ts === diff --git a/tests/baselines/reference/declarationEmit_nameConflicts2.types b/tests/baselines/reference/declarationEmit_nameConflicts2.types index d1422468dd3..026cfed0989 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts2.types +++ b/tests/baselines/reference/declarationEmit_nameConflicts2.types @@ -37,32 +37,32 @@ module X.Y.base.Z { >f : () => void export var C = X.Y.base.C; // Should be base.C ->C : typeof C ->X.Y.base.C : typeof C +>C : typeof base.C +>X.Y.base.C : typeof base.C >X.Y.base : typeof base >X.Y : typeof Y >X : typeof X >Y : typeof Y >base : typeof base ->C : typeof C +>C : typeof base.C export var M = X.Y.base.M; // Should be base.M ->M : typeof M ->X.Y.base.M : typeof M +>M : typeof base.M +>X.Y.base.M : typeof base.M >X.Y.base : typeof base >X.Y : typeof Y >X : typeof X >Y : typeof Y >base : typeof base ->M : typeof M +>M : typeof base.M export var E = X.Y.base.E; // Should be base.E ->E : typeof E ->X.Y.base.E : typeof E +>E : typeof base.E +>X.Y.base.E : typeof base.E >X.Y.base : typeof base >X.Y : typeof Y >X : typeof X >Y : typeof Y >base : typeof base ->E : typeof E +>E : typeof base.E } diff --git a/tests/baselines/reference/declarationEmit_nameConflicts3.types b/tests/baselines/reference/declarationEmit_nameConflicts3.types index f474b19288e..50fd6ecdd1b 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts3.types +++ b/tests/baselines/reference/declarationEmit_nameConflicts3.types @@ -46,31 +46,31 @@ module M.P { >f : D } export var v: M.D; // ok ->v : D ->M : M ->D : D +>v : M.D +>M : unknown +>D : M.D export var w = M.D.f; // error, should be typeof M.D.f >w : () => void >M.D.f : () => void ->M.D : typeof D +>M.D : typeof M.D >M : typeof M ->D : typeof D +>D : typeof M.D >f : () => void export var x = M.C.f; // error, should be typeof M.C.f >x : () => void >M.C.f : () => void ->M.C : typeof C +>M.C : typeof M.C >M : typeof M ->C : typeof C +>C : typeof M.C >f : () => void export var x = M.E.f; // error, should be typeof M.E.f >x : () => void >M.E.f : () => void ->M.E : typeof E +>M.E : typeof M.E >M : typeof M ->E : typeof E +>E : typeof M.E >f : () => void } diff --git a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.types b/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.types index bd905943f4f..50c45a44a19 100644 --- a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.types +++ b/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.types @@ -1,21 +1,21 @@ === tests/cases/compiler/declarationEmit_nameConflictsWithAlias.ts === export module C { export interface I { } } ->C : C +>C : unknown >I : I export import v = C; ->v : v ->C : C +>v : unknown +>C : unknown export module M { >M : typeof M export module C { export interface I { } } ->C : C +>C : unknown >I : I export var w: v.I; // Gets emitted as C.I, which is the wrong interface ->w : I ->v : v ->I : I +>w : v.I +>v : unknown +>I : v.I } diff --git a/tests/baselines/reference/declareDottedExtend.types b/tests/baselines/reference/declareDottedExtend.types index 31f4fe01622..5efcea51b26 100644 --- a/tests/baselines/reference/declareDottedExtend.types +++ b/tests/baselines/reference/declareDottedExtend.types @@ -8,18 +8,18 @@ declare module A.B } import ab = A.B; ->ab : typeof B +>ab : typeof ab >A : typeof A ->B : typeof B +>B : typeof ab class D extends ab.C{ } >D : D ->ab : ab ->C : C +>ab : unknown +>C : ab.C class E extends A.B.C{ } >E : E ->A : A ->B : B ->C : C +>A : unknown +>B : unknown +>C : ab.C diff --git a/tests/baselines/reference/declareDottedModuleName.types b/tests/baselines/reference/declareDottedModuleName.types index 2a579cfb1f8..8ccd2298847 100644 --- a/tests/baselines/reference/declareDottedModuleName.types +++ b/tests/baselines/reference/declareDottedModuleName.types @@ -1,21 +1,21 @@ === tests/cases/compiler/declareDottedModuleName.ts === module M { ->M : M +>M : unknown module P.Q { } // This shouldnt be emitted ->P : P ->Q : Q +>P : unknown +>Q : unknown } module M { ->M : M +>M : unknown export module R.S { } //This should be emitted ->R : R ->S : S +>R : unknown +>S : unknown } module T.U { // This needs to be emitted ->T : T ->U : U +>T : unknown +>U : unknown } diff --git a/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.types b/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.types index f9f1211c2a7..70718471d50 100644 --- a/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.types +++ b/tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.types @@ -6,8 +6,8 @@ declare module "express" { function express(): express.ExpressServer; >express : typeof express ->express : express ->ExpressServer : ExpressServer +>express : unknown +>ExpressServer : express.ExpressServer module express { >express : typeof express diff --git a/tests/baselines/reference/declareFileExportAssignment.types b/tests/baselines/reference/declareFileExportAssignment.types index 613a4cc2071..f30586b07e3 100644 --- a/tests/baselines/reference/declareFileExportAssignment.types +++ b/tests/baselines/reference/declareFileExportAssignment.types @@ -27,24 +27,24 @@ module m2 { } var m2: { ->m2 : { (): connectExport; test1: connectModule; test2(): connectModule; } +>m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } (): m2.connectExport; ->m2 : m2 ->connectExport : connectExport +>m2 : unknown +>connectExport : m2.connectExport test1: m2.connectModule; ->test1 : connectModule ->m2 : m2 ->connectModule : connectModule +>test1 : m2.connectModule +>m2 : unknown +>connectModule : m2.connectModule test2(): m2.connectModule; ->test2 : () => connectModule ->m2 : m2 ->connectModule : connectModule +>test2 : () => m2.connectModule +>m2 : unknown +>connectModule : m2.connectModule }; export = m2; ->m2 : { (): connectExport; test1: connectModule; test2(): connectModule; } +>m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } diff --git a/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types b/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types index 0b173f89f16..675dc38c869 100644 --- a/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types +++ b/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types @@ -28,24 +28,24 @@ module m2 { var x = 10, m2: { >x : number ->m2 : { (): connectExport; test1: connectModule; test2(): connectModule; } +>m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } (): m2.connectExport; ->m2 : m2 ->connectExport : connectExport +>m2 : unknown +>connectExport : m2.connectExport test1: m2.connectModule; ->test1 : connectModule ->m2 : m2 ->connectModule : connectModule +>test1 : m2.connectModule +>m2 : unknown +>connectModule : m2.connectModule test2(): m2.connectModule; ->test2 : () => connectModule ->m2 : m2 ->connectModule : connectModule +>test2 : () => m2.connectModule +>m2 : unknown +>connectModule : m2.connectModule }; export = m2; ->m2 : { (): connectExport; test1: connectModule; test2(): connectModule; } +>m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } diff --git a/tests/baselines/reference/dependencyViaImportAlias.types b/tests/baselines/reference/dependencyViaImportAlias.types index 3fb8773aab5..aa4655e44f0 100644 --- a/tests/baselines/reference/dependencyViaImportAlias.types +++ b/tests/baselines/reference/dependencyViaImportAlias.types @@ -1,14 +1,14 @@ === tests/cases/compiler/B.ts === import a = require('A'); ->a : typeof "tests/cases/compiler/A" +>a : typeof a import A = a.A; ->A : typeof A ->a : typeof "tests/cases/compiler/A" ->A : A +>A : typeof a.A +>a : typeof a +>A : a.A export = A; ->A : A +>A : a.A === tests/cases/compiler/A.ts === export class A { diff --git a/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types b/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types index e9a24afdba2..4f1ff1780dc 100644 --- a/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types +++ b/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types @@ -34,6 +34,7 @@ class Derived extends Base { >r : { a: number; } >super.foo({ a: 1 }) : { a: number; } >super.foo : (x: { a: number; }) => { a: number; } +>super : Base >foo : (x: { a: number; }) => { a: number; } >{ a: 1 } : { a: number; } >a : number @@ -42,6 +43,7 @@ class Derived extends Base { >r2 : { a: number; } >super.foo({ a: 1, b: 2 }) : { a: number; } >super.foo : (x: { a: number; }) => { a: number; } +>super : Base >foo : (x: { a: number; }) => { a: number; } >{ a: 1, b: 2 } : { a: number; b: number; } >a : number diff --git a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types index 6ba99c0eca4..016a123c5c1 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types +++ b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction1.types @@ -10,11 +10,7 @@ class TestFile { >message : string return (...x: string[]) => ->(...x: string[]) => - /// Test summary - /// - /// - message + this.name : (...x: string[]) => string +>(...x: string[]) => /// Test summary /// /// message + this.name : (...x: string[]) => string >x : string[] /// Test summary diff --git a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types index 31f4fc73e9b..2199a4490b5 100644 --- a/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types +++ b/tests/baselines/reference/detachedCommentAtStartOfLambdaFunction2.types @@ -10,12 +10,7 @@ class TestFile { >message : string return (...x: string[]) => ->(...x: string[]) => - /// Test summary - /// - /// - - message + this.name : (...x: string[]) => string +>(...x: string[]) => /// Test summary /// /// message + this.name : (...x: string[]) => string >x : string[] /// Test summary diff --git a/tests/baselines/reference/dottedModuleName2.types b/tests/baselines/reference/dottedModuleName2.types index 350cb7401ec..e5a9806dd11 100644 --- a/tests/baselines/reference/dottedModuleName2.types +++ b/tests/baselines/reference/dottedModuleName2.types @@ -24,17 +24,17 @@ module AA { export module B { var tmpOK = AA.B.x; >tmpOK : number >AA.B.x : number ->AA.B : typeof B +>AA.B : typeof AA.B >AA : typeof AA ->B : typeof B +>B : typeof AA.B >x : number var tmpError = A.B.x; >tmpError : number >A.B.x : number ->A.B : typeof B +>A.B : typeof A.B >A : typeof A ->B : typeof B +>B : typeof A.B >x : number @@ -53,24 +53,24 @@ module A.B.C module M ->M : M +>M : unknown { import X1 = A; ->X1 : typeof A ->A : typeof A +>X1 : typeof X1 +>A : typeof X1 import X2 = A.B; ->X2 : typeof B ->A : typeof A ->B : typeof B +>X2 : typeof X1.B +>A : typeof X1 +>B : typeof X1.B import X3 = A.B.C; ->X3 : typeof C ->A : typeof A ->B : typeof B ->C : typeof C +>X3 : typeof X2.C +>A : typeof X1 +>B : typeof X1.B +>C : typeof X2.C } diff --git a/tests/baselines/reference/dottedSymbolResolution1.types b/tests/baselines/reference/dottedSymbolResolution1.types index 5155d067c41..776b9704e73 100644 --- a/tests/baselines/reference/dottedSymbolResolution1.types +++ b/tests/baselines/reference/dottedSymbolResolution1.types @@ -61,19 +61,13 @@ function _setBarAndText(): void { >JQueryStatic : JQueryStatic each(x.find(" "), function () { ->each(x.find(" "), function () { - var $this: JQuery = $(''), - thisBar = $this.find(".fx-usagebars-calloutbar-this"); // bug lead to 'could not find dotted symbol' here - } ) : any +>each(x.find(" "), function () { var $this: JQuery = $(''), thisBar = $this.find(".fx-usagebars-calloutbar-this"); // bug lead to 'could not find dotted symbol' here } ) : any >each : { (collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; (collection: JQuery, callback: (indexInArray: number, valueOfElement: Base) => any): any; } >x.find(" ") : JQuery >x.find : (selector: string) => JQuery >x : JQuery >find : (selector: string) => JQuery ->function () { - var $this: JQuery = $(''), - thisBar = $this.find(".fx-usagebars-calloutbar-this"); // bug lead to 'could not find dotted symbol' here - } : () => void +>function () { var $this: JQuery = $(''), thisBar = $this.find(".fx-usagebars-calloutbar-this"); // bug lead to 'could not find dotted symbol' here } : () => void var $this: JQuery = $(''), >$this : JQuery diff --git a/tests/baselines/reference/duplicateLabel1.errors.txt b/tests/baselines/reference/duplicateLabel1.errors.txt new file mode 100644 index 00000000000..7503b9b278f --- /dev/null +++ b/tests/baselines/reference/duplicateLabel1.errors.txt @@ -0,0 +1,7 @@ +==== tests/cases/compiler/duplicateLabel1.ts (1 errors) ==== + target: + target: + ~~~~~~ +!!! Duplicate label 'target' + while (true) { + } \ No newline at end of file diff --git a/tests/baselines/reference/duplicateLabel2.errors.txt b/tests/baselines/reference/duplicateLabel2.errors.txt new file mode 100644 index 00000000000..da40c01d528 --- /dev/null +++ b/tests/baselines/reference/duplicateLabel2.errors.txt @@ -0,0 +1,9 @@ +==== tests/cases/compiler/duplicateLabel2.ts (1 errors) ==== + target: + while (true) { + target: + ~~~~~~ +!!! Duplicate label 'target' + while (true) { + } + } \ No newline at end of file diff --git a/tests/baselines/reference/duplicateLabel3.js b/tests/baselines/reference/duplicateLabel3.js new file mode 100644 index 00000000000..37e9619e8f6 --- /dev/null +++ b/tests/baselines/reference/duplicateLabel3.js @@ -0,0 +1,17 @@ +//// [duplicateLabel3.ts] +target: +while (true) { + function f() { + target: + while (true) { + } + } +} + +//// [duplicateLabel3.js] +target: while (true) { + function f() { + target: while (true) { + } + } +} diff --git a/tests/baselines/reference/duplicateLabel3.types b/tests/baselines/reference/duplicateLabel3.types new file mode 100644 index 00000000000..d4a26fa22a0 --- /dev/null +++ b/tests/baselines/reference/duplicateLabel3.types @@ -0,0 +1,11 @@ +=== tests/cases/compiler/duplicateLabel3.ts === +target: +while (true) { + function f() { +>f : () => void + + target: + while (true) { + } + } +} diff --git a/tests/baselines/reference/duplicateLabel4.js b/tests/baselines/reference/duplicateLabel4.js new file mode 100644 index 00000000000..22d072d38d7 --- /dev/null +++ b/tests/baselines/reference/duplicateLabel4.js @@ -0,0 +1,14 @@ +//// [duplicateLabel4.ts] +target: +while (true) { +} + +target: +while (true) { +} + +//// [duplicateLabel4.js] +target: while (true) { +} +target: while (true) { +} diff --git a/tests/baselines/reference/duplicateLabel4.types b/tests/baselines/reference/duplicateLabel4.types new file mode 100644 index 00000000000..c671abcef35 --- /dev/null +++ b/tests/baselines/reference/duplicateLabel4.types @@ -0,0 +1,9 @@ +=== tests/cases/compiler/duplicateLabel4.ts === +target: +No type information for this code.while (true) { +No type information for this code.} +No type information for this code. +No type information for this code.target: +No type information for this code.while (true) { +No type information for this code.} +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/duplicateVarAndImport.types b/tests/baselines/reference/duplicateVarAndImport.types index a21f68a27ff..10db2738dde 100644 --- a/tests/baselines/reference/duplicateVarAndImport.types +++ b/tests/baselines/reference/duplicateVarAndImport.types @@ -5,9 +5,9 @@ var a; >a : any module M { } ->M : M +>M : unknown import a = M; >a : any ->M : M +>M : unknown diff --git a/tests/baselines/reference/emitMemberAccessExpression.js b/tests/baselines/reference/emitMemberAccessExpression.js index bf7da2505de..9488bbac5f0 100644 --- a/tests/baselines/reference/emitMemberAccessExpression.js +++ b/tests/baselines/reference/emitMemberAccessExpression.js @@ -49,6 +49,8 @@ var Microsoft; /// "use strict"; //// [emitMemberAccessExpression_file3.js] +/// +/// var Microsoft; (function (Microsoft) { (function (PeopleAtWork) { diff --git a/tests/baselines/reference/enumBasics.types b/tests/baselines/reference/enumBasics.types index 67c16c62620..f775295891a 100644 --- a/tests/baselines/reference/enumBasics.types +++ b/tests/baselines/reference/enumBasics.types @@ -158,9 +158,7 @@ enum E9 { // Enum constant members are propagated var doNotPropagate = [ >doNotPropagate : {}[] ->[ - E8.B, E7.A, E4.Z, E3.X, E3.Y, E3.Z -] : {}[] +>[ E8.B, E7.A, E4.Z, E3.X, E3.Y, E3.Z] : {}[] E8.B, E7.A, E4.Z, E3.X, E3.Y, E3.Z >E8.B : E8 @@ -186,9 +184,7 @@ var doNotPropagate = [ // Enum computed members are not propagated var doPropagate = [ >doPropagate : {}[] ->[ - E9.A, E9.B, E6.B, E6.C, E6.A, E5.A, E5.B, E5.C -] : {}[] +>[ E9.A, E9.B, E6.B, E6.C, E6.A, E5.A, E5.B, E5.C] : {}[] E9.A, E9.B, E6.B, E6.C, E6.A, E5.A, E5.B, E5.C >E9.A : E9 diff --git a/tests/baselines/reference/enumFromExternalModule.types b/tests/baselines/reference/enumFromExternalModule.types index e5aa4444094..554ac17ec67 100644 --- a/tests/baselines/reference/enumFromExternalModule.types +++ b/tests/baselines/reference/enumFromExternalModule.types @@ -1,15 +1,15 @@ === tests/cases/compiler/enumFromExternalModule_1.ts === /// import f = require('enumFromExternalModule_0'); ->f : typeof "tests/cases/compiler/enumFromExternalModule_0" +>f : typeof f var x = f.Mode.Open; ->x : Mode ->f.Mode.Open : Mode ->f.Mode : typeof Mode ->f : typeof "tests/cases/compiler/enumFromExternalModule_0" ->Mode : typeof Mode ->Open : Mode +>x : f.Mode +>f.Mode.Open : f.Mode +>f.Mode : typeof f.Mode +>f : typeof f +>Mode : typeof f.Mode +>Open : f.Mode === tests/cases/compiler/enumFromExternalModule_0.ts === export enum Mode { Open } diff --git a/tests/baselines/reference/enumMerging.types b/tests/baselines/reference/enumMerging.types index da0a30102c7..c61f9e17739 100644 --- a/tests/baselines/reference/enumMerging.types +++ b/tests/baselines/reference/enumMerging.types @@ -185,20 +185,20 @@ module M6 { >Yellow : Color } var t = A.Color.Yellow; ->t : Color ->A.Color.Yellow : Color ->A.Color : typeof Color +>t : A.Color +>A.Color.Yellow : A.Color +>A.Color : typeof A.Color >A : typeof A ->Color : typeof Color ->Yellow : Color +>Color : typeof A.Color +>Yellow : A.Color t = A.Color.Red; ->t = A.Color.Red : Color ->t : Color ->A.Color.Red : Color ->A.Color : typeof Color +>t = A.Color.Red : A.Color +>t : A.Color +>A.Color.Red : A.Color +>A.Color : typeof A.Color >A : typeof A ->Color : typeof Color ->Red : Color +>Color : typeof A.Color +>Red : A.Color } diff --git a/tests/baselines/reference/es6ClassSuperCodegenBug.types b/tests/baselines/reference/es6ClassSuperCodegenBug.types index 2c74789b587..7b8a4abadfe 100644 --- a/tests/baselines/reference/es6ClassSuperCodegenBug.types +++ b/tests/baselines/reference/es6ClassSuperCodegenBug.types @@ -14,10 +14,12 @@ class B extends A { if (true) { super('a1', 'b1'); >super('a1', 'b1') : void +>super : typeof A } else { super('a2', 'b2'); >super('a2', 'b2') : void +>super : typeof A } } } diff --git a/tests/baselines/reference/es6ClassTest5.types b/tests/baselines/reference/es6ClassTest5.types index d1d3ab1b780..e04be3e8c43 100644 --- a/tests/baselines/reference/es6ClassTest5.types +++ b/tests/baselines/reference/es6ClassTest5.types @@ -8,9 +8,7 @@ class C1T5 { >s : string (i) => { ->(i) => { - return i; - } : (i: number) => number +>(i) => { return i; } : (i: number) => number >i : number return i; @@ -18,7 +16,7 @@ class C1T5 { } } module C2T5 {} ->C2T5 : C2T5 +>C2T5 : unknown class bigClass { >bigClass : bigClass diff --git a/tests/baselines/reference/es6ClassTest7.types b/tests/baselines/reference/es6ClassTest7.types index 149fcac9c1e..9ac4a65b305 100644 --- a/tests/baselines/reference/es6ClassTest7.types +++ b/tests/baselines/reference/es6ClassTest7.types @@ -9,7 +9,7 @@ declare module M { class Bar extends M.Foo { >Bar : Bar ->M : M ->Foo : Foo +>M : unknown +>Foo : M.Foo } diff --git a/tests/baselines/reference/es6ClassTest8.types b/tests/baselines/reference/es6ClassTest8.types index 5272f192b85..e5133c88d7e 100644 --- a/tests/baselines/reference/es6ClassTest8.types +++ b/tests/baselines/reference/es6ClassTest8.types @@ -10,12 +10,8 @@ class C { constructor() { var bar:any = (function() { >bar : any ->(function() { - return bar; // 'bar' should be resolvable - }) : () => any ->function() { - return bar; // 'bar' should be resolvable - } : () => any +>(function() { return bar; // 'bar' should be resolvable }) : () => any +>function() { return bar; // 'bar' should be resolvable } : () => any return bar; // 'bar' should be resolvable >bar : any diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types index 49f2ac2a781..54dcc67b78a 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types @@ -138,13 +138,13 @@ var aModule: typeof M = M; >M : typeof M var aClassInModule: M.A = new M.A(); ->aClassInModule : A ->M : M ->A : A ->new M.A() : A ->M.A : typeof A +>aClassInModule : M.A +>M : unknown +>A : M.A +>new M.A() : M.A +>M.A : typeof M.A >M : typeof M ->A : typeof A +>A : typeof M.A var aFunctionInModule: typeof M.F2 = (x) => 'this is a string'; >aFunctionInModule : (x: number) => string diff --git a/tests/baselines/reference/everyTypeWithInitializer.types b/tests/baselines/reference/everyTypeWithInitializer.types index a721a88a5ca..3ebe8368f35 100644 --- a/tests/baselines/reference/everyTypeWithInitializer.types +++ b/tests/baselines/reference/everyTypeWithInitializer.types @@ -116,11 +116,11 @@ var aModule = M; >M : typeof M var aClassInModule = new M.A(); ->aClassInModule : A ->new M.A() : A ->M.A : typeof A +>aClassInModule : M.A +>new M.A() : M.A +>M.A : typeof M.A >M : typeof M ->A : typeof A +>A : typeof M.A var aFunctionInModule = M.F2; >aFunctionInModule : (x: number) => string diff --git a/tests/baselines/reference/exportAssignClassAndModule.types b/tests/baselines/reference/exportAssignClassAndModule.types index 97289bc09d6..0118e6fa812 100644 --- a/tests/baselines/reference/exportAssignClassAndModule.types +++ b/tests/baselines/reference/exportAssignClassAndModule.types @@ -4,27 +4,27 @@ import Foo = require('exportAssignClassAndModule_0'); >Foo : typeof Foo var z: Foo.Bar; ->z : Bar +>z : Foo.Bar >Foo : Foo ->Bar : Bar +>Bar : Foo.Bar var zz: Foo; >zz : Foo >Foo : Foo zz.x; ->zz.x : Bar +>zz.x : Foo.Bar >zz : Foo ->x : Bar +>x : Foo.Bar === tests/cases/compiler/exportAssignClassAndModule_0.ts === class Foo { >Foo : Foo x: Foo.Bar; ->x : Bar +>x : Foo.Bar >Foo : Foo ->Bar : Bar +>Bar : Foo.Bar } module Foo { >Foo : typeof Foo diff --git a/tests/baselines/reference/exportAssignValueAndType.types b/tests/baselines/reference/exportAssignValueAndType.types index 1d595bf3137..7d18e3c1655 100644 --- a/tests/baselines/reference/exportAssignValueAndType.types +++ b/tests/baselines/reference/exportAssignValueAndType.types @@ -1,6 +1,6 @@ === tests/cases/compiler/exportAssignValueAndType.ts === declare module http { ->http : http +>http : unknown export interface Server { openPort: number; } >Server : Server @@ -11,8 +11,8 @@ interface server { >server : server (): http.Server; ->http : http ->Server : Server +>http : unknown +>Server : http.Server startTime: Date; >startTime : Date diff --git a/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.types b/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.types index b6cd8feb91e..8ac473f970a 100644 --- a/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.types +++ b/tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.types @@ -1,11 +1,11 @@ === tests/cases/compiler/exportAssignedTypeAsTypeAnnotation_1.ts === /// import test = require('exportAssignedTypeAsTypeAnnotation_0'); ->test : test +>test : unknown var t2: test; // should not raise a 'container type' error ->t2 : x ->test : x +>t2 : test +>test : test === tests/cases/compiler/exportAssignedTypeAsTypeAnnotation_0.ts === diff --git a/tests/baselines/reference/exportAssignmentCircularModules.types b/tests/baselines/reference/exportAssignmentCircularModules.types index 3bc8f09cc85..57d5a8cccce 100644 --- a/tests/baselines/reference/exportAssignmentCircularModules.types +++ b/tests/baselines/reference/exportAssignmentCircularModules.types @@ -1,6 +1,6 @@ === tests/cases/conformance/externalModules/foo_2.ts === import foo0 = require("./foo_0"); ->foo0 : typeof Foo +>foo0 : typeof foo0 module Foo { >Foo : typeof Foo @@ -8,7 +8,7 @@ module Foo { export var x = foo0.x; >x : any >foo0.x : any ->foo0 : typeof Foo +>foo0 : typeof foo0 >x : any } export = Foo; @@ -16,7 +16,7 @@ export = Foo; === tests/cases/conformance/externalModules/foo_0.ts === import foo1 = require('./foo_1'); ->foo1 : typeof Foo +>foo1 : typeof foo1 module Foo { >Foo : typeof Foo @@ -24,7 +24,7 @@ module Foo { export var x = foo1.x; >x : any >foo1.x : any ->foo1 : typeof Foo +>foo1 : typeof foo1 >x : any } export = Foo; @@ -32,7 +32,7 @@ export = Foo; === tests/cases/conformance/externalModules/foo_1.ts === import foo2 = require("./foo_2"); ->foo2 : typeof Foo +>foo2 : typeof foo2 module Foo { >Foo : typeof Foo @@ -40,7 +40,7 @@ module Foo { export var x = foo2.x; >x : any >foo2.x : any ->foo2 : typeof Foo +>foo2 : typeof foo2 >x : any } export = Foo; diff --git a/tests/baselines/reference/exportAssignmentClass.types b/tests/baselines/reference/exportAssignmentClass.types index 03b16d0ef2f..c7c3f38d7ea 100644 --- a/tests/baselines/reference/exportAssignmentClass.types +++ b/tests/baselines/reference/exportAssignmentClass.types @@ -1,16 +1,16 @@ === tests/cases/compiler/exportAssignmentClass_B.ts === import D = require("exportAssignmentClass_A"); ->D : typeof C +>D : typeof D var d = new D(); ->d : C ->new D() : C ->D : typeof C +>d : D +>new D() : D +>D : typeof D var x = d.p; >x : number >d.p : number ->d : C +>d : D >p : number === tests/cases/compiler/exportAssignmentClass_A.ts === diff --git a/tests/baselines/reference/exportAssignmentEnum.types b/tests/baselines/reference/exportAssignmentEnum.types index 6e258339277..9dfa34d3777 100644 --- a/tests/baselines/reference/exportAssignmentEnum.types +++ b/tests/baselines/reference/exportAssignmentEnum.types @@ -1,24 +1,24 @@ === tests/cases/compiler/exportAssignmentEnum_B.ts === import EnumE = require("exportAssignmentEnum_A"); ->EnumE : typeof E +>EnumE : typeof EnumE var a = EnumE.A; ->a : E ->EnumE.A : E ->EnumE : typeof E ->A : E +>a : EnumE +>EnumE.A : EnumE +>EnumE : typeof EnumE +>A : EnumE var b = EnumE.B; ->b : E ->EnumE.B : E ->EnumE : typeof E ->B : E +>b : EnumE +>EnumE.B : EnumE +>EnumE : typeof EnumE +>B : EnumE var c = EnumE.C; ->c : E ->EnumE.C : E ->EnumE : typeof E ->C : E +>c : EnumE +>EnumE.C : EnumE +>EnumE : typeof EnumE +>C : EnumE === tests/cases/compiler/exportAssignmentEnum_A.ts === enum E { diff --git a/tests/baselines/reference/exportAssignmentGenericType.types b/tests/baselines/reference/exportAssignmentGenericType.types index 249c6d6bda0..241a8dac954 100644 --- a/tests/baselines/reference/exportAssignmentGenericType.types +++ b/tests/baselines/reference/exportAssignmentGenericType.types @@ -1,16 +1,16 @@ === tests/cases/conformance/externalModules/foo_1.ts === import foo = require("./foo_0"); ->foo : typeof Foo +>foo : typeof foo var x = new foo(); ->x : Foo ->new foo() : Foo ->foo : typeof Foo +>x : foo +>new foo() : foo +>foo : typeof foo var y:number = x.test; >y : number >x.test : number ->x : Foo +>x : foo >test : number === tests/cases/conformance/externalModules/foo_0.ts === diff --git a/tests/baselines/reference/exportAssignmentInterface.types b/tests/baselines/reference/exportAssignmentInterface.types index 429a64c8029..f4ed92d9471 100644 --- a/tests/baselines/reference/exportAssignmentInterface.types +++ b/tests/baselines/reference/exportAssignmentInterface.types @@ -1,15 +1,15 @@ === tests/cases/compiler/exportAssignmentInterface_B.ts === import I1 = require("exportAssignmentInterface_A"); ->I1 : I1 +>I1 : unknown var i: I1; ->i : A ->I1 : A +>i : I1 +>I1 : I1 var n: number = i.p1; >n : number >i.p1 : number ->i : A +>i : I1 >p1 : number === tests/cases/compiler/exportAssignmentInterface_A.ts === diff --git a/tests/baselines/reference/exportAssignmentInternalModule.types b/tests/baselines/reference/exportAssignmentInternalModule.types index c7231cef453..028507b7a04 100644 --- a/tests/baselines/reference/exportAssignmentInternalModule.types +++ b/tests/baselines/reference/exportAssignmentInternalModule.types @@ -1,11 +1,11 @@ === tests/cases/compiler/exportAssignmentInternalModule_B.ts === import modM = require("exportAssignmentInternalModule_A"); ->modM : typeof M +>modM : typeof modM var n: number = modM.x; >n : number >modM.x : any ->modM : typeof M +>modM : typeof modM >x : any === tests/cases/compiler/exportAssignmentInternalModule_A.ts === diff --git a/tests/baselines/reference/exportAssignmentMergedInterface.types b/tests/baselines/reference/exportAssignmentMergedInterface.types index 53d80ec0434..d0fb5383b29 100644 --- a/tests/baselines/reference/exportAssignmentMergedInterface.types +++ b/tests/baselines/reference/exportAssignmentMergedInterface.types @@ -1,30 +1,30 @@ === tests/cases/conformance/externalModules/foo_1.ts === import foo = require("./foo_0"); ->foo : foo +>foo : unknown var x: foo; ->x : Foo ->foo : Foo +>x : foo +>foo : foo x("test"); >x("test") : void ->x : Foo +>x : foo x(42); >x(42) : number ->x : Foo +>x : foo var y: string = x.b; >y : string >x.b : string ->x : Foo +>x : foo >b : string if(!!x.c){ } >!!x.c : boolean >!x.c : boolean >x.c : boolean ->x : Foo +>x : foo >c : boolean var z = {x: 1, y: 2}; @@ -37,7 +37,7 @@ z = x.d; >z = x.d : { x: number; y: number; } >z : { x: number; y: number; } >x.d : { x: number; y: number; } ->x : Foo +>x : foo >d : { x: number; y: number; } === tests/cases/conformance/externalModules/foo_0.ts === diff --git a/tests/baselines/reference/exportAssignmentMergedModule.types b/tests/baselines/reference/exportAssignmentMergedModule.types index 42dfe518d33..d72f173a439 100644 --- a/tests/baselines/reference/exportAssignmentMergedModule.types +++ b/tests/baselines/reference/exportAssignmentMergedModule.types @@ -1,31 +1,31 @@ === tests/cases/conformance/externalModules/foo_1.ts === import foo = require("./foo_0"); ->foo : typeof Foo +>foo : typeof foo var a: number = foo.a(); >a : number >foo.a() : number >foo.a : () => number ->foo : typeof Foo +>foo : typeof foo >a : () => number if(!!foo.b){ >!!foo.b : boolean >!foo.b : boolean >foo.b : boolean ->foo : typeof Foo +>foo : typeof foo >b : boolean foo.Test.answer = foo.c(42); >foo.Test.answer = foo.c(42) : number >foo.Test.answer : number ->foo.Test : typeof Test ->foo : typeof Foo ->Test : typeof Test +>foo.Test : typeof foo.Test +>foo : typeof foo +>Test : typeof foo.Test >answer : number >foo.c(42) : number >foo.c : (a: number) => number ->foo : typeof Foo +>foo : typeof foo >c : (a: number) => number } === tests/cases/conformance/externalModules/foo_0.ts === diff --git a/tests/baselines/reference/exportAssignmentOfGenericType1.types b/tests/baselines/reference/exportAssignmentOfGenericType1.types index 86011e614f7..1bf3e7454a7 100644 --- a/tests/baselines/reference/exportAssignmentOfGenericType1.types +++ b/tests/baselines/reference/exportAssignmentOfGenericType1.types @@ -1,11 +1,11 @@ === tests/cases/compiler/exportAssignmentOfGenericType1_1.ts === /// import q = require("exportAssignmentOfGenericType1_0"); ->q : typeof T +>q : typeof q class M extends q { } >M : M ->q : T +>q : q var m: M; >m : M diff --git a/tests/baselines/reference/exportAssignmentTopLevelClodule.types b/tests/baselines/reference/exportAssignmentTopLevelClodule.types index 7e016c7196e..80a56cd7b5f 100644 --- a/tests/baselines/reference/exportAssignmentTopLevelClodule.types +++ b/tests/baselines/reference/exportAssignmentTopLevelClodule.types @@ -1,17 +1,17 @@ === tests/cases/conformance/externalModules/foo_1.ts === import foo = require("./foo_0"); ->foo : typeof Foo +>foo : typeof foo if(foo.answer === 42){ >foo.answer === 42 : boolean >foo.answer : number ->foo : typeof Foo +>foo : typeof foo >answer : number var x = new foo(); ->x : Foo ->new foo() : Foo ->foo : typeof Foo +>x : foo +>new foo() : foo +>foo : typeof foo } === tests/cases/conformance/externalModules/foo_0.ts === diff --git a/tests/baselines/reference/exportAssignmentTopLevelIdentifier.types b/tests/baselines/reference/exportAssignmentTopLevelIdentifier.types index b248e35d4a3..09d881715dd 100644 --- a/tests/baselines/reference/exportAssignmentTopLevelIdentifier.types +++ b/tests/baselines/reference/exportAssignmentTopLevelIdentifier.types @@ -1,11 +1,11 @@ === tests/cases/conformance/externalModules/foo_1.ts === import foo = require("./foo_0"); ->foo : typeof Foo +>foo : typeof foo if(foo.answer === 42){ >foo.answer === 42 : boolean >foo.answer : number ->foo : typeof Foo +>foo : typeof foo >answer : number } diff --git a/tests/baselines/reference/exportAssignmentWithImportStatementPrivacyError.types b/tests/baselines/reference/exportAssignmentWithImportStatementPrivacyError.types index d7749845000..7d6c7166655 100644 --- a/tests/baselines/reference/exportAssignmentWithImportStatementPrivacyError.types +++ b/tests/baselines/reference/exportAssignmentWithImportStatementPrivacyError.types @@ -1,6 +1,6 @@ === tests/cases/compiler/exportAssignmentWithImportStatementPrivacyError.ts === module m2 { ->m2 : m2 +>m2 : unknown export interface connectModule { >connectModule : connectModule @@ -30,21 +30,21 @@ module M { >M : typeof M export var server: { ->server : { (): connectExport; test1: connectModule; test2(): connectModule; } +>server : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } (): m2.connectExport; ->m2 : m2 ->connectExport : connectExport +>m2 : unknown +>connectExport : m2.connectExport test1: m2.connectModule; ->test1 : connectModule ->m2 : m2 ->connectModule : connectModule +>test1 : m2.connectModule +>m2 : unknown +>connectModule : m2.connectModule test2(): m2.connectModule; ->test2 : () => connectModule ->m2 : m2 ->connectModule : connectModule +>test2 : () => m2.connectModule +>m2 : unknown +>connectModule : m2.connectModule }; } diff --git a/tests/baselines/reference/exportEqualNamespaces.types b/tests/baselines/reference/exportEqualNamespaces.types index 9da65466c63..57ed5742b2a 100644 --- a/tests/baselines/reference/exportEqualNamespaces.types +++ b/tests/baselines/reference/exportEqualNamespaces.types @@ -12,7 +12,7 @@ interface server { (): server.Server; >server : server ->Server : Server +>Server : server.Server startTime: Date; >startTime : Date diff --git a/tests/baselines/reference/exportImport.types b/tests/baselines/reference/exportImport.types index 3fa93127cc8..9899103d779 100644 --- a/tests/baselines/reference/exportImport.types +++ b/tests/baselines/reference/exportImport.types @@ -1,17 +1,17 @@ === tests/cases/compiler/consumer.ts === import e = require('./exporter'); ->e : typeof "tests/cases/compiler/exporter" +>e : typeof e export function w(): e.w { // Should be OK ->w : () => Widget1 ->e : e ->w : Widget1 +>w : () => e.w +>e : unknown +>w : e.w return new e.w(); ->new e.w() : Widget1 ->e.w : typeof Widget1 ->e : typeof "tests/cases/compiler/exporter" ->w : typeof Widget1 +>new e.w() : e.w +>e.w : typeof e.w +>e : typeof e +>w : typeof e.w } === tests/cases/compiler/w1.ts === @@ -24,5 +24,5 @@ class Widget1 { name = 'one'; } === tests/cases/compiler/exporter.ts === export import w = require('./w1'); ->w : typeof Widget1 +>w : typeof w diff --git a/tests/baselines/reference/exportImportAlias.types b/tests/baselines/reference/exportImportAlias.types index e65b0e8fc8e..0834d664861 100644 --- a/tests/baselines/reference/exportImportAlias.types +++ b/tests/baselines/reference/exportImportAlias.types @@ -15,7 +15,7 @@ module A { >y : number } export module B { ->B : B +>B : unknown export interface Id { >Id : Id @@ -30,8 +30,8 @@ module C { >C : typeof C export import a = A; ->a : typeof A ->A : typeof A +>a : typeof a +>A : typeof a } var a: string = C.a.x; @@ -46,12 +46,12 @@ var b: { x: number; y: number; } = new C.a.Point(0, 0); >b : { x: number; y: number; } >x : number >y : number ->new C.a.Point(0, 0) : Point ->C.a.Point : typeof Point +>new C.a.Point(0, 0) : A.Point +>C.a.Point : typeof A.Point >C.a : typeof A >C : typeof C >a : typeof A ->Point : typeof Point +>Point : typeof A.Point var c: { name: string }; >c : { name: string; } @@ -59,10 +59,10 @@ var c: { name: string }; var c: C.a.B.Id; >c : { name: string; } ->C : C ->a : a ->B : B ->Id : Id +>C : unknown +>a : unknown +>B : unknown +>Id : A.B.Id module X { >X : typeof X @@ -91,28 +91,28 @@ module Z { // 'y' should be a fundule here export import y = X.Y; ->y : typeof Y +>y : typeof y >X : typeof X ->Y : typeof Y +>Y : typeof y } var m: number = Z.y(); >m : number >Z.y() : number ->Z.y : typeof Y +>Z.y : typeof X.Y >Z : typeof Z ->y : typeof Y +>y : typeof X.Y var n: { x: number; y: number; } = new Z.y.Point(0, 0); >n : { x: number; y: number; } >x : number >y : number ->new Z.y.Point(0, 0) : Point ->Z.y.Point : typeof Point ->Z.y : typeof Y +>new Z.y.Point(0, 0) : X.Y.Point +>Z.y.Point : typeof X.Y.Point +>Z.y : typeof X.Y >Z : typeof Z ->y : typeof Y ->Point : typeof Point +>y : typeof X.Y +>Point : typeof X.Y.Point module K { >K : typeof K @@ -146,9 +146,9 @@ module M { >M : typeof M export import D = K.L; ->D : typeof L +>D : typeof D >K : typeof K ->L : L +>L : D } var o: { name: string }; @@ -157,10 +157,10 @@ var o: { name: string }; var o = new M.D('Hello'); >o : { name: string; } ->new M.D('Hello') : L ->M.D : typeof L +>new M.D('Hello') : K.L +>M.D : typeof K.L >M : typeof M ->D : typeof L +>D : typeof K.L var p: { x: number; y: number; } >p : { x: number; y: number; } @@ -169,7 +169,7 @@ var p: { x: number; y: number; } var p: M.D.Point; >p : { x: number; y: number; } ->M : M ->D : D ->Point : Point +>M : unknown +>D : unknown +>Point : K.L.Point diff --git a/tests/baselines/reference/exportImportAndClodule.types b/tests/baselines/reference/exportImportAndClodule.types index 13734561233..7d233e72e77 100644 --- a/tests/baselines/reference/exportImportAndClodule.types +++ b/tests/baselines/reference/exportImportAndClodule.types @@ -29,9 +29,9 @@ module M { >M : typeof M export import D = K.L; ->D : typeof L +>D : typeof D >K : typeof K ->L : L +>L : D } var o: { name: string }; >o : { name: string; } @@ -39,10 +39,10 @@ var o: { name: string }; var o = new M.D('Hello'); >o : { name: string; } ->new M.D('Hello') : L ->M.D : typeof L +>new M.D('Hello') : K.L +>M.D : typeof K.L >M : typeof M ->D : typeof L +>D : typeof K.L var p: { x: number; y: number; } >p : { x: number; y: number; } @@ -51,7 +51,7 @@ var p: { x: number; y: number; } var p: M.D.Point; >p : { x: number; y: number; } ->M : M ->D : D ->Point : Point +>M : unknown +>D : unknown +>Point : K.L.Point diff --git a/tests/baselines/reference/exportImportMultipleFiles.types b/tests/baselines/reference/exportImportMultipleFiles.types index 02b17bd4101..adafcef2dba 100644 --- a/tests/baselines/reference/exportImportMultipleFiles.types +++ b/tests/baselines/reference/exportImportMultipleFiles.types @@ -1,13 +1,13 @@ === tests/cases/compiler/exportImportMultipleFiles_userCode.ts === import lib = require('./exportImportMultipleFiles_library'); ->lib : typeof "tests/cases/compiler/exportImportMultipleFiles_library" +>lib : typeof lib lib.math.add(3, 4); // Shouldnt be error >lib.math.add(3, 4) : any >lib.math.add : (a: any, b: any) => any ->lib.math : typeof "tests/cases/compiler/exportImportMultipleFiles_math" ->lib : typeof "tests/cases/compiler/exportImportMultipleFiles_library" ->math : typeof "tests/cases/compiler/exportImportMultipleFiles_math" +>lib.math : typeof lib.math +>lib : typeof lib +>math : typeof lib.math >add : (a: any, b: any) => any === tests/cases/compiler/exportImportMultipleFiles_math.ts === @@ -21,11 +21,11 @@ export function add(a, b) { return a + b; } === tests/cases/compiler/exportImportMultipleFiles_library.ts === export import math = require("exportImportMultipleFiles_math"); ->math : typeof "tests/cases/compiler/exportImportMultipleFiles_math" +>math : typeof math math.add(3, 4); // OK >math.add(3, 4) : any >math.add : (a: any, b: any) => any ->math : typeof "tests/cases/compiler/exportImportMultipleFiles_math" +>math : typeof math >add : (a: any, b: any) => any diff --git a/tests/baselines/reference/exportImportNonInstantiatedModule.types b/tests/baselines/reference/exportImportNonInstantiatedModule.types index e89b34a2bbf..d1210cba6fe 100644 --- a/tests/baselines/reference/exportImportNonInstantiatedModule.types +++ b/tests/baselines/reference/exportImportNonInstantiatedModule.types @@ -1,6 +1,6 @@ === tests/cases/compiler/exportImportNonInstantiatedModule.ts === module A { ->A : A +>A : unknown export interface I { x: number } >I : I @@ -11,16 +11,16 @@ module B { >B : typeof B export import A1 = A ->A1 : A1 ->A : A +>A1 : unknown +>A : unknown } var x: B.A1.I = { x: 1 }; ->x : I ->B : B ->A1 : A1 ->I : I +>x : A.I +>B : unknown +>A1 : unknown +>I : A.I >{ x: 1 } : { x: number; } >x : number diff --git a/tests/baselines/reference/exportImportNonInstantiatedModule2.types b/tests/baselines/reference/exportImportNonInstantiatedModule2.types index 2138bce4831..c11eac715a9 100644 --- a/tests/baselines/reference/exportImportNonInstantiatedModule2.types +++ b/tests/baselines/reference/exportImportNonInstantiatedModule2.types @@ -1,11 +1,11 @@ === tests/cases/compiler/consumer.ts === import e = require('./exporter'); ->e : typeof "tests/cases/compiler/exporter" +>e : typeof e export function w(): e.w { // Should be OK ->w : () => Widget1 ->e : e ->w : Widget1 +>w : () => e.w +>e : unknown +>w : e.w return {name: 'value' }; >{name: 'value' } : { name: string; } @@ -22,5 +22,5 @@ interface Widget1 { name: string; } === tests/cases/compiler/exporter.ts === export import w = require('./w1'); ->w : w +>w : unknown diff --git a/tests/baselines/reference/extBaseClass1.types b/tests/baselines/reference/extBaseClass1.types index d00c6e632e3..16f89ab5a20 100644 --- a/tests/baselines/reference/extBaseClass1.types +++ b/tests/baselines/reference/extBaseClass1.types @@ -29,8 +29,8 @@ module N { export class C3 extends M.B { >C3 : C3 ->M : M ->B : B +>M : unknown +>B : M.B } } diff --git a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types index f4382fac5df..fefa692b509 100644 --- a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types +++ b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types @@ -1,53 +1,50 @@ === tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_main.ts === import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone"); ->Backbone : typeof "tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_backbone" +>Backbone : typeof Backbone import moduleA = require("extendingClassFromAliasAndUsageInIndexer_moduleA"); ->moduleA : typeof "tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleA" +>moduleA : typeof moduleA import moduleB = require("extendingClassFromAliasAndUsageInIndexer_moduleB"); ->moduleB : typeof "tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleB" +>moduleB : typeof moduleB interface IHasVisualizationModel { >IHasVisualizationModel : IHasVisualizationModel VisualizationModel: typeof Backbone.Model; ->VisualizationModel : typeof Model ->Backbone : typeof "tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_backbone" ->Model : typeof Model +>VisualizationModel : typeof Backbone.Model +>Backbone : typeof Backbone +>Model : typeof Backbone.Model } var moduleATyped: IHasVisualizationModel = moduleA; >moduleATyped : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel ->moduleA : typeof "tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleA" +>moduleA : typeof moduleA var moduleMap: { [key: string]: IHasVisualizationModel } = { >moduleMap : { [x: string]: IHasVisualizationModel; } >key : string >IHasVisualizationModel : IHasVisualizationModel ->{ - "moduleA": moduleA, - "moduleB": moduleB -} : { [x: string]: IHasVisualizationModel; "moduleA": typeof "tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleA"; "moduleB": typeof "tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleB"; } +>{ "moduleA": moduleA, "moduleB": moduleB} : { [x: string]: IHasVisualizationModel; "moduleA": typeof moduleA; "moduleB": typeof moduleB; } "moduleA": moduleA, ->moduleA : typeof "tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleA" +>moduleA : typeof moduleA "moduleB": moduleB ->moduleB : typeof "tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleB" +>moduleB : typeof moduleB }; var moduleName: string; >moduleName : string var visModel = new moduleMap[moduleName].VisualizationModel(); ->visModel : Model ->new moduleMap[moduleName].VisualizationModel() : Model ->moduleMap[moduleName].VisualizationModel : typeof Model +>visModel : Backbone.Model +>new moduleMap[moduleName].VisualizationModel() : Backbone.Model +>moduleMap[moduleName].VisualizationModel : typeof Backbone.Model >moduleMap[moduleName] : IHasVisualizationModel >moduleMap : { [x: string]: IHasVisualizationModel; } >moduleName : string ->VisualizationModel : typeof Model +>VisualizationModel : typeof Backbone.Model === tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_backbone.ts === export class Model { @@ -59,24 +56,24 @@ export class Model { === tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleA.ts === import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone"); ->Backbone : typeof "tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_backbone" +>Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel ->Backbone : Backbone ->Model : Model +>Backbone : unknown +>Model : Backbone.Model // interesting stuff here } === tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleB.ts === import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone"); ->Backbone : typeof "tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_backbone" +>Backbone : typeof Backbone export class VisualizationModel extends Backbone.Model { >VisualizationModel : VisualizationModel ->Backbone : Backbone ->Model : Model +>Backbone : unknown +>Model : Backbone.Model // different interesting stuff here } diff --git a/tests/baselines/reference/externModuleClobber.types b/tests/baselines/reference/externModuleClobber.types index ef659a37180..d1a7ba32651 100644 --- a/tests/baselines/reference/externModuleClobber.types +++ b/tests/baselines/reference/externModuleClobber.types @@ -10,30 +10,30 @@ declare module EM { public getPosition() : EM.Position; >getPosition : () => Position ->EM : EM +>EM : unknown >Position : Position } } var x:EM.Position; ->x : Position ->EM : EM ->Position : Position +>x : EM.Position +>EM : unknown +>Position : EM.Position var ec:EM.EC = new EM.EC(); ->ec : EC ->EM : EM ->EC : EC ->new EM.EC() : EC ->EM.EC : typeof EC +>ec : EM.EC +>EM : unknown +>EC : EM.EC +>new EM.EC() : EM.EC +>EM.EC : typeof EM.EC >EM : typeof EM ->EC : typeof EC +>EC : typeof EM.EC x = ec.getPosition(); ->x = ec.getPosition() : Position ->x : Position ->ec.getPosition() : Position ->ec.getPosition : () => Position ->ec : EC ->getPosition : () => Position +>x = ec.getPosition() : EM.Position +>x : EM.Position +>ec.getPosition() : EM.Position +>ec.getPosition : () => EM.Position +>ec : EM.EC +>getPosition : () => EM.Position diff --git a/tests/baselines/reference/externalModuleAssignToVar.types b/tests/baselines/reference/externalModuleAssignToVar.types index da2973e5965..8bcc6cdf3e6 100644 --- a/tests/baselines/reference/externalModuleAssignToVar.types +++ b/tests/baselines/reference/externalModuleAssignToVar.types @@ -1,45 +1,45 @@ === tests/cases/compiler/externalModuleAssignToVar_core.ts === /// import ext = require('externalModuleAssignToVar_core_require'); ->ext : typeof "tests/cases/compiler/externalModuleAssignToVar_core_require" +>ext : typeof ext var y1: { C: new() => ext.C; } = ext; ->y1 : { C: new () => C; } ->C : new () => C ->ext : ext ->C : C ->ext : typeof "tests/cases/compiler/externalModuleAssignToVar_core_require" +>y1 : { C: new () => ext.C; } +>C : new () => ext.C +>ext : unknown +>C : ext.C +>ext : typeof ext y1 = ext; // ok ->y1 = ext : typeof "tests/cases/compiler/externalModuleAssignToVar_core_require" ->y1 : { C: new () => C; } ->ext : typeof "tests/cases/compiler/externalModuleAssignToVar_core_require" +>y1 = ext : typeof ext +>y1 : { C: new () => ext.C; } +>ext : typeof ext import ext2 = require('externalModuleAssignToVar_core_require2'); ->ext2 : typeof C +>ext2 : typeof ext2 var y2: new() => ext2 = ext2; ->y2 : new () => C ->ext2 : C ->ext2 : typeof C +>y2 : new () => ext2 +>ext2 : ext2 +>ext2 : typeof ext2 y2 = ext2; // ok ->y2 = ext2 : typeof C ->y2 : new () => C ->ext2 : typeof C +>y2 = ext2 : typeof ext2 +>y2 : new () => ext2 +>ext2 : typeof ext2 import ext3 = require('externalModuleAssignToVar_ext'); ->ext3 : typeof D +>ext3 : typeof ext3 var y3: new () => ext3 = ext3; ->y3 : new () => D ->ext3 : D ->ext3 : typeof D +>y3 : new () => ext3 +>ext3 : ext3 +>ext3 : typeof ext3 y3 = ext3; // ok ->y3 = ext3 : typeof D ->y3 : new () => D ->ext3 : typeof D +>y3 = ext3 : typeof ext3 +>y3 : new () => ext3 +>ext3 : typeof ext3 === tests/cases/compiler/externalModuleAssignToVar_ext.ts === class D { foo: string; } diff --git a/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.types b/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.types index d0e60ad36ed..bb49781d477 100644 --- a/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.types +++ b/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.types @@ -1,11 +1,11 @@ === tests/cases/compiler/externalModuleReferenceOfImportDeclarationWithExportModifier_1.ts === export import file1 = require('externalModuleReferenceOfImportDeclarationWithExportModifier_0'); ->file1 : typeof "tests/cases/compiler/externalModuleReferenceOfImportDeclarationWithExportModifier_0" +>file1 : typeof file1 file1.foo(); >file1.foo() : void >file1.foo : () => void ->file1 : typeof "tests/cases/compiler/externalModuleReferenceOfImportDeclarationWithExportModifier_0" +>file1 : typeof file1 >foo : () => void === tests/cases/compiler/externalModuleReferenceOfImportDeclarationWithExportModifier_0.ts === diff --git a/tests/baselines/reference/externalModuleResolution.types b/tests/baselines/reference/externalModuleResolution.types index f56fb58e7cd..929695b2203 100644 --- a/tests/baselines/reference/externalModuleResolution.types +++ b/tests/baselines/reference/externalModuleResolution.types @@ -1,10 +1,10 @@ === tests/cases/compiler/consumer.ts === import x = require('./foo'); ->x : typeof M2 +>x : typeof x x.Y // .ts should be picked >x.Y : number ->x : typeof M2 +>x : typeof x >Y : number === tests/cases/compiler/foo.ts === diff --git a/tests/baselines/reference/externalModuleResolution2.types b/tests/baselines/reference/externalModuleResolution2.types index d44de272fae..09b33fb2bee 100644 --- a/tests/baselines/reference/externalModuleResolution2.types +++ b/tests/baselines/reference/externalModuleResolution2.types @@ -1,10 +1,10 @@ === tests/cases/compiler/consumer.ts === import x = require('./foo'); ->x : typeof M2 +>x : typeof x x.X // .ts should be picked >x.X : number ->x : typeof M2 +>x : typeof x >X : number === tests/cases/compiler/foo.ts === diff --git a/tests/baselines/reference/fatArrowSelf.types b/tests/baselines/reference/fatArrowSelf.types index 19d0b2d61b0..912e0cd78a7 100644 --- a/tests/baselines/reference/fatArrowSelf.types +++ b/tests/baselines/reference/fatArrowSelf.types @@ -27,25 +27,21 @@ module Consumer { >EventEmitterConsummer : EventEmitterConsummer constructor (private emitter: Events.EventEmitter) { } ->emitter : EventEmitter ->Events : Events ->EventEmitter : EventEmitter +>emitter : Events.EventEmitter +>Events : unknown +>EventEmitter : Events.EventEmitter private register() { >register : () => void this.emitter.addListener('change', (e) => { ->this.emitter.addListener('change', (e) => { - this.changed(); - }) : void ->this.emitter.addListener : (type: string, listener: ListenerCallback) => void ->this.emitter : EventEmitter +>this.emitter.addListener('change', (e) => { this.changed(); }) : void +>this.emitter.addListener : (type: string, listener: Events.ListenerCallback) => void +>this.emitter : Events.EventEmitter >this : EventEmitterConsummer ->emitter : EventEmitter ->addListener : (type: string, listener: ListenerCallback) => void ->(e) => { - this.changed(); - } : (e: any) => void +>emitter : Events.EventEmitter +>addListener : (type: string, listener: Events.ListenerCallback) => void +>(e) => { this.changed(); } : (e: any) => void >e : any this.changed(); diff --git a/tests/baselines/reference/fatarrowfunctions.types b/tests/baselines/reference/fatarrowfunctions.types index 5863436ef4e..1b819b8496a 100644 --- a/tests/baselines/reference/fatarrowfunctions.types +++ b/tests/baselines/reference/fatarrowfunctions.types @@ -215,21 +215,14 @@ declare function setTimeout(expression: any, msec?: number, language?: any): num var messenger = { >messenger : { message: string; start: () => void; } ->{ - message: "Hello World", - start: function() { - setTimeout(() => { this.message.toString(); }, 3000); - } -} : { message: string; start: () => void; } +>{ message: "Hello World", start: function() { setTimeout(() => { this.message.toString(); }, 3000); }} : { message: string; start: () => void; } message: "Hello World", >message : string start: function() { >start : () => void ->function() { - setTimeout(() => { this.message.toString(); }, 3000); - } : () => void +>function() { setTimeout(() => { this.message.toString(); }, 3000); } : () => void setTimeout(() => { this.message.toString(); }, 3000); >setTimeout(() => { this.message.toString(); }, 3000) : number diff --git a/tests/baselines/reference/fatarrowfunctionsInFunctions.types b/tests/baselines/reference/fatarrowfunctionsInFunctions.types index f92f2ae2cb1..a8633eb1a8c 100644 --- a/tests/baselines/reference/fatarrowfunctionsInFunctions.types +++ b/tests/baselines/reference/fatarrowfunctionsInFunctions.types @@ -7,40 +7,23 @@ declare function setTimeout(expression: any, msec?: number, language?: any): num var messenger = { >messenger : { message: string; start: () => void; } ->{ - message: "Hello World", - start: function() { - var _self = this; - setTimeout(function() { - _self.message.toString(); - }, 3000); - } -} : { message: string; start: () => void; } +>{ message: "Hello World", start: function() { var _self = this; setTimeout(function() { _self.message.toString(); }, 3000); }} : { message: string; start: () => void; } message: "Hello World", >message : string start: function() { >start : () => void ->function() { - var _self = this; - setTimeout(function() { - _self.message.toString(); - }, 3000); - } : () => void +>function() { var _self = this; setTimeout(function() { _self.message.toString(); }, 3000); } : () => void var _self = this; >_self : any >this : any setTimeout(function() { ->setTimeout(function() { - _self.message.toString(); - }, 3000) : number +>setTimeout(function() { _self.message.toString(); }, 3000) : number >setTimeout : (expression: any, msec?: number, language?: any) => number ->function() { - _self.message.toString(); - } : () => void +>function() { _self.message.toString(); } : () => void _self.message.toString(); >_self.message.toString() : any diff --git a/tests/baselines/reference/forStatements.types b/tests/baselines/reference/forStatements.types index d8c9d444168..fad702213df 100644 --- a/tests/baselines/reference/forStatements.types +++ b/tests/baselines/reference/forStatements.types @@ -138,13 +138,13 @@ for(var aModule: typeof M = M;;){} >M : typeof M for(var aClassInModule: M.A = new M.A();;){} ->aClassInModule : A ->M : M ->A : A ->new M.A() : A ->M.A : typeof A +>aClassInModule : M.A +>M : unknown +>A : M.A +>new M.A() : M.A +>M.A : typeof M.A >M : typeof M ->A : typeof A +>A : typeof M.A for(var aFunctionInModule: typeof M.F2 = (x) => 'this is a string';;){} >aFunctionInModule : (x: number) => string diff --git a/tests/baselines/reference/funcdecl.types b/tests/baselines/reference/funcdecl.types index 52f73f2a06c..bbfd14bd220 100644 --- a/tests/baselines/reference/funcdecl.types +++ b/tests/baselines/reference/funcdecl.types @@ -126,19 +126,11 @@ module m2 { } m2.foo(() => { ->m2.foo(() => { - - var b = 30; - return b; -}) : void +>m2.foo(() => { var b = 30; return b;}) : void >m2.foo : (n: () => void) => void >m2 : typeof m2 >foo : (n: () => void) => void ->() => { - - var b = 30; - return b; -} : () => number +>() => { var b = 30; return b;} : () => number var b = 30; >b : number @@ -163,9 +155,7 @@ declare function overloadAmbient(s: string): string; var f2 = () => { >f2 : () => string ->() => { - return "string"; -} : () => string +>() => { return "string";} : () => string return "string"; } diff --git a/tests/baselines/reference/functionCall5.types b/tests/baselines/reference/functionCall5.types index 2485185bb49..e5578ef3c34 100644 --- a/tests/baselines/reference/functionCall5.types +++ b/tests/baselines/reference/functionCall5.types @@ -5,16 +5,16 @@ module m1 { export class c1 { public a; }} >a : any function foo():m1.c1{return new m1.c1();}; ->foo : () => c1 ->m1 : m1 ->c1 : c1 ->new m1.c1() : c1 ->m1.c1 : typeof c1 +>foo : () => m1.c1 +>m1 : unknown +>c1 : m1.c1 +>new m1.c1() : m1.c1 +>m1.c1 : typeof m1.c1 >m1 : typeof m1 ->c1 : typeof c1 +>c1 : typeof m1.c1 var x = foo(); ->x : c1 ->foo() : c1 ->foo : () => c1 +>x : m1.c1 +>foo() : m1.c1 +>foo : () => m1.c1 diff --git a/tests/baselines/reference/functionImplementations.types b/tests/baselines/reference/functionImplementations.types index b9c100e49b0..fe03fa58d98 100644 --- a/tests/baselines/reference/functionImplementations.types +++ b/tests/baselines/reference/functionImplementations.types @@ -8,9 +8,7 @@ var v: void = function () { } (); // FunctionExpression f with no return type annotation and directly references f in its body returns any var a: any = function f() { >a : any ->function f() { - return f; -} : () => any +>function f() { return f;} : () => any >f : () => any return f; @@ -19,9 +17,7 @@ var a: any = function f() { }; var a: any = function f() { >a : any ->function f() { - return f(); -} : () => any +>function f() { return f();} : () => any >f : () => any return f(); @@ -33,10 +29,7 @@ var a: any = function f() { // FunctionExpression f with no return type annotation and indirectly references f in its body returns any var a: any = function f() { >a : any ->function f() { - var x = f; - return x; -} : () => any +>function f() { var x = f; return x;} : () => any >f : () => any var x = f; @@ -104,12 +97,8 @@ var n = rec4(); // FunctionExpression with no return type annotation and returns a number var n = function () { >n : number ->function () { - return 3; -} () : number ->function () { - return 3; -} : () => number +>function () { return 3;} () : number +>function () { return 3;} : () => number return 3; } (); @@ -120,12 +109,8 @@ var nu = null; var nu = function () { >nu : any ->function () { - return null; -} () : any ->function () { - return null; -} : () => any +>function () { return null;} () : any +>function () { return null;} : () => any return null; } (); @@ -137,12 +122,8 @@ var un = undefined; var un = function () { >un : any ->function () { - return undefined; -} () : any ->function () { - return undefined; -} : () => any +>function () { return undefined;} () : any +>function () { return undefined;} : () => any return undefined; >undefined : undefined @@ -152,12 +133,8 @@ var un = function () { // FunctionExpression with no return type annotation and returns a type parameter type var n = function (x: T) { >n : number ->function (x: T) { - return x; -} (4) : number ->function (x: T) { - return x; -} : (x: T) => T +>function (x: T) { return x;} (4) : number +>function (x: T) { return x;} : (x: T) => T >T : T >x : T >T : T @@ -170,12 +147,8 @@ var n = function (x: T) { // FunctionExpression with no return type annotation and returns a constrained type parameter type var n = function (x: T) { >n : number ->function (x: T) { - return x; -} (4) : number ->function (x: T) { - return x; -} : (x: T) => T +>function (x: T) { return x;} (4) : number +>function (x: T) { return x;} : (x: T) => T >T : T >x : T >T : T @@ -188,14 +161,8 @@ var n = function (x: T) { // FunctionExpression with no return type annotation with multiple return statements with identical types var n = function () { >n : number ->function () { - return 3; - return 5; -}() : number ->function () { - return 3; - return 5; -} : () => number +>function () { return 3; return 5;}() : number +>function () { return 3; return 5;} : () => number return 3; return 5; @@ -217,12 +184,8 @@ var b: Base; var b = function () { >b : Base ->function () { - return new Base(); return new Derived(); -} () : Base ->function () { - return new Base(); return new Derived(); -} : () => Base +>function () { return new Base(); return new Derived();} () : Base +>function () { return new Base(); return new Derived();} : () => Base return new Base(); return new Derived(); >new Base() : Base @@ -235,12 +198,8 @@ var b = function () { // FunctionExpression with no return type annotation with multiple return statements with one a recursive call var a = function f() { >a : any ->function f() { - return new Base(); return new Derived(); return f(); // ? -} () : any ->function f() { - return new Base(); return new Derived(); return f(); // ? -} : () => any +>function f() { return new Base(); return new Derived(); return f(); // ?} () : any +>function f() { return new Base(); return new Derived(); return f(); // ?} : () => any >f : () => any return new Base(); return new Derived(); return f(); // ? @@ -255,13 +214,9 @@ var a = function f() { // FunctionExpression with non -void return type annotation with a single throw statement undefined === function (): number { ->undefined === function (): number { - throw undefined; -} : boolean +>undefined === function (): number { throw undefined;} : boolean >undefined : undefined ->function (): number { - throw undefined; -} : () => number +>function (): number { throw undefined;} : () => number throw undefined; >undefined : undefined diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs.types b/tests/baselines/reference/functionSubtypingOfVarArgs.types index ab048380ae5..ebd706e94cf 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs.types +++ b/tests/baselines/reference/functionSubtypingOfVarArgs.types @@ -34,6 +34,7 @@ class StringEvent extends EventBase { // should work super.add(listener); >super.add(listener) : void >super.add : (listener: (...args: any[]) => void) => void +>super : EventBase >add : (listener: (...args: any[]) => void) => void >listener : (items: string) => void } diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs2.types b/tests/baselines/reference/functionSubtypingOfVarArgs2.types index 3aeec10f271..2fef933594d 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs2.types +++ b/tests/baselines/reference/functionSubtypingOfVarArgs2.types @@ -36,6 +36,7 @@ class StringEvent extends EventBase { super.add(listener); >super.add(listener) : void >super.add : (listener: (...args: any[]) => void) => void +>super : EventBase >add : (listener: (...args: any[]) => void) => void >listener : (items: string, moreitems: number) => void } diff --git a/tests/baselines/reference/funduleExportedClassIsUsedBeforeDeclaration.types b/tests/baselines/reference/funduleExportedClassIsUsedBeforeDeclaration.types index 9a7d54c4eef..fa457680f07 100644 --- a/tests/baselines/reference/funduleExportedClassIsUsedBeforeDeclaration.types +++ b/tests/baselines/reference/funduleExportedClassIsUsedBeforeDeclaration.types @@ -3,13 +3,13 @@ interface A { // interface before module declaration >A : A (): B.C; // uses defined below class in module ->B : B ->C : C +>B : unknown +>C : B.C } declare function B(): B.C; // function merged with module >B : typeof B ->B : B ->C : C +>B : unknown +>C : B.C declare module B { >B : typeof B @@ -19,8 +19,8 @@ declare module B { } } new B.C(); ->new B.C() : C ->B.C : typeof C +>new B.C() : B.C +>B.C : typeof B.C >B : typeof B ->C : typeof C +>C : typeof B.C diff --git a/tests/baselines/reference/funduleUsedAcrossFileBoundary.types b/tests/baselines/reference/funduleUsedAcrossFileBoundary.types index a7924e89fac..09fc76a257b 100644 --- a/tests/baselines/reference/funduleUsedAcrossFileBoundary.types +++ b/tests/baselines/reference/funduleUsedAcrossFileBoundary.types @@ -22,11 +22,11 @@ declare module Q { === tests/cases/compiler/funduleUsedAcrossFileBoundary_file2.ts === function promiseWithCancellation(promise: Q.Promise) { ->promiseWithCancellation : (promise: Promise) => void +>promiseWithCancellation : (promise: Q.Promise) => void >T : T ->promise : Promise ->Q : Q ->Promise : Promise +>promise : Q.Promise +>Q : unknown +>Promise : Q.Promise >T : T var deferred = Q.defer(); // used to be an error diff --git a/tests/baselines/reference/genericAndNonGenericInterfaceWithTheSameName2.types b/tests/baselines/reference/genericAndNonGenericInterfaceWithTheSameName2.types index 27d9f801dcd..b15da5e995c 100644 --- a/tests/baselines/reference/genericAndNonGenericInterfaceWithTheSameName2.types +++ b/tests/baselines/reference/genericAndNonGenericInterfaceWithTheSameName2.types @@ -2,7 +2,7 @@ // generic and non-generic interfaces with the same name do not merge module M { ->M : M +>M : unknown interface A { >A : A @@ -15,7 +15,7 @@ module M { } module M2 { ->M2 : M2 +>M2 : unknown interface A { // ok >A : A @@ -26,10 +26,10 @@ module M2 { } module N { ->N : N +>N : unknown module M { ->M : M +>M : unknown interface A { >A : A @@ -42,7 +42,7 @@ module N { } module M2 { ->M2 : M2 +>M2 : unknown interface A { // ok >A : A diff --git a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types index d7128e9dac4..2ac2483c405 100644 --- a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types +++ b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types @@ -1,6 +1,6 @@ === tests/cases/compiler/genericArgumentCallSigAssignmentCompat.ts === module Underscore { ->Underscore : Underscore +>Underscore : unknown export interface Iterator { >Iterator : Iterator @@ -38,30 +38,30 @@ module Underscore { } declare var _: Underscore.Static; ->_ : Static ->Underscore : Underscore ->Static : Static +>_ : Underscore.Static +>Underscore : unknown +>Static : Underscore.Static // No error, Call signatures of types '(value: T) => T' and 'Underscore.Iterator<{}, boolean>' are compatible when instantiated with any. // Ideally, we would not have a generic signature here, because it should be instantiated with {} during inferential typing _.all([true, 1, null, 'yes'], _.identity); >_.all([true, 1, null, 'yes'], _.identity) : boolean ->_.all : (list: T[], iterator?: Iterator, context?: any) => boolean ->_ : Static ->all : (list: T[], iterator?: Iterator, context?: any) => boolean +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean +>_ : Underscore.Static +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean >[true, 1, null, 'yes'] : {}[] >_.identity : (value: T) => T ->_ : Static +>_ : Underscore.Static >identity : (value: T) => T // Ok, because fixing makes us infer boolean for T _.all([true], _.identity); >_.all([true], _.identity) : boolean ->_.all : (list: T[], iterator?: Iterator, context?: any) => boolean ->_ : Static ->all : (list: T[], iterator?: Iterator, context?: any) => boolean +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean +>_ : Underscore.Static +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean >[true] : boolean[] >_.identity : (value: T) => T ->_ : Static +>_ : Underscore.Static >identity : (value: T) => T diff --git a/tests/baselines/reference/genericCallWithObjectLiteralArgs.js b/tests/baselines/reference/genericCallWithObjectLiteralArgs.js index 76b5380a651..84a630425be 100644 --- a/tests/baselines/reference/genericCallWithObjectLiteralArgs.js +++ b/tests/baselines/reference/genericCallWithObjectLiteralArgs.js @@ -5,8 +5,7 @@ function foo(x: { bar: T; baz: T }) { var r = foo({ bar: 1, baz: '' }); // T = {} var r2 = foo({ bar: 1, baz: 1 }); // T = number -// BUG 835724 -var r3 = foo({ bar: foo, baz: foo }); // T = any +var r3 = foo({ bar: foo, baz: foo }); // T = typeof foo var r4 = foo({ bar: 1, baz: '' }); // T = Object //// [genericCallWithObjectLiteralArgs.js] @@ -15,6 +14,5 @@ function foo(x) { } var r = foo({ bar: 1, baz: '' }); // T = {} var r2 = foo({ bar: 1, baz: 1 }); // T = number -// BUG 835724 -var r3 = foo({ bar: foo, baz: foo }); // T = any +var r3 = foo({ bar: foo, baz: foo }); // T = typeof foo var r4 = foo({ bar: 1, baz: '' }); // T = Object diff --git a/tests/baselines/reference/genericCallWithObjectLiteralArgs.types b/tests/baselines/reference/genericCallWithObjectLiteralArgs.types index 20b7075824b..d23445ecbca 100644 --- a/tests/baselines/reference/genericCallWithObjectLiteralArgs.types +++ b/tests/baselines/reference/genericCallWithObjectLiteralArgs.types @@ -28,8 +28,7 @@ var r2 = foo({ bar: 1, baz: 1 }); // T = number >bar : number >baz : number -// BUG 835724 -var r3 = foo({ bar: foo, baz: foo }); // T = any +var r3 = foo({ bar: foo, baz: foo }); // T = typeof foo >r3 : { bar: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; baz: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; } >foo({ bar: foo, baz: foo }) : { bar: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; baz: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; } >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } diff --git a/tests/baselines/reference/genericClassImplementingGenericInterfaceFromAnotherModule.types b/tests/baselines/reference/genericClassImplementingGenericInterfaceFromAnotherModule.types index 583b6163b53..337485dee2c 100644 --- a/tests/baselines/reference/genericClassImplementingGenericInterfaceFromAnotherModule.types +++ b/tests/baselines/reference/genericClassImplementingGenericInterfaceFromAnotherModule.types @@ -1,6 +1,6 @@ === tests/cases/compiler/genericClassImplementingGenericInterfaceFromAnotherModule.ts === module foo { ->foo : foo +>foo : unknown export interface IFoo { } >IFoo : IFoo @@ -12,8 +12,8 @@ module bar { export class Foo implements foo.IFoo { } >Foo : Foo >T : T ->foo : foo ->IFoo : IFoo +>foo : unknown +>IFoo : foo.IFoo >T : T } diff --git a/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.types b/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.types index 1f5f8cd4088..2d39c0a465b 100644 --- a/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.types +++ b/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.types @@ -191,10 +191,10 @@ module PortalFx.ViewModels.Controls.Validators { export class Validator extends Portal.Controls.Validators.Validator { >Validator : Validator >TValue : TValue ->Portal : Portal ->Controls : Controls ->Validators : Validators ->Validator : Validator +>Portal : unknown +>Controls : unknown +>Validators : unknown +>Validator : Portal.Controls.Validators.Validator >TValue : TValue constructor(message?: string) { @@ -202,6 +202,7 @@ module PortalFx.ViewModels.Controls.Validators { super(message); >super(message) : void +>super : typeof Portal.Controls.Validators.Validator >message : string } } @@ -213,13 +214,13 @@ interface Contract { >TValue : TValue validators: KnockoutObservableArray>; ->validators : KnockoutObservableArray> +>validators : KnockoutObservableArray> >KnockoutObservableArray : KnockoutObservableArray ->PortalFx : PortalFx ->ViewModels : ViewModels ->Controls : Controls ->Validators : Validators ->Validator : Validator +>PortalFx : unknown +>ViewModels : unknown +>Controls : unknown +>Validators : unknown +>Validator : PortalFx.ViewModels.Controls.Validators.Validator >TValue : TValue } @@ -231,23 +232,23 @@ class ViewModel implements Contract { >TValue : TValue public validators: KnockoutObservableArray> = ko.observableArray>(); ->validators : KnockoutObservableArray> +>validators : KnockoutObservableArray> >KnockoutObservableArray : KnockoutObservableArray ->PortalFx : PortalFx ->ViewModels : ViewModels ->Controls : Controls ->Validators : Validators ->Validator : Validator +>PortalFx : unknown +>ViewModels : unknown +>Controls : unknown +>Validators : unknown +>Validator : PortalFx.ViewModels.Controls.Validators.Validator >TValue : TValue ->ko.observableArray>() : KnockoutObservableArray> +>ko.observableArray>() : KnockoutObservableArray> >ko.observableArray : KnockoutObservableArrayStatic >ko : typeof ko >observableArray : KnockoutObservableArrayStatic ->PortalFx : PortalFx ->ViewModels : ViewModels ->Controls : Controls ->Validators : Validators ->Validator : Validator +>PortalFx : unknown +>ViewModels : unknown +>Controls : unknown +>Validators : unknown +>Validator : PortalFx.ViewModels.Controls.Validators.Validator >TValue : TValue } diff --git a/tests/baselines/reference/genericClassesInModule.types b/tests/baselines/reference/genericClassesInModule.types index 65262decdb6..8c25523803c 100644 --- a/tests/baselines/reference/genericClassesInModule.types +++ b/tests/baselines/reference/genericClassesInModule.types @@ -12,11 +12,11 @@ module Foo { } var a = new Foo.B(); ->a : B ->new Foo.B() : B ->Foo.B : typeof B +>a : Foo.B +>new Foo.B() : Foo.B +>Foo.B : typeof Foo.B >Foo : typeof Foo ->B : typeof B ->Foo : Foo ->A : A +>B : typeof Foo.B +>Foo : unknown +>A : Foo.A diff --git a/tests/baselines/reference/genericCloduleInModule.types b/tests/baselines/reference/genericCloduleInModule.types index b4646fde0a7..108dc34c2f7 100644 --- a/tests/baselines/reference/genericCloduleInModule.types +++ b/tests/baselines/reference/genericCloduleInModule.types @@ -21,13 +21,13 @@ module A { } var b: A.B; ->b : B ->A : A ->B : B +>b : A.B +>A : unknown +>B : A.B b.foo(); >b.foo() : void >b.foo : () => void ->b : B +>b : A.B >foo : () => void diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types index 920d66fc175..1e744ce25c2 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types @@ -12,8 +12,8 @@ declare module EndGate { interface Number extends EndGate.ICloneable { } >Number : Number ->EndGate : EndGate ->ICloneable : ICloneable +>EndGate : unknown +>ICloneable : EndGate.ICloneable module EndGate.Tweening { >EndGate : typeof EndGate @@ -59,6 +59,7 @@ module EndGate.Tweening { super(from); >super(from) : void +>super : typeof Tween >from : number } } diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types index 94dd467ba80..ad3182f62e5 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types @@ -12,8 +12,8 @@ module EndGate { interface Number extends EndGate.ICloneable { } >Number : Number ->EndGate : EndGate ->ICloneable : ICloneable +>EndGate : unknown +>ICloneable : EndGate.ICloneable module EndGate.Tweening { >EndGate : typeof EndGate @@ -59,6 +59,7 @@ module EndGate.Tweening { super(from); >super(from) : void +>super : typeof Tween >from : number } } diff --git a/tests/baselines/reference/genericInference2.types b/tests/baselines/reference/genericInference2.types index 0bd8c533759..2616c0de2c4 100644 --- a/tests/baselines/reference/genericInference2.types +++ b/tests/baselines/reference/genericInference2.types @@ -32,71 +32,68 @@ >T : T } var o = { ->o : { name: Observable; age: Observable; } ->{ - name: ko.observable("Bob"), - age: ko.observable(37) - } : { name: Observable; age: Observable; } +>o : { name: ko.Observable; age: ko.Observable; } +>{ name: ko.observable("Bob"), age: ko.observable(37) } : { name: ko.Observable; age: ko.Observable; } name: ko.observable("Bob"), ->name : Observable ->ko.observable("Bob") : Observable ->ko.observable : (value: T) => Observable +>name : ko.Observable +>ko.observable("Bob") : ko.Observable +>ko.observable : (value: T) => ko.Observable >ko : typeof ko ->observable : (value: T) => Observable +>observable : (value: T) => ko.Observable age: ko.observable(37) ->age : Observable ->ko.observable(37) : Observable ->ko.observable : (value: T) => Observable +>age : ko.Observable +>ko.observable(37) : ko.Observable +>ko.observable : (value: T) => ko.Observable >ko : typeof ko ->observable : (value: T) => Observable +>observable : (value: T) => ko.Observable }; var x_v = o.name().length; // should be 'number' >x_v : number >o.name().length : number >o.name() : string ->o.name : Observable ->o : { name: Observable; age: Observable; } ->name : Observable +>o.name : ko.Observable +>o : { name: ko.Observable; age: ko.Observable; } +>name : ko.Observable >length : number var age_v = o.age(); // should be 'number' >age_v : number >o.age() : number ->o.age : Observable ->o : { name: Observable; age: Observable; } ->age : Observable +>o.age : ko.Observable +>o : { name: ko.Observable; age: ko.Observable; } +>age : ko.Observable var name_v = o.name("Robert"); // should be 'any' >name_v : any >o.name("Robert") : any ->o.name : Observable ->o : { name: Observable; age: Observable; } ->name : Observable +>o.name : ko.Observable +>o : { name: ko.Observable; age: ko.Observable; } +>name : ko.Observable var zz_v = o.name.N; // should be 'number' >zz_v : number >o.name.N : number ->o.name : Observable ->o : { name: Observable; age: Observable; } ->name : Observable +>o.name : ko.Observable +>o : { name: ko.Observable; age: ko.Observable; } +>name : ko.Observable >N : number var yy_v = o.name.g; // should be 'boolean' >yy_v : boolean >o.name.g : boolean ->o.name : Observable ->o : { name: Observable; age: Observable; } ->name : Observable +>o.name : ko.Observable +>o : { name: ko.Observable; age: ko.Observable; } +>name : ko.Observable >g : boolean var rr_v = o.name.r; // should be 'string' >rr_v : string >o.name.r : string ->o.name : Observable ->o : { name: Observable; age: Observable; } ->name : Observable +>o.name : ko.Observable +>o : { name: ko.Observable; age: ko.Observable; } +>name : ko.Observable >r : string diff --git a/tests/baselines/reference/genericMethodOverspecialization.types b/tests/baselines/reference/genericMethodOverspecialization.types index c3f8a86d7eb..145a7b33381 100644 --- a/tests/baselines/reference/genericMethodOverspecialization.types +++ b/tests/baselines/reference/genericMethodOverspecialization.types @@ -28,15 +28,11 @@ interface Document { var elements = names.map(function (name) { >elements : HTMLElement[] ->names.map(function (name) { - return document.getElementById(name); -}) : HTMLElement[] +>names.map(function (name) { return document.getElementById(name);}) : HTMLElement[] >names.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] >names : string[] >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] ->function (name) { - return document.getElementById(name); -} : (name: string) => HTMLElement +>function (name) { return document.getElementById(name);} : (name: string) => HTMLElement >name : string return document.getElementById(name); @@ -51,15 +47,11 @@ var elements = names.map(function (name) { var xxx = elements.filter(function (e) { >xxx : HTMLElement[] ->elements.filter(function (e) { - return !e.isDisabled; -}) : HTMLElement[] +>elements.filter(function (e) { return !e.isDisabled;}) : HTMLElement[] >elements.filter : (callbackfn: (value: HTMLElement, index: number, array: HTMLElement[]) => boolean, thisArg?: any) => HTMLElement[] >elements : HTMLElement[] >filter : (callbackfn: (value: HTMLElement, index: number, array: HTMLElement[]) => boolean, thisArg?: any) => HTMLElement[] ->function (e) { - return !e.isDisabled; -} : (e: HTMLElement) => boolean +>function (e) { return !e.isDisabled;} : (e: HTMLElement) => boolean >e : HTMLElement return !e.isDisabled; @@ -72,15 +64,11 @@ var xxx = elements.filter(function (e) { var widths:number[] = elements.map(function (e) { // should not error >widths : number[] ->elements.map(function (e) { // should not error - return e.clientWidth; -}) : number[] +>elements.map(function (e) { // should not error return e.clientWidth;}) : number[] >elements.map : (callbackfn: (value: HTMLElement, index: number, array: HTMLElement[]) => U, thisArg?: any) => U[] >elements : HTMLElement[] >map : (callbackfn: (value: HTMLElement, index: number, array: HTMLElement[]) => U, thisArg?: any) => U[] ->function (e) { // should not error - return e.clientWidth; -} : (e: HTMLElement) => number +>function (e) { // should not error return e.clientWidth;} : (e: HTMLElement) => number >e : HTMLElement return e.clientWidth; diff --git a/tests/baselines/reference/genericOfACloduleType1.types b/tests/baselines/reference/genericOfACloduleType1.types index b530859140e..afbef2f4180 100644 --- a/tests/baselines/reference/genericOfACloduleType1.types +++ b/tests/baselines/reference/genericOfACloduleType1.types @@ -38,9 +38,9 @@ module M { >foo : () => void } var g2 = new G() // was: error Type reference cannot refer to container 'M.C'. ->g2 : G ->new G() : G +>g2 : G +>new G() : G >G : typeof G ->M : M ->C : C +>M : unknown +>C : M.C diff --git a/tests/baselines/reference/genericOfACloduleType2.types b/tests/baselines/reference/genericOfACloduleType2.types index 4c224aed12d..275af8c913b 100644 --- a/tests/baselines/reference/genericOfACloduleType2.types +++ b/tests/baselines/reference/genericOfACloduleType2.types @@ -42,9 +42,9 @@ module N { >N : typeof N var g2 = new G() ->g2 : G ->new G() : G +>g2 : G +>new G() : G >G : typeof G ->M : M ->C : C +>M : unknown +>C : M.C } diff --git a/tests/baselines/reference/genericTypeArgumentInference1.types b/tests/baselines/reference/genericTypeArgumentInference1.types index 2c85dbe6846..20a9a0ca8f9 100644 --- a/tests/baselines/reference/genericTypeArgumentInference1.types +++ b/tests/baselines/reference/genericTypeArgumentInference1.types @@ -1,6 +1,6 @@ === tests/cases/compiler/genericTypeArgumentInference1.ts === module Underscore { ->Underscore : Underscore +>Underscore : unknown export interface Iterator { >Iterator : Iterator @@ -37,52 +37,52 @@ module Underscore { } } declare var _: Underscore.Static; ->_ : Static ->Underscore : Underscore ->Static : Static +>_ : Underscore.Static +>Underscore : unknown +>Static : Underscore.Static var r = _.all([true, 1, null, 'yes'], _.identity); >r : {} >_.all([true, 1, null, 'yes'], _.identity) : {} ->_.all : (list: T[], iterator?: Iterator, context?: any) => T ->_ : Static ->all : (list: T[], iterator?: Iterator, context?: any) => T +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>_ : Underscore.Static +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T >[true, 1, null, 'yes'] : {}[] >_.identity : (value: T) => T ->_ : Static +>_ : Underscore.Static >identity : (value: T) => T var r2 = _.all([true], _.identity); >r2 : boolean >_.all([true], _.identity) : boolean ->_.all : (list: T[], iterator?: Iterator, context?: any) => T ->_ : Static ->all : (list: T[], iterator?: Iterator, context?: any) => T +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>_ : Underscore.Static +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T >[true] : boolean[] >_.identity : (value: T) => T ->_ : Static +>_ : Underscore.Static >identity : (value: T) => T var r3 = _.all([], _.identity); >r3 : any >_.all([], _.identity) : any ->_.all : (list: T[], iterator?: Iterator, context?: any) => T ->_ : Static ->all : (list: T[], iterator?: Iterator, context?: any) => T +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>_ : Underscore.Static +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T >[] : any[] >_.identity : (value: T) => T ->_ : Static +>_ : Underscore.Static >identity : (value: T) => T var r4 = _.all([true], _.identity); >r4 : any >_.all([true], _.identity) : any ->_.all : (list: T[], iterator?: Iterator, context?: any) => T ->_ : Static ->all : (list: T[], iterator?: Iterator, context?: any) => T +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>_ : Underscore.Static +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T >[true] : any[] >true : any >_.identity : (value: T) => T ->_ : Static +>_ : Underscore.Static >identity : (value: T) => T diff --git a/tests/baselines/reference/genericTypeParameterEquivalence2.types b/tests/baselines/reference/genericTypeParameterEquivalence2.types index 9c9c4e071bc..09e13b12f7b 100644 --- a/tests/baselines/reference/genericTypeParameterEquivalence2.types +++ b/tests/baselines/reference/genericTypeParameterEquivalence2.types @@ -18,9 +18,7 @@ function compose(f: (b: B) => C, g: (a:A) => B): (a:A) => C { >C : C return function (a:A) : C { ->function (a:A) : C { - return f(g.apply(null, a)); - } : (a: A) => C +>function (a:A) : C { return f(g.apply(null, a)); } : (a: A) => C >a : A >A : A >C : C @@ -84,18 +82,10 @@ function filter(f: (a: A) => boolean, ar: A[]): A[] { >[] : undefined[] forEach(ar, (el) => { ->forEach(ar, (el) => { - if (f(el)) { - ret.push(el); - } - } ) : void +>forEach(ar, (el) => { if (f(el)) { ret.push(el); } } ) : void >forEach : (list: A[], f: (a: A, n?: number) => void) => void >ar : A[] ->(el) => { - if (f(el)) { - ret.push(el); - } - } : (el: A) => void +>(el) => { if (f(el)) { ret.push(el); } } : (el: A) => void >el : A if (f(el)) { @@ -148,18 +138,12 @@ function curry1(f: (a: A, b: B) => C): (ax: A) => (bx: B) => C { >C : C return function (ay: A) { ->function (ay: A) { - return function (by: B) { - return f(ay, by); - }; - } : (ay: A) => (by: B) => C +>function (ay: A) { return function (by: B) { return f(ay, by); }; } : (ay: A) => (by: B) => C >ay : A >A : A return function (by: B) { ->function (by: B) { - return f(ay, by); - } : (by: B) => C +>function (by: B) { return f(ay, by); } : (by: B) => C >by : B >B : B diff --git a/tests/baselines/reference/genericsAndHigherOrderFunctions.types b/tests/baselines/reference/genericsAndHigherOrderFunctions.types index 6f9ffe4217e..04209ca99ec 100644 --- a/tests/baselines/reference/genericsAndHigherOrderFunctions.types +++ b/tests/baselines/reference/genericsAndHigherOrderFunctions.types @@ -23,9 +23,7 @@ var combine: (f: (_: T) => S) => >S : S = (f: (_: T) => S) => ->(f: (_: T) => S) => - (g: (_: U) => T) => - (x: U) => f(g(x)) : (f: (_: T) => S) => (g: (_: U) => T) => (x: U) => S +>(f: (_: T) => S) => (g: (_: U) => T) => (x: U) => f(g(x)) : (f: (_: T) => S) => (g: (_: U) => T) => (x: U) => S >T : T >S : S >f : (_: T) => S @@ -34,8 +32,7 @@ var combine: (f: (_: T) => S) => >S : S (g: (_: U) => T) => ->(g: (_: U) => T) => - (x: U) => f(g(x)) : (g: (_: U) => T) => (x: U) => S +>(g: (_: U) => T) => (x: U) => f(g(x)) : (g: (_: U) => T) => (x: U) => S >U : U >g : (_: U) => T >_ : U @@ -87,9 +84,7 @@ var foo: (g: (x: K) => N) => >R : R = (g: (x: K) => N) => ->(g: (x: K) => N) => - (h: (_: (_: K) => (_: M) => M) => (_: M) => M) => - (f: (_: N) => (_: R) => R) => h(combine(f)(g)) : (g: (x: K) => N) => (h: (_: (_: K) => (_: M) => M) => (_: M) => M) => (f: (_: N) => (_: R) => R) => (_: R) => R +>(g: (x: K) => N) => (h: (_: (_: K) => (_: M) => M) => (_: M) => M) => (f: (_: N) => (_: R) => R) => h(combine(f)(g)) : (g: (x: K) => N) => (h: (_: (_: K) => (_: M) => M) => (_: M) => M) => (f: (_: N) => (_: R) => R) => (_: R) => R >K : K >N : N >g : (x: K) => N @@ -98,8 +93,7 @@ var foo: (g: (x: K) => N) => >N : N (h: (_: (_: K) => (_: M) => M) => (_: M) => M) => ->(h: (_: (_: K) => (_: M) => M) => (_: M) => M) => - (f: (_: N) => (_: R) => R) => h(combine(f)(g)) : (h: (_: (_: K) => (_: M) => M) => (_: M) => M) => (f: (_: N) => (_: R) => R) => (_: R) => R +>(h: (_: (_: K) => (_: M) => M) => (_: M) => M) => (f: (_: N) => (_: R) => R) => h(combine(f)(g)) : (h: (_: (_: K) => (_: M) => M) => (_: M) => M) => (f: (_: N) => (_: R) => R) => (_: R) => R >h : (_: (_: K) => (_: M) => M) => (_: M) => M >M : M >_ : (_: K) => (_: M) => M diff --git a/tests/baselines/reference/genericsManyTypeParameters.types b/tests/baselines/reference/genericsManyTypeParameters.types index 0094f320051..65f9a7c115e 100644 --- a/tests/baselines/reference/genericsManyTypeParameters.types +++ b/tests/baselines/reference/genericsManyTypeParameters.types @@ -402,24 +402,7 @@ function Foo< ) { return [x1 , y1 , z1 , a1 , b1 , c1, ->[x1 , y1 , z1 , a1 , b1 , c1, - x2 , y2 , z2 , a2 , b2 , c2, - x3 , y3 , z3 , a3 , b3 , c3, - x4 , y4 , z4 , a4 , b4 , c4, - x5 , y5 , z5 , a5 , b5 , c5, - x6 , y6 , z6 , a6 , b6 , c6, - x7 , y7 , z7 , a7 , b7 , c7, - x8 , y8 , z8 , a8 , b8 , c8, - x9 , y9 , z9 , a9 , b9 , c9, - x10 , y12 , z10 , a10 , b10 , c10, - x11 , y13 , z11 , a11 , b11 , c11, - x12 , y14 , z12 , a12 , b12 , c12, - x13 , y15 , z13 , a13 , b13 , c13, - x14 , y16 , z14 , a14 , b14 , c14, - x15 , y17 , z15 , a15 , b15 , c15, - x16 , y18 , z16 , a16 , b16 , c16, - x17 , y19 , z17 , a17 , b17 , c17, - x18 , y10 , z18 , a18 , b18 , c18] : {}[] +>[x1 , y1 , z1 , a1 , b1 , c1, x2 , y2 , z2 , a2 , b2 , c2, x3 , y3 , z3 , a3 , b3 , c3, x4 , y4 , z4 , a4 , b4 , c4, x5 , y5 , z5 , a5 , b5 , c5, x6 , y6 , z6 , a6 , b6 , c6, x7 , y7 , z7 , a7 , b7 , c7, x8 , y8 , z8 , a8 , b8 , c8, x9 , y9 , z9 , a9 , b9 , c9, x10 , y12 , z10 , a10 , b10 , c10, x11 , y13 , z11 , a11 , b11 , c11, x12 , y14 , z12 , a12 , b12 , c12, x13 , y15 , z13 , a13 , b13 , c13, x14 , y16 , z14 , a14 , b14 , c14, x15 , y17 , z15 , a15 , b15 , c15, x16 , y18 , z16 , a16 , b16 , c16, x17 , y19 , z17 , a17 , b17 , c17, x18 , y10 , z18 , a18 , b18 , c18] : {}[] >x1 : a1 >y1 : a21 >z1 : a31 diff --git a/tests/baselines/reference/getterSetterNonAccessor.types b/tests/baselines/reference/getterSetterNonAccessor.types index 6b62dc8bd92..d0b925f99e0 100644 --- a/tests/baselines/reference/getterSetterNonAccessor.types +++ b/tests/baselines/reference/getterSetterNonAccessor.types @@ -7,31 +7,15 @@ function setFunc(v){} >v : any Object.defineProperty({}, "0", ({ ->Object.defineProperty({}, "0", ({ - get: getFunc, - set: setFunc, - configurable: true - })) : any +>Object.defineProperty({}, "0", ({ get: getFunc, set: setFunc, configurable: true })) : any >Object.defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any >Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; } >defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any >{} : {} ->({ - get: getFunc, - set: setFunc, - configurable: true - }) : PropertyDescriptor +>({ get: getFunc, set: setFunc, configurable: true }) : PropertyDescriptor >PropertyDescriptor : PropertyDescriptor ->({ - get: getFunc, - set: setFunc, - configurable: true - }) : { get: () => any; set: (v: any) => void; configurable: boolean; } ->{ - get: getFunc, - set: setFunc, - configurable: true - } : { get: () => any; set: (v: any) => void; configurable: boolean; } +>({ get: getFunc, set: setFunc, configurable: true }) : { get: () => any; set: (v: any) => void; configurable: boolean; } +>{ get: getFunc, set: setFunc, configurable: true } : { get: () => any; set: (v: any) => void; configurable: boolean; } get: getFunc, >get : () => any diff --git a/tests/baselines/reference/ifDoWhileStatements.types b/tests/baselines/reference/ifDoWhileStatements.types index 46663086532..b4a3f7a70af 100644 --- a/tests/baselines/reference/ifDoWhileStatements.types +++ b/tests/baselines/reference/ifDoWhileStatements.types @@ -124,13 +124,8 @@ while ('') { } do { }while('') if (/[a-z]/) { } ->/[a-z]/ : RegExp - while (/[a-z]/) { } ->/[a-z]/ : RegExp - do { }while(/[a-z]/) ->/[a-z]/ : RegExp if ([]) { } >[] : undefined[] @@ -286,7 +281,6 @@ do { }while(f) var g = /[a-z]/ >g : RegExp ->/[a-z]/ : RegExp if (g) { } >g : RegExp diff --git a/tests/baselines/reference/importAliasIdentifiers.types b/tests/baselines/reference/importAliasIdentifiers.types index ee9715ef495..5cff22d7e98 100644 --- a/tests/baselines/reference/importAliasIdentifiers.types +++ b/tests/baselines/reference/importAliasIdentifiers.types @@ -16,17 +16,17 @@ import alias = moduleA; >moduleA : typeof moduleA var p: alias.Point; ->p : Point ->alias : alias ->Point : Point +>p : alias.Point +>alias : unknown +>Point : alias.Point var p: moduleA.Point; ->p : Point ->moduleA : moduleA ->Point : Point +>p : alias.Point +>moduleA : unknown +>Point : alias.Point var p: { x: number; y: number; }; ->p : Point +>p : alias.Point >x : number >y : number @@ -60,17 +60,17 @@ import clolias = clodule; >clodule : clodule var p: clolias.Point; ->p : Point +>p : alias.Point >clolias : clodule ->Point : Point +>Point : clolias.Point var p: clodule.Point; ->p : Point +>p : alias.Point >clodule : clodule ->Point : Point +>Point : clolias.Point var p: { x: number; y: number; }; ->p : Point +>p : alias.Point >x : number >y : number @@ -107,17 +107,17 @@ import funlias = fundule; >fundule : typeof fundule var p: funlias.Point; ->p : Point ->funlias : funlias ->Point : Point +>p : alias.Point +>funlias : unknown +>Point : funlias.Point var p: fundule.Point; ->p : Point ->fundule : fundule ->Point : Point +>p : alias.Point +>fundule : unknown +>Point : funlias.Point var p: { x: number; y: number; }; ->p : Point +>p : alias.Point >x : number >y : number diff --git a/tests/baselines/reference/importDecl.types b/tests/baselines/reference/importDecl.types index e6725e87768..973729ae050 100644 --- a/tests/baselines/reference/importDecl.types +++ b/tests/baselines/reference/importDecl.types @@ -5,157 +5,157 @@ /// /// import m4 = require("importDecl_require"); // Emit used ->m4 : typeof "tests/cases/compiler/importDecl_require" +>m4 : typeof m4 export var x4 = m4.x; ->x4 : d ->m4.x : d ->m4 : typeof "tests/cases/compiler/importDecl_require" ->x : d +>x4 : m4.d +>m4.x : m4.d +>m4 : typeof m4 +>x : m4.d export var d4 = m4.d; ->d4 : typeof d ->m4.d : typeof d ->m4 : typeof "tests/cases/compiler/importDecl_require" ->d : typeof d +>d4 : typeof m4.d +>m4.d : typeof m4.d +>m4 : typeof m4 +>d : typeof m4.d export var f4 = m4.foo(); ->f4 : d ->m4.foo() : d ->m4.foo : () => d ->m4 : typeof "tests/cases/compiler/importDecl_require" ->foo : () => d +>f4 : m4.d +>m4.foo() : m4.d +>m4.foo : () => m4.d +>m4 : typeof m4 +>foo : () => m4.d export module m1 { >m1 : typeof m1 export var x2 = m4.x; ->x2 : d ->m4.x : d ->m4 : typeof "tests/cases/compiler/importDecl_require" ->x : d +>x2 : m4.d +>m4.x : m4.d +>m4 : typeof m4 +>x : m4.d export var d2 = m4.d; ->d2 : typeof d ->m4.d : typeof d ->m4 : typeof "tests/cases/compiler/importDecl_require" ->d : typeof d +>d2 : typeof m4.d +>m4.d : typeof m4.d +>m4 : typeof m4 +>d : typeof m4.d export var f2 = m4.foo(); ->f2 : d ->m4.foo() : d ->m4.foo : () => d ->m4 : typeof "tests/cases/compiler/importDecl_require" ->foo : () => d +>f2 : m4.d +>m4.foo() : m4.d +>m4.foo : () => m4.d +>m4 : typeof m4 +>foo : () => m4.d var x3 = m4.x; ->x3 : d ->m4.x : d ->m4 : typeof "tests/cases/compiler/importDecl_require" ->x : d +>x3 : m4.d +>m4.x : m4.d +>m4 : typeof m4 +>x : m4.d var d3 = m4.d; ->d3 : typeof d ->m4.d : typeof d ->m4 : typeof "tests/cases/compiler/importDecl_require" ->d : typeof d +>d3 : typeof m4.d +>m4.d : typeof m4.d +>m4 : typeof m4 +>d : typeof m4.d var f3 = m4.foo(); ->f3 : d ->m4.foo() : d ->m4.foo : () => d ->m4 : typeof "tests/cases/compiler/importDecl_require" ->foo : () => d +>f3 : m4.d +>m4.foo() : m4.d +>m4.foo : () => m4.d +>m4 : typeof m4 +>foo : () => m4.d } //Emit global only usage import glo_m4 = require("importDecl_require1"); ->glo_m4 : typeof "tests/cases/compiler/importDecl_require1" +>glo_m4 : typeof glo_m4 export var useGlo_m4_d4 = glo_m4.d; ->useGlo_m4_d4 : typeof d ->glo_m4.d : typeof d ->glo_m4 : typeof "tests/cases/compiler/importDecl_require1" ->d : typeof d +>useGlo_m4_d4 : typeof glo_m4.d +>glo_m4.d : typeof glo_m4.d +>glo_m4 : typeof glo_m4 +>d : typeof glo_m4.d export var useGlo_m4_f4 = glo_m4.foo(); ->useGlo_m4_f4 : d ->glo_m4.foo() : d ->glo_m4.foo : () => d ->glo_m4 : typeof "tests/cases/compiler/importDecl_require1" ->foo : () => d +>useGlo_m4_f4 : glo_m4.d +>glo_m4.foo() : glo_m4.d +>glo_m4.foo : () => glo_m4.d +>glo_m4 : typeof glo_m4 +>foo : () => glo_m4.d //Emit even when used just in function type import fncOnly_m4 = require("importDecl_require2"); ->fncOnly_m4 : typeof "tests/cases/compiler/importDecl_require2" +>fncOnly_m4 : typeof fncOnly_m4 export var useFncOnly_m4_f4 = fncOnly_m4.foo(); ->useFncOnly_m4_f4 : d ->fncOnly_m4.foo() : d ->fncOnly_m4.foo : () => d ->fncOnly_m4 : typeof "tests/cases/compiler/importDecl_require2" ->foo : () => d +>useFncOnly_m4_f4 : fncOnly_m4.d +>fncOnly_m4.foo() : fncOnly_m4.d +>fncOnly_m4.foo : () => fncOnly_m4.d +>fncOnly_m4 : typeof fncOnly_m4 +>foo : () => fncOnly_m4.d // only used privately no need to emit import private_m4 = require("importDecl_require3"); ->private_m4 : typeof "tests/cases/compiler/importDecl_require3" +>private_m4 : typeof private_m4 export module usePrivate_m4_m1 { >usePrivate_m4_m1 : typeof usePrivate_m4_m1 var x3 = private_m4.x; ->x3 : d ->private_m4.x : d ->private_m4 : typeof "tests/cases/compiler/importDecl_require3" ->x : d +>x3 : private_m4.d +>private_m4.x : private_m4.d +>private_m4 : typeof private_m4 +>x : private_m4.d var d3 = private_m4.d; ->d3 : typeof d ->private_m4.d : typeof d ->private_m4 : typeof "tests/cases/compiler/importDecl_require3" ->d : typeof d +>d3 : typeof private_m4.d +>private_m4.d : typeof private_m4.d +>private_m4 : typeof private_m4 +>d : typeof private_m4.d var f3 = private_m4.foo(); ->f3 : d ->private_m4.foo() : d ->private_m4.foo : () => d ->private_m4 : typeof "tests/cases/compiler/importDecl_require3" ->foo : () => d +>f3 : private_m4.d +>private_m4.foo() : private_m4.d +>private_m4.foo : () => private_m4.d +>private_m4 : typeof private_m4 +>foo : () => private_m4.d } // Do not emit unused import import m5 = require("importDecl_require4"); ->m5 : typeof "tests/cases/compiler/importDecl_require4" +>m5 : typeof m5 export var d = m5.foo2(); ->d : d ->m5.foo2() : d ->m5.foo2 : () => d ->m5 : typeof "tests/cases/compiler/importDecl_require4" ->foo2 : () => d +>d : m4.d +>m5.foo2() : m4.d +>m5.foo2 : () => m4.d +>m5 : typeof m5 +>foo2 : () => m4.d // Do not emit multiple used import statements import multiImport_m4 = require("importDecl_require"); // Emit used ->multiImport_m4 : typeof "tests/cases/compiler/importDecl_require" +>multiImport_m4 : typeof m4 export var useMultiImport_m4_x4 = multiImport_m4.x; ->useMultiImport_m4_x4 : d ->multiImport_m4.x : d ->multiImport_m4 : typeof "tests/cases/compiler/importDecl_require" ->x : d +>useMultiImport_m4_x4 : m4.d +>multiImport_m4.x : m4.d +>multiImport_m4 : typeof m4 +>x : m4.d export var useMultiImport_m4_d4 = multiImport_m4.d; ->useMultiImport_m4_d4 : typeof d ->multiImport_m4.d : typeof d ->multiImport_m4 : typeof "tests/cases/compiler/importDecl_require" ->d : typeof d +>useMultiImport_m4_d4 : typeof m4.d +>multiImport_m4.d : typeof m4.d +>multiImport_m4 : typeof m4 +>d : typeof m4.d export var useMultiImport_m4_f4 = multiImport_m4.foo(); ->useMultiImport_m4_f4 : d ->multiImport_m4.foo() : d ->multiImport_m4.foo : () => d ->multiImport_m4 : typeof "tests/cases/compiler/importDecl_require" ->foo : () => d +>useMultiImport_m4_f4 : m4.d +>multiImport_m4.foo() : m4.d +>multiImport_m4.foo : () => m4.d +>multiImport_m4 : typeof m4 +>foo : () => m4.d === tests/cases/compiler/importDecl_require.ts === export class d { @@ -219,10 +219,10 @@ export function foo(): d { return null; } === tests/cases/compiler/importDecl_require4.ts === import m4 = require("importDecl_require"); ->m4 : typeof "tests/cases/compiler/importDecl_require" +>m4 : typeof m4 export function foo2(): m4.d { return null; } ->foo2 : () => d ->m4 : m4 ->d : d +>foo2 : () => m4.d +>m4 : unknown +>d : m4.d diff --git a/tests/baselines/reference/importDeclWithExportModifierInAmbientContext.types b/tests/baselines/reference/importDeclWithExportModifierInAmbientContext.types index 0b53cbdd043..6649b33bfe0 100644 --- a/tests/baselines/reference/importDeclWithExportModifierInAmbientContext.types +++ b/tests/baselines/reference/importDeclWithExportModifierInAmbientContext.types @@ -1,19 +1,19 @@ === tests/cases/compiler/importDeclWithExportModifierInAmbientContext.ts === declare module "m" { module x { ->x : x +>x : unknown interface c { >c : c } } export import a = x.c; ->a : a ->x : x ->c : c +>a : unknown +>x : unknown +>c : a var b: a; ->b : c ->a : c +>b : a +>a : a } diff --git a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.types b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.types index 6fc80e99913..2f449c2aa87 100644 --- a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.types +++ b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.types @@ -1,11 +1,11 @@ === tests/cases/compiler/importDeclarationUsedAsTypeQuery_1.ts === /// import a = require('importDeclarationUsedAsTypeQuery_require'); ->a : typeof "tests/cases/compiler/importDeclarationUsedAsTypeQuery_require" +>a : typeof a export var x: typeof a; ->x : typeof "tests/cases/compiler/importDeclarationUsedAsTypeQuery_require" ->a : typeof "tests/cases/compiler/importDeclarationUsedAsTypeQuery_require" +>x : typeof a +>a : typeof a === tests/cases/compiler/importDeclarationUsedAsTypeQuery_require.ts === export class B { diff --git a/tests/baselines/reference/importImportOnlyModule.types b/tests/baselines/reference/importImportOnlyModule.types index cbf9fa29a52..741d1b24859 100644 --- a/tests/baselines/reference/importImportOnlyModule.types +++ b/tests/baselines/reference/importImportOnlyModule.types @@ -1,10 +1,10 @@ === tests/cases/conformance/externalModules/foo_2.ts === import foo = require("./foo_1"); ->foo : typeof "tests/cases/conformance/externalModules/foo_1" +>foo : typeof foo var x = foo; // Cause a runtime dependency ->x : typeof "tests/cases/conformance/externalModules/foo_1" ->foo : typeof "tests/cases/conformance/externalModules/foo_1" +>x : typeof foo +>foo : typeof foo === tests/cases/conformance/externalModules/foo_0.ts === export class C1 { @@ -19,7 +19,7 @@ export class C1 { === tests/cases/conformance/externalModules/foo_1.ts === import c1 = require('./foo_0'); // Makes this an external module ->c1 : typeof "tests/cases/conformance/externalModules/foo_0" +>c1 : typeof c1 var answer = 42; // No exports >answer : number diff --git a/tests/baselines/reference/importInTypePosition.types b/tests/baselines/reference/importInTypePosition.types index 8117b9290b7..163ae1d3a62 100644 --- a/tests/baselines/reference/importInTypePosition.types +++ b/tests/baselines/reference/importInTypePosition.types @@ -17,31 +17,31 @@ module A { // no code gen expected module B { ->B : B +>B : unknown import a = A; //Error generates 'var = ;' ->a : typeof A ->A : typeof A +>a : typeof a +>A : typeof a } // no code gen expected module C { >C : typeof C import a = A; //Error generates 'var = ;' ->a : typeof A ->A : typeof A +>a : typeof a +>A : typeof a var m: typeof a; ->m : typeof A ->a : typeof A +>m : typeof a +>a : typeof a var p: a.Point; ->p : Point ->a : a ->Point : Point +>p : a.Point +>a : unknown +>Point : a.Point var p = { x: 0, y: 0 }; ->p : Point +>p : a.Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >y : number diff --git a/tests/baselines/reference/importOnAliasedIdentifiers.types b/tests/baselines/reference/importOnAliasedIdentifiers.types index a7d2f678a30..7772e909c99 100644 --- a/tests/baselines/reference/importOnAliasedIdentifiers.types +++ b/tests/baselines/reference/importOnAliasedIdentifiers.types @@ -18,16 +18,16 @@ module B { >n : number import Y = A; // Alias only for module A ->Y : typeof A ->A : typeof A +>Y : typeof Y +>A : typeof Y import Z = A.X; // Alias for both type and member A.X ->Z : X ->A : typeof A ->X : X +>Z : Y.X +>A : typeof Y +>X : Y.X var v: Z = Z; ->v : X ->Z : X ->Z : X +>v : Y.X +>Z : Y.X +>Z : Y.X } diff --git a/tests/baselines/reference/importShadowsGlobalName.types b/tests/baselines/reference/importShadowsGlobalName.types index fd333fc412b..a1f1106f1b8 100644 --- a/tests/baselines/reference/importShadowsGlobalName.types +++ b/tests/baselines/reference/importShadowsGlobalName.types @@ -1,10 +1,10 @@ === tests/cases/compiler/Bar.ts === import Error = require('Foo'); ->Error : typeof Foo +>Error : typeof Error class Bar extends Error {} >Bar : Bar ->Error : Foo +>Error : Error export = Bar; >Bar : Bar diff --git a/tests/baselines/reference/importStatements.types b/tests/baselines/reference/importStatements.types index c7fe4382d30..5980a142f34 100644 --- a/tests/baselines/reference/importStatements.types +++ b/tests/baselines/reference/importStatements.types @@ -18,11 +18,11 @@ module A { // no code gen expected module B { ->B : B +>B : unknown import a = A; //Error generates 'var = ;' ->a : typeof A ->A : typeof A +>a : typeof a +>A : typeof a } // no code gen expected @@ -30,20 +30,20 @@ module C { >C : typeof C import a = A; //Error generates 'var = ;' ->a : typeof A ->A : typeof A +>a : typeof a +>A : typeof a var m: typeof a; ->m : typeof A ->a : typeof A +>m : typeof a +>a : typeof a var p: a.Point; ->p : Point ->a : a ->Point : Point +>p : a.Point +>a : unknown +>Point : a.Point var p = {x:0, y:0 }; ->p : Point +>p : a.Point >{x:0, y:0 } : { x: number; y: number; } >x : number >y : number @@ -54,40 +54,40 @@ module D { >D : typeof D import a = A; ->a : typeof A ->A : typeof A +>a : typeof a +>A : typeof a var p = new a.Point(1, 1); ->p : Point ->new a.Point(1, 1) : Point ->a.Point : typeof Point ->a : typeof A ->Point : typeof Point +>p : a.Point +>new a.Point(1, 1) : a.Point +>a.Point : typeof a.Point +>a : typeof a +>Point : typeof a.Point } module E { >E : typeof E import a = A; ->a : typeof A ->A : typeof A +>a : typeof a +>A : typeof a export function xDist(x: a.Point) { ->xDist : (x: Point) => number ->x : Point ->a : a ->Point : Point +>xDist : (x: a.Point) => number +>x : a.Point +>a : unknown +>Point : a.Point return (a.Origin.x - x.x); >(a.Origin.x - x.x) : number >a.Origin.x - x.x : number >a.Origin.x : number ->a.Origin : Point ->a : typeof A ->Origin : Point +>a.Origin : a.Point +>a : typeof a +>Origin : a.Point >x : number >x.x : number ->x : Point +>x : a.Point >x : number } } diff --git a/tests/baselines/reference/importUsedInExtendsList1.types b/tests/baselines/reference/importUsedInExtendsList1.types index a6937acb734..7261c34e75e 100644 --- a/tests/baselines/reference/importUsedInExtendsList1.types +++ b/tests/baselines/reference/importUsedInExtendsList1.types @@ -1,12 +1,12 @@ === tests/cases/compiler/importUsedInExtendsList1_1.ts === /// import foo = require('importUsedInExtendsList1_require'); ->foo : typeof "tests/cases/compiler/importUsedInExtendsList1_require" +>foo : typeof foo class Sub extends foo.Super { } >Sub : Sub ->foo : foo ->Super : Super +>foo : unknown +>Super : foo.Super var s: Sub; >s : Sub diff --git a/tests/baselines/reference/import_reference-exported-alias.types b/tests/baselines/reference/import_reference-exported-alias.types index e1dffabba5a..b935fb16cf2 100644 --- a/tests/baselines/reference/import_reference-exported-alias.types +++ b/tests/baselines/reference/import_reference-exported-alias.types @@ -1,23 +1,23 @@ === tests/cases/compiler/file2.ts === import appJs = require("file1"); ->appJs : typeof App +>appJs : typeof appJs import Services = appJs.Services; ->Services : typeof Services ->appJs : typeof App ->Services : typeof Services +>Services : typeof appJs.Services +>appJs : typeof appJs +>Services : typeof appJs.Services import UserServices = Services.UserServices; ->UserServices : typeof UserServices ->Services : typeof Services ->UserServices : UserServices +>UserServices : typeof Services.UserServices +>Services : typeof appJs.Services +>UserServices : Services.UserServices var x = new UserServices().getUserName(); >x : string >new UserServices().getUserName() : string >new UserServices().getUserName : () => string ->new UserServices() : UserServices ->UserServices : typeof UserServices +>new UserServices() : Services.UserServices +>UserServices : typeof Services.UserServices >getUserName : () => string === tests/cases/compiler/file1.ts === diff --git a/tests/baselines/reference/import_reference-to-type-alias.types b/tests/baselines/reference/import_reference-to-type-alias.types index 6f9628f277a..e1da40b5bb4 100644 --- a/tests/baselines/reference/import_reference-to-type-alias.types +++ b/tests/baselines/reference/import_reference-to-type-alias.types @@ -1,21 +1,21 @@ === tests/cases/compiler/file2.ts === import appJs = require("file1"); ->appJs : typeof "tests/cases/compiler/file1" +>appJs : typeof appJs import Services = appJs.App.Services; >Services : typeof Services ->appJs : typeof "tests/cases/compiler/file1" ->App : typeof App +>appJs : typeof appJs +>App : typeof appJs.App >Services : typeof Services var x = new Services.UserServices().getUserName(); >x : string >new Services.UserServices().getUserName() : string >new Services.UserServices().getUserName : () => string ->new Services.UserServices() : UserServices ->Services.UserServices : typeof UserServices +>new Services.UserServices() : Services.UserServices +>Services.UserServices : typeof Services.UserServices >Services : typeof Services ->UserServices : typeof UserServices +>UserServices : typeof Services.UserServices >getUserName : () => string === tests/cases/compiler/file1.ts === diff --git a/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.types b/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.types index 1f7c10e0768..0dfe8ca336b 100644 --- a/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.types +++ b/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.types @@ -1,17 +1,17 @@ === tests/cases/compiler/a.ts === /// import ITest = require('ITest'); ->ITest : ITest +>ITest : unknown var testData: ITest[]; ->testData : Name[] ->ITest : Name +>testData : ITest[] +>ITest : ITest var p = testData[0].name; >p : string >testData[0].name : string ->testData[0] : Name ->testData : Name[] +>testData[0] : ITest +>testData : ITest[] >name : string === tests/cases/compiler/b.ts === diff --git a/tests/baselines/reference/import_var-referencing-an-imported-module-alias.types b/tests/baselines/reference/import_var-referencing-an-imported-module-alias.types index 3a51c2216ce..137b339347a 100644 --- a/tests/baselines/reference/import_var-referencing-an-imported-module-alias.types +++ b/tests/baselines/reference/import_var-referencing-an-imported-module-alias.types @@ -1,18 +1,18 @@ === tests/cases/compiler/consumer.ts === import host = require("host"); ->host : typeof "tests/cases/compiler/host" +>host : typeof host var hostVar = host; ->hostVar : typeof "tests/cases/compiler/host" ->host : typeof "tests/cases/compiler/host" +>hostVar : typeof host +>host : typeof host var v = new hostVar.Host(); ->v : Host ->new hostVar.Host() : Host ->hostVar.Host : typeof Host ->hostVar : typeof "tests/cases/compiler/host" ->Host : typeof Host +>v : host.Host +>new hostVar.Host() : host.Host +>hostVar.Host : typeof host.Host +>hostVar : typeof host +>Host : typeof host.Host === tests/cases/compiler/host.ts === export class Host { } diff --git a/tests/baselines/reference/importedModuleClassNameClash.types b/tests/baselines/reference/importedModuleClassNameClash.types index 907626d345b..28cdee34167 100644 --- a/tests/baselines/reference/importedModuleClassNameClash.types +++ b/tests/baselines/reference/importedModuleClassNameClash.types @@ -1,10 +1,10 @@ === tests/cases/compiler/importedModuleClassNameClash.ts === import foo = m1; >foo : typeof foo ->m1 : m1 +>m1 : unknown export module m1 { } ->m1 : m1 +>m1 : unknown class foo { } >foo : foo diff --git a/tests/baselines/reference/inferSecondaryParameter.types b/tests/baselines/reference/inferSecondaryParameter.types index 9831fe89e5b..e416cface90 100644 --- a/tests/baselines/reference/inferSecondaryParameter.types +++ b/tests/baselines/reference/inferSecondaryParameter.types @@ -19,15 +19,11 @@ var b: Ib = { m: function (test: string, fn: Function) { } }; >Function : Function b.m("test", function (bug) { ->b.m("test", function (bug) { - var a: number = bug; -}) : any +>b.m("test", function (bug) { var a: number = bug;}) : any >b.m : (test: string, fn: Function) => any >b : Ib >m : (test: string, fn: Function) => any ->function (bug) { - var a: number = bug; -} : (bug: any) => void +>function (bug) { var a: number = bug;} : (bug: any) => void >bug : any var a: number = bug; diff --git a/tests/baselines/reference/inheritanceOfGenericConstructorMethod2.types b/tests/baselines/reference/inheritanceOfGenericConstructorMethod2.types index 0b1e89012af..2a71136613f 100644 --- a/tests/baselines/reference/inheritanceOfGenericConstructorMethod2.types +++ b/tests/baselines/reference/inheritanceOfGenericConstructorMethod2.types @@ -14,42 +14,42 @@ module N { export class D1 extends M.C1 { } >D1 : D1 ->M : M ->C1 : C1 +>M : unknown +>C1 : M.C1 export class D2 extends M.C2 { } >D2 : D2 >T : T ->M : M ->C2 : C2 +>M : unknown +>C2 : M.C2 >T : T } var c = new M.C2(); // no error ->c : C2 ->new M.C2() : C2 ->M.C2 : typeof C2 +>c : M.C2 +>new M.C2() : M.C2 +>M.C2 : typeof M.C2 >M : typeof M ->C2 : typeof C2 +>C2 : typeof M.C2 var n = new N.D1(); // no error ->n : D1 ->new N.D1() : D1 ->N.D1 : typeof D1 +>n : N.D1 +>new N.D1() : N.D1 +>N.D1 : typeof N.D1 >N : typeof N ->D1 : typeof D1 +>D1 : typeof N.D1 var n2 = new N.D2(); // error ->n2 : D2 ->new N.D2() : D2 ->N.D2 : typeof D2 +>n2 : N.D2 +>new N.D2() : N.D2 +>N.D2 : typeof N.D2 >N : typeof N ->D2 : typeof D2 +>D2 : typeof N.D2 var n3 = new N.D2(); // no error, D2 ->n3 : D2<{}> ->new N.D2() : D2<{}> ->N.D2 : typeof D2 +>n3 : N.D2<{}> +>new N.D2() : N.D2<{}> +>N.D2 : typeof N.D2 >N : typeof N ->D2 : typeof D2 +>D2 : typeof N.D2 diff --git a/tests/baselines/reference/innerAliases2.types b/tests/baselines/reference/innerAliases2.types index 458f0019831..ee8c18f93b4 100644 --- a/tests/baselines/reference/innerAliases2.types +++ b/tests/baselines/reference/innerAliases2.types @@ -15,30 +15,30 @@ module consumer { >consumer : typeof consumer import provider = _provider; ->provider : typeof _provider ->_provider : typeof _provider +>provider : typeof provider +>_provider : typeof provider var g:provider.UsefulClass= null; ->g : UsefulClass ->provider : provider ->UsefulClass : UsefulClass +>g : provider.UsefulClass +>provider : unknown +>UsefulClass : provider.UsefulClass function use():provider.UsefulClass { ->use : () => UsefulClass ->provider : provider ->UsefulClass : UsefulClass +>use : () => provider.UsefulClass +>provider : unknown +>UsefulClass : provider.UsefulClass var p2:provider.UsefulClass= new provider.UsefulClass(); ->p2 : UsefulClass ->provider : provider ->UsefulClass : UsefulClass ->new provider.UsefulClass() : UsefulClass ->provider.UsefulClass : typeof UsefulClass ->provider : typeof _provider ->UsefulClass : typeof UsefulClass +>p2 : provider.UsefulClass +>provider : unknown +>UsefulClass : provider.UsefulClass +>new provider.UsefulClass() : provider.UsefulClass +>provider.UsefulClass : typeof provider.UsefulClass +>provider : typeof provider +>UsefulClass : typeof provider.UsefulClass return p2; ->p2 : UsefulClass +>p2 : provider.UsefulClass } } diff --git a/tests/baselines/reference/innerBoundLambdaEmit.types b/tests/baselines/reference/innerBoundLambdaEmit.types index f800aeb785d..d68e6e81cb6 100644 --- a/tests/baselines/reference/innerBoundLambdaEmit.types +++ b/tests/baselines/reference/innerBoundLambdaEmit.types @@ -14,8 +14,8 @@ interface Array { >T : T toFoo(): M.Foo ->toFoo : () => Foo ->M : M ->Foo : Foo +>toFoo : () => M.Foo +>M : unknown +>Foo : M.Foo } diff --git a/tests/baselines/reference/instanceOfInExternalModules.types b/tests/baselines/reference/instanceOfInExternalModules.types index 35594ac2d7b..6e2eb8c77aa 100644 --- a/tests/baselines/reference/instanceOfInExternalModules.types +++ b/tests/baselines/reference/instanceOfInExternalModules.types @@ -1,7 +1,7 @@ === tests/cases/compiler/instanceOfInExternalModules_1.ts === /// import Bar = require("instanceOfInExternalModules_require"); ->Bar : typeof "tests/cases/compiler/instanceOfInExternalModules_require" +>Bar : typeof Bar function IsFoo(value: any): boolean { >IsFoo : (value: any) => boolean @@ -10,9 +10,9 @@ function IsFoo(value: any): boolean { return value instanceof Bar.Foo; >value instanceof Bar.Foo : boolean >value : any ->Bar.Foo : typeof Foo ->Bar : typeof "tests/cases/compiler/instanceOfInExternalModules_require" ->Foo : typeof Foo +>Bar.Foo : typeof Bar.Foo +>Bar : typeof Bar +>Foo : typeof Bar.Foo } === tests/cases/compiler/instanceOfInExternalModules_require.ts === diff --git a/tests/baselines/reference/instantiatedModule.types b/tests/baselines/reference/instantiatedModule.types index 5021cce8afb..b3f4dc0d5a1 100644 --- a/tests/baselines/reference/instantiatedModule.types +++ b/tests/baselines/reference/instantiatedModule.types @@ -44,8 +44,8 @@ var p1: { x: number; y: number; } var p1: M.Point; >p1 : { x: number; y: number; } ->M : M ->Point : Point +>M : unknown +>Point : M.Point // making the point a class instead of an interface // makes this an instantiated mmodule @@ -83,30 +83,30 @@ var m2 = M2; // static side of the class var a2: typeof M2.Point; ->a2 : typeof Point +>a2 : typeof M2.Point >M2 : typeof M2 ->Point : typeof Point +>Point : typeof M2.Point var a2 = m2.Point; ->a2 : typeof Point ->m2.Point : typeof Point +>a2 : typeof M2.Point +>m2.Point : typeof M2.Point >m2 : typeof M2 ->Point : typeof Point +>Point : typeof M2.Point var a2 = M2.Point; ->a2 : typeof Point ->M2.Point : typeof Point +>a2 : typeof M2.Point +>M2.Point : typeof M2.Point >M2 : typeof M2 ->Point : typeof Point +>Point : typeof M2.Point var o: M2.Point = a2.Origin(); ->o : Point ->M2 : M2 ->Point : Point ->a2.Origin() : Point ->a2.Origin : () => Point ->a2 : typeof Point ->Origin : () => Point +>o : M2.Point +>M2 : unknown +>Point : M2.Point +>a2.Origin() : M2.Point +>a2.Origin : () => M2.Point +>a2 : typeof M2.Point +>Origin : () => M2.Point var p2: { x: number; y: number } >p2 : { x: number; y: number; } @@ -115,22 +115,22 @@ var p2: { x: number; y: number } var p2: M2.Point; >p2 : { x: number; y: number; } ->M2 : M2 ->Point : Point +>M2 : unknown +>Point : M2.Point var p2 = new m2.Point(); >p2 : { x: number; y: number; } ->new m2.Point() : Point ->m2.Point : typeof Point +>new m2.Point() : M2.Point +>m2.Point : typeof M2.Point >m2 : typeof M2 ->Point : typeof Point +>Point : typeof M2.Point var p2 = new M2.Point(); >p2 : { x: number; y: number; } ->new M2.Point() : Point ->M2.Point : typeof Point +>new M2.Point() : M2.Point +>M2.Point : typeof M2.Point >M2 : typeof M2 ->Point : typeof Point +>Point : typeof M2.Point module M3 { >M3 : typeof M3 @@ -150,48 +150,48 @@ var m3 = M3; >M3 : typeof M3 var a3: typeof M3.Color; ->a3 : typeof Color +>a3 : typeof M3.Color >M3 : typeof M3 ->Color : typeof Color +>Color : typeof M3.Color var a3 = m3.Color; ->a3 : typeof Color ->m3.Color : typeof Color +>a3 : typeof M3.Color +>m3.Color : typeof M3.Color >m3 : typeof M3 ->Color : typeof Color +>Color : typeof M3.Color var a3 = M3.Color; ->a3 : typeof Color ->M3.Color : typeof Color +>a3 : typeof M3.Color +>M3.Color : typeof M3.Color >M3 : typeof M3 ->Color : typeof Color +>Color : typeof M3.Color var blue: M3.Color = a3.Blue; ->blue : Color ->M3 : M3 ->Color : Color ->a3.Blue : Color ->a3 : typeof Color ->Blue : Color +>blue : M3.Color +>M3 : unknown +>Color : M3.Color +>a3.Blue : M3.Color +>a3 : typeof M3.Color +>Blue : M3.Color var p3: M3.Color; ->p3 : Color ->M3 : M3 ->Color : Color +>p3 : M3.Color +>M3 : unknown +>Color : M3.Color var p3 = M3.Color.Red; ->p3 : Color ->M3.Color.Red : Color ->M3.Color : typeof Color +>p3 : M3.Color +>M3.Color.Red : M3.Color +>M3.Color : typeof M3.Color >M3 : typeof M3 ->Color : typeof Color ->Red : Color +>Color : typeof M3.Color +>Red : M3.Color var p3 = m3.Color.Blue; ->p3 : Color ->m3.Color.Blue : Color ->m3.Color : typeof Color +>p3 : M3.Color +>m3.Color.Blue : M3.Color +>m3.Color : typeof M3.Color >m3 : typeof M3 ->Color : typeof Color ->Blue : Color +>Color : typeof M3.Color +>Blue : M3.Color diff --git a/tests/baselines/reference/interMixingModulesInterfaces0.types b/tests/baselines/reference/interMixingModulesInterfaces0.types index a6f132970cd..977b02e15e8 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces0.types +++ b/tests/baselines/reference/interMixingModulesInterfaces0.types @@ -25,13 +25,13 @@ module A { } var x: A.B = A.B.createB(); ->x : B ->A : A ->B : B ->A.B.createB() : B ->A.B.createB : () => B ->A.B : typeof B +>x : A.B +>A : unknown +>B : A.B +>A.B.createB() : A.B +>A.B.createB : () => A.B +>A.B : typeof A.B >A : typeof A ->B : typeof B ->createB : () => B +>B : typeof A.B +>createB : () => A.B diff --git a/tests/baselines/reference/interMixingModulesInterfaces1.types b/tests/baselines/reference/interMixingModulesInterfaces1.types index df54cefd96f..c94cc80e5bf 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces1.types +++ b/tests/baselines/reference/interMixingModulesInterfaces1.types @@ -25,13 +25,13 @@ module A { } var x: A.B = A.B.createB(); ->x : B ->A : A ->B : B ->A.B.createB() : B ->A.B.createB : () => B ->A.B : typeof B +>x : A.B +>A : unknown +>B : A.B +>A.B.createB() : A.B +>A.B.createB : () => A.B +>A.B : typeof A.B >A : typeof A ->B : typeof B ->createB : () => B +>B : typeof A.B +>createB : () => A.B diff --git a/tests/baselines/reference/interMixingModulesInterfaces2.types b/tests/baselines/reference/interMixingModulesInterfaces2.types index 67d8e04c571..ff21c25358b 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces2.types +++ b/tests/baselines/reference/interMixingModulesInterfaces2.types @@ -25,7 +25,7 @@ module A { } var x: A.B = null; ->x : B ->A : A ->B : B +>x : A.B +>A : unknown +>B : A.B diff --git a/tests/baselines/reference/interMixingModulesInterfaces3.types b/tests/baselines/reference/interMixingModulesInterfaces3.types index 9ffb4149b48..123d609c365 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces3.types +++ b/tests/baselines/reference/interMixingModulesInterfaces3.types @@ -25,7 +25,7 @@ module A { } var x: A.B = null; ->x : B ->A : A ->B : B +>x : A.B +>A : unknown +>B : A.B diff --git a/tests/baselines/reference/interMixingModulesInterfaces4.types b/tests/baselines/reference/interMixingModulesInterfaces4.types index 9df3388a09a..e4e9bf385ac 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces4.types +++ b/tests/baselines/reference/interMixingModulesInterfaces4.types @@ -27,8 +27,8 @@ var x : number = A.B.createB(); >x : number >A.B.createB() : number >A.B.createB : () => number ->A.B : typeof B +>A.B : typeof A.B >A : typeof A ->B : typeof B +>B : typeof A.B >createB : () => number diff --git a/tests/baselines/reference/interMixingModulesInterfaces5.types b/tests/baselines/reference/interMixingModulesInterfaces5.types index de08a7be442..199b37b16eb 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces5.types +++ b/tests/baselines/reference/interMixingModulesInterfaces5.types @@ -27,8 +27,8 @@ var x: number = A.B.createB(); >x : number >A.B.createB() : number >A.B.createB : () => number ->A.B : typeof B +>A.B : typeof A.B >A : typeof A ->B : typeof B +>B : typeof A.B >createB : () => number diff --git a/tests/baselines/reference/interfaceContextualType.types b/tests/baselines/reference/interfaceContextualType.types index 65bd6b7ae34..88ba9dcbc24 100644 --- a/tests/baselines/reference/interfaceContextualType.types +++ b/tests/baselines/reference/interfaceContextualType.types @@ -46,15 +46,11 @@ class Bug { >shouldBeOK : () => void this.values = { ->this.values = { - comments: { italic: true } - } : { [x: string]: IOptions; comments: { italic: boolean; }; } +>this.values = { comments: { italic: true } } : { [x: string]: IOptions; comments: { italic: boolean; }; } >this.values : IMap >this : Bug >values : IMap ->{ - comments: { italic: true } - } : { [x: string]: IOptions; comments: { italic: boolean; }; } +>{ comments: { italic: true } } : { [x: string]: IOptions; comments: { italic: boolean; }; } comments: { italic: true } >comments : { italic: boolean; } diff --git a/tests/baselines/reference/interfaceWithPropertyOfEveryType.types b/tests/baselines/reference/interfaceWithPropertyOfEveryType.types index 557ca4f965b..69ad29374a2 100644 --- a/tests/baselines/reference/interfaceWithPropertyOfEveryType.types +++ b/tests/baselines/reference/interfaceWithPropertyOfEveryType.types @@ -79,23 +79,7 @@ interface Foo { var a: Foo = { >a : Foo >Foo : Foo ->{ - a: 1, - b: '', - c: true, - d: {}, - e: null , - f: [1], - g: {}, - h: (x: number) => 1, - i: (x: T) => x, - j: null, - k: new C(), - l: f1, - m: M, - n: {}, - o: E.A -} : { a: number; b: string; c: boolean; d: {}; e: null; f: number[]; g: {}; h: (x: number) => number; i: (x: T) => T; j: Foo; k: C; l: () => void; m: typeof M; n: {}; o: E; } +>{ a: 1, b: '', c: true, d: {}, e: null , f: [1], g: {}, h: (x: number) => 1, i: (x: T) => x, j: null, k: new C(), l: f1, m: M, n: {}, o: E.A} : { a: number; b: string; c: boolean; d: {}; e: null; f: number[]; g: {}; h: (x: number) => number; i: (x: T) => T; j: Foo; k: C; l: () => void; m: typeof M; n: {}; o: E; } a: 1, >a : number diff --git a/tests/baselines/reference/internalAliasClass.types b/tests/baselines/reference/internalAliasClass.types index 2a026c713ed..8531714b5e8 100644 --- a/tests/baselines/reference/internalAliasClass.types +++ b/tests/baselines/reference/internalAliasClass.types @@ -11,13 +11,13 @@ module c { >c : typeof c import b = a.c; ->b : typeof c +>b : typeof b >a : typeof a ->c : c +>c : b export var x: b = new b(); ->x : c ->b : c ->new b() : c ->b : typeof c +>x : b +>b : b +>new b() : b +>b : typeof b } diff --git a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.types b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.types index 54f69cf2f39..3f6f5845fda 100644 --- a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.types +++ b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.types @@ -41,11 +41,11 @@ export module m2 { } export var d = new m2.m3.c(); ->d : c ->new m2.m3.c() : c ->m2.m3.c : typeof c ->m2.m3 : typeof m3 +>d : x.c +>new m2.m3.c() : x.c +>m2.m3.c : typeof x.c +>m2.m3 : typeof m2.m3 >m2 : typeof m2 ->m3 : typeof m3 ->c : typeof c +>m3 : typeof m2.m3 +>c : typeof x.c diff --git a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.types b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.types index a9edf4684c4..6a25f03c2e9 100644 --- a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.types +++ b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.types @@ -16,19 +16,19 @@ export module x { } export import xc = x.c; ->xc : typeof c +>xc : typeof xc >x : typeof x ->c : c +>c : xc export var cProp = new xc(); ->cProp : c ->new xc() : c ->xc : typeof c +>cProp : xc +>new xc() : xc +>xc : typeof xc var cReturnVal = cProp.foo(10); >cReturnVal : number >cProp.foo(10) : number >cProp.foo : (a: number) => number ->cProp : c +>cProp : xc >foo : (a: number) => number diff --git a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.types b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.types index 05309a8f844..4e086f86054 100644 --- a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.types @@ -16,19 +16,19 @@ export module x { } import xc = x.c; ->xc : typeof c +>xc : typeof xc >x : typeof x ->c : c +>c : xc export var cProp = new xc(); ->cProp : c ->new xc() : c ->xc : typeof c +>cProp : xc +>new xc() : xc +>xc : typeof xc var cReturnVal = cProp.foo(10); >cReturnVal : number >cProp.foo(10) : number >cProp.foo : (a: number) => number ->cProp : c +>cProp : xc >foo : (a: number) => number diff --git a/tests/baselines/reference/internalAliasEnum.types b/tests/baselines/reference/internalAliasEnum.types index 8b4706b67f3..87cab6cc56d 100644 --- a/tests/baselines/reference/internalAliasEnum.types +++ b/tests/baselines/reference/internalAliasEnum.types @@ -20,15 +20,15 @@ module c { >c : typeof c import b = a.weekend; ->b : typeof weekend +>b : typeof b >a : typeof a ->weekend : weekend +>weekend : b export var bVal: b = b.Sunday; ->bVal : weekend ->b : weekend ->b.Sunday : weekend ->b : typeof weekend ->Sunday : weekend +>bVal : b +>b : b +>b.Sunday : b +>b : typeof b +>Sunday : b } diff --git a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithExport.types b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithExport.types index e990dc2d5e9..0d09b930f95 100644 --- a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithExport.types @@ -20,15 +20,15 @@ export module c { >c : typeof c export import b = a.weekend; ->b : typeof weekend +>b : typeof b >a : typeof a ->weekend : weekend +>weekend : b export var bVal: b = b.Sunday; ->bVal : weekend ->b : weekend ->b.Sunday : weekend ->b : typeof weekend ->Sunday : weekend +>bVal : b +>b : b +>b.Sunday : b +>b : typeof b +>Sunday : b } diff --git a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.types b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.types index 1182ea3d4f3..881e51324af 100644 --- a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.types @@ -20,15 +20,15 @@ export module c { >c : typeof c import b = a.weekend; ->b : typeof weekend +>b : typeof b >a : typeof a ->weekend : weekend +>weekend : b export var bVal: b = b.Sunday; ->bVal : weekend ->b : weekend ->b.Sunday : weekend ->b : typeof weekend ->Sunday : weekend +>bVal : b +>b : b +>b.Sunday : b +>b : typeof b +>Sunday : b } diff --git a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithExport.types b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithExport.types index 8fd15e4e210..8458d885738 100644 --- a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithExport.types @@ -17,14 +17,14 @@ export module a { } export import b = a.weekend; ->b : typeof weekend +>b : typeof b >a : typeof a ->weekend : weekend +>weekend : b export var bVal: b = b.Sunday; ->bVal : weekend ->b : weekend ->b.Sunday : weekend ->b : typeof weekend ->Sunday : weekend +>bVal : b +>b : b +>b.Sunday : b +>b : typeof b +>Sunday : b diff --git a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.types b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.types index 09ee904abb6..6e75bd81bdf 100644 --- a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.types @@ -17,14 +17,14 @@ export module a { } import b = a.weekend; ->b : typeof weekend +>b : typeof b >a : typeof a ->weekend : weekend +>weekend : b export var bVal: b = b.Sunday; ->bVal : weekend ->b : weekend ->b.Sunday : weekend ->b : typeof weekend ->Sunday : weekend +>bVal : b +>b : b +>b.Sunday : b +>b : typeof b +>Sunday : b diff --git a/tests/baselines/reference/internalAliasInitializedModule.types b/tests/baselines/reference/internalAliasInitializedModule.types index 44d376e913e..dacc2f148bd 100644 --- a/tests/baselines/reference/internalAliasInitializedModule.types +++ b/tests/baselines/reference/internalAliasInitializedModule.types @@ -20,11 +20,11 @@ module c { >b : typeof b export var x: b.c = new b.c(); ->x : c ->b : b ->c : c ->new b.c() : c ->b.c : typeof c +>x : b.c +>b : unknown +>c : b.c +>new b.c() : b.c +>b.c : typeof b.c >b : typeof b ->c : typeof c +>c : typeof b.c } diff --git a/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithExport.types b/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithExport.types index 3dfee66924a..973003d2c49 100644 --- a/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithExport.types +++ b/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithExport.types @@ -20,11 +20,11 @@ export module c { >b : typeof b export var x: b.c = new b.c(); ->x : c ->b : b ->c : c ->new b.c() : c ->b.c : typeof c +>x : b.c +>b : unknown +>c : b.c +>new b.c() : b.c +>b.c : typeof b.c >b : typeof b ->c : typeof c +>c : typeof b.c } diff --git a/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.types b/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.types index 4e78a0d7816..540883209de 100644 --- a/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.types @@ -20,11 +20,11 @@ export module c { >b : typeof b export var x: b.c = new b.c(); ->x : c ->b : b ->c : c ->new b.c() : c ->b.c : typeof c +>x : b.c +>b : unknown +>c : b.c +>new b.c() : b.c +>b.c : typeof b.c >b : typeof b ->c : typeof c +>c : typeof b.c } diff --git a/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithExport.types b/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithExport.types index a7d7d1937cd..aa9944787d6 100644 --- a/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithExport.types +++ b/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithExport.types @@ -17,11 +17,11 @@ export import b = a.b; >b : typeof b export var x: b.c = new b.c(); ->x : c ->b : b ->c : c ->new b.c() : c ->b.c : typeof c +>x : b.c +>b : unknown +>c : b.c +>new b.c() : b.c +>b.c : typeof b.c >b : typeof b ->c : typeof c +>c : typeof b.c diff --git a/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.types b/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.types index ffd30968316..e17fcdba2a7 100644 --- a/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.types @@ -17,11 +17,11 @@ import b = a.b; >b : typeof b export var x: b.c = new b.c(); ->x : c ->b : b ->c : c ->new b.c() : c ->b.c : typeof c +>x : b.c +>b : unknown +>c : b.c +>new b.c() : b.c +>b.c : typeof b.c >b : typeof b ->c : typeof c +>c : typeof b.c diff --git a/tests/baselines/reference/internalAliasInterface.types b/tests/baselines/reference/internalAliasInterface.types index 71a59027d83..310c568104d 100644 --- a/tests/baselines/reference/internalAliasInterface.types +++ b/tests/baselines/reference/internalAliasInterface.types @@ -1,6 +1,6 @@ === tests/cases/compiler/internalAliasInterface.ts === module a { ->a : a +>a : unknown export interface I { >I : I @@ -11,12 +11,12 @@ module c { >c : typeof c import b = a.I; ->b : b ->a : a ->I : I +>b : unknown +>a : unknown +>I : b export var x: b; ->x : I ->b : I +>x : b +>b : b } diff --git a/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithExport.types b/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithExport.types index 253a778ea3e..9667fd125d5 100644 --- a/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithExport.types +++ b/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithExport.types @@ -1,6 +1,6 @@ === tests/cases/compiler/internalAliasInterfaceInsideLocalModuleWithExport.ts === export module a { ->a : a +>a : unknown export interface I { >I : I @@ -11,12 +11,12 @@ export module c { >c : typeof c export import b = a.I; ->b : b ->a : a ->I : I +>b : unknown +>a : unknown +>I : b export var x: b; ->x : I ->b : I +>x : b +>b : b } diff --git a/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.types b/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.types index ec1e59fd946..2f9368bc6a9 100644 --- a/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.types @@ -1,6 +1,6 @@ === tests/cases/compiler/internalAliasInterfaceInsideLocalModuleWithoutExport.ts === export module a { ->a : a +>a : unknown export interface I { >I : I @@ -11,12 +11,12 @@ export module c { >c : typeof c import b = a.I; ->b : b ->a : a ->I : I +>b : unknown +>a : unknown +>I : b export var x: b; ->x : I ->b : I +>x : b +>b : b } diff --git a/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithExport.types b/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithExport.types index 686eba773b1..9197d1e0215 100644 --- a/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithExport.types +++ b/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithExport.types @@ -1,6 +1,6 @@ === tests/cases/compiler/internalAliasInterfaceInsideTopLevelModuleWithExport.ts === export module a { ->a : a +>a : unknown export interface I { >I : I @@ -8,11 +8,11 @@ export module a { } export import b = a.I; ->b : b ->a : a ->I : I +>b : unknown +>a : unknown +>I : b export var x: b; ->x : I ->b : I +>x : b +>b : b diff --git a/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.types b/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.types index 56197b88a1f..58be03b6a3c 100644 --- a/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.types @@ -1,6 +1,6 @@ === tests/cases/compiler/internalAliasInterfaceInsideTopLevelModuleWithoutExport.ts === export module a { ->a : a +>a : unknown export interface I { >I : I @@ -8,11 +8,11 @@ export module a { } import b = a.I; ->b : b ->a : a ->I : I +>b : unknown +>a : unknown +>I : b export var x: b; ->x : I ->b : I +>x : b +>b : b diff --git a/tests/baselines/reference/internalAliasUninitializedModule.types b/tests/baselines/reference/internalAliasUninitializedModule.types index 2a05858edbf..408a2467e03 100644 --- a/tests/baselines/reference/internalAliasUninitializedModule.types +++ b/tests/baselines/reference/internalAliasUninitializedModule.types @@ -1,9 +1,9 @@ === tests/cases/compiler/internalAliasUninitializedModule.ts === module a { ->a : a +>a : unknown export module b { ->b : b +>b : unknown export interface I { >I : I @@ -18,18 +18,18 @@ module c { >c : typeof c import b = a.b; ->b : b ->a : a ->b : b +>b : unknown +>a : unknown +>b : unknown export var x: b.I; ->x : I ->b : b ->I : I +>x : b.I +>b : unknown +>I : b.I x.foo(); >x.foo() : any >x.foo : () => any ->x : I +>x : b.I >foo : () => any } diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithExport.types b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithExport.types index 4220c67e677..f7bbc68dac0 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithExport.types +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithExport.types @@ -1,9 +1,9 @@ === tests/cases/compiler/internalAliasUninitializedModuleInsideLocalModuleWithExport.ts === export module a { ->a : a +>a : unknown export module b { ->b : b +>b : unknown export interface I { >I : I @@ -18,18 +18,18 @@ export module c { >c : typeof c export import b = a.b; ->b : b ->a : a ->b : b +>b : unknown +>a : unknown +>b : unknown export var x: b.I; ->x : I ->b : b ->I : I +>x : b.I +>b : unknown +>I : b.I x.foo(); >x.foo() : any >x.foo : () => any ->x : I +>x : b.I >foo : () => any } diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.types b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.types index c42848cdd61..cf9a85a712f 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.types @@ -1,9 +1,9 @@ === tests/cases/compiler/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.ts === export module a { ->a : a +>a : unknown export module b { ->b : b +>b : unknown export interface I { >I : I @@ -18,18 +18,18 @@ export module c { >c : typeof c import b = a.b; ->b : b ->a : a ->b : b +>b : unknown +>a : unknown +>b : unknown export var x: b.I; ->x : I ->b : b ->I : I +>x : b.I +>b : unknown +>I : b.I x.foo(); >x.foo() : any >x.foo : () => any ->x : I +>x : b.I >foo : () => any } diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithExport.types b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithExport.types index cd6a928595a..015ec48fe6a 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithExport.types +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithExport.types @@ -1,9 +1,9 @@ === tests/cases/compiler/internalAliasUninitializedModuleInsideTopLevelModuleWithExport.ts === export module a { ->a : a +>a : unknown export module b { ->b : b +>b : unknown export interface I { >I : I @@ -15,18 +15,18 @@ export module a { } export import b = a.b; ->b : b ->a : a ->b : b +>b : unknown +>a : unknown +>b : unknown export var x: b.I; ->x : I ->b : b ->I : I +>x : b.I +>b : unknown +>I : b.I x.foo(); >x.foo() : any >x.foo : () => any ->x : I +>x : b.I >foo : () => any diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.types b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.types index 711e933ee74..71a2f535816 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.types @@ -1,9 +1,9 @@ === tests/cases/compiler/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.ts === export module a { ->a : a +>a : unknown export module b { ->b : b +>b : unknown export interface I { >I : I @@ -15,18 +15,18 @@ export module a { } import b = a.b; ->b : b ->a : a ->b : b +>b : unknown +>a : unknown +>b : unknown export var x: b.I; ->x : I ->b : b ->I : I +>x : b.I +>b : unknown +>I : b.I x.foo(); >x.foo() : any >x.foo : () => any ->x : I +>x : b.I >foo : () => any diff --git a/tests/baselines/reference/internalAliasWithDottedNameEmit.types b/tests/baselines/reference/internalAliasWithDottedNameEmit.types index 8677bb41138..2b66ec9541b 100644 --- a/tests/baselines/reference/internalAliasWithDottedNameEmit.types +++ b/tests/baselines/reference/internalAliasWithDottedNameEmit.types @@ -9,12 +9,12 @@ module a.b.c { } module a.e.f { >a : typeof a ->e : e ->f : f +>e : unknown +>f : unknown import g = b.c; ->g : typeof c +>g : typeof g >b : typeof b ->c : typeof c +>c : typeof g } diff --git a/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types b/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types index 2a1afa214a2..3ec8770f17c 100644 --- a/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types +++ b/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types @@ -17,10 +17,10 @@ module A { } module B { ->B : B +>B : unknown import Y = A; ->Y : typeof A ->A : A +>Y : typeof Y +>A : Y } diff --git a/tests/baselines/reference/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types b/tests/baselines/reference/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types index 131527c66a0..c07fc1c4955 100644 --- a/tests/baselines/reference/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types +++ b/tests/baselines/reference/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types @@ -14,10 +14,10 @@ module A { } module B { ->B : B +>B : unknown import Y = A; ->Y : typeof A ->A : A +>Y : typeof Y +>A : Y } diff --git a/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types b/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types index 01549965a13..0bff332846a 100644 --- a/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types +++ b/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types @@ -1,6 +1,6 @@ === tests/cases/compiler/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.ts === module A { ->A : A +>A : unknown export interface X { s: string } >X : X @@ -14,7 +14,7 @@ module B { >A : number import Y = A; ->Y : Y ->A : A +>Y : unknown +>A : unknown } diff --git a/tests/baselines/reference/ipromise2.types b/tests/baselines/reference/ipromise2.types index 1cb5bcecc34..72c7b44f146 100644 --- a/tests/baselines/reference/ipromise2.types +++ b/tests/baselines/reference/ipromise2.types @@ -1,7 +1,7 @@ === tests/cases/compiler/ipromise2.ts === declare module Windows.Foundation { ->Windows : Windows ->Foundation : Foundation +>Windows : unknown +>Foundation : unknown export interface IPromise { >IPromise : IPromise @@ -21,8 +21,8 @@ declare module Windows.Foundation { >U : U >progress : (progress: any) => void >progress : any ->Windows : Windows ->Foundation : Foundation +>Windows : unknown +>Foundation : unknown >IPromise : IPromise >U : U @@ -39,8 +39,8 @@ declare module Windows.Foundation { >U : U >progress : (progress: any) => void >progress : any ->Windows : Windows ->Foundation : Foundation +>Windows : unknown +>Foundation : unknown >IPromise : IPromise >U : U @@ -57,8 +57,8 @@ declare module Windows.Foundation { >U : U >progress : (progress: any) => void >progress : any ->Windows : Windows ->Foundation : Foundation +>Windows : unknown +>Foundation : unknown >IPromise : IPromise >U : U @@ -74,8 +74,8 @@ declare module Windows.Foundation { >U : U >progress : (progress: any) => void >progress : any ->Windows : Windows ->Foundation : Foundation +>Windows : unknown +>Foundation : unknown >IPromise : IPromise >U : U @@ -97,22 +97,18 @@ declare module Windows.Foundation { } var p: Windows.Foundation.IPromise; ->p : IPromise ->Windows : Windows ->Foundation : Foundation ->IPromise : IPromise +>p : Windows.Foundation.IPromise +>Windows : unknown +>Foundation : unknown +>IPromise : Windows.Foundation.IPromise var p2 = p.then(function (s) { ->p2 : IPromise ->p.then(function (s) { - return 34; -} ) : IPromise ->p.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->p : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->function (s) { - return 34; -} : (s: string) => number +>p2 : Windows.Foundation.IPromise +>p.then(function (s) { return 34;} ) : Windows.Foundation.IPromise +>p.then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>p : Windows.Foundation.IPromise +>then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>function (s) { return 34;} : (s: string) => number >s : string return 34; @@ -122,7 +118,7 @@ var p2 = p.then(function (s) { var x: number = p2.value; >x : number >p2.value : number ->p2 : IPromise +>p2 : Windows.Foundation.IPromise >value : number diff --git a/tests/baselines/reference/ipromise3.types b/tests/baselines/reference/ipromise3.types index 4750dd4b6ce..7f11624db09 100644 --- a/tests/baselines/reference/ipromise3.types +++ b/tests/baselines/reference/ipromise3.types @@ -85,15 +85,11 @@ var p1: IPromise3; var p2: IPromise3 = p1.then(function (x) { >p2 : IPromise3 >IPromise3 : IPromise3 ->p1.then(function (x) { - return x; -}) : IPromise3 +>p1.then(function (x) { return x;}) : IPromise3 >p1.then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } >p1 : IPromise3 >then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } ->function (x) { - return x; -} : (x: string) => string +>function (x) { return x;} : (x: string) => string >x : string return x; diff --git a/tests/baselines/reference/ipromise4.types b/tests/baselines/reference/ipromise4.types index bc00be77faa..0ae6c35f1fd 100644 --- a/tests/baselines/reference/ipromise4.types +++ b/tests/baselines/reference/ipromise4.types @@ -1,7 +1,7 @@ === tests/cases/compiler/ipromise4.ts === declare module Windows.Foundation { ->Windows : Windows ->Foundation : Foundation +>Windows : unknown +>Foundation : unknown export interface IPromise { >IPromise : IPromise @@ -21,8 +21,8 @@ declare module Windows.Foundation { >U : U >progress : (progress: any) => void >progress : any ->Windows : Windows ->Foundation : Foundation +>Windows : unknown +>Foundation : unknown >IPromise : IPromise >U : U @@ -39,8 +39,8 @@ declare module Windows.Foundation { >U : U >progress : (progress: any) => void >progress : any ->Windows : Windows ->Foundation : Foundation +>Windows : unknown +>Foundation : unknown >IPromise : IPromise >U : U @@ -57,8 +57,8 @@ declare module Windows.Foundation { >U : U >progress : (progress: any) => void >progress : any ->Windows : Windows ->Foundation : Foundation +>Windows : unknown +>Foundation : unknown >IPromise : IPromise >U : U @@ -74,8 +74,8 @@ declare module Windows.Foundation { >U : U >progress : (progress: any) => void >progress : any ->Windows : Windows ->Foundation : Foundation +>Windows : unknown +>Foundation : unknown >IPromise : IPromise >U : U @@ -93,29 +93,29 @@ declare module Windows.Foundation { } var p: Windows.Foundation.IPromise = null; ->p : IPromise ->Windows : Windows ->Foundation : Foundation ->IPromise : IPromise +>p : Windows.Foundation.IPromise +>Windows : unknown +>Foundation : unknown +>IPromise : Windows.Foundation.IPromise p.then(function (x) { } ); // should not error ->p.then(function (x) { } ) : IPromise ->p.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->p : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>p.then(function (x) { } ) : Windows.Foundation.IPromise +>p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>p : Windows.Foundation.IPromise +>then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >function (x) { } : (x: number) => void >x : number p.then(function (x) { return "hello"; } ).then(function (x) { return x } ); // should not error ->p.then(function (x) { return "hello"; } ).then(function (x) { return x } ) : IPromise ->p.then(function (x) { return "hello"; } ).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->p.then(function (x) { return "hello"; } ) : IPromise ->p.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->p : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>p.then(function (x) { return "hello"; } ).then(function (x) { return x } ) : Windows.Foundation.IPromise +>p.then(function (x) { return "hello"; } ).then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>p.then(function (x) { return "hello"; } ) : Windows.Foundation.IPromise +>p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>p : Windows.Foundation.IPromise +>then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >function (x) { return "hello"; } : (x: number) => string >x : number ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >function (x) { return x } : (x: string) => string >x : string >x : string diff --git a/tests/baselines/reference/lambdaASIEmit.types b/tests/baselines/reference/lambdaASIEmit.types index acdbd777f23..b72a805cd12 100644 --- a/tests/baselines/reference/lambdaASIEmit.types +++ b/tests/baselines/reference/lambdaASIEmit.types @@ -7,13 +7,9 @@ function Foo(x: any) } Foo(() => ->Foo(() => - // do something - 127) : void +>Foo(() => // do something 127) : void >Foo : (x: any) => void ->() => - // do something - 127 : () => number +>() => // do something 127 : () => number // do something 127); diff --git a/tests/baselines/reference/literals1.types b/tests/baselines/reference/literals1.types index b7c5d672eea..f1d6736fdca 100644 --- a/tests/baselines/reference/literals1.types +++ b/tests/baselines/reference/literals1.types @@ -34,13 +34,10 @@ var k = 'q\tq'; var m = /q/; >m : RegExp ->/q/ : RegExp var n = /\d+/g; >n : RegExp ->/\d+/g : RegExp var o = /[3-5]+/i; >o : RegExp ->/[3-5]+/i : RegExp diff --git a/tests/baselines/reference/memberAccessMustUseModuleInstances.types b/tests/baselines/reference/memberAccessMustUseModuleInstances.types index f549b4078f9..4e95362f782 100644 --- a/tests/baselines/reference/memberAccessMustUseModuleInstances.types +++ b/tests/baselines/reference/memberAccessMustUseModuleInstances.types @@ -1,15 +1,15 @@ === tests/cases/compiler/memberAccessMustUseModuleInstances_1.ts === /// import WinJS = require('memberAccessMustUseModuleInstances_0'); ->WinJS : typeof "tests/cases/compiler/memberAccessMustUseModuleInstances_0" +>WinJS : typeof WinJS WinJS.Promise.timeout(10); ->WinJS.Promise.timeout(10) : Promise ->WinJS.Promise.timeout : (delay: number) => Promise ->WinJS.Promise : typeof Promise ->WinJS : typeof "tests/cases/compiler/memberAccessMustUseModuleInstances_0" ->Promise : typeof Promise ->timeout : (delay: number) => Promise +>WinJS.Promise.timeout(10) : WinJS.Promise +>WinJS.Promise.timeout : (delay: number) => WinJS.Promise +>WinJS.Promise : typeof WinJS.Promise +>WinJS : typeof WinJS +>Promise : typeof WinJS.Promise +>timeout : (delay: number) => WinJS.Promise === tests/cases/compiler/memberAccessMustUseModuleInstances_0.ts === export class Promise { diff --git a/tests/baselines/reference/mergedDeclarations4.types b/tests/baselines/reference/mergedDeclarations4.types index 08f06f0730c..068a08d35f5 100644 --- a/tests/baselines/reference/mergedDeclarations4.types +++ b/tests/baselines/reference/mergedDeclarations4.types @@ -50,14 +50,14 @@ module M { M.f(); >M.f() : void ->M.f : typeof f +>M.f : typeof M.f >M : typeof M ->f : typeof f +>f : typeof M.f M.f.hello; >M.f.hello : number ->M.f : typeof f +>M.f : typeof M.f >M : typeof M ->f : typeof f +>f : typeof M.f >hello : number diff --git a/tests/baselines/reference/mergedModuleDeclarationCodeGen2.types b/tests/baselines/reference/mergedModuleDeclarationCodeGen2.types index d27056b3bdd..790ec8d9377 100644 --- a/tests/baselines/reference/mergedModuleDeclarationCodeGen2.types +++ b/tests/baselines/reference/mergedModuleDeclarationCodeGen2.types @@ -9,7 +9,7 @@ module my.data.foo { } module my.data { >my : typeof my ->data : typeof data +>data : typeof my.data function data(my) { >data : (my: any) => void diff --git a/tests/baselines/reference/mergedModuleDeclarationCodeGen5.types b/tests/baselines/reference/mergedModuleDeclarationCodeGen5.types index 344f052eb4c..ab4203d7951 100644 --- a/tests/baselines/reference/mergedModuleDeclarationCodeGen5.types +++ b/tests/baselines/reference/mergedModuleDeclarationCodeGen5.types @@ -2,7 +2,7 @@ module M.buz.plop { >M : typeof M >buz : typeof buz ->plop : typeof plop +>plop : typeof buz.plop export function doom() { } >doom : () => void @@ -13,7 +13,7 @@ module M.buz.plop { module M.buz.plop { >M : typeof M >buz : typeof buz ->plop : typeof plop +>plop : typeof M.buz.plop function gunk() { } >gunk : () => void diff --git a/tests/baselines/reference/methodContainingLocalFunction.types b/tests/baselines/reference/methodContainingLocalFunction.types index 29d39cd9e19..48c4be12631 100644 --- a/tests/baselines/reference/methodContainingLocalFunction.types +++ b/tests/baselines/reference/methodContainingLocalFunction.types @@ -112,24 +112,9 @@ enum E { A = (() => { >A : E ->(() => { - function localFunction() { } - var x: { (): void; }; - x = localFunction; - return 0; - })() : number ->(() => { - function localFunction() { } - var x: { (): void; }; - x = localFunction; - return 0; - }) : () => number ->() => { - function localFunction() { } - var x: { (): void; }; - x = localFunction; - return 0; - } : () => number +>(() => { function localFunction() { } var x: { (): void; }; x = localFunction; return 0; })() : number +>(() => { function localFunction() { } var x: { (): void; }; x = localFunction; return 0; }) : () => number +>() => { function localFunction() { } var x: { (): void; }; x = localFunction; return 0; } : () => number function localFunction() { } >localFunction : () => void diff --git a/tests/baselines/reference/missingRequiredDeclare.d.errors.txt b/tests/baselines/reference/missingRequiredDeclare.d.errors.txt new file mode 100644 index 00000000000..932512ba8d8 --- /dev/null +++ b/tests/baselines/reference/missingRequiredDeclare.d.errors.txt @@ -0,0 +1,6 @@ +==== tests/cases/compiler/missingRequiredDeclare.d.ts (2 errors) ==== + var x = 1; + ~~~ +!!! A 'declare' modifier is required for a top level declaration in a .d.ts file. + ~ +!!! Initializers are not allowed in ambient contexts. \ No newline at end of file diff --git a/tests/baselines/reference/missingTypeArguments3.types b/tests/baselines/reference/missingTypeArguments3.types index b62125f179d..ec6d9944924 100644 --- a/tests/baselines/reference/missingTypeArguments3.types +++ b/tests/baselines/reference/missingTypeArguments3.types @@ -1,6 +1,6 @@ === tests/cases/compiler/missingTypeArguments3.ts === declare module linq { ->linq : linq +>linq : unknown interface Enumerable { >Enumerable : Enumerable diff --git a/tests/baselines/reference/mixedExports.types b/tests/baselines/reference/mixedExports.types index c9448423cb9..f7ff0a13c34 100644 --- a/tests/baselines/reference/mixedExports.types +++ b/tests/baselines/reference/mixedExports.types @@ -13,7 +13,7 @@ declare module M { } declare module M1 { ->M1 : M1 +>M1 : unknown export interface Foo {} >Foo : Foo @@ -23,14 +23,14 @@ declare module M1 { } module A { ->A : A +>A : unknown interface X {x} >X : X >x : any export module X {} ->X : X +>X : unknown interface X {y} >X : X diff --git a/tests/baselines/reference/moduleAliasAsFunctionArgument.types b/tests/baselines/reference/moduleAliasAsFunctionArgument.types index 15954c681e7..dc621aa5dbf 100644 --- a/tests/baselines/reference/moduleAliasAsFunctionArgument.types +++ b/tests/baselines/reference/moduleAliasAsFunctionArgument.types @@ -1,7 +1,7 @@ === tests/cases/compiler/moduleAliasAsFunctionArgument_1.ts === /// import a = require('moduleAliasAsFunctionArgument_0'); ->a : typeof "tests/cases/compiler/moduleAliasAsFunctionArgument_0" +>a : typeof a function fn(arg: { x: number }) { >fn : (arg: { x: number; }) => void @@ -11,13 +11,13 @@ function fn(arg: { x: number }) { a.x; // OK >a.x : number ->a : typeof "tests/cases/compiler/moduleAliasAsFunctionArgument_0" +>a : typeof a >x : number fn(a); // Error: property 'x' is missing from 'a' >fn(a) : void >fn : (arg: { x: number; }) => void ->a : typeof "tests/cases/compiler/moduleAliasAsFunctionArgument_0" +>a : typeof a === tests/cases/compiler/moduleAliasAsFunctionArgument_0.ts === export var x: number; diff --git a/tests/baselines/reference/moduleAliasInterface.types b/tests/baselines/reference/moduleAliasInterface.types index 809aba0e634..6d3b11197cb 100644 --- a/tests/baselines/reference/moduleAliasInterface.types +++ b/tests/baselines/reference/moduleAliasInterface.types @@ -19,31 +19,31 @@ module editor { >editor : typeof editor import modes = _modes; ->modes : typeof _modes ->_modes : typeof _modes +>modes : typeof modes +>_modes : typeof modes var i : modes.IMode; ->i : IMode ->modes : modes ->IMode : IMode +>i : modes.IMode +>modes : unknown +>IMode : modes.IMode // If you just use p1:modes, the compiler accepts it - should be an error class Bug { >Bug : Bug constructor(p1: modes.IMode, p2: modes.Mode) { }// should be an error on p2 - it's not exported ->p1 : IMode ->modes : modes ->IMode : IMode ->p2 : Mode ->modes : modes ->Mode : Mode +>p1 : modes.IMode +>modes : unknown +>IMode : modes.IMode +>p2 : modes.Mode +>modes : unknown +>Mode : modes.Mode public foo(p1:modes.IMode) { ->foo : (p1: IMode) => void ->p1 : IMode ->modes : modes ->IMode : IMode +>foo : (p1: modes.IMode) => void +>p1 : modes.IMode +>modes : unknown +>IMode : modes.IMode } } @@ -57,20 +57,20 @@ module editor2 { >editor2 : typeof editor2 var i : modesOuter.IMode; ->i : IMode ->modesOuter : modesOuter ->IMode : IMode +>i : modesOuter.IMode +>modesOuter : unknown +>IMode : modesOuter.IMode class Bug { >Bug : Bug constructor(p1: modesOuter.IMode, p2: modesOuter.Mode) { }// no error here, since modesOuter is declared externally ->p1 : IMode ->modesOuter : modesOuter ->IMode : IMode ->p2 : Mode ->modesOuter : modesOuter ->Mode : Mode +>p1 : modesOuter.IMode +>modesOuter : unknown +>IMode : modesOuter.IMode +>p2 : modesOuter.Mode +>modesOuter : unknown +>Mode : modesOuter.Mode } @@ -82,12 +82,12 @@ module editor2 { >Bug2 : Bug2 constructor(p1: Foo.Bar, p2: modesOuter.Mode) { } ->p1 : Bar ->Foo : Foo ->Bar : Bar ->p2 : Mode ->modesOuter : modesOuter ->Mode : Mode +>p1 : Foo.Bar +>Foo : unknown +>Bar : Foo.Bar +>p2 : modesOuter.Mode +>modesOuter : unknown +>Mode : modesOuter.Mode } } @@ -105,17 +105,17 @@ module B1 { >B1 : typeof B1 import A1Alias1 = A1; ->A1Alias1 : typeof A1 ->A1 : typeof A1 +>A1Alias1 : typeof A1Alias1 +>A1 : typeof A1Alias1 var i : A1Alias1.A1I1; ->i : A1I1 ->A1Alias1 : A1Alias1 ->A1I1 : A1I1 +>i : A1Alias1.A1I1 +>A1Alias1 : unknown +>A1I1 : A1Alias1.A1I1 var c : A1Alias1.A1C1; ->c : A1C1 ->A1Alias1 : A1Alias1 ->A1C1 : A1C1 +>c : A1Alias1.A1C1 +>A1Alias1 : unknown +>A1C1 : A1Alias1.A1C1 } diff --git a/tests/baselines/reference/moduleAndInterfaceSharingName.types b/tests/baselines/reference/moduleAndInterfaceSharingName.types index 65f8d8c9c70..6a4f8998fe6 100644 --- a/tests/baselines/reference/moduleAndInterfaceSharingName.types +++ b/tests/baselines/reference/moduleAndInterfaceSharingName.types @@ -1,9 +1,9 @@ === tests/cases/compiler/moduleAndInterfaceSharingName.ts === module X { ->X : X +>X : unknown export module Y { ->Y : Y +>Y : unknown export interface Z { } >Z : Z @@ -12,13 +12,13 @@ module X { >Y : Y } var z: X.Y.Z = null; ->z : Z ->X : X ->Y : Y ->Z : Z +>z : X.Y.Z +>X : unknown +>Y : unknown +>Z : X.Y.Z var z2: X.Y; ->z2 : Y ->X : X ->Y : Y +>z2 : X.Y +>X : unknown +>Y : X.Y diff --git a/tests/baselines/reference/moduleAndInterfaceSharingName3.types b/tests/baselines/reference/moduleAndInterfaceSharingName3.types index f2a8b24e6b3..1b9aabea630 100644 --- a/tests/baselines/reference/moduleAndInterfaceSharingName3.types +++ b/tests/baselines/reference/moduleAndInterfaceSharingName3.types @@ -1,9 +1,9 @@ === tests/cases/compiler/moduleAndInterfaceSharingName3.ts === module X { ->X : X +>X : unknown export module Y { ->Y : Y +>Y : unknown export interface Z { } >Z : Z @@ -13,13 +13,13 @@ module X { >T : T } var z: X.Y.Z = null; ->z : Z ->X : X ->Y : Y ->Z : Z +>z : X.Y.Z +>X : unknown +>Y : unknown +>Z : X.Y.Z var z2: X.Y; ->z2 : Y ->X : X ->Y : Y +>z2 : X.Y +>X : unknown +>Y : X.Y diff --git a/tests/baselines/reference/moduleAndInterfaceSharingName4.types b/tests/baselines/reference/moduleAndInterfaceSharingName4.types index ef933ef7fe5..8ad5a15a4ff 100644 --- a/tests/baselines/reference/moduleAndInterfaceSharingName4.types +++ b/tests/baselines/reference/moduleAndInterfaceSharingName4.types @@ -3,13 +3,13 @@ declare module D3 { >D3 : typeof D3 var x: D3.Color.Color; ->x : Color ->D3 : D3 ->Color : Color ->Color : Color +>x : Color.Color +>D3 : unknown +>Color : unknown +>Color : Color.Color module Color { ->Color : Color +>Color : unknown export interface Color { >Color : Color diff --git a/tests/baselines/reference/moduleImportedForTypeArgumentPosition.types b/tests/baselines/reference/moduleImportedForTypeArgumentPosition.types index 73097ef86ce..c5c3f427377 100644 --- a/tests/baselines/reference/moduleImportedForTypeArgumentPosition.types +++ b/tests/baselines/reference/moduleImportedForTypeArgumentPosition.types @@ -1,7 +1,7 @@ === tests/cases/compiler/moduleImportedForTypeArgumentPosition_1.ts === /**This is on import declaration*/ import M2 = require("moduleImportedForTypeArgumentPosition_0"); ->M2 : typeof "tests/cases/compiler/moduleImportedForTypeArgumentPosition_0" +>M2 : typeof M2 class C1{ } >C1 : C1 @@ -10,8 +10,8 @@ class C1{ } class Test1 extends C1 { >Test1 : Test1 >C1 : C1 ->M2 : M2 ->M2C : M2C +>M2 : unknown +>M2C : M2.M2C } === tests/cases/compiler/moduleImportedForTypeArgumentPosition_0.ts === diff --git a/tests/baselines/reference/moduleOuterQualification.types b/tests/baselines/reference/moduleOuterQualification.types index e60ae3ca51f..95a18f58bcd 100644 --- a/tests/baselines/reference/moduleOuterQualification.types +++ b/tests/baselines/reference/moduleOuterQualification.types @@ -1,19 +1,19 @@ === tests/cases/compiler/moduleOuterQualification.ts === declare module outer { ->outer : outer +>outer : unknown interface Beta { } >Beta : Beta module inner { ->inner : inner +>inner : unknown // .d.ts emit: should be 'extends outer.Beta' export interface Beta extends outer.Beta { } >Beta : Beta ->outer : outer ->Beta : Beta +>outer : unknown +>Beta : outer.Beta } } diff --git a/tests/baselines/reference/moduleSymbolMerging.types b/tests/baselines/reference/moduleSymbolMerging.types index 29354592a42..c6b0f58ef46 100644 --- a/tests/baselines/reference/moduleSymbolMerging.types +++ b/tests/baselines/reference/moduleSymbolMerging.types @@ -7,9 +7,9 @@ module B { >B : typeof B export function f(): A.I { return null; } ->f : () => I ->A : A ->I : I +>f : () => A.I +>A : unknown +>I : A.I } diff --git a/tests/baselines/reference/moduleVisibilityTest1.types b/tests/baselines/reference/moduleVisibilityTest1.types index 0f266892351..8c22f792049 100644 --- a/tests/baselines/reference/moduleVisibilityTest1.types +++ b/tests/baselines/reference/moduleVisibilityTest1.types @@ -17,9 +17,9 @@ module OuterMod { } import OuterInnerAlias = OuterMod.OuterInnerMod; ->OuterInnerAlias : typeof OuterInnerMod +>OuterInnerAlias : typeof OuterInnerAlias >OuterMod : typeof OuterMod ->OuterInnerMod : typeof OuterInnerMod +>OuterInnerMod : typeof OuterInnerAlias module M { >M : typeof M @@ -77,7 +77,7 @@ module M { >someMethodThatCallsAnOuterMethod : () => string >OuterInnerAlias.someExportedOuterInnerFunc() : string >OuterInnerAlias.someExportedOuterInnerFunc : () => string ->OuterInnerAlias : typeof OuterInnerMod +>OuterInnerAlias : typeof OuterInnerAlias >someExportedOuterInnerFunc : () => string public someMethodThatCallsAnInnerMethod() {return InnerMod.someExportedInnerFunc();} @@ -133,19 +133,19 @@ module M { } var cprime : M.I = null; ->cprime : I ->M : M ->I : I ->null : I ->M : M ->I : I +>cprime : M.I +>M : unknown +>I : M.I +>null : M.I +>M : unknown +>I : M.I var c = new M.C(); ->c : C ->new M.C() : C ->M.C : typeof C +>c : M.C +>new M.C() : M.C +>M.C : typeof M.C >M : typeof M ->C : typeof C +>C : typeof M.C var z = M.x; >z : number @@ -154,12 +154,12 @@ var z = M.x; >x : number var alpha = M.E.A; ->alpha : E ->M.E.A : E ->M.E : typeof E +>alpha : M.E +>M.E.A : M.E +>M.E : typeof M.E >M : typeof M ->E : typeof E ->A : E +>E : typeof M.E +>A : M.E var omega = M.exported_var; >omega : any @@ -170,6 +170,6 @@ var omega = M.exported_var; c.someMethodThatCallsAnOuterMethod(); >c.someMethodThatCallsAnOuterMethod() : string >c.someMethodThatCallsAnOuterMethod : () => string ->c : C +>c : M.C >someMethodThatCallsAnOuterMethod : () => string diff --git a/tests/baselines/reference/moduleWithStatementsOfEveryKind.types b/tests/baselines/reference/moduleWithStatementsOfEveryKind.types index 1855f6eb587..263da21f524 100644 --- a/tests/baselines/reference/moduleWithStatementsOfEveryKind.types +++ b/tests/baselines/reference/moduleWithStatementsOfEveryKind.types @@ -58,9 +58,7 @@ module A { var fn = (s: string) => { >fn : (s: string) => string ->(s: string) => { - return 'hello ' + s; - } : (s: string) => string +>(s: string) => { return 'hello ' + s; } : (s: string) => string >s : string return 'hello ' + s; @@ -134,9 +132,7 @@ module Y { export var fn = (s: string) => { >fn : (s: string) => string ->(s: string) => { - return 'hello ' + s; - } : (s: string) => string +>(s: string) => { return 'hello ' + s; } : (s: string) => string >s : string return 'hello ' + s; diff --git a/tests/baselines/reference/multiImportExport.types b/tests/baselines/reference/multiImportExport.types index 2970151bd9f..aac60aaee90 100644 --- a/tests/baselines/reference/multiImportExport.types +++ b/tests/baselines/reference/multiImportExport.types @@ -1,13 +1,13 @@ === tests/cases/compiler/consumer.ts === import Drawing = require('./Drawing'); ->Drawing : typeof "tests/cases/compiler/Drawing" +>Drawing : typeof Drawing var addr = new Drawing.Math.Adder(); >addr : Adder >new Drawing.Math.Adder() : Adder >Drawing.Math.Adder : typeof Adder >Drawing.Math : { Adder: typeof Adder; } ->Drawing : typeof "tests/cases/compiler/Drawing" +>Drawing : typeof Drawing >Math : { Adder: typeof Adder; } >Adder : typeof Adder @@ -21,9 +21,7 @@ import Adder = require('Math/Adder'); var Math = { >Math : { Adder: typeof Adder; } ->{ - Adder:Adder -} : { Adder: typeof Adder; } +>{ Adder:Adder} : { Adder: typeof Adder; } Adder:Adder >Adder : typeof Adder diff --git a/tests/baselines/reference/nameCollision.types b/tests/baselines/reference/nameCollision.types index 02266304873..be14150308b 100644 --- a/tests/baselines/reference/nameCollision.types +++ b/tests/baselines/reference/nameCollision.types @@ -38,13 +38,13 @@ module X { >X : number export module Y { ->Y : typeof Y +>Y : typeof X.Y var Y = 13; >Y : number export module Z { ->Z : typeof Z +>Z : typeof X.Y.Z var X = 12; >X : number @@ -60,7 +60,7 @@ module X { module Y.Y { >Y : typeof Y ->Y : typeof Y +>Y : typeof Y.Y export enum Y { >Y : Y diff --git a/tests/baselines/reference/nameDelimitedBySlashes.types b/tests/baselines/reference/nameDelimitedBySlashes.types index 4e994d1cd4d..cea87ff2241 100644 --- a/tests/baselines/reference/nameDelimitedBySlashes.types +++ b/tests/baselines/reference/nameDelimitedBySlashes.types @@ -1,12 +1,12 @@ === tests/cases/conformance/externalModules/foo_1.ts === import foo = require('./test/foo_0'); ->foo : typeof "tests/cases/conformance/externalModules/test/foo_0" +>foo : typeof foo var x = foo.foo + 42; >x : number >foo.foo + 42 : number >foo.foo : number ->foo : typeof "tests/cases/conformance/externalModules/test/foo_0" +>foo : typeof foo >foo : number === tests/cases/conformance/externalModules/test/foo_0.ts === diff --git a/tests/baselines/reference/nameWithRelativePaths.types b/tests/baselines/reference/nameWithRelativePaths.types index c20c4bc152d..2dc303b2583 100644 --- a/tests/baselines/reference/nameWithRelativePaths.types +++ b/tests/baselines/reference/nameWithRelativePaths.types @@ -1,29 +1,29 @@ === tests/cases/conformance/externalModules/test/foo_3.ts === import foo0 = require('../foo_0'); ->foo0 : typeof "tests/cases/conformance/externalModules/foo_0" +>foo0 : typeof foo0 import foo1 = require('./test/foo_1'); ->foo1 : typeof "tests/cases/conformance/externalModules/test/test/foo_1" +>foo1 : typeof foo1 import foo2 = require('./.././test/foo_2'); ->foo2 : typeof "tests/cases/conformance/externalModules/test/foo_2" +>foo2 : typeof foo2 if(foo2.M2.x){ >foo2.M2.x : boolean ->foo2.M2 : typeof M2 ->foo2 : typeof "tests/cases/conformance/externalModules/test/foo_2" ->M2 : typeof M2 +>foo2.M2 : typeof foo2.M2 +>foo2 : typeof foo2 +>M2 : typeof foo2.M2 >x : boolean var x = foo0.foo + foo1.f(); >x : number >foo0.foo + foo1.f() : number >foo0.foo : number ->foo0 : typeof "tests/cases/conformance/externalModules/foo_0" +>foo0 : typeof foo0 >foo : number >foo1.f() : number >foo1.f : () => number ->foo1 : typeof "tests/cases/conformance/externalModules/test/test/foo_1" +>foo1 : typeof foo1 >f : () => number } diff --git a/tests/baselines/reference/namedFunctionExpressionAssignedToClassProperty.types b/tests/baselines/reference/namedFunctionExpressionAssignedToClassProperty.types index 870734b0c6e..49ba563379e 100644 --- a/tests/baselines/reference/namedFunctionExpressionAssignedToClassProperty.types +++ b/tests/baselines/reference/namedFunctionExpressionAssignedToClassProperty.types @@ -4,9 +4,7 @@ class Foo{ a = function bar(){ >a : () => void ->function bar(){ - - } : () => void +>function bar(){ } : () => void >bar : () => void }; // this shouldn't crash the compiler... diff --git a/tests/baselines/reference/namedFunctionExpressionCall.types b/tests/baselines/reference/namedFunctionExpressionCall.types index 2f36c07f7d7..018cf64afcd 100644 --- a/tests/baselines/reference/namedFunctionExpressionCall.types +++ b/tests/baselines/reference/namedFunctionExpressionCall.types @@ -1,13 +1,7 @@ === tests/cases/compiler/namedFunctionExpressionCall.ts === var recurser = function foo() { >recurser : any ->function foo() { - // using the local name - foo(); - - // using the globally visible name - recurser(); -} : () => void +>function foo() { // using the local name foo(); // using the globally visible name recurser();} : () => void >foo : () => void // using the local name @@ -24,12 +18,8 @@ var recurser = function foo() { (function bar() { ->(function bar() { - bar(); -}) : () => void ->function bar() { - bar(); -} : () => void +>(function bar() { bar();}) : () => void +>function bar() { bar();} : () => void >bar : () => void bar(); diff --git a/tests/baselines/reference/namedFunctionExpressionInModule.types b/tests/baselines/reference/namedFunctionExpressionInModule.types index 4898b2cbc1e..9643d9ca069 100644 --- a/tests/baselines/reference/namedFunctionExpressionInModule.types +++ b/tests/baselines/reference/namedFunctionExpressionInModule.types @@ -4,8 +4,7 @@ module Variables{ var x = function bar(a, b, c) { >x : (a: any, b: any, c: any) => void ->function bar(a, b, c) { - } : (a: any, b: any, c: any) => void +>function bar(a, b, c) { } : (a: any, b: any, c: any) => void >bar : (a: any, b: any, c: any) => void >a : any >b : any diff --git a/tests/baselines/reference/namespaces1.types b/tests/baselines/reference/namespaces1.types index 22c2887855a..b4b41fbeda9 100644 --- a/tests/baselines/reference/namespaces1.types +++ b/tests/baselines/reference/namespaces1.types @@ -1,9 +1,9 @@ === tests/cases/compiler/namespaces1.ts === module X { ->X : X +>X : unknown export module Y { ->Y : Y +>Y : unknown export interface Z { } >Z : Z @@ -13,13 +13,13 @@ module X { } var x: X.Y.Z; ->x : Z ->X : X ->Y : Y ->Z : Z +>x : X.Y.Z +>X : unknown +>Y : unknown +>Z : X.Y.Z var x2: X.Y; ->x2 : Y ->X : X ->Y : Y +>x2 : X.Y +>X : unknown +>Y : X.Y diff --git a/tests/baselines/reference/namespaces2.types b/tests/baselines/reference/namespaces2.types index fb3c0375b7b..909f56f561a 100644 --- a/tests/baselines/reference/namespaces2.types +++ b/tests/baselines/reference/namespaces2.types @@ -11,14 +11,14 @@ module A { } var c: A.B.C = new A.B.C(); ->c : C ->A : A ->B : B ->C : C ->new A.B.C() : C ->A.B.C : typeof C ->A.B : typeof B +>c : A.B.C +>A : unknown +>B : unknown +>C : A.B.C +>new A.B.C() : A.B.C +>A.B.C : typeof A.B.C +>A.B : typeof A.B >A : typeof A ->B : typeof B ->C : typeof C +>B : typeof A.B +>C : typeof A.B.C diff --git a/tests/baselines/reference/nestedModules.types b/tests/baselines/reference/nestedModules.types index 36e9fc686b4..863e57ef859 100644 --- a/tests/baselines/reference/nestedModules.types +++ b/tests/baselines/reference/nestedModules.types @@ -2,7 +2,7 @@ module A.B.C { >A : typeof A >B : typeof B ->C : C +>C : unknown export interface Point { >Point : Point @@ -22,9 +22,9 @@ module A { >B : typeof B var Point: C.Point = { x: 0, y: 0 }; // bug 832088: could not find module 'C' ->Point : Point ->C : C ->Point : Point +>Point : C.Point +>C : unknown +>Point : C.Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number >y : number @@ -56,10 +56,10 @@ module M2 { } var m = M2.X; ->m : typeof X ->M2.X : typeof X +>m : typeof M2.X +>M2.X : typeof M2.X >M2 : typeof M2 ->X : typeof X +>X : typeof M2.X var point: number; >point : number @@ -67,7 +67,7 @@ var point: number; var point = m.Point; >point : number >m.Point : number ->m : typeof X +>m : typeof M2.X >Point : number var p: { x: number; y: number; } @@ -77,7 +77,7 @@ var p: { x: number; y: number; } var p: M2.X.Point; >p : { x: number; y: number; } ->M2 : M2 ->X : X ->Point : Point +>M2 : unknown +>X : unknown +>Point : M2.X.Point diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInConstructor.types b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInConstructor.types index b41f5cd6074..f9537974161 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInConstructor.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInConstructor.types @@ -5,24 +5,13 @@ class class1 { constructor() { var x2 = { >x2 : { doStuff: (callback: any) => () => any; } ->{ - doStuff: (callback) => () => { - var _this = 2; - return callback(_this); - } - } : { doStuff: (callback: any) => () => any; } +>{ doStuff: (callback) => () => { var _this = 2; return callback(_this); } } : { doStuff: (callback: any) => () => any; } doStuff: (callback) => () => { >doStuff : (callback: any) => () => any ->(callback) => () => { - var _this = 2; - return callback(_this); - } : (callback: any) => () => any +>(callback) => () => { var _this = 2; return callback(_this); } : (callback: any) => () => any >callback : any ->() => { - var _this = 2; - return callback(_this); - } : () => any +>() => { var _this = 2; return callback(_this); } : () => any var _this = 2; >_this : number @@ -45,21 +34,13 @@ class class2 { var x2 = { >x2 : { doStuff: (callback: any) => () => any; } ->{ - doStuff: (callback) => () => { - return callback(_this); - } - } : { doStuff: (callback: any) => () => any; } +>{ doStuff: (callback) => () => { return callback(_this); } } : { doStuff: (callback: any) => () => any; } doStuff: (callback) => () => { >doStuff : (callback: any) => () => any ->(callback) => () => { - return callback(_this); - } : (callback: any) => () => any +>(callback) => () => { return callback(_this); } : (callback: any) => () => any >callback : any ->() => { - return callback(_this); - } : () => any +>() => { return callback(_this); } : () => any return callback(_this); >callback(_this) : any diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types index a8e7a622366..6cf4428bcc5 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types @@ -5,24 +5,13 @@ declare function alert(message?: any): void; var x = { >x : { doStuff: (callback: any) => () => any; } ->{ - doStuff: (callback) => () => { - var _this = 2; - return callback(_this); - } -} : { doStuff: (callback: any) => () => any; } +>{ doStuff: (callback) => () => { var _this = 2; return callback(_this); }} : { doStuff: (callback: any) => () => any; } doStuff: (callback) => () => { >doStuff : (callback: any) => () => any ->(callback) => () => { - var _this = 2; - return callback(_this); - } : (callback: any) => () => any +>(callback) => () => { var _this = 2; return callback(_this); } : (callback: any) => () => any >callback : any ->() => { - var _this = 2; - return callback(_this); - } : () => any +>() => { var _this = 2; return callback(_this); } : () => any var _this = 2; >_this : number diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.types b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.types index b08ce3e57c1..cb543b33ad4 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.types @@ -9,24 +9,13 @@ class a { >method1 : () => { doStuff: (callback: any) => () => any; } return { ->{ - doStuff: (callback) => () => { - var _this = 2; - return callback(_this); - } - } : { doStuff: (callback: any) => () => any; } +>{ doStuff: (callback) => () => { var _this = 2; return callback(_this); } } : { doStuff: (callback: any) => () => any; } doStuff: (callback) => () => { >doStuff : (callback: any) => () => any ->(callback) => () => { - var _this = 2; - return callback(_this); - } : (callback: any) => () => any +>(callback) => () => { var _this = 2; return callback(_this); } : (callback: any) => () => any >callback : any ->() => { - var _this = 2; - return callback(_this); - } : () => any +>() => { var _this = 2; return callback(_this); } : () => any var _this = 2; >_this : number @@ -45,21 +34,13 @@ class a { >_this : number return { ->{ - doStuff: (callback) => () => { - return callback(_this); - } - } : { doStuff: (callback: any) => () => any; } +>{ doStuff: (callback) => () => { return callback(_this); } } : { doStuff: (callback: any) => () => any; } doStuff: (callback) => () => { >doStuff : (callback: any) => () => any ->(callback) => () => { - return callback(_this); - } : (callback: any) => () => any +>(callback) => () => { return callback(_this); } : (callback: any) => () => any >callback : any ->() => { - return callback(_this); - } : () => any +>() => { return callback(_this); } : () => any return callback(_this); >callback(_this) : any diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.types b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.types index 3ab8c345887..df4ad5113f2 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.types @@ -4,24 +4,13 @@ class class1 { public prop1 = { >prop1 : { doStuff: (callback: any) => () => any; } ->{ - doStuff: (callback) => () => { - var _this = 2; - return callback(_this); - } - } : { doStuff: (callback: any) => () => any; } +>{ doStuff: (callback) => () => { var _this = 2; return callback(_this); } } : { doStuff: (callback: any) => () => any; } doStuff: (callback) => () => { >doStuff : (callback: any) => () => any ->(callback) => () => { - var _this = 2; - return callback(_this); - } : (callback: any) => () => any +>(callback) => () => { var _this = 2; return callback(_this); } : (callback: any) => () => any >callback : any ->() => { - var _this = 2; - return callback(_this); - } : () => any +>() => { var _this = 2; return callback(_this); } : () => any var _this = 2; >_this : number @@ -43,21 +32,13 @@ class class2 { } public prop1 = { >prop1 : { doStuff: (callback: any) => () => any; } ->{ - doStuff: (callback) => () => { - return callback(10); - } - } : { doStuff: (callback: any) => () => any; } +>{ doStuff: (callback) => () => { return callback(10); } } : { doStuff: (callback: any) => () => any; } doStuff: (callback) => () => { >doStuff : (callback: any) => () => any ->(callback) => () => { - return callback(10); - } : (callback: any) => () => any +>(callback) => () => { return callback(10); } : (callback: any) => () => any >callback : any ->() => { - return callback(10); - } : () => any +>() => { return callback(10); } : () => any return callback(10); >callback(10) : any diff --git a/tests/baselines/reference/nonInstantiatedModule.types b/tests/baselines/reference/nonInstantiatedModule.types index 64ca01d029d..1093fbd0653 100644 --- a/tests/baselines/reference/nonInstantiatedModule.types +++ b/tests/baselines/reference/nonInstantiatedModule.types @@ -73,8 +73,8 @@ var p: { x: number; y: number; }; var p: M2.Point; >p : { x: number; y: number; } ->M2 : M2 ->Point : Point +>M2 : unknown +>Point : M2.Point var p2: { Origin() : { x: number; y: number; } }; >p2 : { Origin(): { x: number; y: number; }; } @@ -85,7 +85,7 @@ var p2: { Origin() : { x: number; y: number; } }; var p2: typeof M2.Point; >p2 : { Origin(): { x: number; y: number; }; } >M2 : typeof M2 ->Point : typeof Point +>Point : typeof M2.Point module M3 { >M3 : typeof M3 diff --git a/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.types b/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.types index 0395ae8faf5..aa81f87bed6 100644 --- a/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.types +++ b/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.types @@ -62,12 +62,10 @@ var r4 = true ? null : new Date(); var r5 = true ? /1/ : null; >r5 : RegExp >true ? /1/ : null : RegExp ->/1/ : RegExp var r5 = true ? null : /1/; >r5 : RegExp >true ? null : /1/ : RegExp ->/1/ : RegExp var r6 = true ? { foo: 1 } : null; >r6 : { foo: number; } diff --git a/tests/baselines/reference/objectLitGetterSetter.types b/tests/baselines/reference/objectLitGetterSetter.types index 271b3bf4e74..2215f60d889 100644 --- a/tests/baselines/reference/objectLitGetterSetter.types +++ b/tests/baselines/reference/objectLitGetterSetter.types @@ -4,50 +4,19 @@ >{} : {} Object.defineProperty(obj, "accProperty", ({ ->Object.defineProperty(obj, "accProperty", ({ - get: function () { - eval("public = 1;"); - return 11; - }, - set: function (v) { - } - })) : any +>Object.defineProperty(obj, "accProperty", ({ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } })) : any >Object.defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any >Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; } >defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any >obj : {} ->({ - get: function () { - eval("public = 1;"); - return 11; - }, - set: function (v) { - } - }) : PropertyDescriptor +>({ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } }) : PropertyDescriptor >PropertyDescriptor : PropertyDescriptor ->({ - get: function () { - eval("public = 1;"); - return 11; - }, - set: function (v) { - } - }) : { get: () => number; set: (v: any) => void; } ->{ - get: function () { - eval("public = 1;"); - return 11; - }, - set: function (v) { - } - } : { get: () => number; set: (v: any) => void; } +>({ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } }) : { get: () => number; set: (v: any) => void; } +>{ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } } : { get: () => number; set: (v: any) => void; } get: function () { >get : () => number ->function () { - eval("public = 1;"); - return 11; - } : () => number +>function () { eval("public = 1;"); return 11; } : () => number eval("public = 1;"); >eval("public = 1;") : any @@ -57,8 +26,7 @@ }, set: function (v) { >set : (v: any) => void ->function (v) { - } : (v: any) => void +>function (v) { } : (v: any) => void >v : any } })) diff --git a/tests/baselines/reference/objectLiteralWidened.types b/tests/baselines/reference/objectLiteralWidened.types index cd62d194f23..e8dc707a489 100644 --- a/tests/baselines/reference/objectLiteralWidened.types +++ b/tests/baselines/reference/objectLiteralWidened.types @@ -3,10 +3,7 @@ var x = { >x : { foo: any; bar: any; } ->{ - foo: null, - bar: undefined -} : { foo: null; bar: undefined; } +>{ foo: null, bar: undefined} : { foo: null; bar: undefined; } foo: null, >foo : any @@ -18,23 +15,14 @@ var x = { var y = { >y : { foo: any; bar: { baz: any; boo: any; }; } ->{ - foo: null, - bar: { - baz: null, - boo: undefined - } -} : { foo: null; bar: { baz: null; boo: undefined; }; } +>{ foo: null, bar: { baz: null, boo: undefined }} : { foo: null; bar: { baz: null; boo: undefined; }; } foo: null, >foo : any bar: { >bar : { baz: any; boo: any; } ->{ - baz: null, - boo: undefined - } : { baz: null; boo: undefined; } +>{ baz: null, boo: undefined } : { baz: null; boo: undefined; } baz: null, >baz : any diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObject.types b/tests/baselines/reference/objectTypeHidingMembersOfObject.types index 1926969b8bb..5bbd3a555ee 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObject.types +++ b/tests/baselines/reference/objectTypeHidingMembersOfObject.types @@ -39,9 +39,7 @@ var r2: void = i.valueOf(); var a = { >a : { valueOf: () => void; } ->{ - valueOf: () => { } -} : { valueOf: () => void; } +>{ valueOf: () => { }} : { valueOf: () => void; } valueOf: () => { } >valueOf : () => void diff --git a/tests/baselines/reference/objectTypePropertyAccess.types b/tests/baselines/reference/objectTypePropertyAccess.types index 2ad370fd7aa..56e45f1bae0 100644 --- a/tests/baselines/reference/objectTypePropertyAccess.types +++ b/tests/baselines/reference/objectTypePropertyAccess.types @@ -71,9 +71,7 @@ var r7 = i['bar']; var a = { >a : { foo: string; } ->{ - foo: '' -} : { foo: string; } +>{ foo: ''} : { foo: string; } foo: '' >foo : string diff --git a/tests/baselines/reference/objectTypeWithNumericProperty.types b/tests/baselines/reference/objectTypeWithNumericProperty.types index fb9e20f94a0..7c507cd4f64 100644 --- a/tests/baselines/reference/objectTypeWithNumericProperty.types +++ b/tests/baselines/reference/objectTypeWithNumericProperty.types @@ -92,10 +92,7 @@ var r4 = a['1.1']; var b = { >b : { 1: number; 1.1: string; } ->{ - 1: 1, - 1.1: "" -} : { 1: number; 1.1: string; } +>{ 1: 1, 1.1: ""} : { 1: number; 1.1: string; } 1: 1, 1.1: "" diff --git a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types index 943d5520448..febc7524e6d 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types +++ b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types @@ -344,16 +344,7 @@ var r13 = i[-01] var b = { >b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; } ->{ - "0.1": null, - ".1": new Object(), - "1": 1, - "1.": "", - "1..": true, - "1.0": new Date(), - "-1.0": /123/, - "-1": Date -} : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; } +>{ "0.1": null, ".1": new Object(), "1": 1, "1.": "", "1..": true, "1.0": new Date(), "-1.0": /123/, "-1": Date} : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; } "0.1": null, >null : void @@ -370,8 +361,6 @@ var b = { >Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; } "-1.0": /123/, ->/123/ : RegExp - "-1": Date >Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; } diff --git a/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types b/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types index 032f54a8565..fce2b03f53f 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types +++ b/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types @@ -99,11 +99,7 @@ var r4 = a["~!@#$%^&*()_+{}|:'<>?\/.,`"]; var b = { >b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } ->{ - " ": 1, - "a b": "", - "~!@#$%^&*()_+{}|:'<>?\/.,`": 1, -} : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } +>{ " ": 1, "a b": "", "~!@#$%^&*()_+{}|:'<>?\/.,`": 1,} : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } " ": 1, "a b": "", diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types index efca8fc72dd..4d8b8ccb42a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types @@ -101,9 +101,7 @@ var a: { var b = { >b : { foo: (x: any) => any; } ->{ - foo(x: any) { return ''; } -} : { foo: (x: any) => any; } +>{ foo(x: any) { return ''; }} : { foo: (x: any) => any; } foo(x: any) { return ''; } >foo : (x: any) => any diff --git a/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types index 4b4781948a5..6e129400736 100644 --- a/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types +++ b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types @@ -14,22 +14,11 @@ module Bugs { var result= message.replace(/\{(\d+)\}/g, function(match, ...rest) { >result : string ->message.replace(/\{(\d+)\}/g, function(match, ...rest) { - var index= rest[0]; - return typeof args[index] !== 'undefined' - ? args[index] - : match; - }) : string +>message.replace(/\{(\d+)\}/g, function(match, ...rest) { var index= rest[0]; return typeof args[index] !== 'undefined' ? args[index] : match; }) : string >message.replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } >message : string >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } ->/\{(\d+)\}/g : RegExp ->function(match, ...rest) { - var index= rest[0]; - return typeof args[index] !== 'undefined' - ? args[index] - : match; - } : (match: string, ...rest: any[]) => any +>function(match, ...rest) { var index= rest[0]; return typeof args[index] !== 'undefined' ? args[index] : match; } : (match: string, ...rest: any[]) => any >match : string >rest : any[] @@ -39,9 +28,7 @@ module Bugs { >rest : any[] return typeof args[index] !== 'undefined' ->typeof args[index] !== 'undefined' - ? args[index] - : match : any +>typeof args[index] !== 'undefined' ? args[index] : match : any >typeof args[index] !== 'undefined' : boolean >typeof args[index] : string >args[index] : any diff --git a/tests/baselines/reference/parametersWithNoAnnotationAreAny.types b/tests/baselines/reference/parametersWithNoAnnotationAreAny.types index 72fd2cb64be..9629d06c114 100644 --- a/tests/baselines/reference/parametersWithNoAnnotationAreAny.types +++ b/tests/baselines/reference/parametersWithNoAnnotationAreAny.types @@ -59,21 +59,11 @@ var a: { var b = { >b : { foo: (x: any) => any; a: (x: any) => any; b: (x: any) => any; } ->{ - foo(x) { - return x; - }, - a: function foo(x) { - return x; - }, - b: (x) => x -} : { foo: (x: any) => any; a: (x: any) => any; b: (x: any) => any; } +>{ foo(x) { return x; }, a: function foo(x) { return x; }, b: (x) => x} : { foo: (x: any) => any; a: (x: any) => any; b: (x: any) => any; } foo(x) { >foo : (x: any) => any ->foo(x) { - return x; - } : (x: any) => any +>foo(x) { return x; } : (x: any) => any >x : any return x; @@ -82,9 +72,7 @@ var b = { }, a: function foo(x) { >a : (x: any) => any ->function foo(x) { - return x; - } : (x: any) => any +>function foo(x) { return x; } : (x: any) => any >foo : (x: any) => any >x : any diff --git a/tests/baselines/reference/parser579071.types b/tests/baselines/reference/parser579071.types index bfdece6f787..6ae9576c036 100644 --- a/tests/baselines/reference/parser579071.types +++ b/tests/baselines/reference/parser579071.types @@ -1,5 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/RegressionTests/parser579071.ts === var x = /fo(o/; >x : RegExp ->/fo(o/ : RegExp diff --git a/tests/baselines/reference/parser596700.types b/tests/baselines/reference/parser596700.types index b14e28be716..d92d4b68ef5 100644 --- a/tests/baselines/reference/parser596700.types +++ b/tests/baselines/reference/parser596700.types @@ -1,5 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/RegressionTests/parser596700.ts === var regex2 = /[a-z/]$/i; >regex2 : RegExp ->/[a-z/]$/i : RegExp diff --git a/tests/baselines/reference/parser630933.types b/tests/baselines/reference/parser630933.types index 5134bda8c1f..4b1686fcbf2 100644 --- a/tests/baselines/reference/parser630933.types +++ b/tests/baselines/reference/parser630933.types @@ -8,5 +8,4 @@ var b = a.match(/\/ver=([^/]+)/); >a.match : { (regexp: string): RegExpMatchArray; (regexp: RegExp): RegExpMatchArray; } >a : string >match : { (regexp: string): RegExpMatchArray; (regexp: RegExp): RegExpMatchArray; } ->/\/ver=([^/]+)/ : RegExp diff --git a/tests/baselines/reference/parser645086_3.types b/tests/baselines/reference/parser645086_3.types index 8cf6c0e73a5..57ca07e1b2a 100644 --- a/tests/baselines/reference/parser645086_3.types +++ b/tests/baselines/reference/parser645086_3.types @@ -1,5 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/RegressionTests/parser645086_3.ts === var v = /[\]/]/ >v : RegExp ->/[\]/]/ : RegExp diff --git a/tests/baselines/reference/parser645086_4.types b/tests/baselines/reference/parser645086_4.types index a7c00b04fce..01a702e2a06 100644 --- a/tests/baselines/reference/parser645086_4.types +++ b/tests/baselines/reference/parser645086_4.types @@ -1,5 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/RegressionTests/parser645086_4.ts === var v = /[^\]/]/ >v : RegExp ->/[^\]/]/ : RegExp diff --git a/tests/baselines/reference/parser768531.types b/tests/baselines/reference/parser768531.types index 43b5dbfa547..2da2298c8e2 100644 --- a/tests/baselines/reference/parser768531.types +++ b/tests/baselines/reference/parser768531.types @@ -1,5 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Fuzz/parser768531.ts === {a: 3} -/x/ ->/x/ : RegExp - +No type information for this code./x/ +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.types b/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.types index 09626481336..f58be05c966 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.types +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.types @@ -1,9 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity10.ts === 1 ->1 -// before ->>> // after -2 : number +>1 // before>>> // after2 : number // before >>> // after diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.types b/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.types index e62528a1e1f..770d3fa611f 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.types +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.types @@ -1,9 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity5.ts === 1 ->1 -// before ->> // after -2 : number +>1 // before>> // after2 : number // before >> // after diff --git a/tests/baselines/reference/parserKeywordsAsIdentifierName1.types b/tests/baselines/reference/parserKeywordsAsIdentifierName1.types index e940f534c1e..e917dc76cf0 100644 --- a/tests/baselines/reference/parserKeywordsAsIdentifierName1.types +++ b/tests/baselines/reference/parserKeywordsAsIdentifierName1.types @@ -1,11 +1,7 @@ === tests/cases/conformance/parser/ecmascript5/parserKeywordsAsIdentifierName1.ts === var big = { >big : { break: number; super: number; const: number; } ->{ - break : 0, - super : 0, - const : 0 -} : { break: number; super: number; const: number; } +>{ break : 0, super : 0, const : 0} : { break: number; super: number; const: number; } break : 0, >break : number diff --git a/tests/baselines/reference/parserModuleDeclaration11.types b/tests/baselines/reference/parserModuleDeclaration11.types index 23c74ae1538..bd66d638ddf 100644 --- a/tests/baselines/reference/parserModuleDeclaration11.types +++ b/tests/baselines/reference/parserModuleDeclaration11.types @@ -16,7 +16,7 @@ string.foo("abc"); >foo : (s: string) => any var x: string.X; ->x : X ->string : string ->X : X +>x : string.X +>string : unknown +>X : string.X diff --git a/tests/baselines/reference/parserModuleDeclaration12.types b/tests/baselines/reference/parserModuleDeclaration12.types index 1c3d9e39906..cffa3cba358 100644 --- a/tests/baselines/reference/parserModuleDeclaration12.types +++ b/tests/baselines/reference/parserModuleDeclaration12.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration12.ts === module A.string { ->A : A ->string : string +>A : unknown +>string : unknown } diff --git a/tests/baselines/reference/parserModuleDeclaration3.d.types b/tests/baselines/reference/parserModuleDeclaration3.d.types index 221078dacb7..1fbd92c86af 100644 --- a/tests/baselines/reference/parserModuleDeclaration3.d.types +++ b/tests/baselines/reference/parserModuleDeclaration3.d.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration3.d.ts === declare module M { ->M : M +>M : unknown } diff --git a/tests/baselines/reference/parserModuleDeclaration4.types b/tests/baselines/reference/parserModuleDeclaration4.types index 625691557e4..165378e62fa 100644 --- a/tests/baselines/reference/parserModuleDeclaration4.types +++ b/tests/baselines/reference/parserModuleDeclaration4.types @@ -1,12 +1,12 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration4.ts === module M { ->M : M +>M : unknown declare module M1 { ->M1 : M1 +>M1 : unknown module M2 { ->M2 : M2 +>M2 : unknown } } } diff --git a/tests/baselines/reference/parserModuleDeclaration6.types b/tests/baselines/reference/parserModuleDeclaration6.types index 7d11c0a5ce3..012ad6f8270 100644 --- a/tests/baselines/reference/parserModuleDeclaration6.types +++ b/tests/baselines/reference/parserModuleDeclaration6.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration6.ts === module number { ->number : number +>number : unknown } diff --git a/tests/baselines/reference/parserModuleDeclaration7.types b/tests/baselines/reference/parserModuleDeclaration7.types index a593c2051a4..38f1c29e642 100644 --- a/tests/baselines/reference/parserModuleDeclaration7.types +++ b/tests/baselines/reference/parserModuleDeclaration7.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration7.ts === module number.a { ->number : number ->a : a +>number : unknown +>a : unknown } diff --git a/tests/baselines/reference/parserModuleDeclaration8.types b/tests/baselines/reference/parserModuleDeclaration8.types index 9247cebe11f..474e81dbda0 100644 --- a/tests/baselines/reference/parserModuleDeclaration8.types +++ b/tests/baselines/reference/parserModuleDeclaration8.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration8.ts === module a.number { ->a : a ->number : number +>a : unknown +>number : unknown } diff --git a/tests/baselines/reference/parserModuleDeclaration9.types b/tests/baselines/reference/parserModuleDeclaration9.types index cb3ab79e93d..1898d461290 100644 --- a/tests/baselines/reference/parserModuleDeclaration9.types +++ b/tests/baselines/reference/parserModuleDeclaration9.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration9.ts === module a.number.b { ->a : a ->number : number ->b : b +>a : unknown +>number : unknown +>b : unknown } diff --git a/tests/baselines/reference/parserX_ArrowFunction4.types b/tests/baselines/reference/parserX_ArrowFunction4.types index 1e606de909f..f52f06aa41e 100644 --- a/tests/baselines/reference/parserX_ArrowFunction4.types +++ b/tests/baselines/reference/parserX_ArrowFunction4.types @@ -1,9 +1,7 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction4.ts === var v = (a, b) => { >v : (a: any, b: any) => void ->(a, b) => { - -} : (a: any, b: any) => void +>(a, b) => { } : (a: any, b: any) => void >a : any >b : any diff --git a/tests/baselines/reference/prespecializedGenericMembers1.types b/tests/baselines/reference/prespecializedGenericMembers1.types index 0f7de50359d..74e9f733a94 100644 --- a/tests/baselines/reference/prespecializedGenericMembers1.types +++ b/tests/baselines/reference/prespecializedGenericMembers1.types @@ -33,9 +33,7 @@ var cat = new Cat(); var catThing = { >catThing : { barry: Cat; } ->{ - barry: cat -} : { barry: Cat; } +>{ barry: cat} : { barry: Cat; } barry: cat >barry : Cat diff --git a/tests/baselines/reference/primitiveTypeAsmoduleName.types b/tests/baselines/reference/primitiveTypeAsmoduleName.types index 5bd74e4bebc..52a3933b745 100644 --- a/tests/baselines/reference/primitiveTypeAsmoduleName.types +++ b/tests/baselines/reference/primitiveTypeAsmoduleName.types @@ -1,4 +1,4 @@ === tests/cases/compiler/primitiveTypeAsmoduleName.ts === module string {} ->string : string +>string : unknown diff --git a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types index d38d223bae7..17e496f5568 100644 --- a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types +++ b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types @@ -27,13 +27,9 @@ module Query { >fromOrderBy : () => Iterator<{}> return fromDoWhile(test => { ->fromDoWhile(test => { - return true; - }) : Iterator<{}> +>fromDoWhile(test => { return true; }) : Iterator<{}> >fromDoWhile : (doWhile: (test: Iterator) => boolean) => Iterator ->test => { - return true; - } : (test: Iterator<{}>) => boolean +>test => { return true; } : (test: Iterator<{}>) => boolean >test : Iterator<{}> return true; diff --git a/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.types b/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.types index 125cfc9d597..9fa07a674f3 100644 --- a/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.types +++ b/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.types @@ -12,9 +12,9 @@ interface Foo { >T : T } var Foo: new () => Foo.A>; ->Foo : new () => A> +>Foo : new () => Foo.A> >Foo : Foo ->A : A +>A : Foo.A >Foo : Foo export = Foo; diff --git a/tests/baselines/reference/privacyGloInterface.types b/tests/baselines/reference/privacyGloInterface.types index 707976951ce..9c3a538c8a9 100644 --- a/tests/baselines/reference/privacyGloInterface.types +++ b/tests/baselines/reference/privacyGloInterface.types @@ -219,7 +219,7 @@ interface C7_public { } module m3 { ->m3 : m3 +>m3 : unknown export interface m3_i_public { >m3_i_public : m3_i_public diff --git a/tests/baselines/reference/privacyInterface.types b/tests/baselines/reference/privacyInterface.types index bd7be86296d..a96b8de9d81 100644 --- a/tests/baselines/reference/privacyInterface.types +++ b/tests/baselines/reference/privacyInterface.types @@ -510,7 +510,7 @@ interface C8_private { } export module m3 { ->m3 : m3 +>m3 : unknown export interface m3_i_public { >m3_i_public : m3_i_public @@ -557,7 +557,7 @@ export module m3 { module m4 { ->m4 : m4 +>m4 : unknown export interface m4_i_public { >m4_i_public : m4_i_public diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.types b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.types index bb52127b6a8..b6d3d2967dc 100644 --- a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.types +++ b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.types @@ -3,73 +3,73 @@ /// // Privacy errors - importing private elements export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require"); ->im_public_mi_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require" +>im_public_mi_private : typeof im_public_mi_private export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1"); ->im_public_mu_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1" +>im_public_mu_private : typeof im_public_mu_private export import im_public_mi_public = require("m"); ->im_public_mi_public : typeof 'm' +>im_public_mi_public : typeof im_public_mi_public export import im_public_mu_public = require("m2"); ->im_public_mu_public : typeof 'm2' +>im_public_mu_public : typeof im_public_mu_public // Usage of privacy error imports var privateUse_im_public_mi_private = new im_public_mi_private.c_public(); ->privateUse_im_public_mi_private : c_public ->new im_public_mi_private.c_public() : c_public ->im_public_mi_private.c_public : typeof c_public ->im_public_mi_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require" ->c_public : typeof c_public +>privateUse_im_public_mi_private : im_public_mi_private.c_public +>new im_public_mi_private.c_public() : im_public_mi_private.c_public +>im_public_mi_private.c_public : typeof im_public_mi_private.c_public +>im_public_mi_private : typeof im_public_mi_private +>c_public : typeof im_public_mi_private.c_public export var publicUse_im_public_mi_private = new im_public_mi_private.c_public(); ->publicUse_im_public_mi_private : c_public ->new im_public_mi_private.c_public() : c_public ->im_public_mi_private.c_public : typeof c_public ->im_public_mi_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require" ->c_public : typeof c_public +>publicUse_im_public_mi_private : im_public_mi_private.c_public +>new im_public_mi_private.c_public() : im_public_mi_private.c_public +>im_public_mi_private.c_public : typeof im_public_mi_private.c_public +>im_public_mi_private : typeof im_public_mi_private +>c_public : typeof im_public_mi_private.c_public var privateUse_im_public_mu_private = new im_public_mu_private.c_public(); ->privateUse_im_public_mu_private : c_public ->new im_public_mu_private.c_public() : c_public ->im_public_mu_private.c_public : typeof c_public ->im_public_mu_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1" ->c_public : typeof c_public +>privateUse_im_public_mu_private : im_public_mu_private.c_public +>new im_public_mu_private.c_public() : im_public_mu_private.c_public +>im_public_mu_private.c_public : typeof im_public_mu_private.c_public +>im_public_mu_private : typeof im_public_mu_private +>c_public : typeof im_public_mu_private.c_public export var publicUse_im_public_mu_private = new im_public_mu_private.c_public(); ->publicUse_im_public_mu_private : c_public ->new im_public_mu_private.c_public() : c_public ->im_public_mu_private.c_public : typeof c_public ->im_public_mu_private : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1" ->c_public : typeof c_public +>publicUse_im_public_mu_private : im_public_mu_private.c_public +>new im_public_mu_private.c_public() : im_public_mu_private.c_public +>im_public_mu_private.c_public : typeof im_public_mu_private.c_public +>im_public_mu_private : typeof im_public_mu_private +>c_public : typeof im_public_mu_private.c_public var privateUse_im_public_mi_public = new im_public_mi_public.c_private(); ->privateUse_im_public_mi_public : c_private ->new im_public_mi_public.c_private() : c_private ->im_public_mi_public.c_private : typeof c_private ->im_public_mi_public : typeof 'm' ->c_private : typeof c_private +>privateUse_im_public_mi_public : im_public_mi_public.c_private +>new im_public_mi_public.c_private() : im_public_mi_public.c_private +>im_public_mi_public.c_private : typeof im_public_mi_public.c_private +>im_public_mi_public : typeof im_public_mi_public +>c_private : typeof im_public_mi_public.c_private export var publicUse_im_public_mi_public = new im_public_mi_public.c_private(); ->publicUse_im_public_mi_public : c_private ->new im_public_mi_public.c_private() : c_private ->im_public_mi_public.c_private : typeof c_private ->im_public_mi_public : typeof 'm' ->c_private : typeof c_private +>publicUse_im_public_mi_public : im_public_mi_public.c_private +>new im_public_mi_public.c_private() : im_public_mi_public.c_private +>im_public_mi_public.c_private : typeof im_public_mi_public.c_private +>im_public_mi_public : typeof im_public_mi_public +>c_private : typeof im_public_mi_public.c_private var privateUse_im_public_mi_public = new im_public_mi_public.c_private(); ->privateUse_im_public_mi_public : c_private ->new im_public_mi_public.c_private() : c_private ->im_public_mi_public.c_private : typeof c_private ->im_public_mi_public : typeof 'm' ->c_private : typeof c_private +>privateUse_im_public_mi_public : im_public_mi_public.c_private +>new im_public_mi_public.c_private() : im_public_mi_public.c_private +>im_public_mi_public.c_private : typeof im_public_mi_public.c_private +>im_public_mi_public : typeof im_public_mi_public +>c_private : typeof im_public_mi_public.c_private export var publicUse_im_public_mi_public = new im_public_mi_public.c_private(); ->publicUse_im_public_mi_public : c_private ->new im_public_mi_public.c_private() : c_private ->im_public_mi_public.c_private : typeof c_private ->im_public_mi_public : typeof 'm' ->c_private : typeof c_private +>publicUse_im_public_mi_public : im_public_mi_public.c_private +>new im_public_mi_public.c_private() : im_public_mi_public.c_private +>im_public_mi_public.c_private : typeof im_public_mi_public.c_private +>im_public_mi_public : typeof im_public_mi_public +>c_private : typeof im_public_mi_public.c_private === tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require.ts === // Public elements diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.types b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.types index 3825f7e2a3f..437d35fb64a 100644 --- a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.types +++ b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.types @@ -3,73 +3,73 @@ /// // Privacy errors - importing private elements import im_private_mi_private = require("m"); ->im_private_mi_private : typeof 'm' +>im_private_mi_private : typeof im_private_mi_private import im_private_mu_private = require("m2"); ->im_private_mu_private : typeof 'm2' +>im_private_mu_private : typeof im_private_mu_private import im_private_mi_public = require("privacyTopLevelAmbientExternalModuleImportWithoutExport_require"); ->im_private_mi_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require" +>im_private_mi_public : typeof im_private_mi_public import im_private_mu_public = require("privacyTopLevelAmbientExternalModuleImportWithoutExport_require1"); ->im_private_mu_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require1" +>im_private_mu_public : typeof im_private_mu_public // Usage of privacy error imports var privateUse_im_private_mi_private = new im_private_mi_private.c_private(); ->privateUse_im_private_mi_private : c_private ->new im_private_mi_private.c_private() : c_private ->im_private_mi_private.c_private : typeof c_private ->im_private_mi_private : typeof 'm' ->c_private : typeof c_private +>privateUse_im_private_mi_private : im_private_mi_private.c_private +>new im_private_mi_private.c_private() : im_private_mi_private.c_private +>im_private_mi_private.c_private : typeof im_private_mi_private.c_private +>im_private_mi_private : typeof im_private_mi_private +>c_private : typeof im_private_mi_private.c_private export var publicUse_im_private_mi_private = new im_private_mi_private.c_private(); ->publicUse_im_private_mi_private : c_private ->new im_private_mi_private.c_private() : c_private ->im_private_mi_private.c_private : typeof c_private ->im_private_mi_private : typeof 'm' ->c_private : typeof c_private +>publicUse_im_private_mi_private : im_private_mi_private.c_private +>new im_private_mi_private.c_private() : im_private_mi_private.c_private +>im_private_mi_private.c_private : typeof im_private_mi_private.c_private +>im_private_mi_private : typeof im_private_mi_private +>c_private : typeof im_private_mi_private.c_private var privateUse_im_private_mu_private = new im_private_mu_private.c_private(); ->privateUse_im_private_mu_private : c_private ->new im_private_mu_private.c_private() : c_private ->im_private_mu_private.c_private : typeof c_private ->im_private_mu_private : typeof 'm2' ->c_private : typeof c_private +>privateUse_im_private_mu_private : im_private_mu_private.c_private +>new im_private_mu_private.c_private() : im_private_mu_private.c_private +>im_private_mu_private.c_private : typeof im_private_mu_private.c_private +>im_private_mu_private : typeof im_private_mu_private +>c_private : typeof im_private_mu_private.c_private export var publicUse_im_private_mu_private = new im_private_mu_private.c_private(); ->publicUse_im_private_mu_private : c_private ->new im_private_mu_private.c_private() : c_private ->im_private_mu_private.c_private : typeof c_private ->im_private_mu_private : typeof 'm2' ->c_private : typeof c_private +>publicUse_im_private_mu_private : im_private_mu_private.c_private +>new im_private_mu_private.c_private() : im_private_mu_private.c_private +>im_private_mu_private.c_private : typeof im_private_mu_private.c_private +>im_private_mu_private : typeof im_private_mu_private +>c_private : typeof im_private_mu_private.c_private var privateUse_im_private_mi_public = new im_private_mi_public.c_public(); ->privateUse_im_private_mi_public : c_public ->new im_private_mi_public.c_public() : c_public ->im_private_mi_public.c_public : typeof c_public ->im_private_mi_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require" ->c_public : typeof c_public +>privateUse_im_private_mi_public : im_private_mi_public.c_public +>new im_private_mi_public.c_public() : im_private_mi_public.c_public +>im_private_mi_public.c_public : typeof im_private_mi_public.c_public +>im_private_mi_public : typeof im_private_mi_public +>c_public : typeof im_private_mi_public.c_public export var publicUse_im_private_mi_public = new im_private_mi_public.c_public(); ->publicUse_im_private_mi_public : c_public ->new im_private_mi_public.c_public() : c_public ->im_private_mi_public.c_public : typeof c_public ->im_private_mi_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require" ->c_public : typeof c_public +>publicUse_im_private_mi_public : im_private_mi_public.c_public +>new im_private_mi_public.c_public() : im_private_mi_public.c_public +>im_private_mi_public.c_public : typeof im_private_mi_public.c_public +>im_private_mi_public : typeof im_private_mi_public +>c_public : typeof im_private_mi_public.c_public var privateUse_im_private_mi_public = new im_private_mi_public.c_public(); ->privateUse_im_private_mi_public : c_public ->new im_private_mi_public.c_public() : c_public ->im_private_mi_public.c_public : typeof c_public ->im_private_mi_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require" ->c_public : typeof c_public +>privateUse_im_private_mi_public : im_private_mi_public.c_public +>new im_private_mi_public.c_public() : im_private_mi_public.c_public +>im_private_mi_public.c_public : typeof im_private_mi_public.c_public +>im_private_mi_public : typeof im_private_mi_public +>c_public : typeof im_private_mi_public.c_public export var publicUse_im_private_mi_public = new im_private_mi_public.c_public(); ->publicUse_im_private_mi_public : c_public ->new im_private_mi_public.c_public() : c_public ->im_private_mi_public.c_public : typeof c_public ->im_private_mi_public : typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require" ->c_public : typeof c_public +>publicUse_im_private_mi_public : im_private_mi_public.c_public +>new im_private_mi_public.c_public() : im_private_mi_public.c_public +>im_private_mi_public.c_public : typeof im_private_mi_public.c_public +>im_private_mi_public : typeof im_private_mi_public +>c_public : typeof im_private_mi_public.c_public === tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require.ts === diff --git a/tests/baselines/reference/promiseTest.types b/tests/baselines/reference/promiseTest.types index 6f67484ab77..ac21c5973ad 100644 --- a/tests/baselines/reference/promiseTest.types +++ b/tests/baselines/reference/promiseTest.types @@ -36,15 +36,11 @@ var p: Promise = null; var p2 = p.then(function (x) { >p2 : Promise ->p.then(function (x) { - return p; -} ) : Promise +>p.then(function (x) { return p;} ) : Promise >p.then : { (success?: (value: number) => Promise): Promise; (success?: (value: number) => B): Promise; } >p : Promise >then : { (success?: (value: number) => Promise): Promise; (success?: (value: number) => B): Promise; } ->function (x) { - return p; -} : (x: number) => Promise +>function (x) { return p;} : (x: number) => Promise >x : number return p; diff --git a/tests/baselines/reference/propagationOfPromiseInitialization.types b/tests/baselines/reference/propagationOfPromiseInitialization.types index d7b97721320..e146aea91d8 100644 --- a/tests/baselines/reference/propagationOfPromiseInitialization.types +++ b/tests/baselines/reference/propagationOfPromiseInitialization.types @@ -22,40 +22,20 @@ var foo: IPromise; >IPromise : IPromise foo.then((x) => { ->foo.then((x) => { - // x is inferred to be a number - return "asdf"; -}).then((x) => { - // x is inferred to be string - x.length; - return 123; -}) : IPromise ->foo.then((x) => { - // x is inferred to be a number - return "asdf"; -}).then : (successCallback: (promiseValue: string) => TResult, errorCallback?: (reason: any) => TResult) => IPromise ->foo.then((x) => { - // x is inferred to be a number - return "asdf"; -}) : IPromise +>foo.then((x) => { // x is inferred to be a number return "asdf";}).then((x) => { // x is inferred to be string x.length; return 123;}) : IPromise +>foo.then((x) => { // x is inferred to be a number return "asdf";}).then : (successCallback: (promiseValue: string) => TResult, errorCallback?: (reason: any) => TResult) => IPromise +>foo.then((x) => { // x is inferred to be a number return "asdf";}) : IPromise >foo.then : (successCallback: (promiseValue: number) => TResult, errorCallback?: (reason: any) => TResult) => IPromise >foo : IPromise >then : (successCallback: (promiseValue: number) => TResult, errorCallback?: (reason: any) => TResult) => IPromise ->(x) => { - // x is inferred to be a number - return "asdf"; -} : (x: number) => string +>(x) => { // x is inferred to be a number return "asdf";} : (x: number) => string >x : number // x is inferred to be a number return "asdf"; }).then((x) => { >then : (successCallback: (promiseValue: string) => TResult, errorCallback?: (reason: any) => TResult) => IPromise ->(x) => { - // x is inferred to be string - x.length; - return 123; -} : (x: string) => number +>(x) => { // x is inferred to be string x.length; return 123;} : (x: string) => number >x : string // x is inferred to be string diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types index d6779649c30..b467740332b 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types @@ -97,19 +97,11 @@ var r3b = a()['getDate'](); var b = { >b : { foo: (x: T) => number; } ->{ - foo: (x: T) => { - var a = x['getDate'](); // number - return a + x.getDate(); - } -} : { foo: (x: T) => number; } +>{ foo: (x: T) => { var a = x['getDate'](); // number return a + x.getDate(); }} : { foo: (x: T) => number; } foo: (x: T) => { >foo : (x: T) => number ->(x: T) => { - var a = x['getDate'](); // number - return a + x.getDate(); - } : (x: T) => number +>(x: T) => { var a = x['getDate'](); // number return a + x.getDate(); } : (x: T) => number >T : T >Date : Date >x : T diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types index f7bf888533b..364184d5652 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types @@ -221,19 +221,11 @@ var r3d = a(aB, aB)['foo'](); var b = { >b : { foo: (x: U, y: T) => string; } ->{ - foo: (x: U, y: T) => { - var a = x['foo'](); // should be string - return a + x.foo(); - } -} : { foo: (x: U, y: T) => string; } +>{ foo: (x: U, y: T) => { var a = x['foo'](); // should be string return a + x.foo(); }} : { foo: (x: U, y: T) => string; } foo: (x: U, y: T) => { >foo : (x: U, y: T) => string ->(x: U, y: T) => { - var a = x['foo'](); // should be string - return a + x.foo(); - } : (x: U, y: T) => string +>(x: U, y: T) => { var a = x['foo'](); // should be string return a + x.foo(); } : (x: U, y: T) => string >U : U >A : A >T : T diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types index c78a6608aa3..038c7962284 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types @@ -88,19 +88,11 @@ var r3b: string = a()['toString'](); var b = { >b : { foo: (x: T) => string; } ->{ - foo: (x: T) => { - var a = x['toString'](); // should be string - return a + x.toString(); - } -} : { foo: (x: T) => string; } +>{ foo: (x: T) => { var a = x['toString'](); // should be string return a + x.toString(); }} : { foo: (x: T) => string; } foo: (x: T) => { >foo : (x: T) => string ->(x: T) => { - var a = x['toString'](); // should be string - return a + x.toString(); - } : (x: T) => string +>(x: T) => { var a = x['toString'](); // should be string return a + x.toString(); } : (x: T) => string >T : T >x : T >T : T diff --git a/tests/baselines/reference/propertyNameWithoutTypeAnnotation.types b/tests/baselines/reference/propertyNameWithoutTypeAnnotation.types index cf8dd038801..bdc8452863d 100644 --- a/tests/baselines/reference/propertyNameWithoutTypeAnnotation.types +++ b/tests/baselines/reference/propertyNameWithoutTypeAnnotation.types @@ -22,9 +22,7 @@ var a: { var b = { >b : { foo: any; } ->{ - foo: null -} : { foo: null; } +>{ foo: null} : { foo: null; } foo: null >foo : any diff --git a/tests/baselines/reference/protoAsIndexInIndexExpression.types b/tests/baselines/reference/protoAsIndexInIndexExpression.types index fdfb612623b..e950098e6a1 100644 --- a/tests/baselines/reference/protoAsIndexInIndexExpression.types +++ b/tests/baselines/reference/protoAsIndexInIndexExpression.types @@ -6,15 +6,11 @@ var EntityPrototype = undefined; var WorkspacePrototype = { >WorkspacePrototype : { serialize: () => any; } ->{ - serialize: function (): any { - } -} : { serialize: () => any; } +>{ serialize: function (): any { }} : { serialize: () => any; } serialize: function (): any { >serialize : () => any ->function (): any { - } : () => any +>function (): any { } : () => any } }; WorkspacePrototype['__proto__'] = EntityPrototype; @@ -25,9 +21,7 @@ WorkspacePrototype['__proto__'] = EntityPrototype; var o = { >o : {} ->{ - "__proto__": 0 -} : {} +>{ "__proto__": 0} : {} "__proto__": 0 }; diff --git a/tests/baselines/reference/qualifiedName_ImportDeclarations-entity-names-referencing-a-var.types b/tests/baselines/reference/qualifiedName_ImportDeclarations-entity-names-referencing-a-var.types index 9778480426a..d438d846bf4 100644 --- a/tests/baselines/reference/qualifiedName_ImportDeclarations-entity-names-referencing-a-var.types +++ b/tests/baselines/reference/qualifiedName_ImportDeclarations-entity-names-referencing-a-var.types @@ -7,7 +7,7 @@ module Alpha { } module Beta { ->Beta : Beta +>Beta : unknown import p = Alpha.x; >p : number diff --git a/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.types b/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.types index d70677d2c74..49a97bdb656 100644 --- a/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.types +++ b/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.types @@ -1,10 +1,10 @@ === tests/cases/compiler/recursiveClassInstantiationsWithDefaultConstructors.ts === var a = new TypeScript2.MemberNameArray() ->a : MemberNameArray ->new TypeScript2.MemberNameArray() : MemberNameArray ->TypeScript2.MemberNameArray : typeof MemberNameArray +>a : TypeScript2.MemberNameArray +>new TypeScript2.MemberNameArray() : TypeScript2.MemberNameArray +>TypeScript2.MemberNameArray : typeof TypeScript2.MemberNameArray >TypeScript2 : typeof TypeScript2 ->MemberNameArray : typeof MemberNameArray +>MemberNameArray : typeof TypeScript2.MemberNameArray module TypeScript2 { >TypeScript2 : typeof TypeScript2 diff --git a/tests/baselines/reference/recursiveCloduleReference.types b/tests/baselines/reference/recursiveCloduleReference.types index f3a0bf45c9a..b5de969cabe 100644 --- a/tests/baselines/reference/recursiveCloduleReference.types +++ b/tests/baselines/reference/recursiveCloduleReference.types @@ -6,13 +6,13 @@ module M >C : C } export module C { ->C : typeof C +>C : typeof M.C export var C = M.C ->C : typeof C ->M.C : typeof C +>C : typeof M.C +>M.C : typeof M.C >M : typeof M ->C : typeof C +>C : typeof M.C }; }; diff --git a/tests/baselines/reference/regExpWithSlashInCharClass.types b/tests/baselines/reference/regExpWithSlashInCharClass.types index eb1cd88795a..c868594e457 100644 --- a/tests/baselines/reference/regExpWithSlashInCharClass.types +++ b/tests/baselines/reference/regExpWithSlashInCharClass.types @@ -4,19 +4,16 @@ var foo1 = "a/".replace(/.[/]/, ""); >"a/".replace(/.[/]/, "") : string >"a/".replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } ->/.[/]/ : RegExp var foo2 = "a//".replace(/.[//]/g, ""); >foo2 : string >"a//".replace(/.[//]/g, "") : string >"a//".replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } ->/.[//]/g : RegExp var foo3 = "a/".replace(/.[/no sleep /till/]/, "bugfix"); >foo3 : string >"a/".replace(/.[/no sleep /till/]/, "bugfix") : string >"a/".replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } ->/.[/no sleep /till/]/ : RegExp diff --git a/tests/baselines/reference/requireEmitSemicolon.types b/tests/baselines/reference/requireEmitSemicolon.types index 8f8d22e0f08..692cfcfe63f 100644 --- a/tests/baselines/reference/requireEmitSemicolon.types +++ b/tests/baselines/reference/requireEmitSemicolon.types @@ -1,7 +1,7 @@ === tests/cases/compiler/requireEmitSemicolon_1.ts === /// import P = require("requireEmitSemicolon_0"); // bug was we were not emitting a ; here and causing runtime failures in node ->P : typeof "tests/cases/compiler/requireEmitSemicolon_0" +>P : typeof P export module Database { >Database : typeof Database @@ -10,19 +10,19 @@ export module Database { >DB : DB public findPerson(id: number): P.Models.Person { ->findPerson : (id: number) => Person +>findPerson : (id: number) => P.Models.Person >id : number ->P : P ->Models : Models ->Person : Person +>P : unknown +>Models : unknown +>Person : P.Models.Person return new P.Models.Person("Rock"); ->new P.Models.Person("Rock") : Person ->P.Models.Person : typeof Person ->P.Models : typeof Models ->P : typeof "tests/cases/compiler/requireEmitSemicolon_0" ->Models : typeof Models ->Person : typeof Person +>new P.Models.Person("Rock") : P.Models.Person +>P.Models.Person : typeof P.Models.Person +>P.Models : typeof P.Models +>P : typeof P +>Models : typeof P.Models +>Person : typeof P.Models.Person } } } diff --git a/tests/baselines/reference/reservedNameOnModuleImport.types b/tests/baselines/reference/reservedNameOnModuleImport.types index 99f1c2dba27..f515b45fab8 100644 --- a/tests/baselines/reference/reservedNameOnModuleImport.types +++ b/tests/baselines/reference/reservedNameOnModuleImport.types @@ -3,11 +3,11 @@ declare module test { >test : typeof test module mstring { } ->mstring : mstring +>mstring : unknown // Should be fine; this does not clobber any declared values. export import string = mstring; ->string : string ->mstring : mstring +>string : unknown +>mstring : unknown } diff --git a/tests/baselines/reference/reservedWords.types b/tests/baselines/reference/reservedWords.types index 244753b0ae8..769039a76bf 100644 --- a/tests/baselines/reference/reservedWords.types +++ b/tests/baselines/reference/reservedWords.types @@ -1,12 +1,7 @@ === tests/cases/compiler/reservedWords.ts === var obj = { >obj : { if: number; debugger: number; break: number; function: number; } ->{ - if: 0, - debugger: 2, - break: 3, - function: 4 -} : { if: number; debugger: number; break: number; function: number; } +>{ if: 0, debugger: 2, break: 3, function: 4} : { if: number; debugger: number; break: number; function: number; } if: 0, >if : number @@ -25,13 +20,7 @@ var obj = { var obj2 = { >obj2 : { if: number; while: number; debugger: number; break: number; function: number; } ->{ - if: 0, - while: 1, - debugger: 2, - break: 3, - function: 4 -} : { if: number; while: number; debugger: number; break: number; function: number; } +>{ if: 0, while: 1, debugger: 2, break: 3, function: 4} : { if: number; while: number; debugger: number; break: number; function: number; } if: 0, >if : number diff --git a/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.types b/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.types index 01e88e83e91..7f0163cf1e3 100644 --- a/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.types +++ b/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.types @@ -4,12 +4,12 @@ module rionegrensis { export class caniventer extends Lanthanum.nitidus { >caniventer : caniventer ->Lanthanum : Lanthanum ->nitidus : nitidus ->petrophilus : petrophilus ->minutilla : minutilla ->julianae : julianae ->sumatrana : sumatrana +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>julianae : unknown +>sumatrana : julianae.sumatrana salomonseni() : caniventer { var x : caniventer; () => { var y = this; }; return x; } >salomonseni : () => caniventer @@ -22,187 +22,187 @@ module rionegrensis { >x : caniventer uchidai() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->uchidai : () => xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus ->x : xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus +>uchidai : () => lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : caniventer >this : caniventer ->x : xanthognathus +>x : lavali.xanthognathus raffrayana() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->raffrayana : () => otion ->lavali : lavali ->otion : otion ->x : otion ->lavali : lavali ->otion : otion +>raffrayana : () => lavali.otion +>lavali : unknown +>otion : lavali.otion +>x : lavali.otion +>lavali : unknown +>otion : lavali.otion >() => { var y = this; } : () => void >y : caniventer >this : caniventer ->x : otion +>x : lavali.otion Uranium() : minutus.inez, trivirgatus.falconeri> { var x : minutus.inez, trivirgatus.falconeri>; () => { var y = this; }; return x; } ->Uranium : () => inez, falconeri> ->minutus : minutus ->inez : inez ->minutus : minutus ->inez : inez ->sagitta : sagitta ->stolzmanni : stolzmanni ->dammermani : dammermani ->melanops : melanops ->trivirgatus : trivirgatus ->falconeri : falconeri ->x : inez, falconeri> ->minutus : minutus ->inez : inez ->minutus : minutus ->inez : inez ->sagitta : sagitta ->stolzmanni : stolzmanni ->dammermani : dammermani ->melanops : melanops ->trivirgatus : trivirgatus ->falconeri : falconeri +>Uranium : () => minutus.inez, trivirgatus.falconeri> +>minutus : unknown +>inez : minutus.inez +>minutus : unknown +>inez : minutus.inez +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>dammermani : unknown +>melanops : dammermani.melanops +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>x : minutus.inez, trivirgatus.falconeri> +>minutus : unknown +>inez : minutus.inez +>minutus : unknown +>inez : minutus.inez +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>dammermani : unknown +>melanops : dammermani.melanops +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri >() => { var y = this; } : () => void >y : caniventer >this : caniventer ->x : inez, falconeri> +>x : minutus.inez, trivirgatus.falconeri> nayaur() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->nayaur : () => amicus ->gabriellae : gabriellae ->amicus : amicus ->x : amicus ->gabriellae : gabriellae ->amicus : amicus +>nayaur : () => gabriellae.amicus +>gabriellae : unknown +>amicus : gabriellae.amicus +>x : gabriellae.amicus +>gabriellae : unknown +>amicus : gabriellae.amicus >() => { var y = this; } : () => void >y : caniventer >this : caniventer ->x : amicus +>x : gabriellae.amicus } export class veraecrucis extends trivirgatus.mixtus { >veraecrucis : veraecrucis >T0 : T0 >T1 : T1 ->trivirgatus : trivirgatus ->mixtus : mixtus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus ->punicus : punicus +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown +>punicus : lutreolus.punicus naso() : panamensis.setulosus> { var x : panamensis.setulosus>; () => { var y = this; }; return x; } ->naso : () => setulosus> ->panamensis : panamensis ->setulosus : setulosus ->lutreolus : lutreolus ->punicus : punicus ->howi : howi ->coludo : coludo ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->provocax : provocax ->melanoleuca : melanoleuca ->x : setulosus> ->panamensis : panamensis ->setulosus : setulosus ->lutreolus : lutreolus ->punicus : punicus ->howi : howi ->coludo : coludo ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->provocax : provocax ->melanoleuca : melanoleuca +>naso : () => panamensis.setulosus> +>panamensis : unknown +>setulosus : panamensis.setulosus +>lutreolus : unknown +>punicus : lutreolus.punicus +>howi : unknown +>coludo : howi.coludo +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : panamensis.setulosus> +>panamensis : unknown +>setulosus : panamensis.setulosus +>lutreolus : unknown +>punicus : lutreolus.punicus +>howi : unknown +>coludo : howi.coludo +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : veraecrucis >this : veraecrucis ->x : setulosus> +>x : panamensis.setulosus> vancouverensis() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->vancouverensis : () => ciliolabrum ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->argurus : argurus ->oreas : oreas ->argurus : argurus ->peninsulae : peninsulae ->x : ciliolabrum ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->argurus : argurus ->oreas : oreas ->argurus : argurus ->peninsulae : peninsulae +>vancouverensis : () => imperfecta.ciliolabrum +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>argurus : unknown +>oreas : argurus.oreas +>argurus : unknown +>peninsulae : argurus.peninsulae +>x : imperfecta.ciliolabrum +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>argurus : unknown +>oreas : argurus.oreas +>argurus : unknown +>peninsulae : argurus.peninsulae >() => { var y = this; } : () => void >y : veraecrucis >this : veraecrucis ->x : ciliolabrum +>x : imperfecta.ciliolabrum africana() : argurus.gilbertii, sagitta.cinereus> { var x : argurus.gilbertii, sagitta.cinereus>; () => { var y = this; }; return x; } ->africana : () => gilbertii, cinereus> ->argurus : argurus ->gilbertii : gilbertii ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->lepturus : lepturus ->argurus : argurus ->oreas : oreas ->sagitta : sagitta ->cinereus : cinereus ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas ->x : gilbertii, cinereus> ->argurus : argurus ->gilbertii : gilbertii ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->lepturus : lepturus ->argurus : argurus ->oreas : oreas ->sagitta : sagitta ->cinereus : cinereus ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas +>africana : () => argurus.gilbertii, sagitta.cinereus> +>argurus : unknown +>gilbertii : argurus.gilbertii +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>lepturus : lavali.lepturus +>argurus : unknown +>oreas : argurus.oreas +>sagitta : unknown +>cinereus : sagitta.cinereus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas +>x : argurus.gilbertii, sagitta.cinereus> +>argurus : unknown +>gilbertii : argurus.gilbertii +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>lepturus : lavali.lepturus +>argurus : unknown +>oreas : argurus.oreas +>sagitta : unknown +>cinereus : sagitta.cinereus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : veraecrucis >this : veraecrucis ->x : gilbertii, cinereus> +>x : argurus.gilbertii, sagitta.cinereus> palliolata() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->palliolata : () => jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis +>palliolata : () => Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : veraecrucis >this : veraecrucis ->x : jugularis +>x : Lanthanum.jugularis nivicola() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->nivicola : () => pallidus ->samarensis : samarensis ->pallidus : pallidus ->x : pallidus ->samarensis : samarensis ->pallidus : pallidus +>nivicola : () => samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : veraecrucis >this : veraecrucis ->x : pallidus +>x : samarensis.pallidus } } module julianae { @@ -215,191 +215,191 @@ module julianae { >nudicaudus : nudicaudus brandtii() : argurus.germaini { var x : argurus.germaini; () => { var y = this; }; return x; } ->brandtii : () => germaini ->argurus : argurus ->germaini : germaini ->x : germaini ->argurus : argurus ->germaini : germaini +>brandtii : () => argurus.germaini +>argurus : unknown +>germaini : argurus.germaini +>x : argurus.germaini +>argurus : unknown +>germaini : argurus.germaini >() => { var y = this; } : () => void >y : nudicaudus >this : nudicaudus ->x : germaini +>x : argurus.germaini maxwellii() : ruatanica.Praseodymium { var x : ruatanica.Praseodymium; () => { var y = this; }; return x; } ->maxwellii : () => Praseodymium ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->Lanthanum : Lanthanum ->jugularis : jugularis ->dammermani : dammermani ->melanops : melanops ->x : Praseodymium ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->Lanthanum : Lanthanum ->jugularis : jugularis ->dammermani : dammermani ->melanops : melanops +>maxwellii : () => ruatanica.Praseodymium +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>dammermani : unknown +>melanops : dammermani.melanops +>x : ruatanica.Praseodymium +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : nudicaudus >this : nudicaudus ->x : Praseodymium +>x : ruatanica.Praseodymium endoi() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->endoi : () => abidi ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->kaiseri : kaiseri ->lavali : lavali ->wilsoni : wilsoni ->x : abidi ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->kaiseri : kaiseri ->lavali : lavali ->wilsoni : wilsoni +>endoi : () => panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : nudicaudus >this : nudicaudus ->x : abidi +>x : panglima.abidi venezuelae() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->venezuelae : () => marcanoi ->howi : howi ->marcanoi : marcanoi ->x : marcanoi ->howi : howi ->marcanoi : marcanoi +>venezuelae : () => howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi +>x : howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : nudicaudus >this : nudicaudus ->x : marcanoi +>x : howi.marcanoi zamicrus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->zamicrus : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>zamicrus : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : nudicaudus >this : nudicaudus ->x : caniventer +>x : rionegrensis.caniventer } export class galapagoensis { >galapagoensis : galapagoensis isabellae() : panglima.amphibius { var x : panglima.amphibius; () => { var y = this; }; return x; } ->isabellae : () => amphibius ->panglima : panglima ->amphibius : amphibius ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->patas : patas ->uralensis : uralensis ->x : amphibius ->panglima : panglima ->amphibius : amphibius ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->patas : patas ->uralensis : uralensis +>isabellae : () => panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>patas : unknown +>uralensis : patas.uralensis +>x : panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : galapagoensis >this : galapagoensis ->x : amphibius +>x : panglima.amphibius rueppellii() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->rueppellii : () => americanus ->ruatanica : ruatanica ->americanus : americanus ->x : americanus ->ruatanica : ruatanica ->americanus : americanus +>rueppellii : () => ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : galapagoensis >this : galapagoensis ->x : americanus +>x : ruatanica.americanus peregusna() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->peregusna : () => kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri +>peregusna : () => dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : galapagoensis >this : galapagoensis ->x : kaiseri +>x : dogramacii.kaiseri gliroides() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->gliroides : () => coludo ->howi : howi ->coludo : coludo ->howi : howi ->marcanoi : marcanoi ->lavali : lavali ->wilsoni : wilsoni ->x : coludo ->howi : howi ->coludo : coludo ->howi : howi ->marcanoi : marcanoi ->lavali : lavali ->wilsoni : wilsoni +>gliroides : () => howi.coludo +>howi : unknown +>coludo : howi.coludo +>howi : unknown +>marcanoi : howi.marcanoi +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : howi.coludo +>howi : unknown +>coludo : howi.coludo +>howi : unknown +>marcanoi : howi.marcanoi +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : galapagoensis >this : galapagoensis ->x : coludo +>x : howi.coludo banakrisi() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->banakrisi : () => daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>banakrisi : () => macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : galapagoensis >this : galapagoensis ->x : daphaenodon +>x : macrorhinos.daphaenodon rozendaali() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->rozendaali : () => foina ->lutreolus : lutreolus ->foina : foina ->x : foina ->lutreolus : lutreolus ->foina : foina +>rozendaali : () => lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina +>x : lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : galapagoensis >this : galapagoensis ->x : foina +>x : lutreolus.foina stuhlmanni() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->stuhlmanni : () => linulus ->panamensis : panamensis ->linulus : linulus ->caurinus : caurinus ->megaphyllus : megaphyllus ->caurinus : caurinus ->megaphyllus : megaphyllus ->x : linulus ->panamensis : panamensis ->linulus : linulus ->caurinus : caurinus ->megaphyllus : megaphyllus ->caurinus : caurinus ->megaphyllus : megaphyllus +>stuhlmanni : () => panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>x : panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus >() => { var y = this; } : () => void >y : galapagoensis >this : galapagoensis ->x : linulus +>x : panamensis.linulus } export class albidens { >albidens : albidens @@ -407,32 +407,32 @@ module julianae { >T1 : T1 mattheyi() : samarensis.fuscus> { var x : samarensis.fuscus>; () => { var y = this; }; return x; } ->mattheyi : () => fuscus> ->samarensis : samarensis ->fuscus : fuscus ->lavali : lavali ->wilsoni : wilsoni ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : fuscus> ->samarensis : samarensis ->fuscus : fuscus ->lavali : lavali ->wilsoni : wilsoni ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus +>mattheyi : () => samarensis.fuscus> +>samarensis : unknown +>fuscus : samarensis.fuscus +>lavali : unknown +>wilsoni : lavali.wilsoni +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : samarensis.fuscus> +>samarensis : unknown +>fuscus : samarensis.fuscus +>lavali : unknown +>wilsoni : lavali.wilsoni +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : albidens >this : albidens ->x : fuscus> +>x : samarensis.fuscus> Astatine() : steerii { var x : steerii; () => { var y = this; }; return x; } >Astatine : () => steerii @@ -445,36 +445,36 @@ module julianae { >x : steerii vincenti() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->vincenti : () => dauricus ->argurus : argurus ->dauricus : dauricus ->macrorhinos : macrorhinos ->konganensis : konganensis ->patas : patas ->uralensis : uralensis ->x : dauricus ->argurus : argurus ->dauricus : dauricus ->macrorhinos : macrorhinos ->konganensis : konganensis ->patas : patas ->uralensis : uralensis +>vincenti : () => argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>patas : unknown +>uralensis : patas.uralensis +>x : argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : albidens >this : albidens ->x : dauricus +>x : argurus.dauricus hirta() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->hirta : () => jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis +>hirta : () => Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : albidens >this : albidens ->x : jugularis +>x : Lanthanum.jugularis virginianus() : durangae { var x : durangae; () => { var y = this; }; return x; } >virginianus : () => durangae @@ -487,137 +487,137 @@ module julianae { >x : durangae macrophyllum() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->macrophyllum : () => marcanoi ->howi : howi ->marcanoi : marcanoi ->x : marcanoi ->howi : howi ->marcanoi : marcanoi +>macrophyllum : () => howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi +>x : howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : albidens >this : albidens ->x : marcanoi +>x : howi.marcanoi porcellus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->porcellus : () => americanus ->ruatanica : ruatanica ->americanus : americanus ->x : americanus ->ruatanica : ruatanica ->americanus : americanus +>porcellus : () => ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : albidens >this : albidens ->x : americanus +>x : ruatanica.americanus } export class oralis extends caurinus.psilurus { >oralis : oralis >T0 : T0 >T1 : T1 ->caurinus : caurinus ->psilurus : psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus cepapi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->cepapi : () => psilurus ->caurinus : caurinus ->psilurus : psilurus ->x : psilurus ->caurinus : caurinus ->psilurus : psilurus +>cepapi : () => caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : psilurus +>x : caurinus.psilurus porteri() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->porteri : () => thaeleri ->lavali : lavali ->thaeleri : thaeleri ->x : thaeleri ->lavali : lavali ->thaeleri : thaeleri +>porteri : () => lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri +>x : lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : thaeleri +>x : lavali.thaeleri bindi() : caurinus.mahaganus> { var x : caurinus.mahaganus>; () => { var y = this; }; return x; } ->bindi : () => mahaganus> ->caurinus : caurinus ->mahaganus : mahaganus ->gabriellae : gabriellae ->amicus : amicus ->panglima : panglima ->amphibius : amphibius ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->patas : patas ->uralensis : uralensis ->x : mahaganus> ->caurinus : caurinus ->mahaganus : mahaganus ->gabriellae : gabriellae ->amicus : amicus ->panglima : panglima ->amphibius : amphibius ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->patas : patas ->uralensis : uralensis +>bindi : () => caurinus.mahaganus> +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>gabriellae : unknown +>amicus : gabriellae.amicus +>panglima : unknown +>amphibius : panglima.amphibius +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>patas : unknown +>uralensis : patas.uralensis +>x : caurinus.mahaganus> +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>gabriellae : unknown +>amicus : gabriellae.amicus +>panglima : unknown +>amphibius : panglima.amphibius +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : mahaganus> +>x : caurinus.mahaganus> puda() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->puda : () => stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni +>puda : () => sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : stolzmanni +>x : sagitta.stolzmanni mindorensis() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->mindorensis : () => falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri ->x : falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri +>mindorensis : () => trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>x : trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : falconeri +>x : trivirgatus.falconeri ignitus() : petrophilus.rosalia, lavali.wilsoni> { var x : petrophilus.rosalia, lavali.wilsoni>; () => { var y = this; }; return x; } ->ignitus : () => rosalia, wilsoni> ->petrophilus : petrophilus ->rosalia : rosalia ->panamensis : panamensis ->setulosus : setulosus ->gabriellae : gabriellae ->echinatus : echinatus +>ignitus : () => petrophilus.rosalia, lavali.wilsoni> +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>panamensis : unknown +>setulosus : panamensis.setulosus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >steerii : steerii ->lavali : lavali ->wilsoni : wilsoni ->x : rosalia, wilsoni> ->petrophilus : petrophilus ->rosalia : rosalia ->panamensis : panamensis ->setulosus : setulosus ->gabriellae : gabriellae ->echinatus : echinatus +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : petrophilus.rosalia, lavali.wilsoni> +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>panamensis : unknown +>setulosus : panamensis.setulosus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >steerii : steerii ->lavali : lavali ->wilsoni : wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : rosalia, wilsoni> +>x : petrophilus.rosalia, lavali.wilsoni> rufus() : nudicaudus { var x : nudicaudus; () => { var y = this; }; return x; } >rufus : () => nudicaudus @@ -630,255 +630,255 @@ module julianae { >x : nudicaudus monax() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->monax : () => subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus +>monax : () => imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : subspinosus +>x : imperfecta.subspinosus unalascensis() : minutus.inez, gabriellae.echinatus>, dogramacii.aurata> { var x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata>; () => { var y = this; }; return x; } ->unalascensis : () => inez, echinatus>, aurata> ->minutus : minutus ->inez : inez ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->dogramacii : dogramacii ->aurata : aurata ->x : inez, echinatus>, aurata> ->minutus : minutus ->inez : inez ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->dogramacii : dogramacii ->aurata : aurata +>unalascensis : () => minutus.inez, gabriellae.echinatus>, dogramacii.aurata> +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata> +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : inez, echinatus>, aurata> +>x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata> wuchihensis() : howi.angulatus, petrophilus.minutilla> { var x : howi.angulatus, petrophilus.minutilla>; () => { var y = this; }; return x; } ->wuchihensis : () => angulatus, minutilla> ->howi : howi ->angulatus : angulatus ->howi : howi ->coludo : coludo ->quasiater : quasiater ->carolinensis : carolinensis ->minutus : minutus ->portoricensis : portoricensis ->petrophilus : petrophilus ->minutilla : minutilla ->x : angulatus, minutilla> ->howi : howi ->angulatus : angulatus ->howi : howi ->coludo : coludo ->quasiater : quasiater ->carolinensis : carolinensis ->minutus : minutus ->portoricensis : portoricensis ->petrophilus : petrophilus ->minutilla : minutilla +>wuchihensis : () => howi.angulatus, petrophilus.minutilla> +>howi : unknown +>angulatus : howi.angulatus +>howi : unknown +>coludo : howi.coludo +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>minutus : unknown +>portoricensis : minutus.portoricensis +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>x : howi.angulatus, petrophilus.minutilla> +>howi : unknown +>angulatus : howi.angulatus +>howi : unknown +>coludo : howi.coludo +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>minutus : unknown +>portoricensis : minutus.portoricensis +>petrophilus : unknown +>minutilla : petrophilus.minutilla >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : angulatus, minutilla> +>x : howi.angulatus, petrophilus.minutilla> leucippe() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->leucippe : () => otion ->lavali : lavali ->otion : otion ->x : otion ->lavali : lavali ->otion : otion +>leucippe : () => lavali.otion +>lavali : unknown +>otion : lavali.otion +>x : lavali.otion +>lavali : unknown +>otion : lavali.otion >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : otion +>x : lavali.otion ordii() : daubentonii.arboreus { var x : daubentonii.arboreus; () => { var y = this; }; return x; } ->ordii : () => arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->argurus : argurus ->germaini : germaini ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->argurus : argurus ->germaini : germaini ->sagitta : sagitta ->stolzmanni : stolzmanni +>ordii : () => daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>argurus : unknown +>germaini : argurus.germaini +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>argurus : unknown +>germaini : argurus.germaini +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : arboreus +>x : daubentonii.arboreus eisentrauti() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; } ->eisentrauti : () => zuluensis ->rendalli : rendalli ->zuluensis : zuluensis ->x : zuluensis ->rendalli : rendalli ->zuluensis : zuluensis +>eisentrauti : () => rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>x : rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis >() => { var y = this; } : () => void >y : oralis >this : oralis ->x : zuluensis +>x : rendalli.zuluensis } export class sumatrana extends Lanthanum.jugularis { >sumatrana : sumatrana ->Lanthanum : Lanthanum ->jugularis : jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis wolffsohni() : Lanthanum.suillus { var x : Lanthanum.suillus; () => { var y = this; }; return x; } ->wolffsohni : () => suillus ->Lanthanum : Lanthanum ->suillus : suillus ->dammermani : dammermani ->melanops : melanops ->quasiater : quasiater ->carolinensis : carolinensis ->x : suillus ->Lanthanum : Lanthanum ->suillus : suillus ->dammermani : dammermani ->melanops : melanops ->quasiater : quasiater ->carolinensis : carolinensis +>wolffsohni : () => Lanthanum.suillus +>Lanthanum : unknown +>suillus : Lanthanum.suillus +>dammermani : unknown +>melanops : dammermani.melanops +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : Lanthanum.suillus +>Lanthanum : unknown +>suillus : Lanthanum.suillus +>dammermani : unknown +>melanops : dammermani.melanops +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : sumatrana >this : sumatrana ->x : suillus +>x : Lanthanum.suillus geata() : ruatanica.hector { var x : ruatanica.hector; () => { var y = this; }; return x; } ->geata : () => hector ->ruatanica : ruatanica ->hector : hector +>geata : () => ruatanica.hector +>ruatanica : unknown +>hector : ruatanica.hector >sumatrana : sumatrana ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->x : hector ->ruatanica : ruatanica ->hector : hector +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>x : ruatanica.hector +>ruatanica : unknown +>hector : ruatanica.hector >sumatrana : sumatrana ->quasiater : quasiater ->bobrinskoi : bobrinskoi +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi >() => { var y = this; } : () => void >y : sumatrana >this : sumatrana ->x : hector +>x : ruatanica.hector awashensis() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; } ->awashensis : () => minutilla ->petrophilus : petrophilus ->minutilla : minutilla ->x : minutilla ->petrophilus : petrophilus ->minutilla : minutilla +>awashensis : () => petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>x : petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla >() => { var y = this; } : () => void >y : sumatrana >this : sumatrana ->x : minutilla +>x : petrophilus.minutilla sturdeei() : lutreolus.cor { var x : lutreolus.cor; () => { var y = this; }; return x; } ->sturdeei : () => cor ->lutreolus : lutreolus ->cor : cor ->Lanthanum : Lanthanum ->jugularis : jugularis +>sturdeei : () => lutreolus.cor +>lutreolus : unknown +>cor : lutreolus.cor +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >galapagoensis : galapagoensis ->x : cor ->lutreolus : lutreolus ->cor : cor ->Lanthanum : Lanthanum ->jugularis : jugularis +>x : lutreolus.cor +>lutreolus : unknown +>cor : lutreolus.cor +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >galapagoensis : galapagoensis >() => { var y = this; } : () => void >y : sumatrana >this : sumatrana ->x : cor +>x : lutreolus.cor pachyurus() : howi.angulatus> { var x : howi.angulatus>; () => { var y = this; }; return x; } ->pachyurus : () => angulatus> ->howi : howi ->angulatus : angulatus ->dogramacii : dogramacii ->aurata : aurata +>pachyurus : () => howi.angulatus> +>howi : unknown +>angulatus : howi.angulatus +>dogramacii : unknown +>aurata : dogramacii.aurata >gerbillus : gerbillus ->lavali : lavali ->thaeleri : thaeleri ->quasiater : quasiater ->carolinensis : carolinensis ->x : angulatus> ->howi : howi ->angulatus : angulatus ->dogramacii : dogramacii ->aurata : aurata +>lavali : unknown +>thaeleri : lavali.thaeleri +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : howi.angulatus> +>howi : unknown +>angulatus : howi.angulatus +>dogramacii : unknown +>aurata : dogramacii.aurata >gerbillus : gerbillus ->lavali : lavali ->thaeleri : thaeleri ->quasiater : quasiater ->carolinensis : carolinensis +>lavali : unknown +>thaeleri : lavali.thaeleri +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : sumatrana >this : sumatrana ->x : angulatus> +>x : howi.angulatus> lyelli() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->lyelli : () => melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca ->x : melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca +>lyelli : () => provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : sumatrana >this : sumatrana ->x : melanoleuca +>x : provocax.melanoleuca neohibernicus() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->neohibernicus : () => siberu ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->foina : foina ->samarensis : samarensis ->pallidus : pallidus ->x : siberu ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->foina : foina ->samarensis : samarensis ->pallidus : pallidus +>neohibernicus : () => dammermani.siberu +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>foina : lutreolus.foina +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : dammermani.siberu +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>foina : lutreolus.foina +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : sumatrana >this : sumatrana ->x : siberu +>x : dammermani.siberu } export class gerbillus { >gerbillus : gerbillus @@ -886,450 +886,450 @@ module julianae { >T1 : T1 pundti() : sagitta.sicarius { var x : sagitta.sicarius; () => { var y = this; }; return x; } ->pundti : () => sicarius ->sagitta : sagitta ->sicarius : sicarius ->dogramacii : dogramacii ->koepckeae : koepckeae ->caurinus : caurinus ->psilurus : psilurus ->x : sicarius ->sagitta : sagitta ->sicarius : sicarius ->dogramacii : dogramacii ->koepckeae : koepckeae ->caurinus : caurinus ->psilurus : psilurus +>pundti : () => sagitta.sicarius +>sagitta : unknown +>sicarius : sagitta.sicarius +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : sagitta.sicarius +>sagitta : unknown +>sicarius : sagitta.sicarius +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : gerbillus >this : gerbillus ->x : sicarius +>x : sagitta.sicarius tristrami() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; } ->tristrami : () => minutilla ->petrophilus : petrophilus ->minutilla : minutilla ->x : minutilla ->petrophilus : petrophilus ->minutilla : minutilla +>tristrami : () => petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>x : petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla >() => { var y = this; } : () => void >y : gerbillus >this : gerbillus ->x : minutilla +>x : petrophilus.minutilla swarthi() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->swarthi : () => foina ->lutreolus : lutreolus ->foina : foina ->x : foina ->lutreolus : lutreolus ->foina : foina +>swarthi : () => lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina +>x : lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : gerbillus >this : gerbillus ->x : foina +>x : lutreolus.foina horsfieldii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->horsfieldii : () => falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri ->x : falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri +>horsfieldii : () => trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>x : trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri >() => { var y = this; } : () => void >y : gerbillus >this : gerbillus ->x : falconeri +>x : trivirgatus.falconeri diazi() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->diazi : () => lasiurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->lutreolus : lutreolus ->foina : foina ->dammermani : dammermani ->melanops : melanops ->x : lasiurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->lutreolus : lutreolus ->foina : foina ->dammermani : dammermani ->melanops : melanops +>diazi : () => imperfecta.lasiurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>lutreolus : unknown +>foina : lutreolus.foina +>dammermani : unknown +>melanops : dammermani.melanops +>x : imperfecta.lasiurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>lutreolus : unknown +>foina : lutreolus.foina +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : gerbillus >this : gerbillus ->x : lasiurus +>x : imperfecta.lasiurus rennelli() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->rennelli : () => luctuosa ->argurus : argurus ->luctuosa : luctuosa ->x : luctuosa ->argurus : argurus ->luctuosa : luctuosa +>rennelli : () => argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : gerbillus >this : gerbillus ->x : luctuosa +>x : argurus.luctuosa maulinus() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->maulinus : () => lepturus ->lavali : lavali ->lepturus : lepturus ->x : lepturus ->lavali : lavali ->lepturus : lepturus +>maulinus : () => lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus +>x : lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : gerbillus >this : gerbillus ->x : lepturus +>x : lavali.lepturus muscina() : daubentonii.arboreus { var x : daubentonii.arboreus; () => { var y = this; }; return x; } ->muscina : () => arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->petrophilus : petrophilus ->minutilla : minutilla ->argurus : argurus ->peninsulae : peninsulae ->x : arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->petrophilus : petrophilus ->minutilla : minutilla ->argurus : argurus ->peninsulae : peninsulae +>muscina : () => daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>argurus : unknown +>peninsulae : argurus.peninsulae +>x : daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>argurus : unknown +>peninsulae : argurus.peninsulae >() => { var y = this; } : () => void >y : gerbillus >this : gerbillus ->x : arboreus +>x : daubentonii.arboreus pelengensis() : sagitta.leptoceros { var x : sagitta.leptoceros; () => { var y = this; }; return x; } ->pelengensis : () => leptoceros ->sagitta : sagitta ->leptoceros : leptoceros ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->x : leptoceros ->sagitta : sagitta ->leptoceros : leptoceros ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus +>pelengensis : () => sagitta.leptoceros +>sagitta : unknown +>leptoceros : sagitta.leptoceros +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : sagitta.leptoceros +>sagitta : unknown +>leptoceros : sagitta.leptoceros +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : gerbillus >this : gerbillus ->x : leptoceros +>x : sagitta.leptoceros abramus() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->abramus : () => thaeleri ->lavali : lavali ->thaeleri : thaeleri ->x : thaeleri ->lavali : lavali ->thaeleri : thaeleri +>abramus : () => lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri +>x : lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri >() => { var y = this; } : () => void >y : gerbillus >this : gerbillus ->x : thaeleri +>x : lavali.thaeleri reevesi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->reevesi : () => melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca ->x : melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca +>reevesi : () => provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : gerbillus >this : gerbillus ->x : melanoleuca +>x : provocax.melanoleuca } export class acariensis { >acariensis : acariensis levicula() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->levicula : () => lepturus ->lavali : lavali ->lepturus : lepturus ->x : lepturus ->lavali : lavali ->lepturus : lepturus +>levicula : () => lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus +>x : lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : lepturus +>x : lavali.lepturus minous() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->minous : () => dauricus ->argurus : argurus ->dauricus : dauricus ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->otion : otion ->x : dauricus ->argurus : argurus ->dauricus : dauricus ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->otion : otion +>minous : () => argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>otion : lavali.otion +>x : argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>otion : lavali.otion >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : dauricus +>x : argurus.dauricus cinereiventer() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->cinereiventer : () => setulosus ->panamensis : panamensis ->setulosus : setulosus ->sagitta : sagitta ->walkeri : walkeri ->lavali : lavali ->otion : otion ->x : setulosus ->panamensis : panamensis ->setulosus : setulosus ->sagitta : sagitta ->walkeri : walkeri ->lavali : lavali ->otion : otion +>cinereiventer : () => panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus +>sagitta : unknown +>walkeri : sagitta.walkeri +>lavali : unknown +>otion : lavali.otion +>x : panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus +>sagitta : unknown +>walkeri : sagitta.walkeri +>lavali : unknown +>otion : lavali.otion >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : setulosus +>x : panamensis.setulosus longicaudatus() : macrorhinos.marmosurus> { var x : macrorhinos.marmosurus>; () => { var y = this; }; return x; } ->longicaudatus : () => marmosurus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->dammermani : dammermani ->melanops : melanops ->caurinus : caurinus ->mahaganus : mahaganus +>longicaudatus : () => macrorhinos.marmosurus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>dammermani : unknown +>melanops : dammermani.melanops +>caurinus : unknown +>mahaganus : caurinus.mahaganus >nudicaudus : nudicaudus ->lavali : lavali ->otion : otion ->x : marmosurus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->dammermani : dammermani ->melanops : melanops ->caurinus : caurinus ->mahaganus : mahaganus +>lavali : unknown +>otion : lavali.otion +>x : macrorhinos.marmosurus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>dammermani : unknown +>melanops : dammermani.melanops +>caurinus : unknown +>mahaganus : caurinus.mahaganus >nudicaudus : nudicaudus ->lavali : lavali ->otion : otion +>lavali : unknown +>otion : lavali.otion >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : marmosurus> +>x : macrorhinos.marmosurus> baeodon() : argurus.netscheri, argurus.luctuosa> { var x : argurus.netscheri, argurus.luctuosa>; () => { var y = this; }; return x; } ->baeodon : () => netscheri, luctuosa> ->argurus : argurus ->netscheri : netscheri ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->foina : foina ->samarensis : samarensis ->pallidus : pallidus ->argurus : argurus ->luctuosa : luctuosa ->x : netscheri, luctuosa> ->argurus : argurus ->netscheri : netscheri ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->foina : foina ->samarensis : samarensis ->pallidus : pallidus ->argurus : argurus ->luctuosa : luctuosa +>baeodon : () => argurus.netscheri, argurus.luctuosa> +>argurus : unknown +>netscheri : argurus.netscheri +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>foina : lutreolus.foina +>samarensis : unknown +>pallidus : samarensis.pallidus +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : argurus.netscheri, argurus.luctuosa> +>argurus : unknown +>netscheri : argurus.netscheri +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>foina : lutreolus.foina +>samarensis : unknown +>pallidus : samarensis.pallidus +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : netscheri, luctuosa> +>x : argurus.netscheri, argurus.luctuosa> soricoides() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->soricoides : () => luctuosa ->argurus : argurus ->luctuosa : luctuosa ->x : luctuosa ->argurus : argurus ->luctuosa : luctuosa +>soricoides : () => argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : luctuosa +>x : argurus.luctuosa datae() : daubentonii.arboreus> { var x : daubentonii.arboreus>; () => { var y = this; }; return x; } ->datae : () => arboreus> ->daubentonii : daubentonii ->arboreus : arboreus ->provocax : provocax ->melanoleuca : melanoleuca ->panglima : panglima ->amphibius : amphibius ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->patas : patas ->uralensis : uralensis ->x : arboreus> ->daubentonii : daubentonii ->arboreus : arboreus ->provocax : provocax ->melanoleuca : melanoleuca ->panglima : panglima ->amphibius : amphibius ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->patas : patas ->uralensis : uralensis +>datae : () => daubentonii.arboreus> +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>panglima : unknown +>amphibius : panglima.amphibius +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>patas : unknown +>uralensis : patas.uralensis +>x : daubentonii.arboreus> +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>panglima : unknown +>amphibius : panglima.amphibius +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : arboreus> +>x : daubentonii.arboreus> spixii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->spixii : () => subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus +>spixii : () => imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : subspinosus +>x : imperfecta.subspinosus anakuma() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; } ->anakuma : () => wilsoni ->lavali : lavali ->wilsoni : wilsoni ->x : wilsoni ->lavali : lavali ->wilsoni : wilsoni +>anakuma : () => lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : wilsoni +>x : lavali.wilsoni kihaulei() : panglima.amphibius { var x : panglima.amphibius; () => { var y = this; }; return x; } ->kihaulei : () => amphibius ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : amphibius ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->macrorhinos : macrorhinos ->konganensis : konganensis +>kihaulei : () => panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : amphibius +>x : panglima.amphibius gymnura() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->gymnura : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>gymnura : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : carolinensis +>x : quasiater.carolinensis olchonensis() : rendalli.crenulata { var x : rendalli.crenulata; () => { var y = this; }; return x; } ->olchonensis : () => crenulata ->rendalli : rendalli ->crenulata : crenulata ->trivirgatus : trivirgatus ->falconeri : falconeri ->provocax : provocax ->melanoleuca : melanoleuca ->x : crenulata ->rendalli : rendalli ->crenulata : crenulata ->trivirgatus : trivirgatus ->falconeri : falconeri ->provocax : provocax ->melanoleuca : melanoleuca +>olchonensis : () => rendalli.crenulata +>rendalli : unknown +>crenulata : rendalli.crenulata +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : rendalli.crenulata +>rendalli : unknown +>crenulata : rendalli.crenulata +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : acariensis >this : acariensis ->x : crenulata +>x : rendalli.crenulata } export class durangae extends dogramacii.aurata { >durangae : durangae ->dogramacii : dogramacii ->aurata : aurata +>dogramacii : unknown +>aurata : dogramacii.aurata Californium() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->Californium : () => setulosus ->panamensis : panamensis ->setulosus : setulosus ->lutreolus : lutreolus ->punicus : punicus ->dammermani : dammermani ->melanops : melanops ->x : setulosus ->panamensis : panamensis ->setulosus : setulosus ->lutreolus : lutreolus ->punicus : punicus ->dammermani : dammermani ->melanops : melanops +>Californium : () => panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus +>lutreolus : unknown +>punicus : lutreolus.punicus +>dammermani : unknown +>melanops : dammermani.melanops +>x : panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus +>lutreolus : unknown +>punicus : lutreolus.punicus +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : durangae >this : durangae ->x : setulosus +>x : panamensis.setulosus Flerovium() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->Flerovium : () => angulatus ->howi : howi ->angulatus : angulatus ->petrophilus : petrophilus ->minutilla : minutilla ->lavali : lavali ->xanthognathus : xanthognathus ->x : angulatus ->howi : howi ->angulatus : angulatus ->petrophilus : petrophilus ->minutilla : minutilla ->lavali : lavali ->xanthognathus : xanthognathus +>Flerovium : () => howi.angulatus +>howi : unknown +>angulatus : howi.angulatus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : howi.angulatus +>howi : unknown +>angulatus : howi.angulatus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : durangae >this : durangae ->x : angulatus +>x : howi.angulatus phrudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->phrudus : () => stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni +>phrudus : () => sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : durangae >this : durangae ->x : stolzmanni +>x : sagitta.stolzmanni } } module ruatanica { @@ -1341,44 +1341,44 @@ module ruatanica { >T1 : T1 humulis() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->humulis : () => steerii ->julianae : julianae ->steerii : steerii ->x : steerii ->julianae : julianae ->steerii : steerii +>humulis : () => julianae.steerii +>julianae : unknown +>steerii : julianae.steerii +>x : julianae.steerii +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : hector >this : hector ->x : steerii +>x : julianae.steerii eurycerus() : panamensis.linulus, lavali.wilsoni> { var x : panamensis.linulus, lavali.wilsoni>; () => { var y = this; }; return x; } ->eurycerus : () => linulus, wilsoni> ->panamensis : panamensis ->linulus : linulus ->ruatanica : ruatanica +>eurycerus : () => panamensis.linulus, lavali.wilsoni> +>panamensis : unknown +>linulus : panamensis.linulus +>ruatanica : unknown >Praseodymium : Praseodymium ->Lanthanum : Lanthanum ->jugularis : jugularis ->dammermani : dammermani ->melanops : melanops ->lavali : lavali ->wilsoni : wilsoni ->x : linulus, wilsoni> ->panamensis : panamensis ->linulus : linulus ->ruatanica : ruatanica +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>dammermani : unknown +>melanops : dammermani.melanops +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : panamensis.linulus, lavali.wilsoni> +>panamensis : unknown +>linulus : panamensis.linulus +>ruatanica : unknown >Praseodymium : Praseodymium ->Lanthanum : Lanthanum ->jugularis : jugularis ->dammermani : dammermani ->melanops : melanops ->lavali : lavali ->wilsoni : wilsoni +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>dammermani : unknown +>melanops : dammermani.melanops +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : hector >this : hector ->x : linulus, wilsoni> +>x : panamensis.linulus, lavali.wilsoni> } } module Lanthanum { @@ -1390,593 +1390,593 @@ module Lanthanum { >T1 : T1 spilosoma() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->spilosoma : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>spilosoma : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : suillus >this : suillus ->x : carolinensis +>x : quasiater.carolinensis tumbalensis() : caurinus.megaphyllus { var x : caurinus.megaphyllus; () => { var y = this; }; return x; } ->tumbalensis : () => megaphyllus ->caurinus : caurinus ->megaphyllus : megaphyllus ->x : megaphyllus ->caurinus : caurinus ->megaphyllus : megaphyllus +>tumbalensis : () => caurinus.megaphyllus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>x : caurinus.megaphyllus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus >() => { var y = this; } : () => void >y : suillus >this : suillus ->x : megaphyllus +>x : caurinus.megaphyllus anatolicus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->anatolicus : () => steerii ->julianae : julianae ->steerii : steerii ->x : steerii ->julianae : julianae ->steerii : steerii +>anatolicus : () => julianae.steerii +>julianae : unknown +>steerii : julianae.steerii +>x : julianae.steerii +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : suillus >this : suillus ->x : steerii +>x : julianae.steerii } export class nitidus extends argurus.gilbertii { >nitidus : nitidus >T0 : T0 >T1 : T1 ->argurus : argurus ->gilbertii : gilbertii ->lavali : lavali ->thaeleri : thaeleri ->lutreolus : lutreolus ->punicus : punicus +>argurus : unknown +>gilbertii : argurus.gilbertii +>lavali : unknown +>thaeleri : lavali.thaeleri +>lutreolus : unknown +>punicus : lutreolus.punicus granatensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->granatensis : () => bobrinskoi ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->x : bobrinskoi ->quasiater : quasiater ->bobrinskoi : bobrinskoi +>granatensis : () => quasiater.bobrinskoi +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>x : quasiater.bobrinskoi +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi >() => { var y = this; } : () => void >y : nitidus >this : nitidus ->x : bobrinskoi +>x : quasiater.bobrinskoi negligens() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->negligens : () => inez ->minutus : minutus ->inez : inez ->lavali : lavali ->wilsoni : wilsoni ->lavali : lavali ->wilsoni : wilsoni ->x : inez ->minutus : minutus ->inez : inez ->lavali : lavali ->wilsoni : wilsoni ->lavali : lavali ->wilsoni : wilsoni +>negligens : () => minutus.inez +>minutus : unknown +>inez : minutus.inez +>lavali : unknown +>wilsoni : lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : minutus.inez +>minutus : unknown +>inez : minutus.inez +>lavali : unknown +>wilsoni : lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : nitidus >this : nitidus ->x : inez +>x : minutus.inez lewisi() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->lewisi : () => oralis ->julianae : julianae ->oralis : oralis ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas ->x : oralis ->julianae : julianae ->oralis : oralis ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas +>lewisi : () => julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas +>x : julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : nitidus >this : nitidus ->x : oralis +>x : julianae.oralis arge() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->arge : () => sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->xanthognathus : xanthognathus ->x : sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->xanthognathus : xanthognathus +>arge : () => chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : nitidus >this : nitidus ->x : sarasinorum +>x : chrysaeolus.sarasinorum dominicensis() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->dominicensis : () => melanops ->dammermani : dammermani ->melanops : melanops ->x : melanops ->dammermani : dammermani ->melanops : melanops +>dominicensis : () => dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops +>x : dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : nitidus >this : nitidus ->x : melanops +>x : dammermani.melanops taurus() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->taurus : () => konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis +>taurus : () => macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : nitidus >this : nitidus ->x : konganensis +>x : macrorhinos.konganensis tonganus() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->tonganus : () => netscheri ->argurus : argurus ->netscheri : netscheri ->dogramacii : dogramacii ->aurata : aurata ->dogramacii : dogramacii ->aurata : aurata ->x : netscheri ->argurus : argurus ->netscheri : netscheri ->dogramacii : dogramacii ->aurata : aurata ->dogramacii : dogramacii ->aurata : aurata +>tonganus : () => argurus.netscheri +>argurus : unknown +>netscheri : argurus.netscheri +>dogramacii : unknown +>aurata : dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : argurus.netscheri +>argurus : unknown +>netscheri : argurus.netscheri +>dogramacii : unknown +>aurata : dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : nitidus >this : nitidus ->x : netscheri +>x : argurus.netscheri silvatica() : rendalli.moojeni { var x : rendalli.moojeni; () => { var y = this; }; return x; } ->silvatica : () => moojeni ->rendalli : rendalli ->moojeni : moojeni ->dogramacii : dogramacii ->aurata : aurata ->lavali : lavali ->otion : otion ->x : moojeni ->rendalli : rendalli ->moojeni : moojeni ->dogramacii : dogramacii ->aurata : aurata ->lavali : lavali ->otion : otion +>silvatica : () => rendalli.moojeni +>rendalli : unknown +>moojeni : rendalli.moojeni +>dogramacii : unknown +>aurata : dogramacii.aurata +>lavali : unknown +>otion : lavali.otion +>x : rendalli.moojeni +>rendalli : unknown +>moojeni : rendalli.moojeni +>dogramacii : unknown +>aurata : dogramacii.aurata +>lavali : unknown +>otion : lavali.otion >() => { var y = this; } : () => void >y : nitidus >this : nitidus ->x : moojeni +>x : rendalli.moojeni midas() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->midas : () => xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus ->x : xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus +>midas : () => lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : nitidus >this : nitidus ->x : xanthognathus +>x : lavali.xanthognathus bicornis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->bicornis : () => kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri +>bicornis : () => dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : nitidus >this : nitidus ->x : kaiseri +>x : dogramacii.kaiseri } export class megalonyx extends caurinus.johorensis { >megalonyx : megalonyx ->caurinus : caurinus ->johorensis : johorensis ->caurinus : caurinus ->megaphyllus : megaphyllus ->julianae : julianae ->steerii : steerii +>caurinus : unknown +>johorensis : caurinus.johorensis +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>julianae : unknown +>steerii : julianae.steerii phillipsii() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->phillipsii : () => konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis +>phillipsii : () => macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : megalonyx >this : megalonyx ->x : konganensis +>x : macrorhinos.konganensis melanogaster() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->melanogaster : () => veraecrucis ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->trivirgatus : trivirgatus ->falconeri : falconeri ->quasiater : quasiater ->carolinensis : carolinensis ->x : veraecrucis ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->trivirgatus : trivirgatus ->falconeri : falconeri ->quasiater : quasiater ->carolinensis : carolinensis +>melanogaster : () => rionegrensis.veraecrucis +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : rionegrensis.veraecrucis +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : megalonyx >this : megalonyx ->x : veraecrucis +>x : rionegrensis.veraecrucis elaphus() : nitidus { var x : nitidus; () => { var y = this; }; return x; } ->elaphus : () => nitidus +>elaphus : () => nitidus >nitidus : nitidus ->petrophilus : petrophilus ->minutilla : minutilla ->julianae : julianae ->sumatrana : sumatrana ->x : nitidus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : nitidus >nitidus : nitidus ->petrophilus : petrophilus ->minutilla : minutilla ->julianae : julianae ->sumatrana : sumatrana +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : megalonyx >this : megalonyx ->x : nitidus +>x : nitidus elater() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->elater : () => lepturus ->lavali : lavali ->lepturus : lepturus ->x : lepturus ->lavali : lavali ->lepturus : lepturus +>elater : () => lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus +>x : lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : megalonyx >this : megalonyx ->x : lepturus +>x : lavali.lepturus ourebi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->ourebi : () => melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca ->x : melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca +>ourebi : () => provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : megalonyx >this : megalonyx ->x : melanoleuca +>x : provocax.melanoleuca caraccioli() : imperfecta.ciliolabrum> { var x : imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->caraccioli : () => ciliolabrum> ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->julianae : julianae ->nudicaudus : nudicaudus ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->lavali : lavali ->thaeleri : thaeleri ->julianae : julianae ->acariensis : acariensis ->x : ciliolabrum> ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->julianae : julianae ->nudicaudus : nudicaudus ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->lavali : lavali ->thaeleri : thaeleri ->julianae : julianae ->acariensis : acariensis +>caraccioli : () => imperfecta.ciliolabrum> +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>lavali : unknown +>thaeleri : lavali.thaeleri +>julianae : unknown +>acariensis : julianae.acariensis +>x : imperfecta.ciliolabrum> +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>lavali : unknown +>thaeleri : lavali.thaeleri +>julianae : unknown +>acariensis : julianae.acariensis >() => { var y = this; } : () => void >y : megalonyx >this : megalonyx ->x : ciliolabrum> +>x : imperfecta.ciliolabrum> parva() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->parva : () => echinatus ->gabriellae : gabriellae ->echinatus : echinatus ->x : echinatus ->gabriellae : gabriellae ->echinatus : echinatus +>parva : () => gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : megalonyx >this : megalonyx ->x : echinatus +>x : gabriellae.echinatus albipes() : quasiater.wattsi { var x : quasiater.wattsi; () => { var y = this; }; return x; } ->albipes : () => wattsi ->quasiater : quasiater ->wattsi : wattsi ->dammermani : dammermani ->melanops : melanops +>albipes : () => quasiater.wattsi +>quasiater : unknown +>wattsi : quasiater.wattsi +>dammermani : unknown +>melanops : dammermani.melanops >megalonyx : megalonyx ->x : wattsi ->quasiater : quasiater ->wattsi : wattsi ->dammermani : dammermani ->melanops : melanops +>x : quasiater.wattsi +>quasiater : unknown +>wattsi : quasiater.wattsi +>dammermani : unknown +>melanops : dammermani.melanops >megalonyx : megalonyx >() => { var y = this; } : () => void >y : megalonyx >this : megalonyx ->x : wattsi +>x : quasiater.wattsi } export class jugularis { >jugularis : jugularis torrei() : petrophilus.sodyi { var x : petrophilus.sodyi; () => { var y = this; }; return x; } ->torrei : () => sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->argurus : argurus ->oreas : oreas ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->argurus : argurus ->oreas : oreas ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>torrei : () => petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>argurus : unknown +>oreas : argurus.oreas +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>argurus : unknown +>oreas : argurus.oreas +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : sodyi +>x : petrophilus.sodyi revoili() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; } ->revoili : () => wilsoni ->lavali : lavali ->wilsoni : wilsoni ->x : wilsoni ->lavali : lavali ->wilsoni : wilsoni +>revoili : () => lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : wilsoni +>x : lavali.wilsoni macrobullatus() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->macrobullatus : () => daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>macrobullatus : () => macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : daphaenodon +>x : macrorhinos.daphaenodon compactus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->compactus : () => stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni +>compactus : () => sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : stolzmanni +>x : sagitta.stolzmanni talpinus() : nitidus { var x : nitidus; () => { var y = this; }; return x; } ->talpinus : () => nitidus +>talpinus : () => nitidus >nitidus : nitidus ->ruatanica : ruatanica ->americanus : americanus ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : nitidus +>ruatanica : unknown +>americanus : ruatanica.americanus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : nitidus >nitidus : nitidus ->ruatanica : ruatanica ->americanus : americanus ->sagitta : sagitta ->stolzmanni : stolzmanni +>ruatanica : unknown +>americanus : ruatanica.americanus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : nitidus +>x : nitidus stramineus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->stramineus : () => amicus ->gabriellae : gabriellae ->amicus : amicus ->x : amicus ->gabriellae : gabriellae ->amicus : amicus +>stramineus : () => gabriellae.amicus +>gabriellae : unknown +>amicus : gabriellae.amicus +>x : gabriellae.amicus +>gabriellae : unknown +>amicus : gabriellae.amicus >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : amicus +>x : gabriellae.amicus dartmouthi() : trivirgatus.mixtus { var x : trivirgatus.mixtus; () => { var y = this; }; return x; } ->dartmouthi : () => mixtus ->trivirgatus : trivirgatus ->mixtus : mixtus ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->argurus : argurus ->luctuosa : luctuosa ->x : mixtus ->trivirgatus : trivirgatus ->mixtus : mixtus ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->argurus : argurus ->luctuosa : luctuosa +>dartmouthi : () => trivirgatus.mixtus +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : trivirgatus.mixtus +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : mixtus +>x : trivirgatus.mixtus ogilbyi() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->ogilbyi : () => dauricus ->argurus : argurus ->dauricus : dauricus ->argurus : argurus ->oreas : oreas ->quasiater : quasiater ->carolinensis : carolinensis ->x : dauricus ->argurus : argurus ->dauricus : dauricus ->argurus : argurus ->oreas : oreas ->quasiater : quasiater ->carolinensis : carolinensis +>ogilbyi : () => argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>argurus : unknown +>oreas : argurus.oreas +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>argurus : unknown +>oreas : argurus.oreas +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : dauricus +>x : argurus.dauricus incomtus() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->incomtus : () => nesiotes ->daubentonii : daubentonii ->nesiotes : nesiotes ->julianae : julianae ->sumatrana : sumatrana ->quasiater : quasiater ->carolinensis : carolinensis ->x : nesiotes ->daubentonii : daubentonii ->nesiotes : nesiotes ->julianae : julianae ->sumatrana : sumatrana ->quasiater : quasiater ->carolinensis : carolinensis +>incomtus : () => daubentonii.nesiotes +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>julianae : unknown +>sumatrana : julianae.sumatrana +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : daubentonii.nesiotes +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>julianae : unknown +>sumatrana : julianae.sumatrana +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : nesiotes +>x : daubentonii.nesiotes surdaster() : ruatanica.Praseodymium { var x : ruatanica.Praseodymium; () => { var y = this; }; return x; } ->surdaster : () => Praseodymium ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->argurus : argurus ->germaini : germaini ->caurinus : caurinus ->megaphyllus : megaphyllus ->x : Praseodymium ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->argurus : argurus ->germaini : germaini ->caurinus : caurinus ->megaphyllus : megaphyllus +>surdaster : () => ruatanica.Praseodymium +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>argurus : unknown +>germaini : argurus.germaini +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>x : ruatanica.Praseodymium +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>argurus : unknown +>germaini : argurus.germaini +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : Praseodymium +>x : ruatanica.Praseodymium melanorhinus() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->melanorhinus : () => pelurus ->samarensis : samarensis ->pelurus : pelurus ->dammermani : dammermani ->melanops : melanops ->rendalli : rendalli ->zuluensis : zuluensis ->x : pelurus ->samarensis : samarensis ->pelurus : pelurus ->dammermani : dammermani ->melanops : melanops ->rendalli : rendalli ->zuluensis : zuluensis +>melanorhinus : () => samarensis.pelurus +>samarensis : unknown +>pelurus : samarensis.pelurus +>dammermani : unknown +>melanops : dammermani.melanops +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>x : samarensis.pelurus +>samarensis : unknown +>pelurus : samarensis.pelurus +>dammermani : unknown +>melanops : dammermani.melanops +>rendalli : unknown +>zuluensis : rendalli.zuluensis >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : pelurus +>x : samarensis.pelurus picticaudata() : minutus.inez, dogramacii.kaiseri> { var x : minutus.inez, dogramacii.kaiseri>; () => { var y = this; }; return x; } ->picticaudata : () => inez, kaiseri> ->minutus : minutus ->inez : inez ->quasiater : quasiater ->wattsi : wattsi ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->lepturus : lepturus ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : inez, kaiseri> ->minutus : minutus ->inez : inez ->quasiater : quasiater ->wattsi : wattsi ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->lepturus : lepturus ->dogramacii : dogramacii ->kaiseri : kaiseri +>picticaudata : () => minutus.inez, dogramacii.kaiseri> +>minutus : unknown +>inez : minutus.inez +>quasiater : unknown +>wattsi : quasiater.wattsi +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>lepturus : lavali.lepturus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : minutus.inez, dogramacii.kaiseri> +>minutus : unknown +>inez : minutus.inez +>quasiater : unknown +>wattsi : quasiater.wattsi +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>lepturus : lavali.lepturus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : inez, kaiseri> +>x : minutus.inez, dogramacii.kaiseri> pomona() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->pomona : () => steerii ->julianae : julianae ->steerii : steerii ->x : steerii ->julianae : julianae ->steerii : steerii +>pomona : () => julianae.steerii +>julianae : unknown +>steerii : julianae.steerii +>x : julianae.steerii +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : steerii +>x : julianae.steerii ileile() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->ileile : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>ileile : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : jugularis >this : jugularis ->x : carolinensis +>x : quasiater.carolinensis } } module rendalli { @@ -1984,240 +1984,240 @@ module rendalli { export class zuluensis extends julianae.steerii { >zuluensis : zuluensis ->julianae : julianae ->steerii : steerii +>julianae : unknown +>steerii : julianae.steerii telfairi() : argurus.wetmorei { var x : argurus.wetmorei; () => { var y = this; }; return x; } ->telfairi : () => wetmorei ->argurus : argurus ->wetmorei : wetmorei ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->provocax : provocax ->melanoleuca : melanoleuca ->x : wetmorei ->argurus : argurus ->wetmorei : wetmorei ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->provocax : provocax ->melanoleuca : melanoleuca +>telfairi : () => argurus.wetmorei +>argurus : unknown +>wetmorei : argurus.wetmorei +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : argurus.wetmorei +>argurus : unknown +>wetmorei : argurus.wetmorei +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : wetmorei +>x : argurus.wetmorei keyensis() : quasiater.wattsi { var x : quasiater.wattsi; () => { var y = this; }; return x; } ->keyensis : () => wattsi ->quasiater : quasiater ->wattsi : wattsi ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->lepturus : lepturus ->x : wattsi ->quasiater : quasiater ->wattsi : wattsi ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->lepturus : lepturus +>keyensis : () => quasiater.wattsi +>quasiater : unknown +>wattsi : quasiater.wattsi +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>lepturus : lavali.lepturus +>x : quasiater.wattsi +>quasiater : unknown +>wattsi : quasiater.wattsi +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : wattsi +>x : quasiater.wattsi occasius() : argurus.gilbertii { var x : argurus.gilbertii; () => { var y = this; }; return x; } ->occasius : () => gilbertii ->argurus : argurus ->gilbertii : gilbertii ->caurinus : caurinus ->psilurus : psilurus ->lavali : lavali ->xanthognathus : xanthognathus ->x : gilbertii ->argurus : argurus ->gilbertii : gilbertii ->caurinus : caurinus ->psilurus : psilurus ->lavali : lavali ->xanthognathus : xanthognathus +>occasius : () => argurus.gilbertii +>argurus : unknown +>gilbertii : argurus.gilbertii +>caurinus : unknown +>psilurus : caurinus.psilurus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : argurus.gilbertii +>argurus : unknown +>gilbertii : argurus.gilbertii +>caurinus : unknown +>psilurus : caurinus.psilurus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : gilbertii +>x : argurus.gilbertii damarensis() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; } ->damarensis : () => galapagoensis ->julianae : julianae ->galapagoensis : galapagoensis ->x : galapagoensis ->julianae : julianae ->galapagoensis : galapagoensis +>damarensis : () => julianae.galapagoensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>x : julianae.galapagoensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : galapagoensis +>x : julianae.galapagoensis Neptunium() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->Neptunium : () => abidi ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->robustulus : robustulus ->lutreolus : lutreolus ->foina : foina ->x : abidi ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->robustulus : robustulus ->lutreolus : lutreolus ->foina : foina +>Neptunium : () => panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>lutreolus : unknown +>foina : lutreolus.foina +>x : panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : abidi +>x : panglima.abidi griseoflavus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->griseoflavus : () => americanus ->ruatanica : ruatanica ->americanus : americanus ->x : americanus ->ruatanica : ruatanica ->americanus : americanus +>griseoflavus : () => ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : americanus +>x : ruatanica.americanus thar() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->thar : () => oreas ->argurus : argurus ->oreas : oreas ->x : oreas ->argurus : argurus ->oreas : oreas +>thar : () => argurus.oreas +>argurus : unknown +>oreas : argurus.oreas +>x : argurus.oreas +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : oreas +>x : argurus.oreas alborufus() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->alborufus : () => linulus ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->lepturus : lepturus ->argurus : argurus ->oreas : oreas ->x : linulus ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->lepturus : lepturus ->argurus : argurus ->oreas : oreas +>alborufus : () => panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>lepturus : lavali.lepturus +>argurus : unknown +>oreas : argurus.oreas +>x : panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>lepturus : lavali.lepturus +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : linulus +>x : panamensis.linulus fusicaudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->fusicaudus : () => stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni +>fusicaudus : () => sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : stolzmanni +>x : sagitta.stolzmanni gordonorum() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->gordonorum : () => angulatus ->howi : howi ->angulatus : angulatus ->ruatanica : ruatanica ->americanus : americanus ->argurus : argurus ->germaini : germaini ->x : angulatus ->howi : howi ->angulatus : angulatus ->ruatanica : ruatanica ->americanus : americanus ->argurus : argurus ->germaini : germaini +>gordonorum : () => howi.angulatus +>howi : unknown +>angulatus : howi.angulatus +>ruatanica : unknown +>americanus : ruatanica.americanus +>argurus : unknown +>germaini : argurus.germaini +>x : howi.angulatus +>howi : unknown +>angulatus : howi.angulatus +>ruatanica : unknown +>americanus : ruatanica.americanus +>argurus : unknown +>germaini : argurus.germaini >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : angulatus +>x : howi.angulatus ruber() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->ruber : () => siberu ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->punicus : punicus ->julianae : julianae ->acariensis : acariensis ->x : siberu ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->punicus : punicus ->julianae : julianae ->acariensis : acariensis +>ruber : () => dammermani.siberu +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>punicus : lutreolus.punicus +>julianae : unknown +>acariensis : julianae.acariensis +>x : dammermani.siberu +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>punicus : lutreolus.punicus +>julianae : unknown +>acariensis : julianae.acariensis >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : siberu +>x : dammermani.siberu desmarestianus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->desmarestianus : () => steerii ->julianae : julianae ->steerii : steerii ->x : steerii ->julianae : julianae ->steerii : steerii +>desmarestianus : () => julianae.steerii +>julianae : unknown +>steerii : julianae.steerii +>x : julianae.steerii +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : steerii +>x : julianae.steerii lutillus() : nigra.dolichurus { var x : nigra.dolichurus; () => { var y = this; }; return x; } ->lutillus : () => dolichurus ->nigra : nigra ->dolichurus : dolichurus ->howi : howi ->marcanoi : marcanoi ->lavali : lavali ->wilsoni : wilsoni ->x : dolichurus ->nigra : nigra ->dolichurus : dolichurus ->howi : howi ->marcanoi : marcanoi ->lavali : lavali ->wilsoni : wilsoni +>lutillus : () => nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>howi : unknown +>marcanoi : howi.marcanoi +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>howi : unknown +>marcanoi : howi.marcanoi +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : dolichurus +>x : nigra.dolichurus salocco() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->salocco : () => peninsulae ->argurus : argurus ->peninsulae : peninsulae ->x : peninsulae ->argurus : argurus ->peninsulae : peninsulae +>salocco : () => argurus.peninsulae +>argurus : unknown +>peninsulae : argurus.peninsulae +>x : argurus.peninsulae +>argurus : unknown +>peninsulae : argurus.peninsulae >() => { var y = this; } : () => void >y : zuluensis >this : zuluensis ->x : peninsulae +>x : argurus.peninsulae } export class moojeni { >moojeni : moojeni @@ -2225,48 +2225,48 @@ module rendalli { >T1 : T1 floweri() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->floweri : () => otion ->lavali : lavali ->otion : otion ->x : otion ->lavali : lavali ->otion : otion +>floweri : () => lavali.otion +>lavali : unknown +>otion : lavali.otion +>x : lavali.otion +>lavali : unknown +>otion : lavali.otion >() => { var y = this; } : () => void >y : moojeni >this : moojeni ->x : otion +>x : lavali.otion montosa() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->montosa : () => ciliolabrum ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla ->x : ciliolabrum ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla +>montosa : () => imperfecta.ciliolabrum +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>x : imperfecta.ciliolabrum +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla >() => { var y = this; } : () => void >y : moojeni >this : moojeni ->x : ciliolabrum +>x : imperfecta.ciliolabrum miletus() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; } ->miletus : () => sumatrana ->julianae : julianae ->sumatrana : sumatrana ->x : sumatrana ->julianae : julianae ->sumatrana : sumatrana +>miletus : () => julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : moojeni >this : moojeni ->x : sumatrana +>x : julianae.sumatrana heaneyi() : zuluensis { var x : zuluensis; () => { var y = this; }; return x; } >heaneyi : () => zuluensis @@ -2279,215 +2279,215 @@ module rendalli { >x : zuluensis marchei() : panglima.amphibius> { var x : panglima.amphibius>; () => { var y = this; }; return x; } ->marchei : () => amphibius> ->panglima : panglima ->amphibius : amphibius ->patas : patas ->uralensis : uralensis ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata ->x : amphibius> ->panglima : panglima ->amphibius : amphibius ->patas : patas ->uralensis : uralensis ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata +>marchei : () => panglima.amphibius> +>panglima : unknown +>amphibius : panglima.amphibius +>patas : unknown +>uralensis : patas.uralensis +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : panglima.amphibius> +>panglima : unknown +>amphibius : panglima.amphibius +>patas : unknown +>uralensis : patas.uralensis +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : moojeni >this : moojeni ->x : amphibius> +>x : panglima.amphibius> budini() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; } ->budini : () => durangae ->julianae : julianae ->durangae : durangae ->x : durangae ->julianae : julianae ->durangae : durangae +>budini : () => julianae.durangae +>julianae : unknown +>durangae : julianae.durangae +>x : julianae.durangae +>julianae : unknown +>durangae : julianae.durangae >() => { var y = this; } : () => void >y : moojeni >this : moojeni ->x : durangae +>x : julianae.durangae maggietaylorae() : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni> { var x : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni>; () => { var y = this; }; return x; } ->maggietaylorae : () => mixtus, subspinosus>, stolzmanni> ->trivirgatus : trivirgatus ->mixtus : mixtus ->panglima : panglima ->amphibius : amphibius ->gabriellae : gabriellae ->klossii : klossii ->Lanthanum : Lanthanum ->jugularis : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : mixtus, subspinosus>, stolzmanni> ->trivirgatus : trivirgatus ->mixtus : mixtus ->panglima : panglima ->amphibius : amphibius ->gabriellae : gabriellae ->klossii : klossii ->Lanthanum : Lanthanum ->jugularis : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus ->sagitta : sagitta ->stolzmanni : stolzmanni +>maggietaylorae : () => trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni> +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>panglima : unknown +>amphibius : panglima.amphibius +>gabriellae : unknown +>klossii : gabriellae.klossii +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni> +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>panglima : unknown +>amphibius : panglima.amphibius +>gabriellae : unknown +>klossii : gabriellae.klossii +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : moojeni >this : moojeni ->x : mixtus, subspinosus>, stolzmanni> +>x : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni> poliocephalus() : julianae.gerbillus { var x : julianae.gerbillus; () => { var y = this; }; return x; } ->poliocephalus : () => gerbillus ->julianae : julianae ->gerbillus : gerbillus ->julianae : julianae ->durangae : durangae ->dammermani : dammermani ->melanops : melanops ->x : gerbillus ->julianae : julianae ->gerbillus : gerbillus ->julianae : julianae ->durangae : durangae ->dammermani : dammermani ->melanops : melanops +>poliocephalus : () => julianae.gerbillus +>julianae : unknown +>gerbillus : julianae.gerbillus +>julianae : unknown +>durangae : julianae.durangae +>dammermani : unknown +>melanops : dammermani.melanops +>x : julianae.gerbillus +>julianae : unknown +>gerbillus : julianae.gerbillus +>julianae : unknown +>durangae : julianae.durangae +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : moojeni >this : moojeni ->x : gerbillus +>x : julianae.gerbillus zibethicus() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->zibethicus : () => inez ->minutus : minutus ->inez : inez ->sagitta : sagitta ->stolzmanni : stolzmanni ->dammermani : dammermani ->melanops : melanops ->x : inez ->minutus : minutus ->inez : inez ->sagitta : sagitta ->stolzmanni : stolzmanni ->dammermani : dammermani ->melanops : melanops +>zibethicus : () => minutus.inez +>minutus : unknown +>inez : minutus.inez +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>dammermani : unknown +>melanops : dammermani.melanops +>x : minutus.inez +>minutus : unknown +>inez : minutus.inez +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : moojeni >this : moojeni ->x : inez +>x : minutus.inez biacensis() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->biacensis : () => coludo ->howi : howi ->coludo : coludo ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->provocax : provocax ->melanoleuca : melanoleuca ->x : coludo ->howi : howi ->coludo : coludo ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->provocax : provocax ->melanoleuca : melanoleuca +>biacensis : () => howi.coludo +>howi : unknown +>coludo : howi.coludo +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : howi.coludo +>howi : unknown +>coludo : howi.coludo +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : moojeni >this : moojeni ->x : coludo +>x : howi.coludo } export class crenulata extends trivirgatus.falconeri { >crenulata : crenulata >T0 : T0 >T1 : T1 ->trivirgatus : trivirgatus ->falconeri : falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri salvanius() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->salvanius : () => coludo ->howi : howi ->coludo : coludo ->howi : howi ->marcanoi : marcanoi ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : coludo ->howi : howi ->coludo : coludo ->howi : howi ->marcanoi : marcanoi ->rionegrensis : rionegrensis ->caniventer : caniventer +>salvanius : () => howi.coludo +>howi : unknown +>coludo : howi.coludo +>howi : unknown +>marcanoi : howi.marcanoi +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : howi.coludo +>howi : unknown +>coludo : howi.coludo +>howi : unknown +>marcanoi : howi.marcanoi +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : crenulata >this : crenulata ->x : coludo +>x : howi.coludo maritimus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->maritimus : () => americanus ->ruatanica : ruatanica ->americanus : americanus ->x : americanus ->ruatanica : ruatanica ->americanus : americanus +>maritimus : () => ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : crenulata >this : crenulata ->x : americanus +>x : ruatanica.americanus edax() : lutreolus.cor>, rionegrensis.caniventer> { var x : lutreolus.cor>, rionegrensis.caniventer>; () => { var y = this; }; return x; } ->edax : () => cor>, caniventer> ->lutreolus : lutreolus ->cor : cor ->imperfecta : imperfecta ->lasiurus : lasiurus ->howi : howi ->marcanoi : marcanoi ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : cor>, caniventer> ->lutreolus : lutreolus ->cor : cor ->imperfecta : imperfecta ->lasiurus : lasiurus ->howi : howi ->marcanoi : marcanoi ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla ->rionegrensis : rionegrensis ->caniventer : caniventer +>edax : () => lutreolus.cor>, rionegrensis.caniventer> +>lutreolus : unknown +>cor : lutreolus.cor +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>howi : unknown +>marcanoi : howi.marcanoi +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : lutreolus.cor>, rionegrensis.caniventer> +>lutreolus : unknown +>cor : lutreolus.cor +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>howi : unknown +>marcanoi : howi.marcanoi +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : crenulata >this : crenulata ->x : cor>, caniventer> +>x : lutreolus.cor>, rionegrensis.caniventer> } } module trivirgatus { @@ -2499,40 +2499,40 @@ module trivirgatus { >T1 : T1 nivalis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->nivalis : () => kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri +>nivalis : () => dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : tumidifrons >this : tumidifrons ->x : kaiseri +>x : dogramacii.kaiseri vestitus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->vestitus : () => xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus ->x : xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus +>vestitus : () => lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : tumidifrons >this : tumidifrons ->x : xanthognathus +>x : lavali.xanthognathus aequatorius() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->aequatorius : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>aequatorius : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : tumidifrons >this : tumidifrons ->x : caniventer +>x : rionegrensis.caniventer scherman() : oconnelli { var x : oconnelli; () => { var y = this; }; return x; } >scherman : () => oconnelli @@ -2545,237 +2545,237 @@ module trivirgatus { >x : oconnelli improvisum() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->improvisum : () => peninsulae ->argurus : argurus ->peninsulae : peninsulae ->x : peninsulae ->argurus : argurus ->peninsulae : peninsulae +>improvisum : () => argurus.peninsulae +>argurus : unknown +>peninsulae : argurus.peninsulae +>x : argurus.peninsulae +>argurus : unknown +>peninsulae : argurus.peninsulae >() => { var y = this; } : () => void >y : tumidifrons >this : tumidifrons ->x : peninsulae +>x : argurus.peninsulae cervinipes() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->cervinipes : () => abidi ->panglima : panglima ->abidi : abidi ->lavali : lavali ->lepturus : lepturus ->caurinus : caurinus ->psilurus : psilurus ->x : abidi ->panglima : panglima ->abidi : abidi ->lavali : lavali ->lepturus : lepturus ->caurinus : caurinus ->psilurus : psilurus +>cervinipes : () => panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>lavali : unknown +>lepturus : lavali.lepturus +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>lavali : unknown +>lepturus : lavali.lepturus +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : tumidifrons >this : tumidifrons ->x : abidi +>x : panglima.abidi audax() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->audax : () => robustulus ->dogramacii : dogramacii ->robustulus : robustulus ->x : robustulus ->dogramacii : dogramacii ->robustulus : robustulus +>audax : () => dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : tumidifrons >this : tumidifrons ->x : robustulus +>x : dogramacii.robustulus vallinus() : sagitta.sicarius { var x : sagitta.sicarius; () => { var y = this; }; return x; } ->vallinus : () => sicarius ->sagitta : sagitta ->sicarius : sicarius ->lavali : lavali ->wilsoni : wilsoni ->lutreolus : lutreolus ->punicus : punicus ->x : sicarius ->sagitta : sagitta ->sicarius : sicarius ->lavali : lavali ->wilsoni : wilsoni ->lutreolus : lutreolus ->punicus : punicus +>vallinus : () => sagitta.sicarius +>sagitta : unknown +>sicarius : sagitta.sicarius +>lavali : unknown +>wilsoni : lavali.wilsoni +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : sagitta.sicarius +>sagitta : unknown +>sicarius : sagitta.sicarius +>lavali : unknown +>wilsoni : lavali.wilsoni +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : tumidifrons >this : tumidifrons ->x : sicarius +>x : sagitta.sicarius } export class mixtus extends argurus.pygmaea> { >mixtus : mixtus >T0 : T0 >T1 : T1 ->argurus : argurus ->pygmaea : pygmaea ->argurus : argurus ->oreas : oreas ->panglima : panglima ->fundatus : fundatus ->quasiater : quasiater ->carolinensis : carolinensis ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>argurus : unknown +>pygmaea : argurus.pygmaea +>argurus : unknown +>oreas : argurus.oreas +>panglima : unknown +>fundatus : panglima.fundatus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon ochrogaster() : dogramacii.aurata { var x : dogramacii.aurata; () => { var y = this; }; return x; } ->ochrogaster : () => aurata ->dogramacii : dogramacii ->aurata : aurata ->x : aurata ->dogramacii : dogramacii ->aurata : aurata +>ochrogaster : () => dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : mixtus >this : mixtus ->x : aurata +>x : dogramacii.aurata bryophilus() : macrorhinos.marmosurus>> { var x : macrorhinos.marmosurus>>; () => { var y = this; }; return x; } ->bryophilus : () => marmosurus>> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->dogramacii : dogramacii ->koepckeae : koepckeae ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->aurata : aurata ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->xanthognathus : xanthognathus ->x : marmosurus>> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->dogramacii : dogramacii ->koepckeae : koepckeae ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->aurata : aurata ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->xanthognathus : xanthognathus +>bryophilus : () => macrorhinos.marmosurus>> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>aurata : dogramacii.aurata +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : macrorhinos.marmosurus>> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>aurata : dogramacii.aurata +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : mixtus >this : mixtus ->x : marmosurus>> +>x : macrorhinos.marmosurus>> liechtensteini() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; } ->liechtensteini : () => zuluensis ->rendalli : rendalli ->zuluensis : zuluensis ->x : zuluensis ->rendalli : rendalli ->zuluensis : zuluensis +>liechtensteini : () => rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>x : rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis >() => { var y = this; } : () => void >y : mixtus >this : mixtus ->x : zuluensis +>x : rendalli.zuluensis crawfordi() : howi.coludo> { var x : howi.coludo>; () => { var y = this; }; return x; } ->crawfordi : () => coludo> ->howi : howi ->coludo : coludo ->julianae : julianae ->steerii : steerii ->julianae : julianae ->gerbillus : gerbillus ->lavali : lavali ->thaeleri : thaeleri ->quasiater : quasiater ->carolinensis : carolinensis ->x : coludo> ->howi : howi ->coludo : coludo ->julianae : julianae ->steerii : steerii ->julianae : julianae ->gerbillus : gerbillus ->lavali : lavali ->thaeleri : thaeleri ->quasiater : quasiater ->carolinensis : carolinensis +>crawfordi : () => howi.coludo> +>howi : unknown +>coludo : howi.coludo +>julianae : unknown +>steerii : julianae.steerii +>julianae : unknown +>gerbillus : julianae.gerbillus +>lavali : unknown +>thaeleri : lavali.thaeleri +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : howi.coludo> +>howi : unknown +>coludo : howi.coludo +>julianae : unknown +>steerii : julianae.steerii +>julianae : unknown +>gerbillus : julianae.gerbillus +>lavali : unknown +>thaeleri : lavali.thaeleri +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : mixtus >this : mixtus ->x : coludo> +>x : howi.coludo> hypsibia() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->hypsibia : () => thaeleri ->lavali : lavali ->thaeleri : thaeleri ->x : thaeleri ->lavali : lavali ->thaeleri : thaeleri +>hypsibia : () => lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri +>x : lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri >() => { var y = this; } : () => void >y : mixtus >this : mixtus ->x : thaeleri +>x : lavali.thaeleri matacus() : panglima.fundatus, lavali.beisa>, dammermani.melanops> { var x : panglima.fundatus, lavali.beisa>, dammermani.melanops>; () => { var y = this; }; return x; } ->matacus : () => fundatus, beisa>, melanops> ->panglima : panglima ->fundatus : fundatus ->panamensis : panamensis ->linulus : linulus +>matacus : () => panglima.fundatus, lavali.beisa>, dammermani.melanops> +>panglima : unknown +>fundatus : panglima.fundatus +>panamensis : unknown +>linulus : panamensis.linulus >lotor : lotor ->argurus : argurus ->luctuosa : luctuosa ->lavali : lavali ->wilsoni : wilsoni ->lavali : lavali ->beisa : beisa ->dammermani : dammermani ->melanops : melanops ->x : fundatus, beisa>, melanops> ->panglima : panglima ->fundatus : fundatus ->panamensis : panamensis ->linulus : linulus +>argurus : unknown +>luctuosa : argurus.luctuosa +>lavali : unknown +>wilsoni : lavali.wilsoni +>lavali : unknown +>beisa : lavali.beisa +>dammermani : unknown +>melanops : dammermani.melanops +>x : panglima.fundatus, lavali.beisa>, dammermani.melanops> +>panglima : unknown +>fundatus : panglima.fundatus +>panamensis : unknown +>linulus : panamensis.linulus >lotor : lotor ->argurus : argurus ->luctuosa : luctuosa ->lavali : lavali ->wilsoni : wilsoni ->lavali : lavali ->beisa : beisa ->dammermani : dammermani ->melanops : melanops +>argurus : unknown +>luctuosa : argurus.luctuosa +>lavali : unknown +>wilsoni : lavali.wilsoni +>lavali : unknown +>beisa : lavali.beisa +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : mixtus >this : mixtus ->x : fundatus, beisa>, melanops> +>x : panglima.fundatus, lavali.beisa>, dammermani.melanops> demidoff() : caurinus.johorensis { var x : caurinus.johorensis; () => { var y = this; }; return x; } ->demidoff : () => johorensis ->caurinus : caurinus ->johorensis : johorensis ->julianae : julianae ->acariensis : acariensis ->rendalli : rendalli ->zuluensis : zuluensis ->x : johorensis ->caurinus : caurinus ->johorensis : johorensis ->julianae : julianae ->acariensis : acariensis ->rendalli : rendalli ->zuluensis : zuluensis +>demidoff : () => caurinus.johorensis +>caurinus : unknown +>johorensis : caurinus.johorensis +>julianae : unknown +>acariensis : julianae.acariensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>x : caurinus.johorensis +>caurinus : unknown +>johorensis : caurinus.johorensis +>julianae : unknown +>acariensis : julianae.acariensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis >() => { var y = this; } : () => void >y : mixtus >this : mixtus ->x : johorensis +>x : caurinus.johorensis } export class lotor { >lotor : lotor @@ -2783,478 +2783,478 @@ module trivirgatus { >T1 : T1 balensis() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->balensis : () => pallidus ->samarensis : samarensis ->pallidus : pallidus ->x : pallidus ->samarensis : samarensis ->pallidus : pallidus +>balensis : () => samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : lotor >this : lotor ->x : pallidus +>x : samarensis.pallidus pullata() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->pullata : () => veraecrucis ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->quasiater : quasiater ->carolinensis : carolinensis ->argurus : argurus ->peninsulae : peninsulae ->x : veraecrucis ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->quasiater : quasiater ->carolinensis : carolinensis ->argurus : argurus ->peninsulae : peninsulae +>pullata : () => rionegrensis.veraecrucis +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>argurus : unknown +>peninsulae : argurus.peninsulae +>x : rionegrensis.veraecrucis +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>argurus : unknown +>peninsulae : argurus.peninsulae >() => { var y = this; } : () => void >y : lotor >this : lotor ->x : veraecrucis +>x : rionegrensis.veraecrucis } export class falconeri { >falconeri : falconeri cabrali() : rendalli.moojeni>, daubentonii.arboreus> { var x : rendalli.moojeni>, daubentonii.arboreus>; () => { var y = this; }; return x; } ->cabrali : () => moojeni>, arboreus> ->rendalli : rendalli ->moojeni : moojeni ->imperfecta : imperfecta ->lasiurus : lasiurus ->howi : howi ->marcanoi : marcanoi ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla ->daubentonii : daubentonii ->arboreus : arboreus ->julianae : julianae ->nudicaudus : nudicaudus ->julianae : julianae ->steerii : steerii ->x : moojeni>, arboreus> ->rendalli : rendalli ->moojeni : moojeni ->imperfecta : imperfecta ->lasiurus : lasiurus ->howi : howi ->marcanoi : marcanoi ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla ->daubentonii : daubentonii ->arboreus : arboreus ->julianae : julianae ->nudicaudus : nudicaudus ->julianae : julianae ->steerii : steerii +>cabrali : () => rendalli.moojeni>, daubentonii.arboreus> +>rendalli : unknown +>moojeni : rendalli.moojeni +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>howi : unknown +>marcanoi : howi.marcanoi +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>julianae : unknown +>steerii : julianae.steerii +>x : rendalli.moojeni>, daubentonii.arboreus> +>rendalli : unknown +>moojeni : rendalli.moojeni +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>howi : unknown +>marcanoi : howi.marcanoi +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : falconeri >this : falconeri ->x : moojeni>, arboreus> +>x : rendalli.moojeni>, daubentonii.arboreus> gouldi() : nigra.dolichurus>, patas.uralensis> { var x : nigra.dolichurus>, patas.uralensis>; () => { var y = this; }; return x; } ->gouldi : () => dolichurus>, uralensis> ->nigra : nigra ->dolichurus : dolichurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->julianae : julianae ->acariensis : acariensis ->howi : howi ->coludo : coludo ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi ->patas : patas ->uralensis : uralensis ->x : dolichurus>, uralensis> ->nigra : nigra ->dolichurus : dolichurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->julianae : julianae ->acariensis : acariensis ->howi : howi ->coludo : coludo ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi ->patas : patas ->uralensis : uralensis +>gouldi : () => nigra.dolichurus>, patas.uralensis> +>nigra : unknown +>dolichurus : nigra.dolichurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>julianae : unknown +>acariensis : julianae.acariensis +>howi : unknown +>coludo : howi.coludo +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi +>patas : unknown +>uralensis : patas.uralensis +>x : nigra.dolichurus>, patas.uralensis> +>nigra : unknown +>dolichurus : nigra.dolichurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>julianae : unknown +>acariensis : julianae.acariensis +>howi : unknown +>coludo : howi.coludo +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : falconeri >this : falconeri ->x : dolichurus>, uralensis> +>x : nigra.dolichurus>, patas.uralensis> fuscicollis() : samarensis.pelurus> { var x : samarensis.pelurus>; () => { var y = this; }; return x; } ->fuscicollis : () => pelurus> ->samarensis : samarensis ->pelurus : pelurus ->dammermani : dammermani ->melanops : melanops ->Lanthanum : Lanthanum ->nitidus : nitidus ->ruatanica : ruatanica ->americanus : americanus ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : pelurus> ->samarensis : samarensis ->pelurus : pelurus ->dammermani : dammermani ->melanops : melanops ->Lanthanum : Lanthanum ->nitidus : nitidus ->ruatanica : ruatanica ->americanus : americanus ->sagitta : sagitta ->stolzmanni : stolzmanni +>fuscicollis : () => samarensis.pelurus> +>samarensis : unknown +>pelurus : samarensis.pelurus +>dammermani : unknown +>melanops : dammermani.melanops +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>ruatanica : unknown +>americanus : ruatanica.americanus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : samarensis.pelurus> +>samarensis : unknown +>pelurus : samarensis.pelurus +>dammermani : unknown +>melanops : dammermani.melanops +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>ruatanica : unknown +>americanus : ruatanica.americanus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : falconeri >this : falconeri ->x : pelurus> +>x : samarensis.pelurus> martiensseni() : sagitta.cinereus>, dogramacii.koepckeae> { var x : sagitta.cinereus>, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->martiensseni : () => cinereus>, koepckeae> ->sagitta : sagitta ->cinereus : cinereus ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->lavali : lavali ->otion : otion ->petrophilus : petrophilus ->sodyi : sodyi ->macrorhinos : macrorhinos ->konganensis : konganensis ->caurinus : caurinus ->psilurus : psilurus ->dogramacii : dogramacii ->koepckeae : koepckeae ->x : cinereus>, koepckeae> ->sagitta : sagitta ->cinereus : cinereus ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->lavali : lavali ->otion : otion ->petrophilus : petrophilus ->sodyi : sodyi ->macrorhinos : macrorhinos ->konganensis : konganensis ->caurinus : caurinus ->psilurus : psilurus ->dogramacii : dogramacii ->koepckeae : koepckeae +>martiensseni : () => sagitta.cinereus>, dogramacii.koepckeae> +>sagitta : unknown +>cinereus : sagitta.cinereus +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>lavali : unknown +>otion : lavali.otion +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>caurinus : unknown +>psilurus : caurinus.psilurus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>x : sagitta.cinereus>, dogramacii.koepckeae> +>sagitta : unknown +>cinereus : sagitta.cinereus +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>lavali : unknown +>otion : lavali.otion +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>caurinus : unknown +>psilurus : caurinus.psilurus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae >() => { var y = this; } : () => void >y : falconeri >this : falconeri ->x : cinereus>, koepckeae> +>x : sagitta.cinereus>, dogramacii.koepckeae> gaoligongensis() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; } ->gaoligongensis : () => koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae ->x : koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae +>gaoligongensis : () => dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>x : dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae >() => { var y = this; } : () => void >y : falconeri >this : falconeri ->x : koepckeae +>x : dogramacii.koepckeae shawi() : minutus.inez> { var x : minutus.inez>; () => { var y = this; }; return x; } ->shawi : () => inez> ->minutus : minutus ->inez : inez ->sagitta : sagitta ->stolzmanni : stolzmanni ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->lavali : lavali ->xanthognathus : xanthognathus ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->x : inez> ->minutus : minutus ->inez : inez ->sagitta : sagitta ->stolzmanni : stolzmanni ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->lavali : lavali ->xanthognathus : xanthognathus ->quasiater : quasiater ->bobrinskoi : bobrinskoi +>shawi : () => minutus.inez> +>minutus : unknown +>inez : minutus.inez +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>x : minutus.inez> +>minutus : unknown +>inez : minutus.inez +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi >() => { var y = this; } : () => void >y : falconeri >this : falconeri ->x : inez> +>x : minutus.inez> gmelini() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->gmelini : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>gmelini : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : falconeri >this : falconeri ->x : caniventer +>x : rionegrensis.caniventer } export class oconnelli { >oconnelli : oconnelli youngsoni() : nigra.thalia { var x : nigra.thalia; () => { var y = this; }; return x; } ->youngsoni : () => thalia ->nigra : nigra ->thalia : thalia ->patas : patas ->uralensis : uralensis ->julianae : julianae ->galapagoensis : galapagoensis ->x : thalia ->nigra : nigra ->thalia : thalia ->patas : patas ->uralensis : uralensis ->julianae : julianae ->galapagoensis : galapagoensis +>youngsoni : () => nigra.thalia +>nigra : unknown +>thalia : nigra.thalia +>patas : unknown +>uralensis : patas.uralensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>x : nigra.thalia +>nigra : unknown +>thalia : nigra.thalia +>patas : unknown +>uralensis : patas.uralensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : thalia +>x : nigra.thalia terrestris() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->terrestris : () => konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis +>terrestris : () => macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : konganensis +>x : macrorhinos.konganensis chrysopus() : sagitta.sicarius> { var x : sagitta.sicarius>; () => { var y = this; }; return x; } ->chrysopus : () => sicarius> ->sagitta : sagitta ->sicarius : sicarius ->dogramacii : dogramacii ->koepckeae : koepckeae ->petrophilus : petrophilus ->sodyi : sodyi ->argurus : argurus ->oreas : oreas ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : sicarius> ->sagitta : sagitta ->sicarius : sicarius ->dogramacii : dogramacii ->koepckeae : koepckeae ->petrophilus : petrophilus ->sodyi : sodyi ->argurus : argurus ->oreas : oreas ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>chrysopus : () => sagitta.sicarius> +>sagitta : unknown +>sicarius : sagitta.sicarius +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>argurus : unknown +>oreas : argurus.oreas +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : sagitta.sicarius> +>sagitta : unknown +>sicarius : sagitta.sicarius +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>argurus : unknown +>oreas : argurus.oreas +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : sicarius> +>x : sagitta.sicarius> fuscomurina() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->fuscomurina : () => peninsulae ->argurus : argurus ->peninsulae : peninsulae ->x : peninsulae ->argurus : argurus ->peninsulae : peninsulae +>fuscomurina : () => argurus.peninsulae +>argurus : unknown +>peninsulae : argurus.peninsulae +>x : argurus.peninsulae +>argurus : unknown +>peninsulae : argurus.peninsulae >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : peninsulae +>x : argurus.peninsulae hellwaldii() : nigra.gracilis, petrophilus.sodyi> { var x : nigra.gracilis, petrophilus.sodyi>; () => { var y = this; }; return x; } ->hellwaldii : () => gracilis, sodyi> ->nigra : nigra ->gracilis : gracilis ->panamensis : panamensis ->setulosus : setulosus ->sagitta : sagitta ->walkeri : walkeri ->dogramacii : dogramacii ->robustulus : robustulus ->petrophilus : petrophilus ->sodyi : sodyi ->argurus : argurus ->oreas : oreas ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : gracilis, sodyi> ->nigra : nigra ->gracilis : gracilis ->panamensis : panamensis ->setulosus : setulosus ->sagitta : sagitta ->walkeri : walkeri ->dogramacii : dogramacii ->robustulus : robustulus ->petrophilus : petrophilus ->sodyi : sodyi ->argurus : argurus ->oreas : oreas ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>hellwaldii : () => nigra.gracilis, petrophilus.sodyi> +>nigra : unknown +>gracilis : nigra.gracilis +>panamensis : unknown +>setulosus : panamensis.setulosus +>sagitta : unknown +>walkeri : sagitta.walkeri +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>argurus : unknown +>oreas : argurus.oreas +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : nigra.gracilis, petrophilus.sodyi> +>nigra : unknown +>gracilis : nigra.gracilis +>panamensis : unknown +>setulosus : panamensis.setulosus +>sagitta : unknown +>walkeri : sagitta.walkeri +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>argurus : unknown +>oreas : argurus.oreas +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : gracilis, sodyi> +>x : nigra.gracilis, petrophilus.sodyi> aenea() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->aenea : () => luctuosa ->argurus : argurus ->luctuosa : luctuosa ->x : luctuosa ->argurus : argurus ->luctuosa : luctuosa +>aenea : () => argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : luctuosa +>x : argurus.luctuosa perrini() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->perrini : () => bobrinskoi ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->x : bobrinskoi ->quasiater : quasiater ->bobrinskoi : bobrinskoi +>perrini : () => quasiater.bobrinskoi +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>x : quasiater.bobrinskoi +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : bobrinskoi +>x : quasiater.bobrinskoi entellus() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->entellus : () => melanops ->dammermani : dammermani ->melanops : melanops ->x : melanops ->dammermani : dammermani ->melanops : melanops +>entellus : () => dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops +>x : dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : melanops +>x : dammermani.melanops krebsii() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->krebsii : () => veraecrucis ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->rionegrensis : rionegrensis ->caniventer : caniventer ->julianae : julianae ->durangae : durangae ->x : veraecrucis ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->rionegrensis : rionegrensis ->caniventer : caniventer ->julianae : julianae ->durangae : durangae +>krebsii : () => rionegrensis.veraecrucis +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>julianae : unknown +>durangae : julianae.durangae +>x : rionegrensis.veraecrucis +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>julianae : unknown +>durangae : julianae.durangae >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : veraecrucis +>x : rionegrensis.veraecrucis cephalotes() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; } ->cephalotes : () => schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli ->x : schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli +>cephalotes : () => lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>x : lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : schlegeli +>x : lutreolus.schlegeli molossinus() : daubentonii.nigricans> { var x : daubentonii.nigricans>; () => { var y = this; }; return x; } ->molossinus : () => nigricans> ->daubentonii : daubentonii ->nigricans : nigricans ->quasiater : quasiater ->carolinensis : carolinensis ->daubentonii : daubentonii ->nesiotes : nesiotes ->julianae : julianae ->sumatrana : sumatrana ->quasiater : quasiater ->carolinensis : carolinensis ->x : nigricans> ->daubentonii : daubentonii ->nigricans : nigricans ->quasiater : quasiater ->carolinensis : carolinensis ->daubentonii : daubentonii ->nesiotes : nesiotes ->julianae : julianae ->sumatrana : sumatrana ->quasiater : quasiater ->carolinensis : carolinensis +>molossinus : () => daubentonii.nigricans> +>daubentonii : unknown +>nigricans : daubentonii.nigricans +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>julianae : unknown +>sumatrana : julianae.sumatrana +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : daubentonii.nigricans> +>daubentonii : unknown +>nigricans : daubentonii.nigricans +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>julianae : unknown +>sumatrana : julianae.sumatrana +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : nigricans> +>x : daubentonii.nigricans> luisi() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->luisi : () => robustulus ->dogramacii : dogramacii ->robustulus : robustulus ->x : robustulus ->dogramacii : dogramacii ->robustulus : robustulus +>luisi : () => dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : robustulus +>x : dogramacii.robustulus ceylonicus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->ceylonicus : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>ceylonicus : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : caniventer +>x : rionegrensis.caniventer ralli() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->ralli : () => xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus ->x : xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus +>ralli : () => lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : oconnelli >this : oconnelli ->x : xanthognathus +>x : lavali.xanthognathus } } module quasiater { @@ -3264,84 +3264,84 @@ module quasiater { >bobrinskoi : bobrinskoi crassicaudatus() : samarensis.cahirinus { var x : samarensis.cahirinus; () => { var y = this; }; return x; } ->crassicaudatus : () => cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->argurus : argurus ->luctuosa : luctuosa ->x : cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->argurus : argurus ->luctuosa : luctuosa +>crassicaudatus : () => samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : bobrinskoi >this : bobrinskoi ->x : cahirinus +>x : samarensis.cahirinus mulatta() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->mulatta : () => oreas ->argurus : argurus ->oreas : oreas ->x : oreas ->argurus : argurus ->oreas : oreas +>mulatta : () => argurus.oreas +>argurus : unknown +>oreas : argurus.oreas +>x : argurus.oreas +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : bobrinskoi >this : bobrinskoi ->x : oreas +>x : argurus.oreas ansorgei() : rendalli.moojeni, gabriellae.echinatus> { var x : rendalli.moojeni, gabriellae.echinatus>; () => { var y = this; }; return x; } ->ansorgei : () => moojeni, echinatus> ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->x : moojeni, echinatus> ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus +>ansorgei : () => rendalli.moojeni, gabriellae.echinatus> +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : rendalli.moojeni, gabriellae.echinatus> +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : bobrinskoi >this : bobrinskoi ->x : moojeni, echinatus> +>x : rendalli.moojeni, gabriellae.echinatus> Copper() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->Copper : () => netscheri ->argurus : argurus ->netscheri : netscheri ->quasiater : quasiater +>Copper : () => argurus.netscheri +>argurus : unknown +>netscheri : argurus.netscheri +>quasiater : unknown >carolinensis : carolinensis ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : netscheri ->argurus : argurus ->netscheri : netscheri ->quasiater : quasiater +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : argurus.netscheri +>argurus : unknown +>netscheri : argurus.netscheri +>quasiater : unknown >carolinensis : carolinensis ->dogramacii : dogramacii ->kaiseri : kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : bobrinskoi >this : bobrinskoi ->x : netscheri +>x : argurus.netscheri } } module ruatanica { @@ -3349,68 +3349,68 @@ module ruatanica { export class americanus extends imperfecta.ciliolabrum { >americanus : americanus ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->argurus : argurus ->germaini : germaini ->lutreolus : lutreolus ->foina : foina +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>argurus : unknown +>germaini : argurus.germaini +>lutreolus : unknown +>foina : lutreolus.foina nasoloi() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->nasoloi : () => konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis +>nasoloi : () => macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : americanus >this : americanus ->x : konganensis +>x : macrorhinos.konganensis mystacalis() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->mystacalis : () => angulatus ->howi : howi ->angulatus : angulatus ->quasiater : quasiater ->carolinensis : carolinensis ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : angulatus ->howi : howi ->angulatus : angulatus ->quasiater : quasiater ->carolinensis : carolinensis ->sagitta : sagitta ->stolzmanni : stolzmanni +>mystacalis : () => howi.angulatus +>howi : unknown +>angulatus : howi.angulatus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : howi.angulatus +>howi : unknown +>angulatus : howi.angulatus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : americanus >this : americanus ->x : angulatus +>x : howi.angulatus fardoulisi() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; } ->fardoulisi : () => oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>fardoulisi : () => trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : americanus >this : americanus ->x : oconnelli +>x : trivirgatus.oconnelli tumidus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->tumidus : () => amicus ->gabriellae : gabriellae ->amicus : amicus ->x : amicus ->gabriellae : gabriellae ->amicus : amicus +>tumidus : () => gabriellae.amicus +>gabriellae : unknown +>amicus : gabriellae.amicus +>x : gabriellae.amicus +>gabriellae : unknown +>amicus : gabriellae.amicus >() => { var y = this; } : () => void >y : americanus >this : americanus ->x : amicus +>x : gabriellae.amicus } } module lavali { @@ -3418,296 +3418,296 @@ module lavali { export class wilsoni extends Lanthanum.nitidus { >wilsoni : wilsoni ->Lanthanum : Lanthanum ->nitidus : nitidus ->rionegrensis : rionegrensis ->caniventer : caniventer ->Lanthanum : Lanthanum ->jugularis : jugularis +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis setiger() : nigra.thalia { var x : nigra.thalia; () => { var y = this; }; return x; } ->setiger : () => thalia ->nigra : nigra ->thalia : thalia ->patas : patas ->uralensis : uralensis +>setiger : () => nigra.thalia +>nigra : unknown +>thalia : nigra.thalia +>patas : unknown +>uralensis : patas.uralensis >wilsoni : wilsoni ->x : thalia ->nigra : nigra ->thalia : thalia ->patas : patas ->uralensis : uralensis +>x : nigra.thalia +>nigra : unknown +>thalia : nigra.thalia +>patas : unknown +>uralensis : patas.uralensis >wilsoni : wilsoni >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : thalia +>x : nigra.thalia lorentzii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->lorentzii : () => subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus +>lorentzii : () => imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : subspinosus +>x : imperfecta.subspinosus antisensis() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->antisensis : () => foina ->lutreolus : lutreolus ->foina : foina ->x : foina ->lutreolus : lutreolus ->foina : foina +>antisensis : () => lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina +>x : lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : foina +>x : lutreolus.foina blossevillii() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->blossevillii : () => siberu ->dammermani : dammermani ->siberu : siberu ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : siberu ->dammermani : dammermani ->siberu : siberu ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->dogramacii : dogramacii ->kaiseri : kaiseri +>blossevillii : () => dammermani.siberu +>dammermani : unknown +>siberu : dammermani.siberu +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : dammermani.siberu +>dammermani : unknown +>siberu : dammermani.siberu +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : siberu +>x : dammermani.siberu bontanus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->bontanus : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>bontanus : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : caniventer +>x : rionegrensis.caniventer caligata() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->caligata : () => oreas ->argurus : argurus ->oreas : oreas ->x : oreas ->argurus : argurus ->oreas : oreas +>caligata : () => argurus.oreas +>argurus : unknown +>oreas : argurus.oreas +>x : argurus.oreas +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : oreas +>x : argurus.oreas franqueti() : panglima.amphibius, imperfecta.subspinosus> { var x : panglima.amphibius, imperfecta.subspinosus>; () => { var y = this; }; return x; } ->franqueti : () => amphibius, subspinosus> ->panglima : panglima ->amphibius : amphibius ->gabriellae : gabriellae ->klossii : klossii ->Lanthanum : Lanthanum ->jugularis : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : amphibius, subspinosus> ->panglima : panglima ->amphibius : amphibius ->gabriellae : gabriellae ->klossii : klossii ->Lanthanum : Lanthanum ->jugularis : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus +>franqueti : () => panglima.amphibius, imperfecta.subspinosus> +>panglima : unknown +>amphibius : panglima.amphibius +>gabriellae : unknown +>klossii : gabriellae.klossii +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : panglima.amphibius, imperfecta.subspinosus> +>panglima : unknown +>amphibius : panglima.amphibius +>gabriellae : unknown +>klossii : gabriellae.klossii +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : amphibius, subspinosus> +>x : panglima.amphibius, imperfecta.subspinosus> roberti() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; } ->roberti : () => acariensis ->julianae : julianae ->acariensis : acariensis ->x : acariensis ->julianae : julianae ->acariensis : acariensis +>roberti : () => julianae.acariensis +>julianae : unknown +>acariensis : julianae.acariensis +>x : julianae.acariensis +>julianae : unknown +>acariensis : julianae.acariensis >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : acariensis +>x : julianae.acariensis degelidus() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->degelidus : () => sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus +>degelidus : () => chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : sarasinorum +>x : chrysaeolus.sarasinorum amoenus() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->amoenus : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>amoenus : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : carolinensis +>x : quasiater.carolinensis kob() : trivirgatus.lotor { var x : trivirgatus.lotor; () => { var y = this; }; return x; } ->kob : () => lotor ->trivirgatus : trivirgatus ->lotor : lotor ->argurus : argurus ->oreas : oreas +>kob : () => trivirgatus.lotor +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>argurus : unknown +>oreas : argurus.oreas >beisa : beisa ->x : lotor ->trivirgatus : trivirgatus ->lotor : lotor ->argurus : argurus ->oreas : oreas +>x : trivirgatus.lotor +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>argurus : unknown +>oreas : argurus.oreas >beisa : beisa >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : lotor +>x : trivirgatus.lotor csorbai() : caurinus.johorensis { var x : caurinus.johorensis; () => { var y = this; }; return x; } ->csorbai : () => johorensis ->caurinus : caurinus ->johorensis : johorensis ->caurinus : caurinus ->megaphyllus : megaphyllus ->julianae : julianae ->steerii : steerii ->x : johorensis ->caurinus : caurinus ->johorensis : johorensis ->caurinus : caurinus ->megaphyllus : megaphyllus ->julianae : julianae ->steerii : steerii +>csorbai : () => caurinus.johorensis +>caurinus : unknown +>johorensis : caurinus.johorensis +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>julianae : unknown +>steerii : julianae.steerii +>x : caurinus.johorensis +>caurinus : unknown +>johorensis : caurinus.johorensis +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : johorensis +>x : caurinus.johorensis dorsata() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->dorsata : () => echinatus ->gabriellae : gabriellae ->echinatus : echinatus ->x : echinatus ->gabriellae : gabriellae ->echinatus : echinatus +>dorsata : () => gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : wilsoni >this : wilsoni ->x : echinatus +>x : gabriellae.echinatus } export class beisa { >beisa : beisa } export class otion extends howi.coludo { >otion : otion ->howi : howi ->coludo : coludo ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi +>howi : unknown +>coludo : howi.coludo +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi bonaerensis() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->bonaerensis : () => melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca ->x : melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca +>bonaerensis : () => provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : otion >this : otion ->x : melanoleuca +>x : provocax.melanoleuca dussumieri() : nigra.gracilis { var x : nigra.gracilis; () => { var y = this; }; return x; } ->dussumieri : () => gracilis ->nigra : nigra ->gracilis : gracilis ->julianae : julianae ->steerii : steerii ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : gracilis ->nigra : nigra ->gracilis : gracilis ->julianae : julianae ->steerii : steerii ->dogramacii : dogramacii ->kaiseri : kaiseri +>dussumieri : () => nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>julianae : unknown +>steerii : julianae.steerii +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>julianae : unknown +>steerii : julianae.steerii +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : otion >this : otion ->x : gracilis +>x : nigra.gracilis osvaldoreigi() : julianae.albidens { var x : julianae.albidens; () => { var y = this; }; return x; } ->osvaldoreigi : () => albidens ->julianae : julianae ->albidens : albidens ->julianae : julianae ->steerii : steerii ->quasiater : quasiater ->carolinensis : carolinensis ->x : albidens ->julianae : julianae ->albidens : albidens ->julianae : julianae ->steerii : steerii ->quasiater : quasiater ->carolinensis : carolinensis +>osvaldoreigi : () => julianae.albidens +>julianae : unknown +>albidens : julianae.albidens +>julianae : unknown +>steerii : julianae.steerii +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : julianae.albidens +>julianae : unknown +>albidens : julianae.albidens +>julianae : unknown +>steerii : julianae.steerii +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : otion >this : otion ->x : albidens +>x : julianae.albidens grevyi() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->grevyi : () => pallidus ->samarensis : samarensis ->pallidus : pallidus ->x : pallidus ->samarensis : samarensis ->pallidus : pallidus +>grevyi : () => samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : otion >this : otion ->x : pallidus +>x : samarensis.pallidus hirtula() : lepturus { var x : lepturus; () => { var y = this; }; return x; } >hirtula : () => lepturus @@ -3720,629 +3720,629 @@ module lavali { >x : lepturus cristatus() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->cristatus : () => luctuosa ->argurus : argurus ->luctuosa : luctuosa ->x : luctuosa ->argurus : argurus ->luctuosa : luctuosa +>cristatus : () => argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : otion >this : otion ->x : luctuosa +>x : argurus.luctuosa darlingtoni() : sagitta.leptoceros { var x : sagitta.leptoceros; () => { var y = this; }; return x; } ->darlingtoni : () => leptoceros ->sagitta : sagitta ->leptoceros : leptoceros +>darlingtoni : () => sagitta.leptoceros +>sagitta : unknown +>leptoceros : sagitta.leptoceros >wilsoni : wilsoni ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : leptoceros ->sagitta : sagitta ->leptoceros : leptoceros +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : sagitta.leptoceros +>sagitta : unknown +>leptoceros : sagitta.leptoceros >wilsoni : wilsoni ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : otion >this : otion ->x : leptoceros +>x : sagitta.leptoceros fontanierii() : panamensis.setulosus>, lutreolus.foina> { var x : panamensis.setulosus>, lutreolus.foina>; () => { var y = this; }; return x; } ->fontanierii : () => setulosus>, foina> ->panamensis : panamensis ->setulosus : setulosus ->samarensis : samarensis ->fuscus : fuscus +>fontanierii : () => panamensis.setulosus>, lutreolus.foina> +>panamensis : unknown +>setulosus : panamensis.setulosus +>samarensis : unknown +>fuscus : samarensis.fuscus >wilsoni : wilsoni ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus ->lutreolus : lutreolus ->foina : foina ->x : setulosus>, foina> ->panamensis : panamensis ->setulosus : setulosus ->samarensis : samarensis ->fuscus : fuscus +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>lutreolus : unknown +>foina : lutreolus.foina +>x : panamensis.setulosus>, lutreolus.foina> +>panamensis : unknown +>setulosus : panamensis.setulosus +>samarensis : unknown +>fuscus : samarensis.fuscus >wilsoni : wilsoni ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus ->lutreolus : lutreolus ->foina : foina +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : otion >this : otion ->x : setulosus>, foina> +>x : panamensis.setulosus>, lutreolus.foina> umbrosus() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->umbrosus : () => marcanoi ->howi : howi ->marcanoi : marcanoi ->x : marcanoi ->howi : howi ->marcanoi : marcanoi +>umbrosus : () => howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi +>x : howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : otion >this : otion ->x : marcanoi +>x : howi.marcanoi chiriquinus() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->chiriquinus : () => lasiurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->caurinus : caurinus ->psilurus : psilurus ->caurinus : caurinus ->psilurus : psilurus ->x : lasiurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->caurinus : caurinus ->psilurus : psilurus ->caurinus : caurinus ->psilurus : psilurus +>chiriquinus : () => imperfecta.lasiurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>caurinus : unknown +>psilurus : caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : imperfecta.lasiurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>caurinus : unknown +>psilurus : caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : otion >this : otion ->x : lasiurus +>x : imperfecta.lasiurus orarius() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; } ->orarius : () => schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli ->x : schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli +>orarius : () => lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>x : lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli >() => { var y = this; } : () => void >y : otion >this : otion ->x : schlegeli +>x : lutreolus.schlegeli ilaeus() : caurinus.mahaganus { var x : caurinus.mahaganus; () => { var y = this; }; return x; } ->ilaeus : () => mahaganus ->caurinus : caurinus ->mahaganus : mahaganus ->julianae : julianae ->acariensis : acariensis ->julianae : julianae ->sumatrana : sumatrana ->x : mahaganus ->caurinus : caurinus ->mahaganus : mahaganus ->julianae : julianae ->acariensis : acariensis ->julianae : julianae ->sumatrana : sumatrana +>ilaeus : () => caurinus.mahaganus +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>julianae : unknown +>acariensis : julianae.acariensis +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : caurinus.mahaganus +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>julianae : unknown +>acariensis : julianae.acariensis +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : otion >this : otion ->x : mahaganus +>x : caurinus.mahaganus musschenbroekii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->musschenbroekii : () => falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri ->x : falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri +>musschenbroekii : () => trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>x : trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri >() => { var y = this; } : () => void >y : otion >this : otion ->x : falconeri +>x : trivirgatus.falconeri } export class xanthognathus { >xanthognathus : xanthognathus nanulus() : daubentonii.nigricans { var x : daubentonii.nigricans; () => { var y = this; }; return x; } ->nanulus : () => nigricans ->daubentonii : daubentonii ->nigricans : nigricans ->imperfecta : imperfecta ->subspinosus : subspinosus ->samarensis : samarensis ->pallidus : pallidus ->x : nigricans ->daubentonii : daubentonii ->nigricans : nigricans ->imperfecta : imperfecta ->subspinosus : subspinosus ->samarensis : samarensis ->pallidus : pallidus +>nanulus : () => daubentonii.nigricans +>daubentonii : unknown +>nigricans : daubentonii.nigricans +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : daubentonii.nigricans +>daubentonii : unknown +>nigricans : daubentonii.nigricans +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : nigricans +>x : daubentonii.nigricans albigena() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->albigena : () => sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->psilurus : psilurus ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->x : sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->psilurus : psilurus ->quasiater : quasiater ->bobrinskoi : bobrinskoi +>albigena : () => chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>psilurus : caurinus.psilurus +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>x : chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>psilurus : caurinus.psilurus +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : sarasinorum +>x : chrysaeolus.sarasinorum onca() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->onca : () => stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni +>onca : () => sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : stolzmanni +>x : sagitta.stolzmanni gunnii() : minutus.himalayana, nigra.thalia> { var x : minutus.himalayana, nigra.thalia>; () => { var y = this; }; return x; } ->gunnii : () => himalayana, thalia> ->minutus : minutus ->himalayana : himalayana ->howi : howi ->coludo : coludo +>gunnii : () => minutus.himalayana, nigra.thalia> +>minutus : unknown +>himalayana : minutus.himalayana +>howi : unknown +>coludo : howi.coludo >lepturus : lepturus ->lutreolus : lutreolus ->punicus : punicus ->nigra : nigra ->thalia : thalia ->patas : patas ->uralensis : uralensis ->dogramacii : dogramacii ->robustulus : robustulus ->x : himalayana, thalia> ->minutus : minutus ->himalayana : himalayana ->howi : howi ->coludo : coludo +>lutreolus : unknown +>punicus : lutreolus.punicus +>nigra : unknown +>thalia : nigra.thalia +>patas : unknown +>uralensis : patas.uralensis +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : minutus.himalayana, nigra.thalia> +>minutus : unknown +>himalayana : minutus.himalayana +>howi : unknown +>coludo : howi.coludo >lepturus : lepturus ->lutreolus : lutreolus ->punicus : punicus ->nigra : nigra ->thalia : thalia ->patas : patas ->uralensis : uralensis ->dogramacii : dogramacii ->robustulus : robustulus +>lutreolus : unknown +>punicus : lutreolus.punicus +>nigra : unknown +>thalia : nigra.thalia +>patas : unknown +>uralensis : patas.uralensis +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : himalayana, thalia> +>x : minutus.himalayana, nigra.thalia> apeco() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->apeco : () => foina ->lutreolus : lutreolus ->foina : foina ->x : foina ->lutreolus : lutreolus ->foina : foina +>apeco : () => lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina +>x : lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : foina +>x : lutreolus.foina variegates() : gabriellae.klossii { var x : gabriellae.klossii; () => { var y = this; }; return x; } ->variegates : () => klossii ->gabriellae : gabriellae ->klossii : klossii +>variegates : () => gabriellae.klossii +>gabriellae : unknown +>klossii : gabriellae.klossii >wilsoni : wilsoni ->julianae : julianae ->nudicaudus : nudicaudus ->x : klossii ->gabriellae : gabriellae ->klossii : klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>x : gabriellae.klossii +>gabriellae : unknown +>klossii : gabriellae.klossii >wilsoni : wilsoni ->julianae : julianae ->nudicaudus : nudicaudus +>julianae : unknown +>nudicaudus : julianae.nudicaudus >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : klossii +>x : gabriellae.klossii goudotii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->goudotii : () => falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri ->x : falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri +>goudotii : () => trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>x : trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : falconeri +>x : trivirgatus.falconeri pohlei() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; } ->pohlei : () => megalonyx ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->x : megalonyx ->Lanthanum : Lanthanum ->megalonyx : megalonyx +>pohlei : () => Lanthanum.megalonyx +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>x : Lanthanum.megalonyx +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : megalonyx +>x : Lanthanum.megalonyx ineptus() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->ineptus : () => setulosus ->panamensis : panamensis ->setulosus : setulosus +>ineptus : () => panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus >xanthognathus : xanthognathus >beisa : beisa ->x : setulosus ->panamensis : panamensis ->setulosus : setulosus +>x : panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus >xanthognathus : xanthognathus >beisa : beisa >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : setulosus +>x : panamensis.setulosus euryotis() : rendalli.moojeni> { var x : rendalli.moojeni>; () => { var y = this; }; return x; } ->euryotis : () => moojeni> ->rendalli : rendalli ->moojeni : moojeni ->julianae : julianae ->steerii : steerii ->samarensis : samarensis ->pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->ruatanica : ruatanica ->americanus : americanus ->x : moojeni> ->rendalli : rendalli ->moojeni : moojeni ->julianae : julianae ->steerii : steerii ->samarensis : samarensis ->pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->ruatanica : ruatanica ->americanus : americanus +>euryotis : () => rendalli.moojeni> +>rendalli : unknown +>moojeni : rendalli.moojeni +>julianae : unknown +>steerii : julianae.steerii +>samarensis : unknown +>pelurus : samarensis.pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : rendalli.moojeni> +>rendalli : unknown +>moojeni : rendalli.moojeni +>julianae : unknown +>steerii : julianae.steerii +>samarensis : unknown +>pelurus : samarensis.pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : moojeni> +>x : rendalli.moojeni> maurisca() : Lanthanum.suillus { var x : Lanthanum.suillus; () => { var y = this; }; return x; } ->maurisca : () => suillus ->Lanthanum : Lanthanum ->suillus : suillus ->rionegrensis : rionegrensis ->caniventer : caniventer ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : suillus ->Lanthanum : Lanthanum ->suillus : suillus ->rionegrensis : rionegrensis ->caniventer : caniventer ->imperfecta : imperfecta ->subspinosus : subspinosus +>maurisca : () => Lanthanum.suillus +>Lanthanum : unknown +>suillus : Lanthanum.suillus +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : Lanthanum.suillus +>Lanthanum : unknown +>suillus : Lanthanum.suillus +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : suillus +>x : Lanthanum.suillus coyhaiquensis() : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus> { var x : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus>; () => { var y = this; }; return x; } ->coyhaiquensis : () => mahaganus, abidi>, punicus> ->caurinus : caurinus ->mahaganus : mahaganus ->dammermani : dammermani ->siberu : siberu ->nigra : nigra ->thalia : thalia ->lutreolus : lutreolus ->schlegeli : schlegeli ->julianae : julianae ->sumatrana : sumatrana ->panglima : panglima ->abidi : abidi ->lutreolus : lutreolus ->foina : foina ->argurus : argurus ->peninsulae : peninsulae ->lutreolus : lutreolus ->punicus : punicus ->x : mahaganus, abidi>, punicus> ->caurinus : caurinus ->mahaganus : mahaganus ->dammermani : dammermani ->siberu : siberu ->nigra : nigra ->thalia : thalia ->lutreolus : lutreolus ->schlegeli : schlegeli ->julianae : julianae ->sumatrana : sumatrana ->panglima : panglima ->abidi : abidi ->lutreolus : lutreolus ->foina : foina ->argurus : argurus ->peninsulae : peninsulae ->lutreolus : lutreolus ->punicus : punicus +>coyhaiquensis : () => caurinus.mahaganus, panglima.abidi>, lutreolus.punicus> +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>dammermani : unknown +>siberu : dammermani.siberu +>nigra : unknown +>thalia : nigra.thalia +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>julianae : unknown +>sumatrana : julianae.sumatrana +>panglima : unknown +>abidi : panglima.abidi +>lutreolus : unknown +>foina : lutreolus.foina +>argurus : unknown +>peninsulae : argurus.peninsulae +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus> +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>dammermani : unknown +>siberu : dammermani.siberu +>nigra : unknown +>thalia : nigra.thalia +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>julianae : unknown +>sumatrana : julianae.sumatrana +>panglima : unknown +>abidi : panglima.abidi +>lutreolus : unknown +>foina : lutreolus.foina +>argurus : unknown +>peninsulae : argurus.peninsulae +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : xanthognathus >this : xanthognathus ->x : mahaganus, abidi>, punicus> +>x : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus> } export class thaeleri extends argurus.oreas { >thaeleri : thaeleri ->argurus : argurus ->oreas : oreas +>argurus : unknown +>oreas : argurus.oreas coromandra() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; } ->coromandra : () => galapagoensis ->julianae : julianae ->galapagoensis : galapagoensis ->x : galapagoensis ->julianae : julianae ->galapagoensis : galapagoensis +>coromandra : () => julianae.galapagoensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>x : julianae.galapagoensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis >() => { var y = this; } : () => void >y : thaeleri >this : thaeleri ->x : galapagoensis +>x : julianae.galapagoensis parvipes() : nigra.dolichurus { var x : nigra.dolichurus; () => { var y = this; }; return x; } ->parvipes : () => dolichurus ->nigra : nigra ->dolichurus : dolichurus ->argurus : argurus ->germaini : germaini ->samarensis : samarensis ->pallidus : pallidus ->x : dolichurus ->nigra : nigra ->dolichurus : dolichurus ->argurus : argurus ->germaini : germaini ->samarensis : samarensis ->pallidus : pallidus +>parvipes : () => nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>argurus : unknown +>germaini : argurus.germaini +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>argurus : unknown +>germaini : argurus.germaini +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : thaeleri >this : thaeleri ->x : dolichurus +>x : nigra.dolichurus sponsorius() : rionegrensis.veraecrucis, julianae.steerii> { var x : rionegrensis.veraecrucis, julianae.steerii>; () => { var y = this; }; return x; } ->sponsorius : () => veraecrucis, steerii> ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->psilurus : psilurus ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->julianae : julianae ->steerii : steerii ->x : veraecrucis, steerii> ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->psilurus : psilurus ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->julianae : julianae ->steerii : steerii +>sponsorius : () => rionegrensis.veraecrucis, julianae.steerii> +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>psilurus : caurinus.psilurus +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>julianae : unknown +>steerii : julianae.steerii +>x : rionegrensis.veraecrucis, julianae.steerii> +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>psilurus : caurinus.psilurus +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : thaeleri >this : thaeleri ->x : veraecrucis, steerii> +>x : rionegrensis.veraecrucis, julianae.steerii> vates() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->vates : () => robustulus ->dogramacii : dogramacii ->robustulus : robustulus ->x : robustulus ->dogramacii : dogramacii ->robustulus : robustulus +>vates : () => dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : thaeleri >this : thaeleri ->x : robustulus +>x : dogramacii.robustulus roosmalenorum() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; } ->roosmalenorum : () => koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae ->x : koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae +>roosmalenorum : () => dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>x : dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae >() => { var y = this; } : () => void >y : thaeleri >this : thaeleri ->x : koepckeae +>x : dogramacii.koepckeae rubicola() : rendalli.moojeni, gabriellae.echinatus>> { var x : rendalli.moojeni, gabriellae.echinatus>>; () => { var y = this; }; return x; } ->rubicola : () => moojeni, echinatus>> ->rendalli : rendalli ->moojeni : moojeni ->rionegrensis : rionegrensis ->caniventer : caniventer ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->x : moojeni, echinatus>> ->rendalli : rendalli ->moojeni : moojeni ->rionegrensis : rionegrensis ->caniventer : caniventer ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus +>rubicola : () => rendalli.moojeni, gabriellae.echinatus>> +>rendalli : unknown +>moojeni : rendalli.moojeni +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : rendalli.moojeni, gabriellae.echinatus>> +>rendalli : unknown +>moojeni : rendalli.moojeni +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : thaeleri >this : thaeleri ->x : moojeni, echinatus>> +>x : rendalli.moojeni, gabriellae.echinatus>> ikonnikovi() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->ikonnikovi : () => luctuosa ->argurus : argurus ->luctuosa : luctuosa ->x : luctuosa ->argurus : argurus ->luctuosa : luctuosa +>ikonnikovi : () => argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : thaeleri >this : thaeleri ->x : luctuosa +>x : argurus.luctuosa paramicrus() : imperfecta.ciliolabrum> { var x : imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->paramicrus : () => ciliolabrum> ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum +>paramicrus : () => imperfecta.ciliolabrum> +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum >otion : otion ->petrophilus : petrophilus ->sodyi : sodyi ->macrorhinos : macrorhinos ->konganensis : konganensis ->caurinus : caurinus ->psilurus : psilurus ->x : ciliolabrum> ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : imperfecta.ciliolabrum> +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum >otion : otion ->petrophilus : petrophilus ->sodyi : sodyi ->macrorhinos : macrorhinos ->konganensis : konganensis ->caurinus : caurinus ->psilurus : psilurus +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : thaeleri >this : thaeleri ->x : ciliolabrum> +>x : imperfecta.ciliolabrum> } export class lepturus extends Lanthanum.suillus { >lepturus : lepturus ->Lanthanum : Lanthanum ->suillus : suillus ->dammermani : dammermani ->melanops : melanops ->quasiater : quasiater ->carolinensis : carolinensis +>Lanthanum : unknown +>suillus : Lanthanum.suillus +>dammermani : unknown +>melanops : dammermani.melanops +>quasiater : unknown +>carolinensis : quasiater.carolinensis ferrumequinum() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->ferrumequinum : () => netscheri ->argurus : argurus ->netscheri : netscheri ->argurus : argurus ->luctuosa : luctuosa ->julianae : julianae ->nudicaudus : nudicaudus ->x : netscheri ->argurus : argurus ->netscheri : netscheri ->argurus : argurus ->luctuosa : luctuosa ->julianae : julianae ->nudicaudus : nudicaudus +>ferrumequinum : () => argurus.netscheri +>argurus : unknown +>netscheri : argurus.netscheri +>argurus : unknown +>luctuosa : argurus.luctuosa +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>x : argurus.netscheri +>argurus : unknown +>netscheri : argurus.netscheri +>argurus : unknown +>luctuosa : argurus.luctuosa +>julianae : unknown +>nudicaudus : julianae.nudicaudus >() => { var y = this; } : () => void >y : lepturus >this : lepturus ->x : netscheri +>x : argurus.netscheri aequalis() : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis> { var x : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis>; () => { var y = this; }; return x; } ->aequalis : () => cinereus>, minutilla>, jugularis> ->sagitta : sagitta ->cinereus : cinereus ->petrophilus : petrophilus ->sodyi : sodyi ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->galapagoensis : galapagoensis ->panamensis : panamensis ->linulus : linulus +>aequalis : () => sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis> +>sagitta : unknown +>cinereus : sagitta.cinereus +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>panamensis : unknown +>linulus : panamensis.linulus >xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis ->petrophilus : petrophilus ->minutilla : minutilla ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : cinereus>, minutilla>, jugularis> ->sagitta : sagitta ->cinereus : cinereus ->petrophilus : petrophilus ->sodyi : sodyi ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->galapagoensis : galapagoensis ->panamensis : panamensis ->linulus : linulus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis> +>sagitta : unknown +>cinereus : sagitta.cinereus +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>panamensis : unknown +>linulus : panamensis.linulus >xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis ->petrophilus : petrophilus ->minutilla : minutilla ->Lanthanum : Lanthanum ->jugularis : jugularis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : lepturus >this : lepturus ->x : cinereus>, minutilla>, jugularis> +>x : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis> } } module dogramacii { @@ -4350,481 +4350,481 @@ module dogramacii { export class robustulus extends lavali.wilsoni { >robustulus : robustulus ->lavali : lavali ->wilsoni : wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni fossor() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->fossor : () => inez ->minutus : minutus ->inez : inez ->argurus : argurus ->peninsulae : peninsulae ->julianae : julianae ->nudicaudus : nudicaudus ->x : inez ->minutus : minutus ->inez : inez ->argurus : argurus ->peninsulae : peninsulae ->julianae : julianae ->nudicaudus : nudicaudus +>fossor : () => minutus.inez +>minutus : unknown +>inez : minutus.inez +>argurus : unknown +>peninsulae : argurus.peninsulae +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>x : minutus.inez +>minutus : unknown +>inez : minutus.inez +>argurus : unknown +>peninsulae : argurus.peninsulae +>julianae : unknown +>nudicaudus : julianae.nudicaudus >() => { var y = this; } : () => void >y : robustulus >this : robustulus ->x : inez +>x : minutus.inez humboldti() : sagitta.cinereus { var x : sagitta.cinereus; () => { var y = this; }; return x; } ->humboldti : () => cinereus ->sagitta : sagitta ->cinereus : cinereus ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas ->x : cinereus ->sagitta : sagitta ->cinereus : cinereus ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas +>humboldti : () => sagitta.cinereus +>sagitta : unknown +>cinereus : sagitta.cinereus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas +>x : sagitta.cinereus +>sagitta : unknown +>cinereus : sagitta.cinereus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : robustulus >this : robustulus ->x : cinereus +>x : sagitta.cinereus mexicana() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->mexicana : () => konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis +>mexicana : () => macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : robustulus >this : robustulus ->x : konganensis +>x : macrorhinos.konganensis martini() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->martini : () => oralis ->julianae : julianae ->oralis : oralis ->julianae : julianae ->steerii : steerii ->lavali : lavali ->lepturus : lepturus ->x : oralis ->julianae : julianae ->oralis : oralis ->julianae : julianae ->steerii : steerii ->lavali : lavali ->lepturus : lepturus +>martini : () => julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>julianae : unknown +>steerii : julianae.steerii +>lavali : unknown +>lepturus : lavali.lepturus +>x : julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>julianae : unknown +>steerii : julianae.steerii +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : robustulus >this : robustulus ->x : oralis +>x : julianae.oralis beatus() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->beatus : () => jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis +>beatus : () => Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : robustulus >this : robustulus ->x : jugularis +>x : Lanthanum.jugularis leporina() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->leporina : () => falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri ->x : falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri +>leporina : () => trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>x : trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri >() => { var y = this; } : () => void >y : robustulus >this : robustulus ->x : falconeri +>x : trivirgatus.falconeri pearsonii() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->pearsonii : () => melanops ->dammermani : dammermani ->melanops : melanops ->x : melanops ->dammermani : dammermani ->melanops : melanops +>pearsonii : () => dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops +>x : dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : robustulus >this : robustulus ->x : melanops +>x : dammermani.melanops keaysi() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->keaysi : () => angulatus ->howi : howi ->angulatus : angulatus ->lavali : lavali ->beisa : beisa ->rendalli : rendalli ->zuluensis : zuluensis ->x : angulatus ->howi : howi ->angulatus : angulatus ->lavali : lavali ->beisa : beisa ->rendalli : rendalli ->zuluensis : zuluensis +>keaysi : () => howi.angulatus +>howi : unknown +>angulatus : howi.angulatus +>lavali : unknown +>beisa : lavali.beisa +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>x : howi.angulatus +>howi : unknown +>angulatus : howi.angulatus +>lavali : unknown +>beisa : lavali.beisa +>rendalli : unknown +>zuluensis : rendalli.zuluensis >() => { var y = this; } : () => void >y : robustulus >this : robustulus ->x : angulatus +>x : howi.angulatus hindei() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->hindei : () => lasiurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->macrorhinos : macrorhinos ->konganensis : konganensis ->julianae : julianae ->steerii : steerii ->x : lasiurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->macrorhinos : macrorhinos ->konganensis : konganensis ->julianae : julianae ->steerii : steerii +>hindei : () => imperfecta.lasiurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>julianae : unknown +>steerii : julianae.steerii +>x : imperfecta.lasiurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : robustulus >this : robustulus ->x : lasiurus +>x : imperfecta.lasiurus } export class koepckeae { >koepckeae : koepckeae culturatus() : samarensis.pelurus, julianae.sumatrana> { var x : samarensis.pelurus, julianae.sumatrana>; () => { var y = this; }; return x; } ->culturatus : () => pelurus, sumatrana> ->samarensis : samarensis ->pelurus : pelurus ->daubentonii : daubentonii ->arboreus : arboreus +>culturatus : () => samarensis.pelurus, julianae.sumatrana> +>samarensis : unknown +>pelurus : samarensis.pelurus +>daubentonii : unknown +>arboreus : daubentonii.arboreus >kaiseri : kaiseri ->lutreolus : lutreolus ->punicus : punicus ->julianae : julianae ->sumatrana : sumatrana ->x : pelurus, sumatrana> ->samarensis : samarensis ->pelurus : pelurus ->daubentonii : daubentonii ->arboreus : arboreus +>lutreolus : unknown +>punicus : lutreolus.punicus +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : samarensis.pelurus, julianae.sumatrana> +>samarensis : unknown +>pelurus : samarensis.pelurus +>daubentonii : unknown +>arboreus : daubentonii.arboreus >kaiseri : kaiseri ->lutreolus : lutreolus ->punicus : punicus ->julianae : julianae ->sumatrana : sumatrana +>lutreolus : unknown +>punicus : lutreolus.punicus +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : koepckeae >this : koepckeae ->x : pelurus, sumatrana> +>x : samarensis.pelurus, julianae.sumatrana> } export class kaiseri { >kaiseri : kaiseri bedfordiae() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->bedfordiae : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>bedfordiae : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : carolinensis +>x : quasiater.carolinensis paramorum() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; } ->paramorum : () => megalonyx ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->x : megalonyx ->Lanthanum : Lanthanum ->megalonyx : megalonyx +>paramorum : () => Lanthanum.megalonyx +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>x : Lanthanum.megalonyx +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : megalonyx +>x : Lanthanum.megalonyx rubidus() : trivirgatus.lotor { var x : trivirgatus.lotor; () => { var y = this; }; return x; } ->rubidus : () => lotor ->trivirgatus : trivirgatus ->lotor : lotor ->julianae : julianae ->steerii : steerii ->samarensis : samarensis ->pallidus : pallidus ->x : lotor ->trivirgatus : trivirgatus ->lotor : lotor ->julianae : julianae ->steerii : steerii ->samarensis : samarensis ->pallidus : pallidus +>rubidus : () => trivirgatus.lotor +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>julianae : unknown +>steerii : julianae.steerii +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : trivirgatus.lotor +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>julianae : unknown +>steerii : julianae.steerii +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : lotor +>x : trivirgatus.lotor juninensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->juninensis : () => bobrinskoi ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->x : bobrinskoi ->quasiater : quasiater ->bobrinskoi : bobrinskoi +>juninensis : () => quasiater.bobrinskoi +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>x : quasiater.bobrinskoi +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : bobrinskoi +>x : quasiater.bobrinskoi marginata() : argurus.wetmorei>> { var x : argurus.wetmorei>>; () => { var y = this; }; return x; } ->marginata : () => wetmorei>> ->argurus : argurus ->wetmorei : wetmorei ->rionegrensis : rionegrensis ->caniventer : caniventer ->sagitta : sagitta ->leptoceros : leptoceros ->lutreolus : lutreolus ->punicus : punicus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : wetmorei>> ->argurus : argurus ->wetmorei : wetmorei ->rionegrensis : rionegrensis ->caniventer : caniventer ->sagitta : sagitta ->leptoceros : leptoceros ->lutreolus : lutreolus ->punicus : punicus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer +>marginata : () => argurus.wetmorei>> +>argurus : unknown +>wetmorei : argurus.wetmorei +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>sagitta : unknown +>leptoceros : sagitta.leptoceros +>lutreolus : unknown +>punicus : lutreolus.punicus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : argurus.wetmorei>> +>argurus : unknown +>wetmorei : argurus.wetmorei +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>sagitta : unknown +>leptoceros : sagitta.leptoceros +>lutreolus : unknown +>punicus : lutreolus.punicus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : wetmorei>> +>x : argurus.wetmorei>> Meitnerium() : ruatanica.Praseodymium> { var x : ruatanica.Praseodymium>; () => { var y = this; }; return x; } ->Meitnerium : () => Praseodymium> ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->julianae : julianae ->sumatrana : sumatrana ->lutreolus : lutreolus ->cor : cor ->Lanthanum : Lanthanum ->jugularis : jugularis ->julianae : julianae ->galapagoensis : galapagoensis ->x : Praseodymium> ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->julianae : julianae ->sumatrana : sumatrana ->lutreolus : lutreolus ->cor : cor ->Lanthanum : Lanthanum ->jugularis : jugularis ->julianae : julianae ->galapagoensis : galapagoensis +>Meitnerium : () => ruatanica.Praseodymium> +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>julianae : unknown +>sumatrana : julianae.sumatrana +>lutreolus : unknown +>cor : lutreolus.cor +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>x : ruatanica.Praseodymium> +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>julianae : unknown +>sumatrana : julianae.sumatrana +>lutreolus : unknown +>cor : lutreolus.cor +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>julianae : unknown +>galapagoensis : julianae.galapagoensis >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : Praseodymium> +>x : ruatanica.Praseodymium> pinetorum() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->pinetorum : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>pinetorum : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : caniventer +>x : rionegrensis.caniventer hoolock() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->hoolock : () => pelurus ->samarensis : samarensis ->pelurus : pelurus ->argurus : argurus ->oreas : oreas ->argurus : argurus ->luctuosa : luctuosa ->x : pelurus ->samarensis : samarensis ->pelurus : pelurus ->argurus : argurus ->oreas : oreas ->argurus : argurus ->luctuosa : luctuosa +>hoolock : () => samarensis.pelurus +>samarensis : unknown +>pelurus : samarensis.pelurus +>argurus : unknown +>oreas : argurus.oreas +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : samarensis.pelurus +>samarensis : unknown +>pelurus : samarensis.pelurus +>argurus : unknown +>oreas : argurus.oreas +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : pelurus +>x : samarensis.pelurus poeyi() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->poeyi : () => echinatus ->gabriellae : gabriellae ->echinatus : echinatus ->x : echinatus ->gabriellae : gabriellae ->echinatus : echinatus +>poeyi : () => gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : echinatus +>x : gabriellae.echinatus Thulium() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; } ->Thulium : () => durangae ->julianae : julianae ->durangae : durangae ->x : durangae ->julianae : julianae ->durangae : durangae +>Thulium : () => julianae.durangae +>julianae : unknown +>durangae : julianae.durangae +>x : julianae.durangae +>julianae : unknown +>durangae : julianae.durangae >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : durangae +>x : julianae.durangae patrius() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->patrius : () => jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis +>patrius : () => Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : jugularis +>x : Lanthanum.jugularis quadraticauda() : julianae.nudicaudus { var x : julianae.nudicaudus; () => { var y = this; }; return x; } ->quadraticauda : () => nudicaudus ->julianae : julianae ->nudicaudus : nudicaudus ->x : nudicaudus ->julianae : julianae ->nudicaudus : nudicaudus +>quadraticauda : () => julianae.nudicaudus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>x : julianae.nudicaudus +>julianae : unknown +>nudicaudus : julianae.nudicaudus >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : nudicaudus +>x : julianae.nudicaudus ater() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->ater : () => americanus ->ruatanica : ruatanica ->americanus : americanus ->x : americanus ->ruatanica : ruatanica ->americanus : americanus +>ater : () => ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : kaiseri >this : kaiseri ->x : americanus +>x : ruatanica.americanus } export class aurata { >aurata : aurata grunniens() : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus> { var x : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus>; () => { var y = this; }; return x; } ->grunniens : () => gracilis, sumatrana>, americanus> ->nigra : nigra ->gracilis : gracilis ->samarensis : samarensis ->pelurus : pelurus ->daubentonii : daubentonii ->arboreus : arboreus +>grunniens : () => nigra.gracilis, julianae.sumatrana>, ruatanica.americanus> +>nigra : unknown +>gracilis : nigra.gracilis +>samarensis : unknown +>pelurus : samarensis.pelurus +>daubentonii : unknown +>arboreus : daubentonii.arboreus >kaiseri : kaiseri ->lutreolus : lutreolus ->punicus : punicus ->julianae : julianae ->sumatrana : sumatrana ->ruatanica : ruatanica ->americanus : americanus ->x : gracilis, sumatrana>, americanus> ->nigra : nigra ->gracilis : gracilis ->samarensis : samarensis ->pelurus : pelurus ->daubentonii : daubentonii ->arboreus : arboreus +>lutreolus : unknown +>punicus : lutreolus.punicus +>julianae : unknown +>sumatrana : julianae.sumatrana +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus> +>nigra : unknown +>gracilis : nigra.gracilis +>samarensis : unknown +>pelurus : samarensis.pelurus +>daubentonii : unknown +>arboreus : daubentonii.arboreus >kaiseri : kaiseri ->lutreolus : lutreolus ->punicus : punicus ->julianae : julianae ->sumatrana : sumatrana ->ruatanica : ruatanica ->americanus : americanus +>lutreolus : unknown +>punicus : lutreolus.punicus +>julianae : unknown +>sumatrana : julianae.sumatrana +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : aurata >this : aurata ->x : gracilis, sumatrana>, americanus> +>x : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus> howensis() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->howensis : () => americanus ->ruatanica : ruatanica ->americanus : americanus ->x : americanus ->ruatanica : ruatanica ->americanus : americanus +>howensis : () => ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : ruatanica.americanus +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : aurata >this : aurata ->x : americanus +>x : ruatanica.americanus karlkoopmani() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->karlkoopmani : () => psilurus ->caurinus : caurinus ->psilurus : psilurus ->x : psilurus ->caurinus : caurinus ->psilurus : psilurus +>karlkoopmani : () => caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : aurata >this : aurata ->x : psilurus +>x : caurinus.psilurus mirapitanga() : julianae.albidens { var x : julianae.albidens; () => { var y = this; }; return x; } ->mirapitanga : () => albidens ->julianae : julianae ->albidens : albidens ->gabriellae : gabriellae ->echinatus : echinatus ->gabriellae : gabriellae ->echinatus : echinatus ->x : albidens ->julianae : julianae ->albidens : albidens ->gabriellae : gabriellae ->echinatus : echinatus ->gabriellae : gabriellae ->echinatus : echinatus +>mirapitanga : () => julianae.albidens +>julianae : unknown +>albidens : julianae.albidens +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : julianae.albidens +>julianae : unknown +>albidens : julianae.albidens +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : aurata >this : aurata ->x : albidens +>x : julianae.albidens ophiodon() : aurata { var x : aurata; () => { var y = this; }; return x; } >ophiodon : () => aurata @@ -4837,86 +4837,86 @@ module dogramacii { >x : aurata landeri() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->landeri : () => pelurus ->samarensis : samarensis ->pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->ruatanica : ruatanica ->americanus : americanus ->x : pelurus ->samarensis : samarensis ->pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->ruatanica : ruatanica ->americanus : americanus +>landeri : () => samarensis.pelurus +>samarensis : unknown +>pelurus : samarensis.pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : samarensis.pelurus +>samarensis : unknown +>pelurus : samarensis.pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : aurata >this : aurata ->x : pelurus +>x : samarensis.pelurus sonomae() : trivirgatus.lotor, koepckeae> { var x : trivirgatus.lotor, koepckeae>; () => { var y = this; }; return x; } ->sonomae : () => lotor, koepckeae> ->trivirgatus : trivirgatus ->lotor : lotor ->panglima : panglima ->abidi : abidi ->lavali : lavali ->lepturus : lepturus ->caurinus : caurinus ->psilurus : psilurus +>sonomae : () => trivirgatus.lotor, koepckeae> +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>panglima : unknown +>abidi : panglima.abidi +>lavali : unknown +>lepturus : lavali.lepturus +>caurinus : unknown +>psilurus : caurinus.psilurus >koepckeae : koepckeae ->x : lotor, koepckeae> ->trivirgatus : trivirgatus ->lotor : lotor ->panglima : panglima ->abidi : abidi ->lavali : lavali ->lepturus : lepturus ->caurinus : caurinus ->psilurus : psilurus +>x : trivirgatus.lotor, koepckeae> +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>panglima : unknown +>abidi : panglima.abidi +>lavali : unknown +>lepturus : lavali.lepturus +>caurinus : unknown +>psilurus : caurinus.psilurus >koepckeae : koepckeae >() => { var y = this; } : () => void >y : aurata >this : aurata ->x : lotor, koepckeae> +>x : trivirgatus.lotor, koepckeae> erythromos() : caurinus.johorensis, nigra.dolichurus> { var x : caurinus.johorensis, nigra.dolichurus>; () => { var y = this; }; return x; } ->erythromos : () => johorensis, dolichurus> ->caurinus : caurinus ->johorensis : johorensis ->panglima : panglima ->fundatus : fundatus ->samarensis : samarensis ->pallidus : pallidus ->sagitta : sagitta ->stolzmanni : stolzmanni ->nigra : nigra ->dolichurus : dolichurus ->lavali : lavali ->lepturus : lepturus ->samarensis : samarensis ->pallidus : pallidus ->x : johorensis, dolichurus> ->caurinus : caurinus ->johorensis : johorensis ->panglima : panglima ->fundatus : fundatus ->samarensis : samarensis ->pallidus : pallidus ->sagitta : sagitta ->stolzmanni : stolzmanni ->nigra : nigra ->dolichurus : dolichurus ->lavali : lavali ->lepturus : lepturus ->samarensis : samarensis ->pallidus : pallidus +>erythromos : () => caurinus.johorensis, nigra.dolichurus> +>caurinus : unknown +>johorensis : caurinus.johorensis +>panglima : unknown +>fundatus : panglima.fundatus +>samarensis : unknown +>pallidus : samarensis.pallidus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>nigra : unknown +>dolichurus : nigra.dolichurus +>lavali : unknown +>lepturus : lavali.lepturus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : caurinus.johorensis, nigra.dolichurus> +>caurinus : unknown +>johorensis : caurinus.johorensis +>panglima : unknown +>fundatus : panglima.fundatus +>samarensis : unknown +>pallidus : samarensis.pallidus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>nigra : unknown +>dolichurus : nigra.dolichurus +>lavali : unknown +>lepturus : lavali.lepturus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : aurata >this : aurata ->x : johorensis, dolichurus> +>x : caurinus.johorensis, nigra.dolichurus> } } module lutreolus { @@ -4924,296 +4924,296 @@ module lutreolus { export class schlegeli extends lavali.beisa { >schlegeli : schlegeli ->lavali : lavali ->beisa : beisa +>lavali : unknown +>beisa : lavali.beisa mittendorfi() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->mittendorfi : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>mittendorfi : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : caniventer +>x : rionegrensis.caniventer blicki() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->blicki : () => robustulus ->dogramacii : dogramacii ->robustulus : robustulus ->x : robustulus ->dogramacii : dogramacii ->robustulus : robustulus +>blicki : () => dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : robustulus +>x : dogramacii.robustulus culionensis() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->culionensis : () => dauricus ->argurus : argurus ->dauricus : dauricus ->ruatanica : ruatanica ->americanus : americanus ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : dauricus ->argurus : argurus ->dauricus : dauricus ->ruatanica : ruatanica ->americanus : americanus ->rionegrensis : rionegrensis ->caniventer : caniventer +>culionensis : () => argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>ruatanica : unknown +>americanus : ruatanica.americanus +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>ruatanica : unknown +>americanus : ruatanica.americanus +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : dauricus +>x : argurus.dauricus scrofa() : petrophilus.sodyi { var x : petrophilus.sodyi; () => { var y = this; }; return x; } ->scrofa : () => sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->gabriellae : gabriellae ->amicus : amicus ->julianae : julianae ->sumatrana : sumatrana ->x : sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->gabriellae : gabriellae ->amicus : amicus ->julianae : julianae ->sumatrana : sumatrana +>scrofa : () => petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>gabriellae : unknown +>amicus : gabriellae.amicus +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>gabriellae : unknown +>amicus : gabriellae.amicus +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : sodyi +>x : petrophilus.sodyi fernandoni() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->fernandoni : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>fernandoni : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : carolinensis +>x : quasiater.carolinensis Tin() : sagitta.leptoceros> { var x : sagitta.leptoceros>; () => { var y = this; }; return x; } ->Tin : () => leptoceros> ->sagitta : sagitta ->leptoceros : leptoceros ->lutreolus : lutreolus +>Tin : () => sagitta.leptoceros> +>sagitta : unknown +>leptoceros : sagitta.leptoceros +>lutreolus : unknown >punicus : punicus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : leptoceros> ->sagitta : sagitta ->leptoceros : leptoceros ->lutreolus : lutreolus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : sagitta.leptoceros> +>sagitta : unknown +>leptoceros : sagitta.leptoceros +>lutreolus : unknown >punicus : punicus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : leptoceros> +>x : sagitta.leptoceros> marmorata() : panamensis.setulosus> { var x : panamensis.setulosus>; () => { var y = this; }; return x; } ->marmorata : () => setulosus> ->panamensis : panamensis ->setulosus : setulosus ->quasiater : quasiater ->carolinensis : carolinensis ->daubentonii : daubentonii ->arboreus : arboreus ->dogramacii : dogramacii ->kaiseri : kaiseri ->lutreolus : lutreolus +>marmorata : () => panamensis.setulosus> +>panamensis : unknown +>setulosus : panamensis.setulosus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lutreolus : unknown >punicus : punicus ->x : setulosus> ->panamensis : panamensis ->setulosus : setulosus ->quasiater : quasiater ->carolinensis : carolinensis ->daubentonii : daubentonii ->arboreus : arboreus ->dogramacii : dogramacii ->kaiseri : kaiseri ->lutreolus : lutreolus +>x : panamensis.setulosus> +>panamensis : unknown +>setulosus : panamensis.setulosus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lutreolus : unknown >punicus : punicus >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : setulosus> +>x : panamensis.setulosus> tavaratra() : Lanthanum.nitidus { var x : Lanthanum.nitidus; () => { var y = this; }; return x; } ->tavaratra : () => nitidus ->Lanthanum : Lanthanum ->nitidus : nitidus ->howi : howi ->marcanoi : marcanoi ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : nitidus ->Lanthanum : Lanthanum ->nitidus : nitidus ->howi : howi ->marcanoi : marcanoi ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>tavaratra : () => Lanthanum.nitidus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>howi : unknown +>marcanoi : howi.marcanoi +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : Lanthanum.nitidus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>howi : unknown +>marcanoi : howi.marcanoi +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : nitidus +>x : Lanthanum.nitidus peregrina() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->peregrina : () => nesiotes ->daubentonii : daubentonii ->nesiotes : nesiotes ->macrorhinos : macrorhinos ->konganensis : konganensis ->lutreolus : lutreolus +>peregrina : () => daubentonii.nesiotes +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>lutreolus : unknown >punicus : punicus ->x : nesiotes ->daubentonii : daubentonii ->nesiotes : nesiotes ->macrorhinos : macrorhinos ->konganensis : konganensis ->lutreolus : lutreolus +>x : daubentonii.nesiotes +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>lutreolus : unknown >punicus : punicus >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : nesiotes +>x : daubentonii.nesiotes frontalis() : macrorhinos.marmosurus>, samarensis.pallidus> { var x : macrorhinos.marmosurus>, samarensis.pallidus>; () => { var y = this; }; return x; } ->frontalis : () => marmosurus>, pallidus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->ruatanica : ruatanica ->hector : hector ->julianae : julianae ->sumatrana : sumatrana ->samarensis : samarensis ->pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->sagitta : sagitta ->walkeri : walkeri ->samarensis : samarensis ->pallidus : pallidus ->x : marmosurus>, pallidus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->ruatanica : ruatanica ->hector : hector ->julianae : julianae ->sumatrana : sumatrana ->samarensis : samarensis ->pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->sagitta : sagitta ->walkeri : walkeri ->samarensis : samarensis ->pallidus : pallidus +>frontalis : () => macrorhinos.marmosurus>, samarensis.pallidus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>ruatanica : unknown +>hector : ruatanica.hector +>julianae : unknown +>sumatrana : julianae.sumatrana +>samarensis : unknown +>pelurus : samarensis.pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>sagitta : unknown +>walkeri : sagitta.walkeri +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : macrorhinos.marmosurus>, samarensis.pallidus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>ruatanica : unknown +>hector : ruatanica.hector +>julianae : unknown +>sumatrana : julianae.sumatrana +>samarensis : unknown +>pelurus : samarensis.pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>sagitta : unknown +>walkeri : sagitta.walkeri +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : marmosurus>, pallidus> +>x : macrorhinos.marmosurus>, samarensis.pallidus> cuniculus() : patas.uralensis { var x : patas.uralensis; () => { var y = this; }; return x; } ->cuniculus : () => uralensis ->patas : patas ->uralensis : uralensis ->x : uralensis ->patas : patas ->uralensis : uralensis +>cuniculus : () => patas.uralensis +>patas : unknown +>uralensis : patas.uralensis +>x : patas.uralensis +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : uralensis +>x : patas.uralensis magdalenae() : julianae.gerbillus> { var x : julianae.gerbillus>; () => { var y = this; }; return x; } ->magdalenae : () => gerbillus> ->julianae : julianae ->gerbillus : gerbillus ->rionegrensis : rionegrensis ->caniventer : caniventer ->rendalli : rendalli ->crenulata : crenulata ->rendalli : rendalli ->zuluensis : zuluensis ->dogramacii : dogramacii ->robustulus : robustulus ->x : gerbillus> ->julianae : julianae ->gerbillus : gerbillus ->rionegrensis : rionegrensis ->caniventer : caniventer ->rendalli : rendalli ->crenulata : crenulata ->rendalli : rendalli ->zuluensis : zuluensis ->dogramacii : dogramacii ->robustulus : robustulus +>magdalenae : () => julianae.gerbillus> +>julianae : unknown +>gerbillus : julianae.gerbillus +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>rendalli : unknown +>crenulata : rendalli.crenulata +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : julianae.gerbillus> +>julianae : unknown +>gerbillus : julianae.gerbillus +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>rendalli : unknown +>crenulata : rendalli.crenulata +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : gerbillus> +>x : julianae.gerbillus> andamanensis() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->andamanensis : () => oralis ->julianae : julianae ->oralis : oralis ->ruatanica : ruatanica ->americanus : americanus ->rendalli : rendalli ->zuluensis : zuluensis ->x : oralis ->julianae : julianae ->oralis : oralis ->ruatanica : ruatanica ->americanus : americanus ->rendalli : rendalli ->zuluensis : zuluensis +>andamanensis : () => julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>ruatanica : unknown +>americanus : ruatanica.americanus +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>x : julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>ruatanica : unknown +>americanus : ruatanica.americanus +>rendalli : unknown +>zuluensis : rendalli.zuluensis >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : oralis +>x : julianae.oralis dispar() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->dispar : () => linulus ->panamensis : panamensis ->linulus : linulus ->dogramacii : dogramacii ->kaiseri : kaiseri ->minutus : minutus ->portoricensis : portoricensis ->x : linulus ->panamensis : panamensis ->linulus : linulus ->dogramacii : dogramacii ->kaiseri : kaiseri ->minutus : minutus ->portoricensis : portoricensis +>dispar : () => panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>minutus : unknown +>portoricensis : minutus.portoricensis +>x : panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>minutus : unknown +>portoricensis : minutus.portoricensis >() => { var y = this; } : () => void >y : schlegeli >this : schlegeli ->x : linulus +>x : panamensis.linulus } } module argurus { @@ -5225,232 +5225,232 @@ module argurus { >T1 : T1 chinensis() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->chinensis : () => jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis +>chinensis : () => Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : dauricus >this : dauricus ->x : jugularis +>x : Lanthanum.jugularis duodecimcostatus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->duodecimcostatus : () => xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus ->x : xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus +>duodecimcostatus : () => lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : dauricus >this : dauricus ->x : xanthognathus +>x : lavali.xanthognathus foxi() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->foxi : () => nesiotes ->daubentonii : daubentonii ->nesiotes : nesiotes ->lavali : lavali ->beisa : beisa ->lavali : lavali ->lepturus : lepturus ->x : nesiotes ->daubentonii : daubentonii ->nesiotes : nesiotes ->lavali : lavali ->beisa : beisa ->lavali : lavali ->lepturus : lepturus +>foxi : () => daubentonii.nesiotes +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>lavali : unknown +>beisa : lavali.beisa +>lavali : unknown +>lepturus : lavali.lepturus +>x : daubentonii.nesiotes +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>lavali : unknown +>beisa : lavali.beisa +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : dauricus >this : dauricus ->x : nesiotes +>x : daubentonii.nesiotes macleayii() : petrophilus.sodyi>, petrophilus.minutilla> { var x : petrophilus.sodyi>, petrophilus.minutilla>; () => { var y = this; }; return x; } ->macleayii : () => sodyi>, minutilla> ->petrophilus : petrophilus ->sodyi : sodyi ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->galapagoensis : galapagoensis ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis ->petrophilus : petrophilus ->minutilla : minutilla ->x : sodyi>, minutilla> ->petrophilus : petrophilus ->sodyi : sodyi ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->galapagoensis : galapagoensis ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis ->petrophilus : petrophilus ->minutilla : minutilla +>macleayii : () => petrophilus.sodyi>, petrophilus.minutilla> +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>x : petrophilus.sodyi>, petrophilus.minutilla> +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>petrophilus : unknown +>minutilla : petrophilus.minutilla >() => { var y = this; } : () => void >y : dauricus >this : dauricus ->x : sodyi>, minutilla> +>x : petrophilus.sodyi>, petrophilus.minutilla> darienensis() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; } ->darienensis : () => oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>darienensis : () => trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : dauricus >this : dauricus ->x : oconnelli +>x : trivirgatus.oconnelli hardwickii() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->hardwickii : () => daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>hardwickii : () => macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : dauricus >this : dauricus ->x : daphaenodon +>x : macrorhinos.daphaenodon albifrons() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->albifrons : () => veraecrucis ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->lavali : lavali ->lepturus : lepturus ->julianae : julianae ->durangae : durangae ->x : veraecrucis ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->lavali : lavali ->lepturus : lepturus ->julianae : julianae ->durangae : durangae +>albifrons : () => rionegrensis.veraecrucis +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>lavali : unknown +>lepturus : lavali.lepturus +>julianae : unknown +>durangae : julianae.durangae +>x : rionegrensis.veraecrucis +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>lavali : unknown +>lepturus : lavali.lepturus +>julianae : unknown +>durangae : julianae.durangae >() => { var y = this; } : () => void >y : dauricus >this : dauricus ->x : veraecrucis +>x : rionegrensis.veraecrucis jacobitus() : caurinus.johorensis>> { var x : caurinus.johorensis>>; () => { var y = this; }; return x; } ->jacobitus : () => johorensis>> ->caurinus : caurinus ->johorensis : johorensis ->macrorhinos : macrorhinos ->konganensis : konganensis ->caurinus : caurinus ->johorensis : johorensis ->argurus : argurus +>jacobitus : () => caurinus.johorensis>> +>caurinus : unknown +>johorensis : caurinus.johorensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>caurinus : unknown +>johorensis : caurinus.johorensis +>argurus : unknown >peninsulae : peninsulae ->daubentonii : daubentonii ->arboreus : arboreus ->argurus : argurus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>argurus : unknown >germaini : germaini ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : johorensis>> ->caurinus : caurinus ->johorensis : johorensis ->macrorhinos : macrorhinos ->konganensis : konganensis ->caurinus : caurinus ->johorensis : johorensis ->argurus : argurus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : caurinus.johorensis>> +>caurinus : unknown +>johorensis : caurinus.johorensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>caurinus : unknown +>johorensis : caurinus.johorensis +>argurus : unknown >peninsulae : peninsulae ->daubentonii : daubentonii ->arboreus : arboreus ->argurus : argurus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>argurus : unknown >germaini : germaini ->sagitta : sagitta ->stolzmanni : stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : dauricus >this : dauricus ->x : johorensis>> +>x : caurinus.johorensis>> guentheri() : rendalli.moojeni { var x : rendalli.moojeni; () => { var y = this; }; return x; } ->guentheri : () => moojeni ->rendalli : rendalli ->moojeni : moojeni ->lutreolus : lutreolus ->foina : foina ->argurus : argurus +>guentheri : () => rendalli.moojeni +>rendalli : unknown +>moojeni : rendalli.moojeni +>lutreolus : unknown +>foina : lutreolus.foina +>argurus : unknown >oreas : oreas ->x : moojeni ->rendalli : rendalli ->moojeni : moojeni ->lutreolus : lutreolus ->foina : foina ->argurus : argurus +>x : rendalli.moojeni +>rendalli : unknown +>moojeni : rendalli.moojeni +>lutreolus : unknown +>foina : lutreolus.foina +>argurus : unknown >oreas : oreas >() => { var y = this; } : () => void >y : dauricus >this : dauricus ->x : moojeni +>x : rendalli.moojeni mahomet() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->mahomet : () => ciliolabrum ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->argurus : argurus +>mahomet : () => imperfecta.ciliolabrum +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>argurus : unknown >germaini : germaini ->lutreolus : lutreolus ->foina : foina ->x : ciliolabrum ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->argurus : argurus +>lutreolus : unknown +>foina : lutreolus.foina +>x : imperfecta.ciliolabrum +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>argurus : unknown >germaini : germaini ->lutreolus : lutreolus ->foina : foina +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : dauricus >this : dauricus ->x : ciliolabrum +>x : imperfecta.ciliolabrum misionensis() : macrorhinos.marmosurus, gabriellae.echinatus> { var x : macrorhinos.marmosurus, gabriellae.echinatus>; () => { var y = this; }; return x; } ->misionensis : () => marmosurus, echinatus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->gabriellae : gabriellae ->echinatus : echinatus ->x : marmosurus, echinatus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->gabriellae : gabriellae ->echinatus : echinatus +>misionensis : () => macrorhinos.marmosurus, gabriellae.echinatus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : macrorhinos.marmosurus, gabriellae.echinatus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : dauricus >this : dauricus ->x : marmosurus, echinatus> +>x : macrorhinos.marmosurus, gabriellae.echinatus> } } module nigra { @@ -5462,196 +5462,196 @@ module nigra { >T1 : T1 solomonis() : panglima.abidi, argurus.netscheri, julianae.oralis>>> { var x : panglima.abidi, argurus.netscheri, julianae.oralis>>>; () => { var y = this; }; return x; } ->solomonis : () => abidi, netscheri, oralis>>> ->panglima : panglima ->abidi : abidi ->quasiater : quasiater ->carolinensis : carolinensis ->rendalli : rendalli ->crenulata : crenulata ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata ->argurus : argurus ->netscheri : netscheri ->minutus : minutus ->inez : inez ->argurus : argurus ->peninsulae : peninsulae ->julianae : julianae ->nudicaudus : nudicaudus ->julianae : julianae ->oralis : oralis ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas ->x : abidi, netscheri, oralis>>> ->panglima : panglima ->abidi : abidi ->quasiater : quasiater ->carolinensis : carolinensis ->rendalli : rendalli ->crenulata : crenulata ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata ->argurus : argurus ->netscheri : netscheri ->minutus : minutus ->inez : inez ->argurus : argurus ->peninsulae : peninsulae ->julianae : julianae ->nudicaudus : nudicaudus ->julianae : julianae ->oralis : oralis ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas +>solomonis : () => panglima.abidi, argurus.netscheri, julianae.oralis>>> +>panglima : unknown +>abidi : panglima.abidi +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rendalli : unknown +>crenulata : rendalli.crenulata +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata +>argurus : unknown +>netscheri : argurus.netscheri +>minutus : unknown +>inez : minutus.inez +>argurus : unknown +>peninsulae : argurus.peninsulae +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>julianae : unknown +>oralis : julianae.oralis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas +>x : panglima.abidi, argurus.netscheri, julianae.oralis>>> +>panglima : unknown +>abidi : panglima.abidi +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rendalli : unknown +>crenulata : rendalli.crenulata +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata +>argurus : unknown +>netscheri : argurus.netscheri +>minutus : unknown +>inez : minutus.inez +>argurus : unknown +>peninsulae : argurus.peninsulae +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>julianae : unknown +>oralis : julianae.oralis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : dolichurus >this : dolichurus ->x : abidi, netscheri, oralis>>> +>x : panglima.abidi, argurus.netscheri, julianae.oralis>>> alfredi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->alfredi : () => psilurus ->caurinus : caurinus ->psilurus : psilurus ->x : psilurus ->caurinus : caurinus ->psilurus : psilurus +>alfredi : () => caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : dolichurus >this : dolichurus ->x : psilurus +>x : caurinus.psilurus morrisi() : ruatanica.hector, quasiater.wattsi>>> { var x : ruatanica.hector, quasiater.wattsi>>>; () => { var y = this; }; return x; } ->morrisi : () => hector, wattsi>>> ->ruatanica : ruatanica ->hector : hector ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->sagitta : sagitta ->cinereus : cinereus ->nigra : nigra +>morrisi : () => ruatanica.hector, quasiater.wattsi>>> +>ruatanica : unknown +>hector : ruatanica.hector +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>sagitta : unknown +>cinereus : sagitta.cinereus +>nigra : unknown >caucasica : caucasica ->julianae : julianae ->sumatrana : sumatrana ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->galapagoensis : galapagoensis ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : hector, wattsi>>> ->ruatanica : ruatanica ->hector : hector ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->sagitta : sagitta ->cinereus : cinereus ->nigra : nigra +>julianae : unknown +>sumatrana : julianae.sumatrana +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : ruatanica.hector, quasiater.wattsi>>> +>ruatanica : unknown +>hector : ruatanica.hector +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>sagitta : unknown +>cinereus : sagitta.cinereus +>nigra : unknown >caucasica : caucasica ->julianae : julianae ->sumatrana : sumatrana ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->galapagoensis : galapagoensis ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis +>julianae : unknown +>sumatrana : julianae.sumatrana +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : dolichurus >this : dolichurus ->x : hector, wattsi>>> +>x : ruatanica.hector, quasiater.wattsi>>> lekaguli() : Lanthanum.nitidus { var x : Lanthanum.nitidus; () => { var y = this; }; return x; } ->lekaguli : () => nitidus ->Lanthanum : Lanthanum ->nitidus : nitidus ->dammermani : dammermani ->melanops : melanops ->lavali : lavali ->lepturus : lepturus ->x : nitidus ->Lanthanum : Lanthanum ->nitidus : nitidus ->dammermani : dammermani ->melanops : melanops ->lavali : lavali ->lepturus : lepturus +>lekaguli : () => Lanthanum.nitidus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>dammermani : unknown +>melanops : dammermani.melanops +>lavali : unknown +>lepturus : lavali.lepturus +>x : Lanthanum.nitidus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>dammermani : unknown +>melanops : dammermani.melanops +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : dolichurus >this : dolichurus ->x : nitidus +>x : Lanthanum.nitidus dimissus() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->dimissus : () => subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus +>dimissus : () => imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : dolichurus >this : dolichurus ->x : subspinosus +>x : imperfecta.subspinosus phaeotis() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; } ->phaeotis : () => sumatrana ->julianae : julianae ->sumatrana : sumatrana ->x : sumatrana ->julianae : julianae ->sumatrana : sumatrana +>phaeotis : () => julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : dolichurus >this : dolichurus ->x : sumatrana +>x : julianae.sumatrana ustus() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; } ->ustus : () => acariensis ->julianae : julianae ->acariensis : acariensis ->x : acariensis ->julianae : julianae ->acariensis : acariensis +>ustus : () => julianae.acariensis +>julianae : unknown +>acariensis : julianae.acariensis +>x : julianae.acariensis +>julianae : unknown +>acariensis : julianae.acariensis >() => { var y = this; } : () => void >y : dolichurus >this : dolichurus ->x : acariensis +>x : julianae.acariensis sagei() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->sagei : () => marcanoi ->howi : howi ->marcanoi : marcanoi ->x : marcanoi ->howi : howi ->marcanoi : marcanoi +>sagei : () => howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi +>x : howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : dolichurus >this : dolichurus ->x : marcanoi +>x : howi.marcanoi } } module panglima { @@ -5661,334 +5661,334 @@ module panglima { >amphibius : amphibius >T0 : T0 >T1 : T1 ->caurinus : caurinus ->johorensis : johorensis ->Lanthanum : Lanthanum ->nitidus : nitidus ->petrophilus : petrophilus ->minutilla : minutilla ->julianae : julianae ->sumatrana : sumatrana ->Lanthanum : Lanthanum ->jugularis : jugularis +>caurinus : unknown +>johorensis : caurinus.johorensis +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>julianae : unknown +>sumatrana : julianae.sumatrana +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis bottegi(): macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni> { var x: macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>; () => { var y = this; }; return x; } ->bottegi : () => marmosurus, echinatus>, stolzmanni> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->rendalli : rendalli ->moojeni : moojeni +>bottegi : () => macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>rendalli : unknown +>moojeni : rendalli.moojeni >amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : marmosurus, echinatus>, stolzmanni> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->rendalli : rendalli ->moojeni : moojeni +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>rendalli : unknown +>moojeni : rendalli.moojeni >amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->sagitta : sagitta ->stolzmanni : stolzmanni +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : amphibius >this : amphibius ->x : marmosurus, echinatus>, stolzmanni> +>x : macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni> jerdoni(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->jerdoni : () => daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>jerdoni : () => macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : amphibius >this : amphibius ->x : daphaenodon +>x : macrorhinos.daphaenodon camtschatica(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->camtschatica : () => pallidus ->samarensis : samarensis ->pallidus : pallidus ->x : pallidus ->samarensis : samarensis ->pallidus : pallidus +>camtschatica : () => samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : amphibius >this : amphibius ->x : pallidus +>x : samarensis.pallidus spadix(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->spadix : () => sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->macrorhinos : macrorhinos ->konganensis : konganensis ->caurinus : caurinus ->psilurus : psilurus ->x : sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->macrorhinos : macrorhinos ->konganensis : konganensis ->caurinus : caurinus ->psilurus : psilurus +>spadix : () => petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : amphibius >this : amphibius ->x : sodyi +>x : petrophilus.sodyi luismanueli(): rendalli.moojeni { var x: rendalli.moojeni; () => { var y = this; }; return x; } ->luismanueli : () => moojeni ->rendalli : rendalli ->moojeni : moojeni ->julianae : julianae ->sumatrana : sumatrana ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : moojeni ->rendalli : rendalli ->moojeni : moojeni ->julianae : julianae ->sumatrana : sumatrana ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>luismanueli : () => rendalli.moojeni +>rendalli : unknown +>moojeni : rendalli.moojeni +>julianae : unknown +>sumatrana : julianae.sumatrana +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : rendalli.moojeni +>rendalli : unknown +>moojeni : rendalli.moojeni +>julianae : unknown +>sumatrana : julianae.sumatrana +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : amphibius >this : amphibius ->x : moojeni +>x : rendalli.moojeni aceramarcae(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->aceramarcae : () => arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->julianae : julianae ->nudicaudus : nudicaudus ->julianae : julianae ->steerii : steerii ->x : arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->julianae : julianae ->nudicaudus : nudicaudus ->julianae : julianae ->steerii : steerii +>aceramarcae : () => daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>julianae : unknown +>steerii : julianae.steerii +>x : daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : amphibius >this : amphibius ->x : arboreus +>x : daubentonii.arboreus } export class fundatus extends lutreolus.schlegeli { >fundatus : fundatus >T0 : T0 >T1 : T1 ->lutreolus : lutreolus ->schlegeli : schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli crassulus(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->crassulus : () => gracilis ->nigra : nigra ->gracilis : gracilis ->provocax : provocax ->melanoleuca : melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca ->x : gracilis ->nigra : nigra ->gracilis : gracilis ->provocax : provocax ->melanoleuca : melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca +>crassulus : () => nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : fundatus >this : fundatus ->x : gracilis +>x : nigra.gracilis flamarioni(): imperfecta.lasiurus>, sagitta.leptoceros>> { var x: imperfecta.lasiurus>, sagitta.leptoceros>>; () => { var y = this; }; return x; } ->flamarioni : () => lasiurus>, leptoceros>> ->imperfecta : imperfecta ->lasiurus : lasiurus +>flamarioni : () => imperfecta.lasiurus>, sagitta.leptoceros>> +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus >amphibius : amphibius ->patas : patas ->uralensis : uralensis ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata ->sagitta : sagitta ->leptoceros : leptoceros ->lutreolus : lutreolus ->punicus : punicus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : lasiurus>, leptoceros>> ->imperfecta : imperfecta ->lasiurus : lasiurus +>patas : unknown +>uralensis : patas.uralensis +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata +>sagitta : unknown +>leptoceros : sagitta.leptoceros +>lutreolus : unknown +>punicus : lutreolus.punicus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : imperfecta.lasiurus>, sagitta.leptoceros>> +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus >amphibius : amphibius ->patas : patas ->uralensis : uralensis ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata ->sagitta : sagitta ->leptoceros : leptoceros ->lutreolus : lutreolus ->punicus : punicus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer +>patas : unknown +>uralensis : patas.uralensis +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata +>sagitta : unknown +>leptoceros : sagitta.leptoceros +>lutreolus : unknown +>punicus : lutreolus.punicus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : fundatus >this : fundatus ->x : lasiurus>, leptoceros>> +>x : imperfecta.lasiurus>, sagitta.leptoceros>> mirabilis(): macrorhinos.marmosurus, lavali.lepturus> { var x: macrorhinos.marmosurus, lavali.lepturus>; () => { var y = this; }; return x; } ->mirabilis : () => marmosurus, lepturus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->petrophilus : petrophilus ->rosalia : rosalia ->julianae : julianae ->steerii : steerii ->lavali : lavali ->beisa : beisa ->lavali : lavali ->lepturus : lepturus ->x : marmosurus, lepturus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->petrophilus : petrophilus ->rosalia : rosalia ->julianae : julianae ->steerii : steerii ->lavali : lavali ->beisa : beisa ->lavali : lavali ->lepturus : lepturus +>mirabilis : () => macrorhinos.marmosurus, lavali.lepturus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>julianae : unknown +>steerii : julianae.steerii +>lavali : unknown +>beisa : lavali.beisa +>lavali : unknown +>lepturus : lavali.lepturus +>x : macrorhinos.marmosurus, lavali.lepturus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>julianae : unknown +>steerii : julianae.steerii +>lavali : unknown +>beisa : lavali.beisa +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : fundatus >this : fundatus ->x : marmosurus, lepturus> +>x : macrorhinos.marmosurus, lavali.lepturus> } export class abidi extends argurus.dauricus { >abidi : abidi >T0 : T0 >T1 : T1 ->argurus : argurus ->dauricus : dauricus ->argurus : argurus ->germaini : germaini ->julianae : julianae ->durangae : durangae +>argurus : unknown +>dauricus : argurus.dauricus +>argurus : unknown +>germaini : argurus.germaini +>julianae : unknown +>durangae : julianae.durangae greyii(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->greyii : () => oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>greyii : () => trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : abidi >this : abidi ->x : oconnelli +>x : trivirgatus.oconnelli macedonicus(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->macedonicus : () => minutilla ->petrophilus : petrophilus ->minutilla : minutilla ->x : minutilla ->petrophilus : petrophilus ->minutilla : minutilla +>macedonicus : () => petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>x : petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla >() => { var y = this; } : () => void >y : abidi >this : abidi ->x : minutilla +>x : petrophilus.minutilla galili(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->galili : () => cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->dammermani : dammermani ->melanops : melanops ->samarensis : samarensis ->pallidus : pallidus ->x : cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->dammermani : dammermani ->melanops : melanops ->samarensis : samarensis ->pallidus : pallidus +>galili : () => samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>dammermani : unknown +>melanops : dammermani.melanops +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>dammermani : unknown +>melanops : dammermani.melanops +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : abidi >this : abidi ->x : cahirinus +>x : samarensis.cahirinus thierryi(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->thierryi : () => robustulus ->dogramacii : dogramacii ->robustulus : robustulus ->x : robustulus ->dogramacii : dogramacii ->robustulus : robustulus +>thierryi : () => dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : abidi >this : abidi ->x : robustulus +>x : dogramacii.robustulus ega(): imperfecta.lasiurus> { var x: imperfecta.lasiurus>; () => { var y = this; }; return x; } ->ega : () => lasiurus> ->imperfecta : imperfecta ->lasiurus : lasiurus ->julianae : julianae ->acariensis : acariensis ->howi : howi ->coludo : coludo ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi ->x : lasiurus> ->imperfecta : imperfecta ->lasiurus : lasiurus ->julianae : julianae ->acariensis : acariensis ->howi : howi ->coludo : coludo ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi +>ega : () => imperfecta.lasiurus> +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>julianae : unknown +>acariensis : julianae.acariensis +>howi : unknown +>coludo : howi.coludo +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi +>x : imperfecta.lasiurus> +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>julianae : unknown +>acariensis : julianae.acariensis +>howi : unknown +>coludo : howi.coludo +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : abidi >this : abidi ->x : lasiurus> +>x : imperfecta.lasiurus> } } module quasiater { @@ -5998,112 +5998,112 @@ module quasiater { >carolinensis : carolinensis concinna(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->concinna : () => zuluensis ->rendalli : rendalli ->zuluensis : zuluensis ->x : zuluensis ->rendalli : rendalli ->zuluensis : zuluensis +>concinna : () => rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>x : rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis >() => { var y = this; } : () => void >y : carolinensis >this : carolinensis ->x : zuluensis +>x : rendalli.zuluensis aeneus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->aeneus : () => marcanoi ->howi : howi ->marcanoi : marcanoi ->x : marcanoi ->howi : howi ->marcanoi : marcanoi +>aeneus : () => howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi +>x : howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : carolinensis >this : carolinensis ->x : marcanoi +>x : howi.marcanoi aloysiisabaudiae(): argurus.netscheri, lavali.lepturus> { var x: argurus.netscheri, lavali.lepturus>; () => { var y = this; }; return x; } ->aloysiisabaudiae : () => netscheri, lepturus> ->argurus : argurus ->netscheri : netscheri ->trivirgatus : trivirgatus ->lotor : lotor ->argurus : argurus ->oreas : oreas ->lavali : lavali ->beisa : beisa ->lavali : lavali ->lepturus : lepturus ->x : netscheri, lepturus> ->argurus : argurus ->netscheri : netscheri ->trivirgatus : trivirgatus ->lotor : lotor ->argurus : argurus ->oreas : oreas ->lavali : lavali ->beisa : beisa ->lavali : lavali ->lepturus : lepturus +>aloysiisabaudiae : () => argurus.netscheri, lavali.lepturus> +>argurus : unknown +>netscheri : argurus.netscheri +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>argurus : unknown +>oreas : argurus.oreas +>lavali : unknown +>beisa : lavali.beisa +>lavali : unknown +>lepturus : lavali.lepturus +>x : argurus.netscheri, lavali.lepturus> +>argurus : unknown +>netscheri : argurus.netscheri +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>argurus : unknown +>oreas : argurus.oreas +>lavali : unknown +>beisa : lavali.beisa +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : carolinensis >this : carolinensis ->x : netscheri, lepturus> +>x : argurus.netscheri, lavali.lepturus> tenellus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->tenellus : () => nudicaudus ->julianae : julianae ->nudicaudus : nudicaudus ->x : nudicaudus ->julianae : julianae ->nudicaudus : nudicaudus +>tenellus : () => julianae.nudicaudus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>x : julianae.nudicaudus +>julianae : unknown +>nudicaudus : julianae.nudicaudus >() => { var y = this; } : () => void >y : carolinensis >this : carolinensis ->x : nudicaudus +>x : julianae.nudicaudus andium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->andium : () => beisa ->lavali : lavali ->beisa : beisa ->x : beisa ->lavali : lavali ->beisa : beisa +>andium : () => lavali.beisa +>lavali : unknown +>beisa : lavali.beisa +>x : lavali.beisa +>lavali : unknown +>beisa : lavali.beisa >() => { var y = this; } : () => void >y : carolinensis >this : carolinensis ->x : beisa +>x : lavali.beisa persephone(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->persephone : () => fundatus ->panglima : panglima ->fundatus : fundatus ->samarensis : samarensis ->pallidus : pallidus ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : fundatus ->panglima : panglima ->fundatus : fundatus ->samarensis : samarensis ->pallidus : pallidus ->sagitta : sagitta ->stolzmanni : stolzmanni +>persephone : () => panglima.fundatus +>panglima : unknown +>fundatus : panglima.fundatus +>samarensis : unknown +>pallidus : samarensis.pallidus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : panglima.fundatus +>panglima : unknown +>fundatus : panglima.fundatus +>samarensis : unknown +>pallidus : samarensis.pallidus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : carolinensis >this : carolinensis ->x : fundatus +>x : panglima.fundatus patrizii(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->patrizii : () => megalonyx ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->x : megalonyx ->Lanthanum : Lanthanum ->megalonyx : megalonyx +>patrizii : () => Lanthanum.megalonyx +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>x : Lanthanum.megalonyx +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx >() => { var y = this; } : () => void >y : carolinensis >this : carolinensis ->x : megalonyx +>x : Lanthanum.megalonyx } } module minutus { @@ -6113,240 +6113,240 @@ module minutus { >himalayana : himalayana >T0 : T0 >T1 : T1 ->lutreolus : lutreolus ->punicus : punicus +>lutreolus : unknown +>punicus : lutreolus.punicus simoni(): argurus.netscheri> { var x: argurus.netscheri>; () => { var y = this; }; return x; } ->simoni : () => netscheri> ->argurus : argurus ->netscheri : netscheri ->lavali : lavali ->lepturus : lepturus ->argurus : argurus ->dauricus : dauricus ->argurus : argurus ->oreas : oreas ->quasiater : quasiater ->carolinensis : carolinensis ->x : netscheri> ->argurus : argurus ->netscheri : netscheri ->lavali : lavali ->lepturus : lepturus ->argurus : argurus ->dauricus : dauricus ->argurus : argurus ->oreas : oreas ->quasiater : quasiater ->carolinensis : carolinensis +>simoni : () => argurus.netscheri> +>argurus : unknown +>netscheri : argurus.netscheri +>lavali : unknown +>lepturus : lavali.lepturus +>argurus : unknown +>dauricus : argurus.dauricus +>argurus : unknown +>oreas : argurus.oreas +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : argurus.netscheri> +>argurus : unknown +>netscheri : argurus.netscheri +>lavali : unknown +>lepturus : lavali.lepturus +>argurus : unknown +>dauricus : argurus.dauricus +>argurus : unknown +>oreas : argurus.oreas +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : netscheri> +>x : argurus.netscheri> lobata(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->lobata : () => pallidus ->samarensis : samarensis ->pallidus : pallidus ->x : pallidus ->samarensis : samarensis ->pallidus : pallidus +>lobata : () => samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : pallidus +>x : samarensis.pallidus rusticus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->rusticus : () => aurata ->dogramacii : dogramacii ->aurata : aurata ->x : aurata ->dogramacii : dogramacii ->aurata : aurata +>rusticus : () => dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : aurata +>x : dogramacii.aurata latona(): daubentonii.nesiotes { var x: daubentonii.nesiotes; () => { var y = this; }; return x; } ->latona : () => nesiotes ->daubentonii : daubentonii ->nesiotes : nesiotes ->dammermani : dammermani ->melanops : melanops ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->x : nesiotes ->daubentonii : daubentonii ->nesiotes : nesiotes ->dammermani : dammermani ->melanops : melanops ->Lanthanum : Lanthanum ->megalonyx : megalonyx +>latona : () => daubentonii.nesiotes +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>dammermani : unknown +>melanops : dammermani.melanops +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>x : daubentonii.nesiotes +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>dammermani : unknown +>melanops : dammermani.melanops +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : nesiotes +>x : daubentonii.nesiotes famulus(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->famulus : () => uralensis ->patas : patas ->uralensis : uralensis ->x : uralensis ->patas : patas ->uralensis : uralensis +>famulus : () => patas.uralensis +>patas : unknown +>uralensis : patas.uralensis +>x : patas.uralensis +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : uralensis +>x : patas.uralensis flaviceps(): minutus.inez> { var x: minutus.inez>; () => { var y = this; }; return x; } ->flaviceps : () => inez> ->minutus : minutus +>flaviceps : () => inez> +>minutus : unknown >inez : inez ->argurus : argurus ->oreas : oreas ->panglima : panglima ->fundatus : fundatus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus ->foina : foina ->x : inez> ->minutus : minutus +>argurus : unknown +>oreas : argurus.oreas +>panglima : unknown +>fundatus : panglima.fundatus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown +>foina : lutreolus.foina +>x : inez> +>minutus : unknown >inez : inez ->argurus : argurus ->oreas : oreas ->panglima : panglima ->fundatus : fundatus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus ->foina : foina +>argurus : unknown +>oreas : argurus.oreas +>panglima : unknown +>fundatus : panglima.fundatus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : inez> +>x : inez> paradoxolophus(): nigra.dolichurus> { var x: nigra.dolichurus>; () => { var y = this; }; return x; } ->paradoxolophus : () => dolichurus> ->nigra : nigra ->dolichurus : dolichurus ->lutreolus : lutreolus ->schlegeli : schlegeli ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : dolichurus> ->nigra : nigra ->dolichurus : dolichurus ->lutreolus : lutreolus ->schlegeli : schlegeli ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus +>paradoxolophus : () => nigra.dolichurus> +>nigra : unknown +>dolichurus : nigra.dolichurus +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : nigra.dolichurus> +>nigra : unknown +>dolichurus : nigra.dolichurus +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : dolichurus> +>x : nigra.dolichurus> Osmium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->Osmium : () => wilsoni ->lavali : lavali ->wilsoni : wilsoni ->x : wilsoni ->lavali : lavali ->wilsoni : wilsoni +>Osmium : () => lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : wilsoni +>x : lavali.wilsoni vulgaris(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->vulgaris : () => nitidus ->Lanthanum : Lanthanum ->nitidus : nitidus ->lavali : lavali ->lepturus : lepturus ->julianae : julianae ->acariensis : acariensis ->x : nitidus ->Lanthanum : Lanthanum ->nitidus : nitidus ->lavali : lavali ->lepturus : lepturus ->julianae : julianae ->acariensis : acariensis +>vulgaris : () => Lanthanum.nitidus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>lavali : unknown +>lepturus : lavali.lepturus +>julianae : unknown +>acariensis : julianae.acariensis +>x : Lanthanum.nitidus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>lavali : unknown +>lepturus : lavali.lepturus +>julianae : unknown +>acariensis : julianae.acariensis >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : nitidus +>x : Lanthanum.nitidus betsileoensis(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->betsileoensis : () => amphibius ->panglima : panglima ->amphibius : amphibius ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->lepturus : lepturus ->x : amphibius ->panglima : panglima ->amphibius : amphibius ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->lepturus : lepturus +>betsileoensis : () => panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>lepturus : lavali.lepturus +>x : panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : amphibius +>x : panglima.amphibius vespuccii(): argurus.gilbertii, provocax.melanoleuca> { var x: argurus.gilbertii, provocax.melanoleuca>; () => { var y = this; }; return x; } ->vespuccii : () => gilbertii, melanoleuca> ->argurus : argurus ->gilbertii : gilbertii ->gabriellae : gabriellae ->klossii : klossii ->macrorhinos : macrorhinos ->konganensis : konganensis ->quasiater : quasiater ->carolinensis : carolinensis ->provocax : provocax ->melanoleuca : melanoleuca ->x : gilbertii, melanoleuca> ->argurus : argurus ->gilbertii : gilbertii ->gabriellae : gabriellae ->klossii : klossii ->macrorhinos : macrorhinos ->konganensis : konganensis ->quasiater : quasiater ->carolinensis : carolinensis ->provocax : provocax ->melanoleuca : melanoleuca +>vespuccii : () => argurus.gilbertii, provocax.melanoleuca> +>argurus : unknown +>gilbertii : argurus.gilbertii +>gabriellae : unknown +>klossii : gabriellae.klossii +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : argurus.gilbertii, provocax.melanoleuca> +>argurus : unknown +>gilbertii : argurus.gilbertii +>gabriellae : unknown +>klossii : gabriellae.klossii +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : gilbertii, melanoleuca> +>x : argurus.gilbertii, provocax.melanoleuca> olympus(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->olympus : () => megalonyx ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->x : megalonyx ->Lanthanum : Lanthanum ->megalonyx : megalonyx +>olympus : () => Lanthanum.megalonyx +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>x : Lanthanum.megalonyx +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx >() => { var y = this; } : () => void >y : himalayana >this : himalayana ->x : megalonyx +>x : Lanthanum.megalonyx } } module caurinus { @@ -6356,204 +6356,204 @@ module caurinus { >mahaganus : mahaganus >T0 : T0 >T1 : T1 ->panglima : panglima ->fundatus : fundatus ->quasiater : quasiater ->carolinensis : carolinensis ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>panglima : unknown +>fundatus : panglima.fundatus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon martiniquensis(): ruatanica.hector>> { var x: ruatanica.hector>>; () => { var y = this; }; return x; } ->martiniquensis : () => hector>> ->ruatanica : ruatanica ->hector : hector ->julianae : julianae ->sumatrana : sumatrana ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->dammermani : dammermani ->melanops : melanops ->caurinus : caurinus +>martiniquensis : () => ruatanica.hector>> +>ruatanica : unknown +>hector : ruatanica.hector +>julianae : unknown +>sumatrana : julianae.sumatrana +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>dammermani : unknown +>melanops : dammermani.melanops +>caurinus : unknown >mahaganus : mahaganus ->julianae : julianae ->nudicaudus : nudicaudus ->lavali : lavali ->otion : otion ->x : hector>> ->ruatanica : ruatanica ->hector : hector ->julianae : julianae ->sumatrana : sumatrana ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->dammermani : dammermani ->melanops : melanops ->caurinus : caurinus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>lavali : unknown +>otion : lavali.otion +>x : ruatanica.hector>> +>ruatanica : unknown +>hector : ruatanica.hector +>julianae : unknown +>sumatrana : julianae.sumatrana +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>dammermani : unknown +>melanops : dammermani.melanops +>caurinus : unknown >mahaganus : mahaganus ->julianae : julianae ->nudicaudus : nudicaudus ->lavali : lavali ->otion : otion +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>lavali : unknown +>otion : lavali.otion >() => { var y = this; } : () => void >y : mahaganus >this : mahaganus ->x : hector>> +>x : ruatanica.hector>> devius(): samarensis.pelurus, trivirgatus.falconeri>> { var x: samarensis.pelurus, trivirgatus.falconeri>>; () => { var y = this; }; return x; } ->devius : () => pelurus, falconeri>> ->samarensis : samarensis ->pelurus : pelurus ->dogramacii : dogramacii ->aurata : aurata ->minutus : minutus ->inez : inez ->minutus : minutus ->inez : inez ->sagitta : sagitta ->stolzmanni : stolzmanni ->dammermani : dammermani ->melanops : melanops ->trivirgatus : trivirgatus ->falconeri : falconeri ->x : pelurus, falconeri>> ->samarensis : samarensis ->pelurus : pelurus ->dogramacii : dogramacii ->aurata : aurata ->minutus : minutus ->inez : inez ->minutus : minutus ->inez : inez ->sagitta : sagitta ->stolzmanni : stolzmanni ->dammermani : dammermani ->melanops : melanops ->trivirgatus : trivirgatus ->falconeri : falconeri +>devius : () => samarensis.pelurus, trivirgatus.falconeri>> +>samarensis : unknown +>pelurus : samarensis.pelurus +>dogramacii : unknown +>aurata : dogramacii.aurata +>minutus : unknown +>inez : minutus.inez +>minutus : unknown +>inez : minutus.inez +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>dammermani : unknown +>melanops : dammermani.melanops +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>x : samarensis.pelurus, trivirgatus.falconeri>> +>samarensis : unknown +>pelurus : samarensis.pelurus +>dogramacii : unknown +>aurata : dogramacii.aurata +>minutus : unknown +>inez : minutus.inez +>minutus : unknown +>inez : minutus.inez +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>dammermani : unknown +>melanops : dammermani.melanops +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri >() => { var y = this; } : () => void >y : mahaganus >this : mahaganus ->x : pelurus, falconeri>> +>x : samarensis.pelurus, trivirgatus.falconeri>> masalai(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->masalai : () => oreas ->argurus : argurus ->oreas : oreas ->x : oreas ->argurus : argurus ->oreas : oreas +>masalai : () => argurus.oreas +>argurus : unknown +>oreas : argurus.oreas +>x : argurus.oreas +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : mahaganus >this : mahaganus ->x : oreas +>x : argurus.oreas kathleenae(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->kathleenae : () => dolichurus ->nigra : nigra ->dolichurus : dolichurus ->patas : patas ->uralensis : uralensis ->caurinus : caurinus +>kathleenae : () => nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>patas : unknown +>uralensis : patas.uralensis +>caurinus : unknown >psilurus : psilurus ->x : dolichurus ->nigra : nigra ->dolichurus : dolichurus ->patas : patas ->uralensis : uralensis ->caurinus : caurinus +>x : nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>patas : unknown +>uralensis : patas.uralensis +>caurinus : unknown >psilurus : psilurus >() => { var y = this; } : () => void >y : mahaganus >this : mahaganus ->x : dolichurus +>x : nigra.dolichurus simulus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->simulus : () => echinatus ->gabriellae : gabriellae ->echinatus : echinatus ->x : echinatus ->gabriellae : gabriellae ->echinatus : echinatus +>simulus : () => gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : mahaganus >this : mahaganus ->x : echinatus +>x : gabriellae.echinatus nigrovittatus(): caurinus.mahaganus>> { var x: caurinus.mahaganus>>; () => { var y = this; }; return x; } ->nigrovittatus : () => mahaganus>> ->caurinus : caurinus +>nigrovittatus : () => mahaganus>> +>caurinus : unknown >mahaganus : mahaganus ->gabriellae : gabriellae ->echinatus : echinatus ->petrophilus : petrophilus ->rosalia : rosalia ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->kaiseri : kaiseri ->lavali : lavali ->wilsoni : wilsoni ->x : mahaganus>> ->caurinus : caurinus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : mahaganus>> +>caurinus : unknown >mahaganus : mahaganus ->gabriellae : gabriellae ->echinatus : echinatus ->petrophilus : petrophilus ->rosalia : rosalia ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->kaiseri : kaiseri ->lavali : lavali ->wilsoni : wilsoni +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : mahaganus >this : mahaganus ->x : mahaganus>> +>x : mahaganus>> senegalensis(): gabriellae.klossii, dammermani.melanops> { var x: gabriellae.klossii, dammermani.melanops>; () => { var y = this; }; return x; } ->senegalensis : () => klossii, melanops> ->gabriellae : gabriellae ->klossii : klossii ->howi : howi ->coludo : coludo ->lavali : lavali ->lepturus : lepturus ->lutreolus : lutreolus ->punicus : punicus ->dammermani : dammermani ->melanops : melanops ->x : klossii, melanops> ->gabriellae : gabriellae ->klossii : klossii ->howi : howi ->coludo : coludo ->lavali : lavali ->lepturus : lepturus ->lutreolus : lutreolus ->punicus : punicus ->dammermani : dammermani ->melanops : melanops +>senegalensis : () => gabriellae.klossii, dammermani.melanops> +>gabriellae : unknown +>klossii : gabriellae.klossii +>howi : unknown +>coludo : howi.coludo +>lavali : unknown +>lepturus : lavali.lepturus +>lutreolus : unknown +>punicus : lutreolus.punicus +>dammermani : unknown +>melanops : dammermani.melanops +>x : gabriellae.klossii, dammermani.melanops> +>gabriellae : unknown +>klossii : gabriellae.klossii +>howi : unknown +>coludo : howi.coludo +>lavali : unknown +>lepturus : lavali.lepturus +>lutreolus : unknown +>punicus : lutreolus.punicus +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : mahaganus >this : mahaganus ->x : klossii, melanops> +>x : gabriellae.klossii, dammermani.melanops> acticola(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->acticola : () => luctuosa ->argurus : argurus ->luctuosa : luctuosa ->x : luctuosa ->argurus : argurus ->luctuosa : luctuosa +>acticola : () => argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : mahaganus >this : mahaganus ->x : luctuosa +>x : argurus.luctuosa } } module macrorhinos { @@ -6565,16 +6565,16 @@ module macrorhinos { >T1 : T1 tansaniana(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->tansaniana : () => punicus ->lutreolus : lutreolus ->punicus : punicus ->x : punicus ->lutreolus : lutreolus ->punicus : punicus +>tansaniana : () => lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : marmosurus >this : marmosurus ->x : punicus +>x : lutreolus.punicus } } module howi { @@ -6584,15 +6584,15 @@ module howi { >angulatus : angulatus >T0 : T0 >T1 : T1 ->sagitta : sagitta ->stolzmanni : stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni pennatus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } >pennatus : () => marcanoi ->howi : howi +>howi : unknown >marcanoi : marcanoi >x : marcanoi ->howi : howi +>howi : unknown >marcanoi : marcanoi >() => { var y = this; } : () => void >y : angulatus @@ -6618,172 +6618,172 @@ module nigra { >T1 : T1 dichotomus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->dichotomus : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>dichotomus : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : thalia >this : thalia ->x : carolinensis +>x : quasiater.carolinensis arnuxii(): panamensis.linulus, lavali.beisa> { var x: panamensis.linulus, lavali.beisa>; () => { var y = this; }; return x; } ->arnuxii : () => linulus, beisa> ->panamensis : panamensis ->linulus : linulus ->trivirgatus : trivirgatus ->lotor : lotor ->argurus : argurus ->luctuosa : luctuosa ->lavali : lavali ->wilsoni : wilsoni ->lavali : lavali ->beisa : beisa ->x : linulus, beisa> ->panamensis : panamensis ->linulus : linulus ->trivirgatus : trivirgatus ->lotor : lotor ->argurus : argurus ->luctuosa : luctuosa ->lavali : lavali ->wilsoni : wilsoni ->lavali : lavali ->beisa : beisa +>arnuxii : () => panamensis.linulus, lavali.beisa> +>panamensis : unknown +>linulus : panamensis.linulus +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>argurus : unknown +>luctuosa : argurus.luctuosa +>lavali : unknown +>wilsoni : lavali.wilsoni +>lavali : unknown +>beisa : lavali.beisa +>x : panamensis.linulus, lavali.beisa> +>panamensis : unknown +>linulus : panamensis.linulus +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>argurus : unknown +>luctuosa : argurus.luctuosa +>lavali : unknown +>wilsoni : lavali.wilsoni +>lavali : unknown +>beisa : lavali.beisa >() => { var y = this; } : () => void >y : thalia >this : thalia ->x : linulus, beisa> +>x : panamensis.linulus, lavali.beisa> verheyeni(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->verheyeni : () => xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus ->x : xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus +>verheyeni : () => lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : thalia >this : thalia ->x : xanthognathus +>x : lavali.xanthognathus dauuricus(): gabriellae.amicus { var x: gabriellae.amicus; () => { var y = this; }; return x; } ->dauuricus : () => amicus ->gabriellae : gabriellae ->amicus : amicus ->x : amicus ->gabriellae : gabriellae ->amicus : amicus +>dauuricus : () => gabriellae.amicus +>gabriellae : unknown +>amicus : gabriellae.amicus +>x : gabriellae.amicus +>gabriellae : unknown +>amicus : gabriellae.amicus >() => { var y = this; } : () => void >y : thalia >this : thalia ->x : amicus +>x : gabriellae.amicus tristriatus(): rionegrensis.veraecrucis> { var x: rionegrensis.veraecrucis>; () => { var y = this; }; return x; } ->tristriatus : () => veraecrucis> ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->howi : howi ->marcanoi : marcanoi ->panamensis : panamensis ->linulus : linulus ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->howi : howi ->marcanoi : marcanoi ->x : veraecrucis> ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->howi : howi ->marcanoi : marcanoi ->panamensis : panamensis ->linulus : linulus ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->howi : howi ->marcanoi : marcanoi +>tristriatus : () => rionegrensis.veraecrucis> +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>howi : unknown +>marcanoi : howi.marcanoi +>panamensis : unknown +>linulus : panamensis.linulus +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>howi : unknown +>marcanoi : howi.marcanoi +>x : rionegrensis.veraecrucis> +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>howi : unknown +>marcanoi : howi.marcanoi +>panamensis : unknown +>linulus : panamensis.linulus +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : thalia >this : thalia ->x : veraecrucis> +>x : rionegrensis.veraecrucis> lasiura(): panglima.abidi>, Lanthanum.nitidus> { var x: panglima.abidi>, Lanthanum.nitidus>; () => { var y = this; }; return x; } ->lasiura : () => abidi>, nitidus> ->panglima : panglima ->abidi : abidi ->samarensis : samarensis ->fuscus : fuscus ->lavali : lavali ->wilsoni : wilsoni ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus ->Lanthanum : Lanthanum ->nitidus : nitidus ->lavali : lavali ->lepturus : lepturus ->julianae : julianae ->acariensis : acariensis ->x : abidi>, nitidus> ->panglima : panglima ->abidi : abidi ->samarensis : samarensis ->fuscus : fuscus ->lavali : lavali ->wilsoni : wilsoni ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus ->Lanthanum : Lanthanum ->nitidus : nitidus ->lavali : lavali ->lepturus : lepturus ->julianae : julianae ->acariensis : acariensis +>lasiura : () => panglima.abidi>, Lanthanum.nitidus> +>panglima : unknown +>abidi : panglima.abidi +>samarensis : unknown +>fuscus : samarensis.fuscus +>lavali : unknown +>wilsoni : lavali.wilsoni +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>lavali : unknown +>lepturus : lavali.lepturus +>julianae : unknown +>acariensis : julianae.acariensis +>x : panglima.abidi>, Lanthanum.nitidus> +>panglima : unknown +>abidi : panglima.abidi +>samarensis : unknown +>fuscus : samarensis.fuscus +>lavali : unknown +>wilsoni : lavali.wilsoni +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>lavali : unknown +>lepturus : lavali.lepturus +>julianae : unknown +>acariensis : julianae.acariensis >() => { var y = this; } : () => void >y : thalia >this : thalia ->x : abidi>, nitidus> +>x : panglima.abidi>, Lanthanum.nitidus> gangetica(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->gangetica : () => luctuosa ->argurus : argurus ->luctuosa : luctuosa ->x : luctuosa ->argurus : argurus ->luctuosa : luctuosa +>gangetica : () => argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : thalia >this : thalia ->x : luctuosa +>x : argurus.luctuosa brucei(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->brucei : () => sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->julianae : julianae ->steerii : steerii ->ruatanica : ruatanica ->americanus : americanus ->x : sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->julianae : julianae ->steerii : steerii ->ruatanica : ruatanica ->americanus : americanus +>brucei : () => chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>julianae : unknown +>steerii : julianae.steerii +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>julianae : unknown +>steerii : julianae.steerii +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : thalia >this : thalia ->x : sarasinorum +>x : chrysaeolus.sarasinorum } } module sagitta { @@ -6791,28 +6791,28 @@ module sagitta { export class walkeri extends minutus.portoricensis { >walkeri : walkeri ->minutus : minutus ->portoricensis : portoricensis +>minutus : unknown +>portoricensis : minutus.portoricensis maracajuensis(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->maracajuensis : () => cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->Lanthanum : Lanthanum ->jugularis : jugularis ->ruatanica : ruatanica ->americanus : americanus ->x : cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->Lanthanum : Lanthanum ->jugularis : jugularis ->ruatanica : ruatanica ->americanus : americanus +>maracajuensis : () => samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : walkeri >this : walkeri ->x : cahirinus +>x : samarensis.cahirinus } } module minutus { @@ -6822,32 +6822,32 @@ module minutus { >inez : inez >T0 : T0 >T1 : T1 ->samarensis : samarensis ->pelurus : pelurus ->argurus : argurus ->germaini : germaini ->julianae : julianae ->durangae : durangae +>samarensis : unknown +>pelurus : samarensis.pelurus +>argurus : unknown +>germaini : argurus.germaini +>julianae : unknown +>durangae : julianae.durangae vexillaris(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->vexillaris : () => cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->lavali : lavali ->lepturus : lepturus ->lavali : lavali ->wilsoni : wilsoni ->x : cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->lavali : lavali ->lepturus : lepturus ->lavali : lavali ->wilsoni : wilsoni +>vexillaris : () => samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>lavali : unknown +>lepturus : lavali.lepturus +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>lavali : unknown +>lepturus : lavali.lepturus +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : inez >this : inez ->x : cahirinus +>x : samarensis.cahirinus } } module macrorhinos { @@ -6855,12 +6855,12 @@ module macrorhinos { export class konganensis extends imperfecta.lasiurus { >konganensis : konganensis ->imperfecta : imperfecta ->lasiurus : lasiurus ->caurinus : caurinus ->psilurus : psilurus ->caurinus : caurinus ->psilurus : psilurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>caurinus : unknown +>psilurus : caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus } } module panamensis { @@ -6870,188 +6870,188 @@ module panamensis { >linulus : linulus >T0 : T0 >T1 : T1 ->ruatanica : ruatanica ->hector : hector ->julianae : julianae ->sumatrana : sumatrana ->samarensis : samarensis ->pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->sagitta : sagitta ->walkeri : walkeri +>ruatanica : unknown +>hector : ruatanica.hector +>julianae : unknown +>sumatrana : julianae.sumatrana +>samarensis : unknown +>pelurus : samarensis.pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>sagitta : unknown +>walkeri : sagitta.walkeri goslingi(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->goslingi : () => arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->gabriellae : gabriellae ->amicus : amicus ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->gabriellae : gabriellae ->amicus : amicus ->dogramacii : dogramacii ->kaiseri : kaiseri +>goslingi : () => daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>gabriellae : unknown +>amicus : gabriellae.amicus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>gabriellae : unknown +>amicus : gabriellae.amicus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : linulus >this : linulus ->x : arboreus +>x : daubentonii.arboreus taki(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->taki : () => uralensis ->patas : patas ->uralensis : uralensis ->x : uralensis ->patas : patas ->uralensis : uralensis +>taki : () => patas.uralensis +>patas : unknown +>uralensis : patas.uralensis +>x : patas.uralensis +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : linulus >this : linulus ->x : uralensis +>x : patas.uralensis fumosus(): rendalli.moojeni, lavali.beisa> { var x: rendalli.moojeni, lavali.beisa>; () => { var y = this; }; return x; } ->fumosus : () => moojeni, beisa> ->rendalli : rendalli ->moojeni : moojeni ->argurus : argurus ->netscheri : netscheri ->dogramacii : dogramacii ->aurata : aurata ->dogramacii : dogramacii ->aurata : aurata ->lavali : lavali ->beisa : beisa ->x : moojeni, beisa> ->rendalli : rendalli ->moojeni : moojeni ->argurus : argurus ->netscheri : netscheri ->dogramacii : dogramacii ->aurata : aurata ->dogramacii : dogramacii ->aurata : aurata ->lavali : lavali ->beisa : beisa +>fumosus : () => rendalli.moojeni, lavali.beisa> +>rendalli : unknown +>moojeni : rendalli.moojeni +>argurus : unknown +>netscheri : argurus.netscheri +>dogramacii : unknown +>aurata : dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata +>lavali : unknown +>beisa : lavali.beisa +>x : rendalli.moojeni, lavali.beisa> +>rendalli : unknown +>moojeni : rendalli.moojeni +>argurus : unknown +>netscheri : argurus.netscheri +>dogramacii : unknown +>aurata : dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata +>lavali : unknown +>beisa : lavali.beisa >() => { var y = this; } : () => void >y : linulus >this : linulus ->x : moojeni, beisa> +>x : rendalli.moojeni, lavali.beisa> rufinus(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->rufinus : () => konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis +>rufinus : () => macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : linulus >this : linulus ->x : konganensis +>x : macrorhinos.konganensis lami(): nigra.thalia { var x: nigra.thalia; () => { var y = this; }; return x; } ->lami : () => thalia ->nigra : nigra ->thalia : thalia ->patas : patas ->uralensis : uralensis ->dogramacii : dogramacii ->robustulus : robustulus ->x : thalia ->nigra : nigra ->thalia : thalia ->patas : patas ->uralensis : uralensis ->dogramacii : dogramacii ->robustulus : robustulus +>lami : () => nigra.thalia +>nigra : unknown +>thalia : nigra.thalia +>patas : unknown +>uralensis : patas.uralensis +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : nigra.thalia +>nigra : unknown +>thalia : nigra.thalia +>patas : unknown +>uralensis : patas.uralensis +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : linulus >this : linulus ->x : thalia +>x : nigra.thalia regina(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->regina : () => oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>regina : () => trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : linulus >this : linulus ->x : oconnelli +>x : trivirgatus.oconnelli nanilla(): dammermani.siberu { var x: dammermani.siberu; () => { var y = this; }; return x; } ->nanilla : () => siberu ->dammermani : dammermani ->siberu : siberu ->lavali : lavali ->xanthognathus : xanthognathus ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : siberu ->dammermani : dammermani ->siberu : siberu ->lavali : lavali ->xanthognathus : xanthognathus ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>nanilla : () => dammermani.siberu +>dammermani : unknown +>siberu : dammermani.siberu +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : dammermani.siberu +>dammermani : unknown +>siberu : dammermani.siberu +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : linulus >this : linulus ->x : siberu +>x : dammermani.siberu enganus(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->enganus : () => sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->dogramacii : dogramacii ->aurata : aurata ->argurus : argurus ->oreas : oreas ->x : sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->dogramacii : dogramacii ->aurata : aurata ->argurus : argurus ->oreas : oreas +>enganus : () => petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>dogramacii : unknown +>aurata : dogramacii.aurata +>argurus : unknown +>oreas : argurus.oreas +>x : petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>dogramacii : unknown +>aurata : dogramacii.aurata +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : linulus >this : linulus ->x : sodyi +>x : petrophilus.sodyi gomantongensis(): rionegrensis.veraecrucis> { var x: rionegrensis.veraecrucis>; () => { var y = this; }; return x; } ->gomantongensis : () => veraecrucis> ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->caurinus : caurinus ->psilurus : psilurus ->minutus : minutus ->inez : inez ->rendalli : rendalli ->zuluensis : zuluensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : veraecrucis> ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->caurinus : caurinus ->psilurus : psilurus ->minutus : minutus ->inez : inez ->rendalli : rendalli ->zuluensis : zuluensis ->rionegrensis : rionegrensis ->caniventer : caniventer +>gomantongensis : () => rionegrensis.veraecrucis> +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>caurinus : unknown +>psilurus : caurinus.psilurus +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.veraecrucis> +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>caurinus : unknown +>psilurus : caurinus.psilurus +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : linulus >this : linulus ->x : veraecrucis> +>x : rionegrensis.veraecrucis> } } module nigra { @@ -7063,264 +7063,264 @@ module nigra { >T1 : T1 weddellii(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->weddellii : () => dolichurus ->nigra : nigra +>weddellii : () => dolichurus +>nigra : unknown >dolichurus : dolichurus ->dogramacii : dogramacii ->aurata : aurata ->julianae : julianae ->steerii : steerii ->x : dolichurus ->nigra : nigra +>dogramacii : unknown +>aurata : dogramacii.aurata +>julianae : unknown +>steerii : julianae.steerii +>x : dolichurus +>nigra : unknown >dolichurus : dolichurus ->dogramacii : dogramacii ->aurata : aurata ->julianae : julianae ->steerii : steerii +>dogramacii : unknown +>aurata : dogramacii.aurata +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : dolichurus +>x : dolichurus echinothrix(): Lanthanum.nitidus, argurus.oreas> { var x: Lanthanum.nitidus, argurus.oreas>; () => { var y = this; }; return x; } ->echinothrix : () => nitidus, oreas> ->Lanthanum : Lanthanum ->nitidus : nitidus ->panglima : panglima ->amphibius : amphibius ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->lepturus : lepturus ->argurus : argurus ->oreas : oreas ->x : nitidus, oreas> ->Lanthanum : Lanthanum ->nitidus : nitidus ->panglima : panglima ->amphibius : amphibius ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->lepturus : lepturus ->argurus : argurus ->oreas : oreas +>echinothrix : () => Lanthanum.nitidus, argurus.oreas> +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>panglima : unknown +>amphibius : panglima.amphibius +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>lepturus : lavali.lepturus +>argurus : unknown +>oreas : argurus.oreas +>x : Lanthanum.nitidus, argurus.oreas> +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>panglima : unknown +>amphibius : panglima.amphibius +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>lepturus : lavali.lepturus +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : nitidus, oreas> +>x : Lanthanum.nitidus, argurus.oreas> garridoi(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->garridoi : () => koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae ->x : koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae +>garridoi : () => dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>x : dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : koepckeae +>x : dogramacii.koepckeae rouxii(): nigra.gracilis, nigra.thalia> { var x: nigra.gracilis, nigra.thalia>; () => { var y = this; }; return x; } ->rouxii : () => gracilis, thalia> ->nigra : nigra +>rouxii : () => gracilis, thalia> +>nigra : unknown >gracilis : gracilis ->argurus : argurus ->dauricus : dauricus ->macrorhinos : macrorhinos ->konganensis : konganensis ->patas : patas ->uralensis : uralensis ->nigra : nigra +>argurus : unknown +>dauricus : argurus.dauricus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>patas : unknown +>uralensis : patas.uralensis +>nigra : unknown >thalia : thalia ->patas : patas ->uralensis : uralensis ->julianae : julianae ->galapagoensis : galapagoensis ->x : gracilis, thalia> ->nigra : nigra +>patas : unknown +>uralensis : patas.uralensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>x : gracilis, thalia> +>nigra : unknown >gracilis : gracilis ->argurus : argurus ->dauricus : dauricus ->macrorhinos : macrorhinos ->konganensis : konganensis ->patas : patas ->uralensis : uralensis ->nigra : nigra +>argurus : unknown +>dauricus : argurus.dauricus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>patas : unknown +>uralensis : patas.uralensis +>nigra : unknown >thalia : thalia ->patas : patas ->uralensis : uralensis ->julianae : julianae ->galapagoensis : galapagoensis +>patas : unknown +>uralensis : patas.uralensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : gracilis, thalia> +>x : gracilis, thalia> aurita(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->aurita : () => stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni +>aurita : () => sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : stolzmanni +>x : sagitta.stolzmanni geoffrensis(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->geoffrensis : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>geoffrensis : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : caniventer +>x : rionegrensis.caniventer theresa(): macrorhinos.marmosurus, argurus.luctuosa>, nigra.dolichurus> { var x: macrorhinos.marmosurus, argurus.luctuosa>, nigra.dolichurus>; () => { var y = this; }; return x; } ->theresa : () => marmosurus, luctuosa>, dolichurus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->argurus : argurus ->netscheri : netscheri ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->foina : foina ->samarensis : samarensis ->pallidus : pallidus ->argurus : argurus ->luctuosa : luctuosa ->nigra : nigra +>theresa : () => macrorhinos.marmosurus, argurus.luctuosa>, dolichurus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>argurus : unknown +>netscheri : argurus.netscheri +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>foina : lutreolus.foina +>samarensis : unknown +>pallidus : samarensis.pallidus +>argurus : unknown +>luctuosa : argurus.luctuosa +>nigra : unknown >dolichurus : dolichurus ->lavali : lavali ->lepturus : lepturus ->samarensis : samarensis ->pallidus : pallidus ->x : marmosurus, luctuosa>, dolichurus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->argurus : argurus ->netscheri : netscheri ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->foina : foina ->samarensis : samarensis ->pallidus : pallidus ->argurus : argurus ->luctuosa : luctuosa ->nigra : nigra +>lavali : unknown +>lepturus : lavali.lepturus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : macrorhinos.marmosurus, argurus.luctuosa>, dolichurus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>argurus : unknown +>netscheri : argurus.netscheri +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>foina : lutreolus.foina +>samarensis : unknown +>pallidus : samarensis.pallidus +>argurus : unknown +>luctuosa : argurus.luctuosa +>nigra : unknown >dolichurus : dolichurus ->lavali : lavali ->lepturus : lepturus ->samarensis : samarensis ->pallidus : pallidus +>lavali : unknown +>lepturus : lavali.lepturus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : marmosurus, luctuosa>, dolichurus> +>x : macrorhinos.marmosurus, argurus.luctuosa>, dolichurus> melanocarpus(): julianae.albidens, julianae.sumatrana> { var x: julianae.albidens, julianae.sumatrana>; () => { var y = this; }; return x; } ->melanocarpus : () => albidens, sumatrana> ->julianae : julianae ->albidens : albidens ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->foina : foina ->samarensis : samarensis ->pallidus : pallidus ->julianae : julianae ->sumatrana : sumatrana ->x : albidens, sumatrana> ->julianae : julianae ->albidens : albidens ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->foina : foina ->samarensis : samarensis ->pallidus : pallidus ->julianae : julianae ->sumatrana : sumatrana +>melanocarpus : () => julianae.albidens, julianae.sumatrana> +>julianae : unknown +>albidens : julianae.albidens +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>foina : lutreolus.foina +>samarensis : unknown +>pallidus : samarensis.pallidus +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : julianae.albidens, julianae.sumatrana> +>julianae : unknown +>albidens : julianae.albidens +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>foina : lutreolus.foina +>samarensis : unknown +>pallidus : samarensis.pallidus +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : albidens, sumatrana> +>x : julianae.albidens, julianae.sumatrana> dubiaquercus(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->dubiaquercus : () => robustulus ->dogramacii : dogramacii ->robustulus : robustulus ->x : robustulus ->dogramacii : dogramacii ->robustulus : robustulus +>dubiaquercus : () => dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : robustulus +>x : dogramacii.robustulus pectoralis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->pectoralis : () => sumatrana ->julianae : julianae ->sumatrana : sumatrana ->x : sumatrana ->julianae : julianae ->sumatrana : sumatrana +>pectoralis : () => julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : sumatrana +>x : julianae.sumatrana apoensis(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; } ->apoensis : () => megaphyllus ->caurinus : caurinus ->megaphyllus : megaphyllus ->x : megaphyllus ->caurinus : caurinus ->megaphyllus : megaphyllus +>apoensis : () => caurinus.megaphyllus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>x : caurinus.megaphyllus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : megaphyllus +>x : caurinus.megaphyllus grisescens(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->grisescens : () => jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis +>grisescens : () => Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : jugularis +>x : Lanthanum.jugularis ramirohitra(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->ramirohitra : () => amphibius ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->gabriellae : gabriellae ->echinatus : echinatus ->x : amphibius ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->gabriellae : gabriellae ->echinatus : echinatus +>ramirohitra : () => panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : gracilis >this : gracilis ->x : amphibius +>x : panglima.amphibius } } module samarensis { @@ -7330,333 +7330,333 @@ module samarensis { >pelurus : pelurus >T0 : T0 >T1 : T1 ->sagitta : sagitta ->stolzmanni : stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni Palladium(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->Palladium : () => linulus ->panamensis : panamensis ->linulus : linulus ->macrorhinos : macrorhinos ->konganensis : konganensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : linulus ->panamensis : panamensis ->linulus : linulus ->macrorhinos : macrorhinos ->konganensis : konganensis ->rionegrensis : rionegrensis ->caniventer : caniventer +>Palladium : () => panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : linulus +>x : panamensis.linulus castanea(): argurus.netscheri, julianae.oralis> { var x: argurus.netscheri, julianae.oralis>; () => { var y = this; }; return x; } ->castanea : () => netscheri, oralis> ->argurus : argurus ->netscheri : netscheri ->minutus : minutus ->inez : inez ->argurus : argurus ->peninsulae : peninsulae ->julianae : julianae ->nudicaudus : nudicaudus ->julianae : julianae ->oralis : oralis ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas ->x : netscheri, oralis> ->argurus : argurus ->netscheri : netscheri ->minutus : minutus ->inez : inez ->argurus : argurus ->peninsulae : peninsulae ->julianae : julianae ->nudicaudus : nudicaudus ->julianae : julianae ->oralis : oralis ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas +>castanea : () => argurus.netscheri, julianae.oralis> +>argurus : unknown +>netscheri : argurus.netscheri +>minutus : unknown +>inez : minutus.inez +>argurus : unknown +>peninsulae : argurus.peninsulae +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>julianae : unknown +>oralis : julianae.oralis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas +>x : argurus.netscheri, julianae.oralis> +>argurus : unknown +>netscheri : argurus.netscheri +>minutus : unknown +>inez : minutus.inez +>argurus : unknown +>peninsulae : argurus.peninsulae +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>julianae : unknown +>oralis : julianae.oralis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : netscheri, oralis> +>x : argurus.netscheri, julianae.oralis> chamek(): argurus.pygmaea { var x: argurus.pygmaea; () => { var y = this; }; return x; } ->chamek : () => pygmaea ->argurus : argurus ->pygmaea : pygmaea ->julianae : julianae ->galapagoensis : galapagoensis ->provocax : provocax ->melanoleuca : melanoleuca ->x : pygmaea ->argurus : argurus ->pygmaea : pygmaea ->julianae : julianae ->galapagoensis : galapagoensis ->provocax : provocax ->melanoleuca : melanoleuca +>chamek : () => argurus.pygmaea +>argurus : unknown +>pygmaea : argurus.pygmaea +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : argurus.pygmaea +>argurus : unknown +>pygmaea : argurus.pygmaea +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : pygmaea +>x : argurus.pygmaea nigriceps(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->nigriceps : () => punicus ->lutreolus : lutreolus ->punicus : punicus ->x : punicus ->lutreolus : lutreolus ->punicus : punicus +>nigriceps : () => lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : punicus +>x : lutreolus.punicus lunatus(): pelurus { var x: pelurus; () => { var y = this; }; return x; } ->lunatus : () => pelurus +>lunatus : () => pelurus >pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->sagitta : sagitta ->walkeri : walkeri ->x : pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>sagitta : unknown +>walkeri : sagitta.walkeri +>x : pelurus >pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->sagitta : sagitta ->walkeri : walkeri +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>sagitta : unknown +>walkeri : sagitta.walkeri >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : pelurus +>x : pelurus madurae(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->madurae : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>madurae : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : caniventer +>x : rionegrensis.caniventer chinchilla(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->chinchilla : () => daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>chinchilla : () => macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : daphaenodon +>x : macrorhinos.daphaenodon eliasi(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->eliasi : () => rosalia ->petrophilus : petrophilus ->rosalia : rosalia ->julianae : julianae ->steerii : steerii ->lavali : lavali ->beisa : beisa ->x : rosalia ->petrophilus : petrophilus ->rosalia : rosalia ->julianae : julianae ->steerii : steerii ->lavali : lavali ->beisa : beisa +>eliasi : () => petrophilus.rosalia +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>julianae : unknown +>steerii : julianae.steerii +>lavali : unknown +>beisa : lavali.beisa +>x : petrophilus.rosalia +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>julianae : unknown +>steerii : julianae.steerii +>lavali : unknown +>beisa : lavali.beisa >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : rosalia +>x : petrophilus.rosalia proditor(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->proditor : () => setulosus ->panamensis : panamensis ->setulosus : setulosus ->gabriellae : gabriellae ->echinatus : echinatus ->julianae : julianae ->steerii : steerii ->x : setulosus ->panamensis : panamensis ->setulosus : setulosus ->gabriellae : gabriellae ->echinatus : echinatus ->julianae : julianae ->steerii : steerii +>proditor : () => panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>julianae : unknown +>steerii : julianae.steerii +>x : panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : setulosus +>x : panamensis.setulosus gambianus(): quasiater.wattsi> { var x: quasiater.wattsi>; () => { var y = this; }; return x; } ->gambianus : () => wattsi> ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->galapagoensis : galapagoensis ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : wattsi> ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->galapagoensis : galapagoensis ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis +>gambianus : () => quasiater.wattsi> +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : quasiater.wattsi> +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : wattsi> +>x : quasiater.wattsi> petteri(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->petteri : () => kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri +>petteri : () => dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : kaiseri +>x : dogramacii.kaiseri nusatenggara(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->nusatenggara : () => amphibius ->panglima : panglima ->amphibius : amphibius ->lavali : lavali ->lepturus : lepturus ->quasiater : quasiater ->carolinensis : carolinensis ->x : amphibius ->panglima : panglima ->amphibius : amphibius ->lavali : lavali ->lepturus : lepturus ->quasiater : quasiater ->carolinensis : carolinensis +>nusatenggara : () => panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>lavali : unknown +>lepturus : lavali.lepturus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>lavali : unknown +>lepturus : lavali.lepturus +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : amphibius +>x : panglima.amphibius olitor(): rionegrensis.veraecrucis { var x: rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->olitor : () => veraecrucis ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->lavali : lavali ->xanthognathus : xanthognathus ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->x : veraecrucis ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->lavali : lavali ->xanthognathus : xanthognathus ->quasiater : quasiater ->bobrinskoi : bobrinskoi +>olitor : () => rionegrensis.veraecrucis +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>x : rionegrensis.veraecrucis +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi >() => { var y = this; } : () => void >y : pelurus >this : pelurus ->x : veraecrucis +>x : rionegrensis.veraecrucis } export class fuscus extends macrorhinos.daphaenodon { >fuscus : fuscus >T0 : T0 >T1 : T1 ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon planifrons(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->planifrons : () => gracilis ->nigra : nigra ->gracilis : gracilis ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata ->x : gracilis ->nigra : nigra ->gracilis : gracilis ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata +>planifrons : () => nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : gracilis +>x : nigra.gracilis badia(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->badia : () => sumatrana ->julianae : julianae ->sumatrana : sumatrana ->x : sumatrana ->julianae : julianae ->sumatrana : sumatrana +>badia : () => julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : sumatrana +>x : julianae.sumatrana prymnolopha(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->prymnolopha : () => walkeri ->sagitta : sagitta ->walkeri : walkeri ->x : walkeri ->sagitta : sagitta ->walkeri : walkeri +>prymnolopha : () => sagitta.walkeri +>sagitta : unknown +>walkeri : sagitta.walkeri +>x : sagitta.walkeri +>sagitta : unknown +>walkeri : sagitta.walkeri >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : walkeri +>x : sagitta.walkeri natalensis(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->natalensis : () => falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri ->x : falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri +>natalensis : () => trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>x : trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : falconeri +>x : trivirgatus.falconeri hunteri(): julianae.durangae { var x: julianae.durangae; () => { var y = this; }; return x; } ->hunteri : () => durangae ->julianae : julianae ->durangae : durangae ->x : durangae ->julianae : julianae ->durangae : durangae +>hunteri : () => julianae.durangae +>julianae : unknown +>durangae : julianae.durangae +>x : julianae.durangae +>julianae : unknown +>durangae : julianae.durangae >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : durangae +>x : julianae.durangae sapiens(): pallidus { var x: pallidus; () => { var y = this; }; return x; } >sapiens : () => pallidus @@ -7669,263 +7669,263 @@ module samarensis { >x : pallidus macrocercus(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->macrocercus : () => setulosus ->panamensis : panamensis ->setulosus : setulosus ->dogramacii : dogramacii ->koepckeae : koepckeae ->julianae : julianae ->sumatrana : sumatrana ->x : setulosus ->panamensis : panamensis ->setulosus : setulosus ->dogramacii : dogramacii ->koepckeae : koepckeae ->julianae : julianae ->sumatrana : sumatrana +>macrocercus : () => panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : setulosus +>x : panamensis.setulosus nimbae(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->nimbae : () => punicus ->lutreolus : lutreolus ->punicus : punicus ->x : punicus ->lutreolus : lutreolus ->punicus : punicus +>nimbae : () => lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : punicus +>x : lutreolus.punicus suricatta(): daubentonii.nigricans { var x: daubentonii.nigricans; () => { var y = this; }; return x; } ->suricatta : () => nigricans ->daubentonii : daubentonii ->nigricans : nigricans ->dammermani : dammermani ->melanops : melanops ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : nigricans ->daubentonii : daubentonii ->nigricans : nigricans ->dammermani : dammermani ->melanops : melanops ->imperfecta : imperfecta ->subspinosus : subspinosus +>suricatta : () => daubentonii.nigricans +>daubentonii : unknown +>nigricans : daubentonii.nigricans +>dammermani : unknown +>melanops : dammermani.melanops +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : daubentonii.nigricans +>daubentonii : unknown +>nigricans : daubentonii.nigricans +>dammermani : unknown +>melanops : dammermani.melanops +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : nigricans +>x : daubentonii.nigricans jagorii(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; } ->jagorii : () => galapagoensis ->julianae : julianae ->galapagoensis : galapagoensis ->x : galapagoensis ->julianae : julianae ->galapagoensis : galapagoensis +>jagorii : () => julianae.galapagoensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>x : julianae.galapagoensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : galapagoensis +>x : julianae.galapagoensis beecrofti(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->beecrofti : () => stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni +>beecrofti : () => sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : stolzmanni +>x : sagitta.stolzmanni imaizumii(): minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> { var x: minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis>; () => { var y = this; }; return x; } ->imaizumii : () => inez, echinatus>, aurata>, otion>, konganensis> ->minutus : minutus ->inez : inez ->julianae : julianae ->gerbillus : gerbillus ->minutus : minutus ->inez : inez ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->dogramacii : dogramacii ->aurata : aurata ->lavali : lavali ->otion : otion ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : inez, echinatus>, aurata>, otion>, konganensis> ->minutus : minutus ->inez : inez ->julianae : julianae ->gerbillus : gerbillus ->minutus : minutus ->inez : inez ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->dogramacii : dogramacii ->aurata : aurata ->lavali : lavali ->otion : otion ->macrorhinos : macrorhinos ->konganensis : konganensis +>imaizumii : () => minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> +>minutus : unknown +>inez : minutus.inez +>julianae : unknown +>gerbillus : julianae.gerbillus +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>dogramacii : unknown +>aurata : dogramacii.aurata +>lavali : unknown +>otion : lavali.otion +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> +>minutus : unknown +>inez : minutus.inez +>julianae : unknown +>gerbillus : julianae.gerbillus +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>dogramacii : unknown +>aurata : dogramacii.aurata +>lavali : unknown +>otion : lavali.otion +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : inez, echinatus>, aurata>, otion>, konganensis> +>x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> colocolo(): quasiater.bobrinskoi { var x: quasiater.bobrinskoi; () => { var y = this; }; return x; } ->colocolo : () => bobrinskoi ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->x : bobrinskoi ->quasiater : quasiater ->bobrinskoi : bobrinskoi +>colocolo : () => quasiater.bobrinskoi +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>x : quasiater.bobrinskoi +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : bobrinskoi +>x : quasiater.bobrinskoi wolfi(): petrophilus.rosalia> { var x: petrophilus.rosalia>; () => { var y = this; }; return x; } ->wolfi : () => rosalia> ->petrophilus : petrophilus ->rosalia : rosalia ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->kaiseri : kaiseri ->lavali : lavali ->wilsoni : wilsoni ->x : rosalia> ->petrophilus : petrophilus ->rosalia : rosalia ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->kaiseri : kaiseri ->lavali : lavali ->wilsoni : wilsoni +>wolfi : () => petrophilus.rosalia> +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : petrophilus.rosalia> +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : fuscus >this : fuscus ->x : rosalia> +>x : petrophilus.rosalia> } export class pallidus { >pallidus : pallidus oblativa(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->oblativa : () => falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri ->x : falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri +>oblativa : () => trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>x : trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri >() => { var y = this; } : () => void >y : pallidus >this : pallidus ->x : falconeri +>x : trivirgatus.falconeri watersi(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->watersi : () => wilsoni ->lavali : lavali ->wilsoni : wilsoni ->x : wilsoni ->lavali : lavali ->wilsoni : wilsoni +>watersi : () => lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : pallidus >this : pallidus ->x : wilsoni +>x : lavali.wilsoni glacialis(): sagitta.cinereus, quasiater.wattsi>> { var x: sagitta.cinereus, quasiater.wattsi>>; () => { var y = this; }; return x; } ->glacialis : () => cinereus, wattsi>> ->sagitta : sagitta ->cinereus : cinereus ->nigra : nigra ->caucasica : caucasica ->julianae : julianae ->sumatrana : sumatrana ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->galapagoensis : galapagoensis ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : cinereus, wattsi>> ->sagitta : sagitta ->cinereus : cinereus ->nigra : nigra ->caucasica : caucasica ->julianae : julianae ->sumatrana : sumatrana ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->galapagoensis : galapagoensis ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis +>glacialis : () => sagitta.cinereus, quasiater.wattsi>> +>sagitta : unknown +>cinereus : sagitta.cinereus +>nigra : unknown +>caucasica : nigra.caucasica +>julianae : unknown +>sumatrana : julianae.sumatrana +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : sagitta.cinereus, quasiater.wattsi>> +>sagitta : unknown +>cinereus : sagitta.cinereus +>nigra : unknown +>caucasica : nigra.caucasica +>julianae : unknown +>sumatrana : julianae.sumatrana +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : pallidus >this : pallidus ->x : cinereus, wattsi>> +>x : sagitta.cinereus, quasiater.wattsi>> viaria(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->viaria : () => sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->lavali : lavali ->xanthognathus : xanthognathus ->lutreolus : lutreolus ->punicus : punicus ->x : sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->lavali : lavali ->xanthognathus : xanthognathus ->lutreolus : lutreolus ->punicus : punicus +>viaria : () => chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : pallidus >this : pallidus ->x : sarasinorum +>x : chrysaeolus.sarasinorum } export class cahirinus { >cahirinus : cahirinus @@ -7933,128 +7933,128 @@ module samarensis { >T1 : T1 alashanicus(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->alashanicus : () => caucasica ->nigra : nigra ->caucasica : caucasica ->ruatanica : ruatanica ->americanus : americanus ->argurus : argurus ->peninsulae : peninsulae ->x : caucasica ->nigra : nigra ->caucasica : caucasica ->ruatanica : ruatanica ->americanus : americanus ->argurus : argurus ->peninsulae : peninsulae +>alashanicus : () => nigra.caucasica +>nigra : unknown +>caucasica : nigra.caucasica +>ruatanica : unknown +>americanus : ruatanica.americanus +>argurus : unknown +>peninsulae : argurus.peninsulae +>x : nigra.caucasica +>nigra : unknown +>caucasica : nigra.caucasica +>ruatanica : unknown +>americanus : ruatanica.americanus +>argurus : unknown +>peninsulae : argurus.peninsulae >() => { var y = this; } : () => void >y : cahirinus >this : cahirinus ->x : caucasica +>x : nigra.caucasica flaviventer(): trivirgatus.tumidifrons> { var x: trivirgatus.tumidifrons>; () => { var y = this; }; return x; } ->flaviventer : () => tumidifrons> ->trivirgatus : trivirgatus ->tumidifrons : tumidifrons ->lavali : lavali ->thaeleri : thaeleri ->daubentonii : daubentonii ->arboreus : arboreus ->petrophilus : petrophilus ->minutilla : minutilla ->argurus : argurus ->peninsulae : peninsulae ->x : tumidifrons> ->trivirgatus : trivirgatus ->tumidifrons : tumidifrons ->lavali : lavali ->thaeleri : thaeleri ->daubentonii : daubentonii ->arboreus : arboreus ->petrophilus : petrophilus ->minutilla : minutilla ->argurus : argurus ->peninsulae : peninsulae +>flaviventer : () => trivirgatus.tumidifrons> +>trivirgatus : unknown +>tumidifrons : trivirgatus.tumidifrons +>lavali : unknown +>thaeleri : lavali.thaeleri +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>argurus : unknown +>peninsulae : argurus.peninsulae +>x : trivirgatus.tumidifrons> +>trivirgatus : unknown +>tumidifrons : trivirgatus.tumidifrons +>lavali : unknown +>thaeleri : lavali.thaeleri +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>argurus : unknown +>peninsulae : argurus.peninsulae >() => { var y = this; } : () => void >y : cahirinus >this : cahirinus ->x : tumidifrons> +>x : trivirgatus.tumidifrons> bottai(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->bottai : () => schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli ->x : schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli +>bottai : () => lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>x : lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli >() => { var y = this; } : () => void >y : cahirinus >this : cahirinus ->x : schlegeli +>x : lutreolus.schlegeli pinetis(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->pinetis : () => oreas ->argurus : argurus ->oreas : oreas ->x : oreas ->argurus : argurus ->oreas : oreas +>pinetis : () => argurus.oreas +>argurus : unknown +>oreas : argurus.oreas +>x : argurus.oreas +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : cahirinus >this : cahirinus ->x : oreas +>x : argurus.oreas saussurei(): rendalli.crenulata, argurus.netscheri, julianae.oralis>> { var x: rendalli.crenulata, argurus.netscheri, julianae.oralis>>; () => { var y = this; }; return x; } ->saussurei : () => crenulata, netscheri, oralis>> ->rendalli : rendalli ->crenulata : crenulata ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata ->argurus : argurus ->netscheri : netscheri ->minutus : minutus ->inez : inez ->argurus : argurus ->peninsulae : peninsulae ->julianae : julianae ->nudicaudus : nudicaudus ->julianae : julianae ->oralis : oralis ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas ->x : crenulata, netscheri, oralis>> ->rendalli : rendalli ->crenulata : crenulata ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata ->argurus : argurus ->netscheri : netscheri ->minutus : minutus ->inez : inez ->argurus : argurus ->peninsulae : peninsulae ->julianae : julianae ->nudicaudus : nudicaudus ->julianae : julianae ->oralis : oralis ->lavali : lavali ->xanthognathus : xanthognathus ->argurus : argurus ->oreas : oreas +>saussurei : () => rendalli.crenulata, argurus.netscheri, julianae.oralis>> +>rendalli : unknown +>crenulata : rendalli.crenulata +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata +>argurus : unknown +>netscheri : argurus.netscheri +>minutus : unknown +>inez : minutus.inez +>argurus : unknown +>peninsulae : argurus.peninsulae +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>julianae : unknown +>oralis : julianae.oralis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas +>x : rendalli.crenulata, argurus.netscheri, julianae.oralis>> +>rendalli : unknown +>crenulata : rendalli.crenulata +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata +>argurus : unknown +>netscheri : argurus.netscheri +>minutus : unknown +>inez : minutus.inez +>argurus : unknown +>peninsulae : argurus.peninsulae +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>julianae : unknown +>oralis : julianae.oralis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : cahirinus >this : cahirinus ->x : crenulata, netscheri, oralis>> +>x : rendalli.crenulata, argurus.netscheri, julianae.oralis>> } } module sagitta { @@ -8064,108 +8064,108 @@ module sagitta { >leptoceros : leptoceros >T0 : T0 >T1 : T1 ->caurinus : caurinus ->johorensis : johorensis ->argurus : argurus ->peninsulae : peninsulae ->daubentonii : daubentonii ->arboreus : arboreus ->argurus : argurus ->germaini : germaini ->sagitta : sagitta +>caurinus : unknown +>johorensis : caurinus.johorensis +>argurus : unknown +>peninsulae : argurus.peninsulae +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>argurus : unknown +>germaini : argurus.germaini +>sagitta : unknown >stolzmanni : stolzmanni victus(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->victus : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>victus : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : leptoceros >this : leptoceros ->x : caniventer +>x : rionegrensis.caniventer hoplomyoides(): panglima.fundatus, nigra.gracilis> { var x: panglima.fundatus, nigra.gracilis>; () => { var y = this; }; return x; } ->hoplomyoides : () => fundatus, gracilis> ->panglima : panglima ->fundatus : fundatus ->julianae : julianae ->gerbillus : gerbillus ->imperfecta : imperfecta ->subspinosus : subspinosus ->julianae : julianae ->durangae : durangae ->nigra : nigra ->gracilis : gracilis ->argurus : argurus ->luctuosa : luctuosa ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : fundatus, gracilis> ->panglima : panglima ->fundatus : fundatus ->julianae : julianae ->gerbillus : gerbillus ->imperfecta : imperfecta ->subspinosus : subspinosus ->julianae : julianae ->durangae : durangae ->nigra : nigra ->gracilis : gracilis ->argurus : argurus ->luctuosa : luctuosa ->imperfecta : imperfecta ->subspinosus : subspinosus +>hoplomyoides : () => panglima.fundatus, nigra.gracilis> +>panglima : unknown +>fundatus : panglima.fundatus +>julianae : unknown +>gerbillus : julianae.gerbillus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>julianae : unknown +>durangae : julianae.durangae +>nigra : unknown +>gracilis : nigra.gracilis +>argurus : unknown +>luctuosa : argurus.luctuosa +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : panglima.fundatus, nigra.gracilis> +>panglima : unknown +>fundatus : panglima.fundatus +>julianae : unknown +>gerbillus : julianae.gerbillus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>julianae : unknown +>durangae : julianae.durangae +>nigra : unknown +>gracilis : nigra.gracilis +>argurus : unknown +>luctuosa : argurus.luctuosa +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : leptoceros >this : leptoceros ->x : fundatus, gracilis> +>x : panglima.fundatus, nigra.gracilis> gratiosus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->gratiosus : () => lepturus ->lavali : lavali ->lepturus : lepturus ->x : lepturus ->lavali : lavali ->lepturus : lepturus +>gratiosus : () => lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus +>x : lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : leptoceros >this : leptoceros ->x : lepturus +>x : lavali.lepturus rex(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->rex : () => wilsoni ->lavali : lavali ->wilsoni : wilsoni ->x : wilsoni ->lavali : lavali ->wilsoni : wilsoni +>rex : () => lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : leptoceros >this : leptoceros ->x : wilsoni +>x : lavali.wilsoni bolami(): trivirgatus.tumidifrons { var x: trivirgatus.tumidifrons; () => { var y = this; }; return x; } ->bolami : () => tumidifrons ->trivirgatus : trivirgatus ->tumidifrons : tumidifrons ->lutreolus : lutreolus ->schlegeli : schlegeli ->ruatanica : ruatanica ->americanus : americanus ->x : tumidifrons ->trivirgatus : trivirgatus ->tumidifrons : tumidifrons ->lutreolus : lutreolus ->schlegeli : schlegeli ->ruatanica : ruatanica ->americanus : americanus +>bolami : () => trivirgatus.tumidifrons +>trivirgatus : unknown +>tumidifrons : trivirgatus.tumidifrons +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : trivirgatus.tumidifrons +>trivirgatus : unknown +>tumidifrons : trivirgatus.tumidifrons +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : leptoceros >this : leptoceros ->x : tumidifrons +>x : trivirgatus.tumidifrons } } module daubentonii { @@ -8175,20 +8175,20 @@ module daubentonii { >nigricans : nigricans >T0 : T0 >T1 : T1 ->sagitta : sagitta ->stolzmanni : stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni woosnami(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->woosnami : () => robustulus ->dogramacii : dogramacii ->robustulus : robustulus ->x : robustulus ->dogramacii : dogramacii ->robustulus : robustulus +>woosnami : () => dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : dogramacii.robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : nigricans >this : nigricans ->x : robustulus +>x : dogramacii.robustulus } } module dammermani { @@ -8207,48 +8207,48 @@ module argurus { >pygmaea : pygmaea >T0 : T0 >T1 : T1 ->rendalli : rendalli ->moojeni : moojeni ->macrorhinos : macrorhinos ->konganensis : konganensis ->gabriellae : gabriellae ->echinatus : echinatus +>rendalli : unknown +>moojeni : rendalli.moojeni +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>gabriellae : unknown +>echinatus : gabriellae.echinatus pajeros(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->pajeros : () => echinatus ->gabriellae : gabriellae ->echinatus : echinatus ->x : echinatus ->gabriellae : gabriellae ->echinatus : echinatus +>pajeros : () => gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : pygmaea >this : pygmaea ->x : echinatus +>x : gabriellae.echinatus capucinus(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->capucinus : () => zuluensis ->rendalli : rendalli ->zuluensis : zuluensis ->x : zuluensis ->rendalli : rendalli ->zuluensis : zuluensis +>capucinus : () => rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>x : rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis >() => { var y = this; } : () => void >y : pygmaea >this : pygmaea ->x : zuluensis +>x : rendalli.zuluensis cuvieri(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->cuvieri : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>cuvieri : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : pygmaea >this : pygmaea ->x : caniventer +>x : rionegrensis.caniventer } } module chrysaeolus { @@ -8258,116 +8258,116 @@ module chrysaeolus { >sarasinorum : sarasinorum >T0 : T0 >T1 : T1 ->caurinus : caurinus ->psilurus : psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus belzebul(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->belzebul : () => pallidus ->samarensis : samarensis ->pallidus : pallidus ->x : pallidus ->samarensis : samarensis ->pallidus : pallidus +>belzebul : () => samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : sarasinorum >this : sarasinorum ->x : pallidus +>x : samarensis.pallidus hinpoon(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->hinpoon : () => caucasica ->nigra : nigra ->caucasica : caucasica ->julianae : julianae ->sumatrana : sumatrana ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : caucasica ->nigra : nigra ->caucasica : caucasica ->julianae : julianae ->sumatrana : sumatrana ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>hinpoon : () => nigra.caucasica +>nigra : unknown +>caucasica : nigra.caucasica +>julianae : unknown +>sumatrana : julianae.sumatrana +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : nigra.caucasica +>nigra : unknown +>caucasica : nigra.caucasica +>julianae : unknown +>sumatrana : julianae.sumatrana +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : sarasinorum >this : sarasinorum ->x : caucasica +>x : nigra.caucasica kandti(): quasiater.wattsi { var x: quasiater.wattsi; () => { var y = this; }; return x; } ->kandti : () => wattsi ->quasiater : quasiater ->wattsi : wattsi ->Lanthanum : Lanthanum ->jugularis : jugularis ->julianae : julianae ->sumatrana : sumatrana ->x : wattsi ->quasiater : quasiater ->wattsi : wattsi ->Lanthanum : Lanthanum ->jugularis : jugularis ->julianae : julianae ->sumatrana : sumatrana +>kandti : () => quasiater.wattsi +>quasiater : unknown +>wattsi : quasiater.wattsi +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : quasiater.wattsi +>quasiater : unknown +>wattsi : quasiater.wattsi +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : sarasinorum >this : sarasinorum ->x : wattsi +>x : quasiater.wattsi cynosuros(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->cynosuros : () => melanops ->dammermani : dammermani ->melanops : melanops ->x : melanops ->dammermani : dammermani ->melanops : melanops +>cynosuros : () => dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops +>x : dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : sarasinorum >this : sarasinorum ->x : melanops +>x : dammermani.melanops Germanium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->Germanium : () => beisa ->lavali : lavali ->beisa : beisa ->x : beisa ->lavali : lavali ->beisa : beisa +>Germanium : () => lavali.beisa +>lavali : unknown +>beisa : lavali.beisa +>x : lavali.beisa +>lavali : unknown +>beisa : lavali.beisa >() => { var y = this; } : () => void >y : sarasinorum >this : sarasinorum ->x : beisa +>x : lavali.beisa Ununoctium(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->Ununoctium : () => gracilis ->nigra : nigra ->gracilis : gracilis ->lavali : lavali ->xanthognathus : xanthognathus ->provocax : provocax ->melanoleuca : melanoleuca ->x : gracilis ->nigra : nigra ->gracilis : gracilis ->lavali : lavali ->xanthognathus : xanthognathus ->provocax : provocax ->melanoleuca : melanoleuca +>Ununoctium : () => nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : sarasinorum >this : sarasinorum ->x : gracilis +>x : nigra.gracilis princeps(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->princeps : () => portoricensis ->minutus : minutus ->portoricensis : portoricensis ->x : portoricensis ->minutus : minutus ->portoricensis : portoricensis +>princeps : () => minutus.portoricensis +>minutus : unknown +>portoricensis : minutus.portoricensis +>x : minutus.portoricensis +>minutus : unknown +>portoricensis : minutus.portoricensis >() => { var y = this; } : () => void >y : sarasinorum >this : sarasinorum ->x : portoricensis +>x : minutus.portoricensis } } module argurus { @@ -8379,120 +8379,120 @@ module argurus { >T1 : T1 leucoptera(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->leucoptera : () => rosalia ->petrophilus : petrophilus ->rosalia : rosalia ->dogramacii : dogramacii ->koepckeae : koepckeae ->lutreolus : lutreolus ->foina : foina ->x : rosalia ->petrophilus : petrophilus ->rosalia : rosalia ->dogramacii : dogramacii ->koepckeae : koepckeae ->lutreolus : lutreolus ->foina : foina +>leucoptera : () => petrophilus.rosalia +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>lutreolus : unknown +>foina : lutreolus.foina +>x : petrophilus.rosalia +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : wetmorei >this : wetmorei ->x : rosalia +>x : petrophilus.rosalia ochraventer(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->ochraventer : () => walkeri ->sagitta : sagitta ->walkeri : walkeri ->x : walkeri ->sagitta : sagitta ->walkeri : walkeri +>ochraventer : () => sagitta.walkeri +>sagitta : unknown +>walkeri : sagitta.walkeri +>x : sagitta.walkeri +>sagitta : unknown +>walkeri : sagitta.walkeri >() => { var y = this; } : () => void >y : wetmorei >this : wetmorei ->x : walkeri +>x : sagitta.walkeri tephromelas(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->tephromelas : () => jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis +>tephromelas : () => Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : wetmorei >this : wetmorei ->x : jugularis +>x : Lanthanum.jugularis cracens(): argurus.gilbertii { var x: argurus.gilbertii; () => { var y = this; }; return x; } ->cracens : () => gilbertii ->argurus : argurus +>cracens : () => gilbertii +>argurus : unknown >gilbertii : gilbertii ->lavali : lavali ->thaeleri : thaeleri ->lutreolus : lutreolus ->punicus : punicus ->x : gilbertii ->argurus : argurus +>lavali : unknown +>thaeleri : lavali.thaeleri +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : gilbertii +>argurus : unknown >gilbertii : gilbertii ->lavali : lavali ->thaeleri : thaeleri ->lutreolus : lutreolus ->punicus : punicus +>lavali : unknown +>thaeleri : lavali.thaeleri +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : wetmorei >this : wetmorei ->x : gilbertii +>x : gilbertii jamaicensis(): nigra.thalia> { var x: nigra.thalia>; () => { var y = this; }; return x; } ->jamaicensis : () => thalia> ->nigra : nigra ->thalia : thalia ->howi : howi ->marcanoi : marcanoi ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->trivirgatus : trivirgatus ->falconeri : falconeri ->quasiater : quasiater ->carolinensis : carolinensis ->x : thalia> ->nigra : nigra ->thalia : thalia ->howi : howi ->marcanoi : marcanoi ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->trivirgatus : trivirgatus ->falconeri : falconeri ->quasiater : quasiater ->carolinensis : carolinensis +>jamaicensis : () => nigra.thalia> +>nigra : unknown +>thalia : nigra.thalia +>howi : unknown +>marcanoi : howi.marcanoi +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : nigra.thalia> +>nigra : unknown +>thalia : nigra.thalia +>howi : unknown +>marcanoi : howi.marcanoi +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : wetmorei >this : wetmorei ->x : thalia> +>x : nigra.thalia> gymnocaudus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->gymnocaudus : () => aurata ->dogramacii : dogramacii ->aurata : aurata ->x : aurata ->dogramacii : dogramacii ->aurata : aurata +>gymnocaudus : () => dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : wetmorei >this : wetmorei ->x : aurata +>x : dogramacii.aurata mayori(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->mayori : () => stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni +>mayori : () => sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : wetmorei >this : wetmorei ->x : stolzmanni +>x : sagitta.stolzmanni } } module argurus { @@ -8500,131 +8500,131 @@ module argurus { export class oreas extends lavali.wilsoni { >oreas : oreas ->lavali : lavali ->wilsoni : wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni salamonis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->salamonis : () => xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus ->x : xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus +>salamonis : () => lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : oreas >this : oreas ->x : xanthognathus +>x : lavali.xanthognathus paniscus(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->paniscus : () => Praseodymium ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->caurinus : caurinus ->psilurus : psilurus ->lavali : lavali ->xanthognathus : xanthognathus ->x : Praseodymium ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->caurinus : caurinus ->psilurus : psilurus ->lavali : lavali ->xanthognathus : xanthognathus +>paniscus : () => ruatanica.Praseodymium +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>caurinus : unknown +>psilurus : caurinus.psilurus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : ruatanica.Praseodymium +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>caurinus : unknown +>psilurus : caurinus.psilurus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : oreas >this : oreas ->x : Praseodymium +>x : ruatanica.Praseodymium fagani(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->fagani : () => oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>fagani : () => trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : oreas >this : oreas ->x : oconnelli +>x : trivirgatus.oconnelli papuanus(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->papuanus : () => fundatus ->panglima : panglima ->fundatus : fundatus ->quasiater : quasiater ->carolinensis : carolinensis ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : fundatus ->panglima : panglima ->fundatus : fundatus ->quasiater : quasiater ->carolinensis : carolinensis ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>papuanus : () => panglima.fundatus +>panglima : unknown +>fundatus : panglima.fundatus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : panglima.fundatus +>panglima : unknown +>fundatus : panglima.fundatus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : oreas >this : oreas ->x : fundatus +>x : panglima.fundatus timidus(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->timidus : () => melanops ->dammermani : dammermani ->melanops : melanops ->x : melanops ->dammermani : dammermani ->melanops : melanops +>timidus : () => dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops +>x : dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : oreas >this : oreas ->x : melanops +>x : dammermani.melanops nghetinhensis(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->nghetinhensis : () => klossii ->gabriellae : gabriellae ->klossii : klossii ->argurus : argurus +>nghetinhensis : () => gabriellae.klossii +>gabriellae : unknown +>klossii : gabriellae.klossii +>argurus : unknown >luctuosa : luctuosa ->julianae : julianae ->steerii : steerii ->x : klossii ->gabriellae : gabriellae ->klossii : klossii ->argurus : argurus +>julianae : unknown +>steerii : julianae.steerii +>x : gabriellae.klossii +>gabriellae : unknown +>klossii : gabriellae.klossii +>argurus : unknown >luctuosa : luctuosa ->julianae : julianae ->steerii : steerii +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : oreas >this : oreas ->x : klossii +>x : gabriellae.klossii barbei(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->barbei : () => cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->lavali : lavali ->lepturus : lepturus ->quasiater : quasiater ->carolinensis : carolinensis ->x : cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->lavali : lavali ->lepturus : lepturus ->quasiater : quasiater ->carolinensis : carolinensis +>barbei : () => samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>lavali : unknown +>lepturus : lavali.lepturus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>lavali : unknown +>lepturus : lavali.lepturus +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : oreas >this : oreas ->x : cahirinus +>x : samarensis.cahirinus univittatus(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; } >univittatus : () => peninsulae ->argurus : argurus +>argurus : unknown >peninsulae : peninsulae >x : peninsulae ->argurus : argurus +>argurus : unknown >peninsulae : peninsulae >() => { var y = this; } : () => void >y : oreas @@ -8641,228 +8641,228 @@ module daubentonii { >T1 : T1 capreolus(): rendalli.crenulata, lavali.wilsoni> { var x: rendalli.crenulata, lavali.wilsoni>; () => { var y = this; }; return x; } ->capreolus : () => crenulata, wilsoni> ->rendalli : rendalli ->crenulata : crenulata ->samarensis : samarensis ->pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->ruatanica : ruatanica ->americanus : americanus ->lavali : lavali ->wilsoni : wilsoni ->x : crenulata, wilsoni> ->rendalli : rendalli ->crenulata : crenulata ->samarensis : samarensis ->pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->ruatanica : ruatanica ->americanus : americanus ->lavali : lavali ->wilsoni : wilsoni +>capreolus : () => rendalli.crenulata, lavali.wilsoni> +>rendalli : unknown +>crenulata : rendalli.crenulata +>samarensis : unknown +>pelurus : samarensis.pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>ruatanica : unknown +>americanus : ruatanica.americanus +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : rendalli.crenulata, lavali.wilsoni> +>rendalli : unknown +>crenulata : rendalli.crenulata +>samarensis : unknown +>pelurus : samarensis.pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>ruatanica : unknown +>americanus : ruatanica.americanus +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : crenulata, wilsoni> +>x : rendalli.crenulata, lavali.wilsoni> moreni(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->moreni : () => abidi ->panglima : panglima ->abidi : abidi ->julianae : julianae ->galapagoensis : galapagoensis ->dogramacii : dogramacii ->koepckeae : koepckeae ->x : abidi ->panglima : panglima ->abidi : abidi ->julianae : julianae ->galapagoensis : galapagoensis ->dogramacii : dogramacii ->koepckeae : koepckeae +>moreni : () => panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>x : panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : abidi +>x : panglima.abidi hypoleucos(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->hypoleucos : () => gracilis ->nigra : nigra ->gracilis : gracilis ->trivirgatus : trivirgatus ->falconeri : falconeri ->argurus : argurus ->germaini : germaini ->x : gracilis ->nigra : nigra ->gracilis : gracilis ->trivirgatus : trivirgatus ->falconeri : falconeri ->argurus : argurus ->germaini : germaini +>hypoleucos : () => nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>argurus : unknown +>germaini : argurus.germaini +>x : nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>argurus : unknown +>germaini : argurus.germaini >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : gracilis +>x : nigra.gracilis paedulcus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->paedulcus : () => portoricensis ->minutus : minutus ->portoricensis : portoricensis ->x : portoricensis ->minutus : minutus ->portoricensis : portoricensis +>paedulcus : () => minutus.portoricensis +>minutus : unknown +>portoricensis : minutus.portoricensis +>x : minutus.portoricensis +>minutus : unknown +>portoricensis : minutus.portoricensis >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : portoricensis +>x : minutus.portoricensis pucheranii(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->pucheranii : () => fuscus ->samarensis : samarensis ->fuscus : fuscus ->julianae : julianae ->durangae : durangae ->caurinus : caurinus ->megaphyllus : megaphyllus ->x : fuscus ->samarensis : samarensis ->fuscus : fuscus ->julianae : julianae ->durangae : durangae ->caurinus : caurinus ->megaphyllus : megaphyllus +>pucheranii : () => samarensis.fuscus +>samarensis : unknown +>fuscus : samarensis.fuscus +>julianae : unknown +>durangae : julianae.durangae +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>x : samarensis.fuscus +>samarensis : unknown +>fuscus : samarensis.fuscus +>julianae : unknown +>durangae : julianae.durangae +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : fuscus +>x : samarensis.fuscus stella(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->stella : () => oralis ->julianae : julianae ->oralis : oralis ->lutreolus : lutreolus ->foina : foina ->quasiater : quasiater ->carolinensis : carolinensis ->x : oralis ->julianae : julianae ->oralis : oralis ->lutreolus : lutreolus ->foina : foina ->quasiater : quasiater ->carolinensis : carolinensis +>stella : () => julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>lutreolus : unknown +>foina : lutreolus.foina +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>lutreolus : unknown +>foina : lutreolus.foina +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : oralis +>x : julianae.oralis brasiliensis(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; } ->brasiliensis : () => subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus +>brasiliensis : () => imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : subspinosus +>x : imperfecta.subspinosus brevicaudata(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->brevicaudata : () => oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>brevicaudata : () => trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : oconnelli +>x : trivirgatus.oconnelli vitticollis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->vitticollis : () => koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae ->x : koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae +>vitticollis : () => dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>x : dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : koepckeae +>x : dogramacii.koepckeae huangensis(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->huangensis : () => psilurus ->caurinus : caurinus ->psilurus : psilurus ->x : psilurus ->caurinus : caurinus ->psilurus : psilurus +>huangensis : () => caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : psilurus +>x : caurinus.psilurus cameroni(): petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus> { var x: petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus>; () => { var y = this; }; return x; } ->cameroni : () => rosalia, ciliolabrum>, psilurus> ->petrophilus : petrophilus ->rosalia : rosalia ->dammermani : dammermani ->siberu : siberu ->imperfecta : imperfecta ->lasiurus : lasiurus ->lutreolus : lutreolus ->foina : foina ->dammermani : dammermani ->melanops : melanops ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla ->caurinus : caurinus ->psilurus : psilurus ->x : rosalia, ciliolabrum>, psilurus> ->petrophilus : petrophilus ->rosalia : rosalia ->dammermani : dammermani ->siberu : siberu ->imperfecta : imperfecta ->lasiurus : lasiurus ->lutreolus : lutreolus ->foina : foina ->dammermani : dammermani ->melanops : melanops ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla ->caurinus : caurinus ->psilurus : psilurus +>cameroni : () => petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus> +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>dammermani : unknown +>siberu : dammermani.siberu +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>lutreolus : unknown +>foina : lutreolus.foina +>dammermani : unknown +>melanops : dammermani.melanops +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus> +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>dammermani : unknown +>siberu : dammermani.siberu +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>lutreolus : unknown +>foina : lutreolus.foina +>dammermani : unknown +>melanops : dammermani.melanops +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : rosalia, ciliolabrum>, psilurus> +>x : petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus> tianshanica(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->tianshanica : () => marcanoi ->howi : howi ->marcanoi : marcanoi ->x : marcanoi ->howi : howi ->marcanoi : marcanoi +>tianshanica : () => howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi +>x : howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : arboreus >this : arboreus ->x : marcanoi +>x : howi.marcanoi } } module patas { @@ -8872,256 +8872,256 @@ module patas { >uralensis : uralensis cartilagonodus(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->cartilagonodus : () => nitidus ->Lanthanum : Lanthanum ->nitidus : nitidus ->rionegrensis : rionegrensis ->caniventer : caniventer ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : nitidus ->Lanthanum : Lanthanum ->nitidus : nitidus ->rionegrensis : rionegrensis ->caniventer : caniventer ->Lanthanum : Lanthanum ->jugularis : jugularis +>cartilagonodus : () => Lanthanum.nitidus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : Lanthanum.nitidus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : nitidus +>x : Lanthanum.nitidus pyrrhinus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->pyrrhinus : () => beisa ->lavali : lavali ->beisa : beisa ->x : beisa ->lavali : lavali ->beisa : beisa +>pyrrhinus : () => lavali.beisa +>lavali : unknown +>beisa : lavali.beisa +>x : lavali.beisa +>lavali : unknown +>beisa : lavali.beisa >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : beisa +>x : lavali.beisa insulans(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->insulans : () => jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis +>insulans : () => Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : jugularis +>x : Lanthanum.jugularis nigricauda(): caurinus.johorensis, Lanthanum.jugularis> { var x: caurinus.johorensis, Lanthanum.jugularis>; () => { var y = this; }; return x; } ->nigricauda : () => johorensis, jugularis> ->caurinus : caurinus ->johorensis : johorensis ->Lanthanum : Lanthanum ->nitidus : nitidus ->petrophilus : petrophilus ->minutilla : minutilla ->julianae : julianae ->sumatrana : sumatrana ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : johorensis, jugularis> ->caurinus : caurinus ->johorensis : johorensis ->Lanthanum : Lanthanum ->nitidus : nitidus ->petrophilus : petrophilus ->minutilla : minutilla ->julianae : julianae ->sumatrana : sumatrana ->Lanthanum : Lanthanum ->jugularis : jugularis +>nigricauda : () => caurinus.johorensis, Lanthanum.jugularis> +>caurinus : unknown +>johorensis : caurinus.johorensis +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>julianae : unknown +>sumatrana : julianae.sumatrana +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : caurinus.johorensis, Lanthanum.jugularis> +>caurinus : unknown +>johorensis : caurinus.johorensis +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>julianae : unknown +>sumatrana : julianae.sumatrana +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : johorensis, jugularis> +>x : caurinus.johorensis, Lanthanum.jugularis> muricauda(): panglima.fundatus> { var x: panglima.fundatus>; () => { var y = this; }; return x; } ->muricauda : () => fundatus> ->panglima : panglima ->fundatus : fundatus ->lutreolus : lutreolus ->foina : foina ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->punicus : punicus ->julianae : julianae ->acariensis : acariensis ->x : fundatus> ->panglima : panglima ->fundatus : fundatus ->lutreolus : lutreolus ->foina : foina ->dammermani : dammermani ->siberu : siberu ->lutreolus : lutreolus ->punicus : punicus ->julianae : julianae ->acariensis : acariensis +>muricauda : () => panglima.fundatus> +>panglima : unknown +>fundatus : panglima.fundatus +>lutreolus : unknown +>foina : lutreolus.foina +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>punicus : lutreolus.punicus +>julianae : unknown +>acariensis : julianae.acariensis +>x : panglima.fundatus> +>panglima : unknown +>fundatus : panglima.fundatus +>lutreolus : unknown +>foina : lutreolus.foina +>dammermani : unknown +>siberu : dammermani.siberu +>lutreolus : unknown +>punicus : lutreolus.punicus +>julianae : unknown +>acariensis : julianae.acariensis >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : fundatus> +>x : panglima.fundatus> albicaudus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->albicaudus : () => stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni +>albicaudus : () => sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : stolzmanni +>x : sagitta.stolzmanni fallax(): ruatanica.hector { var x: ruatanica.hector; () => { var y = this; }; return x; } ->fallax : () => hector ->ruatanica : ruatanica ->hector : hector ->lutreolus : lutreolus ->punicus : punicus ->gabriellae : gabriellae ->amicus : amicus ->x : hector ->ruatanica : ruatanica ->hector : hector ->lutreolus : lutreolus ->punicus : punicus ->gabriellae : gabriellae ->amicus : amicus +>fallax : () => ruatanica.hector +>ruatanica : unknown +>hector : ruatanica.hector +>lutreolus : unknown +>punicus : lutreolus.punicus +>gabriellae : unknown +>amicus : gabriellae.amicus +>x : ruatanica.hector +>ruatanica : unknown +>hector : ruatanica.hector +>lutreolus : unknown +>punicus : lutreolus.punicus +>gabriellae : unknown +>amicus : gabriellae.amicus >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : hector +>x : ruatanica.hector attenuata(): macrorhinos.marmosurus> { var x: macrorhinos.marmosurus>; () => { var y = this; }; return x; } ->attenuata : () => marmosurus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->ruatanica : ruatanica ->americanus : americanus ->argurus : argurus ->netscheri : netscheri ->quasiater : quasiater ->carolinensis : carolinensis ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : marmosurus> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->ruatanica : ruatanica ->americanus : americanus ->argurus : argurus ->netscheri : netscheri ->quasiater : quasiater ->carolinensis : carolinensis ->dogramacii : dogramacii ->kaiseri : kaiseri +>attenuata : () => macrorhinos.marmosurus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>ruatanica : unknown +>americanus : ruatanica.americanus +>argurus : unknown +>netscheri : argurus.netscheri +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : macrorhinos.marmosurus> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>ruatanica : unknown +>americanus : ruatanica.americanus +>argurus : unknown +>netscheri : argurus.netscheri +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : marmosurus> +>x : macrorhinos.marmosurus> megalura(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->megalura : () => marcanoi ->howi : howi ->marcanoi : marcanoi ->x : marcanoi ->howi : howi ->marcanoi : marcanoi +>megalura : () => howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi +>x : howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : marcanoi +>x : howi.marcanoi neblina(): samarensis.pelurus { var x: samarensis.pelurus; () => { var y = this; }; return x; } ->neblina : () => pelurus ->samarensis : samarensis ->pelurus : pelurus ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : pelurus ->samarensis : samarensis ->pelurus : pelurus ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->rionegrensis : rionegrensis ->caniventer : caniventer +>neblina : () => samarensis.pelurus +>samarensis : unknown +>pelurus : samarensis.pelurus +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : samarensis.pelurus +>samarensis : unknown +>pelurus : samarensis.pelurus +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : pelurus +>x : samarensis.pelurus citellus(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->citellus : () => arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer +>citellus : () => daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : arboreus +>x : daubentonii.arboreus tanezumi(): imperfecta.lasiurus { var x: imperfecta.lasiurus; () => { var y = this; }; return x; } ->tanezumi : () => lasiurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->dogramacii : dogramacii ->robustulus : robustulus ->caurinus : caurinus ->psilurus : psilurus ->x : lasiurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->dogramacii : dogramacii ->robustulus : robustulus ->caurinus : caurinus ->psilurus : psilurus +>tanezumi : () => imperfecta.lasiurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : imperfecta.lasiurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : lasiurus +>x : imperfecta.lasiurus albiventer(): rendalli.crenulata { var x: rendalli.crenulata; () => { var y = this; }; return x; } ->albiventer : () => crenulata ->rendalli : rendalli ->crenulata : crenulata ->rendalli : rendalli ->zuluensis : zuluensis ->dogramacii : dogramacii ->robustulus : robustulus ->x : crenulata ->rendalli : rendalli ->crenulata : crenulata ->rendalli : rendalli ->zuluensis : zuluensis ->dogramacii : dogramacii ->robustulus : robustulus +>albiventer : () => rendalli.crenulata +>rendalli : unknown +>crenulata : rendalli.crenulata +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : rendalli.crenulata +>rendalli : unknown +>crenulata : rendalli.crenulata +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : uralensis >this : uralensis ->x : crenulata +>x : rendalli.crenulata } } module provocax { @@ -9129,56 +9129,56 @@ module provocax { export class melanoleuca extends lavali.wilsoni { >melanoleuca : melanoleuca ->lavali : lavali ->wilsoni : wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni Neodymium(): macrorhinos.marmosurus, lutreolus.foina> { var x: macrorhinos.marmosurus, lutreolus.foina>; () => { var y = this; }; return x; } ->Neodymium : () => marmosurus, foina> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->petrophilus : petrophilus ->sodyi : sodyi ->trivirgatus : trivirgatus ->falconeri : falconeri ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->lutreolus : lutreolus ->foina : foina ->x : marmosurus, foina> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->petrophilus : petrophilus ->sodyi : sodyi ->trivirgatus : trivirgatus ->falconeri : falconeri ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->lutreolus : lutreolus ->foina : foina +>Neodymium : () => macrorhinos.marmosurus, lutreolus.foina> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>lutreolus : unknown +>foina : lutreolus.foina +>x : macrorhinos.marmosurus, lutreolus.foina> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : melanoleuca >this : melanoleuca ->x : marmosurus, foina> +>x : macrorhinos.marmosurus, lutreolus.foina> baeri(): imperfecta.lasiurus { var x: imperfecta.lasiurus; () => { var y = this; }; return x; } ->baeri : () => lasiurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->lavali : lavali ->lepturus : lepturus ->ruatanica : ruatanica ->americanus : americanus ->x : lasiurus ->imperfecta : imperfecta ->lasiurus : lasiurus ->lavali : lavali ->lepturus : lepturus ->ruatanica : ruatanica ->americanus : americanus +>baeri : () => imperfecta.lasiurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>lavali : unknown +>lepturus : lavali.lepturus +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : imperfecta.lasiurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>lavali : unknown +>lepturus : lavali.lepturus +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : melanoleuca >this : melanoleuca ->x : lasiurus +>x : imperfecta.lasiurus } } module sagitta { @@ -9190,84 +9190,84 @@ module sagitta { >T1 : T1 Chlorine(): samarensis.cahirinus, dogramacii.robustulus> { var x: samarensis.cahirinus, dogramacii.robustulus>; () => { var y = this; }; return x; } ->Chlorine : () => cahirinus, robustulus> ->samarensis : samarensis ->cahirinus : cahirinus ->nigra : nigra ->gracilis : gracilis ->argurus : argurus ->luctuosa : luctuosa ->imperfecta : imperfecta ->subspinosus : subspinosus ->dogramacii : dogramacii ->robustulus : robustulus ->x : cahirinus, robustulus> ->samarensis : samarensis ->cahirinus : cahirinus ->nigra : nigra ->gracilis : gracilis ->argurus : argurus ->luctuosa : luctuosa ->imperfecta : imperfecta ->subspinosus : subspinosus ->dogramacii : dogramacii ->robustulus : robustulus +>Chlorine : () => samarensis.cahirinus, dogramacii.robustulus> +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>nigra : unknown +>gracilis : nigra.gracilis +>argurus : unknown +>luctuosa : argurus.luctuosa +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : samarensis.cahirinus, dogramacii.robustulus> +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>nigra : unknown +>gracilis : nigra.gracilis +>argurus : unknown +>luctuosa : argurus.luctuosa +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : sicarius >this : sicarius ->x : cahirinus, robustulus> +>x : samarensis.cahirinus, dogramacii.robustulus> simulator(): macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>> { var x: macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>>; () => { var y = this; }; return x; } ->simulator : () => marmosurus, marmosurus, echinatus>, stolzmanni>> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->Lanthanum : Lanthanum ->nitidus : nitidus ->dammermani : dammermani ->melanops : melanops ->lavali : lavali ->lepturus : lepturus ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->sagitta : sagitta +>simulator : () => macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, stolzmanni>> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>dammermani : unknown +>melanops : dammermani.melanops +>lavali : unknown +>lepturus : lavali.lepturus +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>sagitta : unknown >stolzmanni : stolzmanni ->x : marmosurus, marmosurus, echinatus>, stolzmanni>> ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->Lanthanum : Lanthanum ->nitidus : nitidus ->dammermani : dammermani ->melanops : melanops ->lavali : lavali ->lepturus : lepturus ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->sagitta : sagitta +>x : macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, stolzmanni>> +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>dammermani : unknown +>melanops : dammermani.melanops +>lavali : unknown +>lepturus : lavali.lepturus +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>sagitta : unknown >stolzmanni : stolzmanni >() => { var y = this; } : () => void >y : sicarius >this : sicarius ->x : marmosurus, marmosurus, echinatus>, stolzmanni>> +>x : macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, stolzmanni>> } } module howi { @@ -9275,280 +9275,280 @@ module howi { export class marcanoi extends Lanthanum.megalonyx { >marcanoi : marcanoi ->Lanthanum : Lanthanum ->megalonyx : megalonyx +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx formosae(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->formosae : () => megalonyx ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->x : megalonyx ->Lanthanum : Lanthanum ->megalonyx : megalonyx +>formosae : () => Lanthanum.megalonyx +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>x : Lanthanum.megalonyx +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : megalonyx +>x : Lanthanum.megalonyx dudui(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->dudui : () => punicus ->lutreolus : lutreolus ->punicus : punicus ->x : punicus ->lutreolus : lutreolus ->punicus : punicus +>dudui : () => lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : punicus +>x : lutreolus.punicus leander(): daubentonii.nesiotes { var x: daubentonii.nesiotes; () => { var y = this; }; return x; } ->leander : () => nesiotes ->daubentonii : daubentonii ->nesiotes : nesiotes ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->minutus : minutus ->portoricensis : portoricensis ->x : nesiotes ->daubentonii : daubentonii ->nesiotes : nesiotes ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->minutus : minutus ->portoricensis : portoricensis +>leander : () => daubentonii.nesiotes +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>minutus : unknown +>portoricensis : minutus.portoricensis +>x : daubentonii.nesiotes +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>minutus : unknown +>portoricensis : minutus.portoricensis >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : nesiotes +>x : daubentonii.nesiotes martinsi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->martinsi : () => aurata ->dogramacii : dogramacii ->aurata : aurata ->x : aurata ->dogramacii : dogramacii ->aurata : aurata +>martinsi : () => dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : aurata +>x : dogramacii.aurata beatrix(): imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>> { var x: imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>>; () => { var y = this; }; return x; } ->beatrix : () => ciliolabrum, echinatus>, aurata>, ciliolabrum>> ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->provocax : provocax ->melanoleuca : melanoleuca ->panglima : panglima ->amphibius : amphibius ->minutus : minutus ->inez : inez ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->dogramacii : dogramacii ->aurata : aurata ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->beisa : beisa ->x : ciliolabrum, echinatus>, aurata>, ciliolabrum>> ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->provocax : provocax ->melanoleuca : melanoleuca ->panglima : panglima ->amphibius : amphibius ->minutus : minutus ->inez : inez ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->dogramacii : dogramacii ->aurata : aurata ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->beisa : beisa +>beatrix : () => imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>> +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>panglima : unknown +>amphibius : panglima.amphibius +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>dogramacii : unknown +>aurata : dogramacii.aurata +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>beisa : lavali.beisa +>x : imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>> +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>panglima : unknown +>amphibius : panglima.amphibius +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>dogramacii : unknown +>aurata : dogramacii.aurata +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>beisa : lavali.beisa >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : ciliolabrum, echinatus>, aurata>, ciliolabrum>> +>x : imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>> griseoventer(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->griseoventer : () => oreas ->argurus : argurus ->oreas : oreas ->x : oreas ->argurus : argurus ->oreas : oreas +>griseoventer : () => argurus.oreas +>argurus : unknown +>oreas : argurus.oreas +>x : argurus.oreas +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : oreas +>x : argurus.oreas zerda(): quasiater.wattsi, howi.coludo>> { var x: quasiater.wattsi, howi.coludo>>; () => { var y = this; }; return x; } ->zerda : () => wattsi, coludo>> ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->oralis : oralis ->julianae : julianae ->steerii : steerii ->lavali : lavali ->lepturus : lepturus ->howi : howi +>zerda : () => quasiater.wattsi, coludo>> +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>oralis : julianae.oralis +>julianae : unknown +>steerii : julianae.steerii +>lavali : unknown +>lepturus : lavali.lepturus +>howi : unknown >coludo : coludo ->julianae : julianae ->steerii : steerii ->julianae : julianae ->gerbillus : gerbillus ->lavali : lavali ->thaeleri : thaeleri ->quasiater : quasiater ->carolinensis : carolinensis ->x : wattsi, coludo>> ->quasiater : quasiater ->wattsi : wattsi ->julianae : julianae ->oralis : oralis ->julianae : julianae ->steerii : steerii ->lavali : lavali ->lepturus : lepturus ->howi : howi +>julianae : unknown +>steerii : julianae.steerii +>julianae : unknown +>gerbillus : julianae.gerbillus +>lavali : unknown +>thaeleri : lavali.thaeleri +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.wattsi, coludo>> +>quasiater : unknown +>wattsi : quasiater.wattsi +>julianae : unknown +>oralis : julianae.oralis +>julianae : unknown +>steerii : julianae.steerii +>lavali : unknown +>lepturus : lavali.lepturus +>howi : unknown >coludo : coludo ->julianae : julianae ->steerii : steerii ->julianae : julianae ->gerbillus : gerbillus ->lavali : lavali ->thaeleri : thaeleri ->quasiater : quasiater ->carolinensis : carolinensis +>julianae : unknown +>steerii : julianae.steerii +>julianae : unknown +>gerbillus : julianae.gerbillus +>lavali : unknown +>thaeleri : lavali.thaeleri +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : wattsi, coludo>> +>x : quasiater.wattsi, coludo>> yucatanicus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->yucatanicus : () => nudicaudus ->julianae : julianae ->nudicaudus : nudicaudus ->x : nudicaudus ->julianae : julianae ->nudicaudus : nudicaudus +>yucatanicus : () => julianae.nudicaudus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>x : julianae.nudicaudus +>julianae : unknown +>nudicaudus : julianae.nudicaudus >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : nudicaudus +>x : julianae.nudicaudus nigrita(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; } ->nigrita : () => peninsulae ->argurus : argurus ->peninsulae : peninsulae ->x : peninsulae ->argurus : argurus ->peninsulae : peninsulae +>nigrita : () => argurus.peninsulae +>argurus : unknown +>peninsulae : argurus.peninsulae +>x : argurus.peninsulae +>argurus : unknown +>peninsulae : argurus.peninsulae >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : peninsulae +>x : argurus.peninsulae jouvenetae(): argurus.dauricus { var x: argurus.dauricus; () => { var y = this; }; return x; } ->jouvenetae : () => dauricus ->argurus : argurus ->dauricus : dauricus ->argurus : argurus ->germaini : germaini ->julianae : julianae ->durangae : durangae ->x : dauricus ->argurus : argurus ->dauricus : dauricus ->argurus : argurus ->germaini : germaini ->julianae : julianae ->durangae : durangae +>jouvenetae : () => argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>argurus : unknown +>germaini : argurus.germaini +>julianae : unknown +>durangae : julianae.durangae +>x : argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>argurus : unknown +>germaini : argurus.germaini +>julianae : unknown +>durangae : julianae.durangae >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : dauricus +>x : argurus.dauricus indefessus(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->indefessus : () => walkeri ->sagitta : sagitta ->walkeri : walkeri ->x : walkeri ->sagitta : sagitta ->walkeri : walkeri +>indefessus : () => sagitta.walkeri +>sagitta : unknown +>walkeri : sagitta.walkeri +>x : sagitta.walkeri +>sagitta : unknown +>walkeri : sagitta.walkeri >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : walkeri +>x : sagitta.walkeri vuquangensis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->vuquangensis : () => daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>vuquangensis : () => macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : daphaenodon +>x : macrorhinos.daphaenodon Zirconium(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->Zirconium : () => thaeleri ->lavali : lavali ->thaeleri : thaeleri ->x : thaeleri ->lavali : lavali ->thaeleri : thaeleri +>Zirconium : () => lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri +>x : lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : thaeleri +>x : lavali.thaeleri hyaena(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->hyaena : () => oralis ->julianae : julianae ->oralis : oralis ->lavali : lavali ->beisa : beisa ->argurus : argurus ->oreas : oreas ->x : oralis ->julianae : julianae ->oralis : oralis ->lavali : lavali ->beisa : beisa ->argurus : argurus ->oreas : oreas +>hyaena : () => julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>lavali : unknown +>beisa : lavali.beisa +>argurus : unknown +>oreas : argurus.oreas +>x : julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>lavali : unknown +>beisa : lavali.beisa +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : marcanoi >this : marcanoi ->x : oralis +>x : julianae.oralis } } module argurus { @@ -9560,204 +9560,204 @@ module argurus { >T1 : T1 nasutus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->nasutus : () => lepturus ->lavali : lavali ->lepturus : lepturus ->x : lepturus ->lavali : lavali ->lepturus : lepturus +>nasutus : () => lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus +>x : lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : lepturus +>x : lavali.lepturus poecilops(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; } ->poecilops : () => steerii ->julianae : julianae ->steerii : steerii ->x : steerii ->julianae : julianae ->steerii : steerii +>poecilops : () => julianae.steerii +>julianae : unknown +>steerii : julianae.steerii +>x : julianae.steerii +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : steerii +>x : julianae.steerii sondaicus(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->sondaicus : () => fuscus ->samarensis : samarensis ->fuscus : fuscus ->argurus : argurus +>sondaicus : () => samarensis.fuscus +>samarensis : unknown +>fuscus : samarensis.fuscus +>argurus : unknown >peninsulae : peninsulae ->lavali : lavali ->lepturus : lepturus ->x : fuscus ->samarensis : samarensis ->fuscus : fuscus ->argurus : argurus +>lavali : unknown +>lepturus : lavali.lepturus +>x : samarensis.fuscus +>samarensis : unknown +>fuscus : samarensis.fuscus +>argurus : unknown >peninsulae : peninsulae ->lavali : lavali ->lepturus : lepturus +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : fuscus +>x : samarensis.fuscus auriventer(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->auriventer : () => rosalia ->petrophilus : petrophilus ->rosalia : rosalia ->lavali : lavali ->xanthognathus : xanthognathus ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : rosalia ->petrophilus : petrophilus ->rosalia : rosalia ->lavali : lavali ->xanthognathus : xanthognathus ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>auriventer : () => petrophilus.rosalia +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : petrophilus.rosalia +>petrophilus : unknown +>rosalia : petrophilus.rosalia +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : rosalia +>x : petrophilus.rosalia cherriei(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->cherriei : () => Praseodymium ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->Lanthanum : Lanthanum ->jugularis : jugularis ->argurus : argurus +>cherriei : () => ruatanica.Praseodymium +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>argurus : unknown >oreas : oreas ->x : Praseodymium ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->Lanthanum : Lanthanum ->jugularis : jugularis ->argurus : argurus +>x : ruatanica.Praseodymium +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>argurus : unknown >oreas : oreas >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : Praseodymium +>x : ruatanica.Praseodymium lindberghi(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->lindberghi : () => inez ->minutus : minutus ->inez : inez ->rendalli : rendalli ->zuluensis : zuluensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : inez ->minutus : minutus ->inez : inez ->rendalli : rendalli ->zuluensis : zuluensis ->rionegrensis : rionegrensis ->caniventer : caniventer +>lindberghi : () => minutus.inez +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : minutus.inez +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : inez +>x : minutus.inez pipistrellus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->pipistrellus : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>pipistrellus : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : carolinensis +>x : quasiater.carolinensis paranus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->paranus : () => punicus ->lutreolus : lutreolus ->punicus : punicus ->x : punicus ->lutreolus : lutreolus ->punicus : punicus +>paranus : () => lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : punicus +>x : lutreolus.punicus dubosti(): nigra.thalia { var x: nigra.thalia; () => { var y = this; }; return x; } ->dubosti : () => thalia ->nigra : nigra ->thalia : thalia ->lutreolus : lutreolus ->schlegeli : schlegeli ->julianae : julianae ->sumatrana : sumatrana ->x : thalia ->nigra : nigra ->thalia : thalia ->lutreolus : lutreolus ->schlegeli : schlegeli ->julianae : julianae ->sumatrana : sumatrana +>dubosti : () => nigra.thalia +>nigra : unknown +>thalia : nigra.thalia +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : nigra.thalia +>nigra : unknown +>thalia : nigra.thalia +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : thalia +>x : nigra.thalia opossum(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->opossum : () => dolichurus ->nigra : nigra ->dolichurus : dolichurus ->lavali : lavali ->lepturus : lepturus ->samarensis : samarensis ->pallidus : pallidus ->x : dolichurus ->nigra : nigra ->dolichurus : dolichurus ->lavali : lavali ->lepturus : lepturus ->samarensis : samarensis ->pallidus : pallidus +>opossum : () => nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>lavali : unknown +>lepturus : lavali.lepturus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>lavali : unknown +>lepturus : lavali.lepturus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : dolichurus +>x : nigra.dolichurus oreopolus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->oreopolus : () => portoricensis ->minutus : minutus ->portoricensis : portoricensis ->x : portoricensis ->minutus : minutus ->portoricensis : portoricensis +>oreopolus : () => minutus.portoricensis +>minutus : unknown +>portoricensis : minutus.portoricensis +>x : minutus.portoricensis +>minutus : unknown +>portoricensis : minutus.portoricensis >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : portoricensis +>x : minutus.portoricensis amurensis(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->amurensis : () => arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->lavali : lavali ->otion : otion ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->lavali : lavali ->otion : otion ->macrorhinos : macrorhinos ->konganensis : konganensis +>amurensis : () => daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>lavali : unknown +>otion : lavali.otion +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>lavali : unknown +>otion : lavali.otion +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : gilbertii >this : gilbertii ->x : arboreus +>x : daubentonii.arboreus } } module petrophilus { @@ -9774,208 +9774,208 @@ module lutreolus { >punicus : punicus strandi(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->strandi : () => klossii ->gabriellae : gabriellae ->klossii : klossii ->Lanthanum : Lanthanum ->jugularis : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : klossii ->gabriellae : gabriellae ->klossii : klossii ->Lanthanum : Lanthanum ->jugularis : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis +>strandi : () => gabriellae.klossii +>gabriellae : unknown +>klossii : gabriellae.klossii +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : gabriellae.klossii +>gabriellae : unknown +>klossii : gabriellae.klossii +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : klossii +>x : gabriellae.klossii lar(): caurinus.mahaganus { var x: caurinus.mahaganus; () => { var y = this; }; return x; } ->lar : () => mahaganus ->caurinus : caurinus ->mahaganus : mahaganus ->julianae : julianae ->nudicaudus : nudicaudus ->lavali : lavali ->otion : otion ->x : mahaganus ->caurinus : caurinus ->mahaganus : mahaganus ->julianae : julianae ->nudicaudus : nudicaudus ->lavali : lavali ->otion : otion +>lar : () => caurinus.mahaganus +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>lavali : unknown +>otion : lavali.otion +>x : caurinus.mahaganus +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>lavali : unknown +>otion : lavali.otion >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : mahaganus +>x : caurinus.mahaganus erica(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->erica : () => koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae ->x : koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae +>erica : () => dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>x : dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : koepckeae +>x : dogramacii.koepckeae trichura(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->trichura : () => konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis +>trichura : () => macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : konganensis +>x : macrorhinos.konganensis lemniscatus(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->lemniscatus : () => fundatus ->panglima : panglima ->fundatus : fundatus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus +>lemniscatus : () => panglima.fundatus +>panglima : unknown +>fundatus : panglima.fundatus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown >foina : foina ->x : fundatus ->panglima : panglima ->fundatus : fundatus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus +>x : panglima.fundatus +>panglima : unknown +>fundatus : panglima.fundatus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown >foina : foina >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : fundatus +>x : panglima.fundatus aspalax(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->aspalax : () => linulus ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : linulus ->panamensis : panamensis ->linulus : linulus ->lavali : lavali ->xanthognathus : xanthognathus ->macrorhinos : macrorhinos ->konganensis : konganensis +>aspalax : () => panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : linulus +>x : panamensis.linulus marshalli(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->marshalli : () => nudicaudus ->julianae : julianae ->nudicaudus : nudicaudus ->x : nudicaudus ->julianae : julianae ->nudicaudus : nudicaudus +>marshalli : () => julianae.nudicaudus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>x : julianae.nudicaudus +>julianae : unknown +>nudicaudus : julianae.nudicaudus >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : nudicaudus +>x : julianae.nudicaudus Zinc(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; } ->Zinc : () => galapagoensis ->julianae : julianae ->galapagoensis : galapagoensis ->x : galapagoensis ->julianae : julianae ->galapagoensis : galapagoensis +>Zinc : () => julianae.galapagoensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>x : julianae.galapagoensis +>julianae : unknown +>galapagoensis : julianae.galapagoensis >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : galapagoensis +>x : julianae.galapagoensis monochromos(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->monochromos : () => coludo ->howi : howi ->coludo : coludo ->lavali : lavali ->lepturus : lepturus ->lutreolus : lutreolus +>monochromos : () => howi.coludo +>howi : unknown +>coludo : howi.coludo +>lavali : unknown +>lepturus : lavali.lepturus +>lutreolus : unknown >punicus : punicus ->x : coludo ->howi : howi ->coludo : coludo ->lavali : lavali ->lepturus : lepturus ->lutreolus : lutreolus +>x : howi.coludo +>howi : unknown +>coludo : howi.coludo +>lavali : unknown +>lepturus : lavali.lepturus +>lutreolus : unknown >punicus : punicus >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : coludo +>x : howi.coludo purinus(): ruatanica.hector { var x: ruatanica.hector; () => { var y = this; }; return x; } ->purinus : () => hector ->ruatanica : ruatanica ->hector : hector ->lutreolus : lutreolus +>purinus : () => ruatanica.hector +>ruatanica : unknown +>hector : ruatanica.hector +>lutreolus : unknown >schlegeli : schlegeli ->provocax : provocax ->melanoleuca : melanoleuca ->x : hector ->ruatanica : ruatanica ->hector : hector ->lutreolus : lutreolus +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : ruatanica.hector +>ruatanica : unknown +>hector : ruatanica.hector +>lutreolus : unknown >schlegeli : schlegeli ->provocax : provocax ->melanoleuca : melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : hector +>x : ruatanica.hector ischyrus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->ischyrus : () => lepturus ->lavali : lavali ->lepturus : lepturus ->x : lepturus ->lavali : lavali ->lepturus : lepturus +>ischyrus : () => lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus +>x : lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : lepturus +>x : lavali.lepturus tenuis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->tenuis : () => daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : daphaenodon ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>tenuis : () => macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : macrorhinos.daphaenodon +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : daphaenodon +>x : macrorhinos.daphaenodon Helium(): julianae.acariensis { var x: julianae.acariensis; () => { var y = this; }; return x; } ->Helium : () => acariensis ->julianae : julianae ->acariensis : acariensis ->x : acariensis ->julianae : julianae ->acariensis : acariensis +>Helium : () => julianae.acariensis +>julianae : unknown +>acariensis : julianae.acariensis +>x : julianae.acariensis +>julianae : unknown +>acariensis : julianae.acariensis >() => { var y = this; } : () => void >y : punicus >this : punicus ->x : acariensis +>x : julianae.acariensis } } module macrorhinos { @@ -9985,124 +9985,124 @@ module macrorhinos { >daphaenodon : daphaenodon bredanensis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->bredanensis : () => sumatrana ->julianae : julianae ->sumatrana : sumatrana ->x : sumatrana ->julianae : julianae ->sumatrana : sumatrana +>bredanensis : () => julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : daphaenodon >this : daphaenodon ->x : sumatrana +>x : julianae.sumatrana othus(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->othus : () => coludo ->howi : howi ->coludo : coludo ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi ->x : coludo ->howi : howi ->coludo : coludo ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi +>othus : () => howi.coludo +>howi : unknown +>coludo : howi.coludo +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi +>x : howi.coludo +>howi : unknown +>coludo : howi.coludo +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : daphaenodon >this : daphaenodon ->x : coludo +>x : howi.coludo hammondi(): julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> { var x: julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>; () => { var y = this; }; return x; } ->hammondi : () => gerbillus, echinatus>, aurata>, otion> ->julianae : julianae ->gerbillus : gerbillus ->minutus : minutus ->inez : inez ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->dogramacii : dogramacii ->aurata : aurata ->lavali : lavali ->otion : otion ->x : gerbillus, echinatus>, aurata>, otion> ->julianae : julianae ->gerbillus : gerbillus ->minutus : minutus ->inez : inez ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->dogramacii : dogramacii ->aurata : aurata ->lavali : lavali ->otion : otion +>hammondi : () => julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> +>julianae : unknown +>gerbillus : julianae.gerbillus +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>dogramacii : unknown +>aurata : dogramacii.aurata +>lavali : unknown +>otion : lavali.otion +>x : julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> +>julianae : unknown +>gerbillus : julianae.gerbillus +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>dogramacii : unknown +>aurata : dogramacii.aurata +>lavali : unknown +>otion : lavali.otion >() => { var y = this; } : () => void >y : daphaenodon >this : daphaenodon ->x : gerbillus, echinatus>, aurata>, otion> +>x : julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> aureocollaris(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->aureocollaris : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>aureocollaris : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : daphaenodon >this : daphaenodon ->x : carolinensis +>x : quasiater.carolinensis flavipes(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->flavipes : () => minutilla ->petrophilus : petrophilus ->minutilla : minutilla ->x : minutilla ->petrophilus : petrophilus ->minutilla : minutilla +>flavipes : () => petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>x : petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla >() => { var y = this; } : () => void >y : daphaenodon >this : daphaenodon ->x : minutilla +>x : petrophilus.minutilla callosus(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->callosus : () => lotor ->trivirgatus : trivirgatus ->lotor : lotor ->lutreolus : lutreolus ->foina : foina ->dogramacii : dogramacii ->robustulus : robustulus ->x : lotor ->trivirgatus : trivirgatus ->lotor : lotor ->lutreolus : lutreolus ->foina : foina ->dogramacii : dogramacii ->robustulus : robustulus +>callosus : () => trivirgatus.lotor +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>lutreolus : unknown +>foina : lutreolus.foina +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : trivirgatus.lotor +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>lutreolus : unknown +>foina : lutreolus.foina +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : daphaenodon >this : daphaenodon ->x : lotor +>x : trivirgatus.lotor } } module sagitta { @@ -10114,211 +10114,211 @@ module sagitta { >T1 : T1 zunigae(): rendalli.crenulata> { var x: rendalli.crenulata>; () => { var y = this; }; return x; } ->zunigae : () => crenulata> ->rendalli : rendalli ->crenulata : crenulata ->macrorhinos : macrorhinos ->konganensis : konganensis ->nigra : nigra ->dolichurus : dolichurus ->lavali : lavali ->lepturus : lepturus ->samarensis : samarensis ->pallidus : pallidus ->x : crenulata> ->rendalli : rendalli ->crenulata : crenulata ->macrorhinos : macrorhinos ->konganensis : konganensis ->nigra : nigra ->dolichurus : dolichurus ->lavali : lavali ->lepturus : lepturus ->samarensis : samarensis ->pallidus : pallidus +>zunigae : () => rendalli.crenulata> +>rendalli : unknown +>crenulata : rendalli.crenulata +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>nigra : unknown +>dolichurus : nigra.dolichurus +>lavali : unknown +>lepturus : lavali.lepturus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : rendalli.crenulata> +>rendalli : unknown +>crenulata : rendalli.crenulata +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>nigra : unknown +>dolichurus : nigra.dolichurus +>lavali : unknown +>lepturus : lavali.lepturus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : cinereus >this : cinereus ->x : crenulata> +>x : rendalli.crenulata> microps(): daubentonii.nigricans> { var x: daubentonii.nigricans>; () => { var y = this; }; return x; } ->microps : () => nigricans> ->daubentonii : daubentonii ->nigricans : nigricans ->caurinus : caurinus ->megaphyllus : megaphyllus ->quasiater : quasiater ->wattsi : wattsi ->Lanthanum : Lanthanum ->jugularis : jugularis ->julianae : julianae ->sumatrana : sumatrana ->x : nigricans> ->daubentonii : daubentonii ->nigricans : nigricans ->caurinus : caurinus ->megaphyllus : megaphyllus ->quasiater : quasiater ->wattsi : wattsi ->Lanthanum : Lanthanum ->jugularis : jugularis ->julianae : julianae ->sumatrana : sumatrana +>microps : () => daubentonii.nigricans> +>daubentonii : unknown +>nigricans : daubentonii.nigricans +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>quasiater : unknown +>wattsi : quasiater.wattsi +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : daubentonii.nigricans> +>daubentonii : unknown +>nigricans : daubentonii.nigricans +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>quasiater : unknown +>wattsi : quasiater.wattsi +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : cinereus >this : cinereus ->x : nigricans> +>x : daubentonii.nigricans> guaporensis(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->guaporensis : () => arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->gabriellae : gabriellae ->amicus : amicus ->argurus : argurus ->germaini : germaini ->x : arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->gabriellae : gabriellae ->amicus : amicus ->argurus : argurus ->germaini : germaini +>guaporensis : () => daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>gabriellae : unknown +>amicus : gabriellae.amicus +>argurus : unknown +>germaini : argurus.germaini +>x : daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>gabriellae : unknown +>amicus : gabriellae.amicus +>argurus : unknown +>germaini : argurus.germaini >() => { var y = this; } : () => void >y : cinereus >this : cinereus ->x : arboreus +>x : daubentonii.arboreus tonkeana(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->tonkeana : () => fundatus ->panglima : panglima ->fundatus : fundatus ->petrophilus : petrophilus ->minutilla : minutilla ->dammermani : dammermani ->melanops : melanops ->x : fundatus ->panglima : panglima ->fundatus : fundatus ->petrophilus : petrophilus ->minutilla : minutilla ->dammermani : dammermani ->melanops : melanops +>tonkeana : () => panglima.fundatus +>panglima : unknown +>fundatus : panglima.fundatus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>dammermani : unknown +>melanops : dammermani.melanops +>x : panglima.fundatus +>panglima : unknown +>fundatus : panglima.fundatus +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : cinereus >this : cinereus ->x : fundatus +>x : panglima.fundatus montensis(): dammermani.siberu { var x: dammermani.siberu; () => { var y = this; }; return x; } ->montensis : () => siberu ->dammermani : dammermani ->siberu : siberu ->dogramacii : dogramacii ->aurata : aurata ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : siberu ->dammermani : dammermani ->siberu : siberu ->dogramacii : dogramacii ->aurata : aurata ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>montensis : () => dammermani.siberu +>dammermani : unknown +>siberu : dammermani.siberu +>dogramacii : unknown +>aurata : dogramacii.aurata +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : dammermani.siberu +>dammermani : unknown +>siberu : dammermani.siberu +>dogramacii : unknown +>aurata : dogramacii.aurata +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : cinereus >this : cinereus ->x : siberu +>x : dammermani.siberu sphinx(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->sphinx : () => portoricensis ->minutus : minutus ->portoricensis : portoricensis ->x : portoricensis ->minutus : minutus ->portoricensis : portoricensis +>sphinx : () => minutus.portoricensis +>minutus : unknown +>portoricensis : minutus.portoricensis +>x : minutus.portoricensis +>minutus : unknown +>portoricensis : minutus.portoricensis >() => { var y = this; } : () => void >y : cinereus >this : cinereus ->x : portoricensis +>x : minutus.portoricensis glis(): argurus.wetmorei { var x: argurus.wetmorei; () => { var y = this; }; return x; } ->glis : () => wetmorei ->argurus : argurus ->wetmorei : wetmorei ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi ->x : wetmorei ->argurus : argurus ->wetmorei : wetmorei ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi +>glis : () => argurus.wetmorei +>argurus : unknown +>wetmorei : argurus.wetmorei +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi +>x : argurus.wetmorei +>argurus : unknown +>wetmorei : argurus.wetmorei +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : cinereus >this : cinereus ->x : wetmorei +>x : argurus.wetmorei dorsalis(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->dorsalis : () => sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->argurus : argurus ->luctuosa : luctuosa ->julianae : julianae ->sumatrana : sumatrana ->x : sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->argurus : argurus ->luctuosa : luctuosa ->julianae : julianae ->sumatrana : sumatrana +>dorsalis : () => petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>argurus : unknown +>luctuosa : argurus.luctuosa +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>argurus : unknown +>luctuosa : argurus.luctuosa +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : cinereus >this : cinereus ->x : sodyi +>x : petrophilus.sodyi fimbriatus(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; } ->fimbriatus : () => melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca ->x : melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca +>fimbriatus : () => provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : cinereus >this : cinereus ->x : melanoleuca +>x : provocax.melanoleuca sara(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->sara : () => gracilis ->nigra : nigra ->gracilis : gracilis ->argurus : argurus ->luctuosa : luctuosa ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : gracilis ->nigra : nigra ->gracilis : gracilis ->argurus : argurus ->luctuosa : luctuosa ->imperfecta : imperfecta ->subspinosus : subspinosus +>sara : () => nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>argurus : unknown +>luctuosa : argurus.luctuosa +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>argurus : unknown +>luctuosa : argurus.luctuosa +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : cinereus >this : cinereus ->x : gracilis +>x : nigra.gracilis epimelas(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } >epimelas : () => stolzmanni ->sagitta : sagitta +>sagitta : unknown >stolzmanni : stolzmanni >x : stolzmanni ->sagitta : sagitta +>sagitta : unknown >stolzmanni : stolzmanni >() => { var y = this; } : () => void >y : cinereus @@ -10326,24 +10326,24 @@ module sagitta { >x : stolzmanni pittieri(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->pittieri : () => fuscus ->samarensis : samarensis ->fuscus : fuscus ->quasiater : quasiater ->carolinensis : carolinensis ->sagitta : sagitta +>pittieri : () => samarensis.fuscus +>samarensis : unknown +>fuscus : samarensis.fuscus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>sagitta : unknown >stolzmanni : stolzmanni ->x : fuscus ->samarensis : samarensis ->fuscus : fuscus ->quasiater : quasiater ->carolinensis : carolinensis ->sagitta : sagitta +>x : samarensis.fuscus +>samarensis : unknown +>fuscus : samarensis.fuscus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>sagitta : unknown >stolzmanni : stolzmanni >() => { var y = this; } : () => void >y : cinereus >this : cinereus ->x : fuscus +>x : samarensis.fuscus } } module nigra { @@ -10362,238 +10362,238 @@ module gabriellae { >klossii : klossii >T0 : T0 >T1 : T1 ->imperfecta : imperfecta ->lasiurus : lasiurus ->dogramacii : dogramacii ->robustulus : robustulus ->caurinus : caurinus ->psilurus : psilurus +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>caurinus : unknown +>psilurus : caurinus.psilurus } export class amicus { >amicus : amicus pirrensis(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->pirrensis : () => luctuosa ->argurus : argurus ->luctuosa : luctuosa ->x : luctuosa ->argurus : argurus ->luctuosa : luctuosa +>pirrensis : () => argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : amicus >this : amicus ->x : luctuosa +>x : argurus.luctuosa phaeura(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->phaeura : () => abidi ->panglima : panglima ->abidi : abidi ->lutreolus : lutreolus ->foina : foina ->argurus : argurus ->peninsulae : peninsulae ->x : abidi ->panglima : panglima ->abidi : abidi ->lutreolus : lutreolus ->foina : foina ->argurus : argurus ->peninsulae : peninsulae +>phaeura : () => panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>lutreolus : unknown +>foina : lutreolus.foina +>argurus : unknown +>peninsulae : argurus.peninsulae +>x : panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>lutreolus : unknown +>foina : lutreolus.foina +>argurus : unknown +>peninsulae : argurus.peninsulae >() => { var y = this; } : () => void >y : amicus >this : amicus ->x : abidi +>x : panglima.abidi voratus(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->voratus : () => thaeleri ->lavali : lavali ->thaeleri : thaeleri ->x : thaeleri ->lavali : lavali ->thaeleri : thaeleri +>voratus : () => lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri +>x : lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri >() => { var y = this; } : () => void >y : amicus >this : amicus ->x : thaeleri +>x : lavali.thaeleri satarae(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->satarae : () => lotor ->trivirgatus : trivirgatus ->lotor : lotor ->argurus : argurus ->luctuosa : luctuosa ->lavali : lavali ->wilsoni : wilsoni ->x : lotor ->trivirgatus : trivirgatus ->lotor : lotor ->argurus : argurus ->luctuosa : luctuosa ->lavali : lavali ->wilsoni : wilsoni +>satarae : () => trivirgatus.lotor +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>argurus : unknown +>luctuosa : argurus.luctuosa +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : trivirgatus.lotor +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>argurus : unknown +>luctuosa : argurus.luctuosa +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : amicus >this : amicus ->x : lotor +>x : trivirgatus.lotor hooperi(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->hooperi : () => psilurus ->caurinus : caurinus ->psilurus : psilurus ->x : psilurus ->caurinus : caurinus ->psilurus : psilurus +>hooperi : () => caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : amicus >this : amicus ->x : psilurus +>x : caurinus.psilurus perrensi(): rendalli.crenulata { var x: rendalli.crenulata; () => { var y = this; }; return x; } ->perrensi : () => crenulata ->rendalli : rendalli ->crenulata : crenulata ->trivirgatus : trivirgatus ->falconeri : falconeri ->howi : howi ->marcanoi : marcanoi ->x : crenulata ->rendalli : rendalli ->crenulata : crenulata ->trivirgatus : trivirgatus ->falconeri : falconeri ->howi : howi ->marcanoi : marcanoi +>perrensi : () => rendalli.crenulata +>rendalli : unknown +>crenulata : rendalli.crenulata +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>howi : unknown +>marcanoi : howi.marcanoi +>x : rendalli.crenulata +>rendalli : unknown +>crenulata : rendalli.crenulata +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : amicus >this : amicus ->x : crenulata +>x : rendalli.crenulata ridei(): ruatanica.hector> { var x: ruatanica.hector>; () => { var y = this; }; return x; } ->ridei : () => hector> ->ruatanica : ruatanica ->hector : hector ->julianae : julianae ->sumatrana : sumatrana ->samarensis : samarensis ->pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->sagitta : sagitta ->walkeri : walkeri ->x : hector> ->ruatanica : ruatanica ->hector : hector ->julianae : julianae ->sumatrana : sumatrana ->samarensis : samarensis ->pelurus : pelurus ->Lanthanum : Lanthanum ->jugularis : jugularis ->sagitta : sagitta ->walkeri : walkeri +>ridei : () => ruatanica.hector> +>ruatanica : unknown +>hector : ruatanica.hector +>julianae : unknown +>sumatrana : julianae.sumatrana +>samarensis : unknown +>pelurus : samarensis.pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>sagitta : unknown +>walkeri : sagitta.walkeri +>x : ruatanica.hector> +>ruatanica : unknown +>hector : ruatanica.hector +>julianae : unknown +>sumatrana : julianae.sumatrana +>samarensis : unknown +>pelurus : samarensis.pelurus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>sagitta : unknown +>walkeri : sagitta.walkeri >() => { var y = this; } : () => void >y : amicus >this : amicus ->x : hector> +>x : ruatanica.hector> audeberti(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->audeberti : () => arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->dogramacii : dogramacii ->kaiseri : kaiseri ->lutreolus : lutreolus ->punicus : punicus ->x : arboreus ->daubentonii : daubentonii ->arboreus : arboreus ->dogramacii : dogramacii ->kaiseri : kaiseri ->lutreolus : lutreolus ->punicus : punicus +>audeberti : () => daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : daubentonii.arboreus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : amicus >this : amicus ->x : arboreus +>x : daubentonii.arboreus Lutetium(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->Lutetium : () => marmosurus ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->sagitta : sagitta ->stolzmanni : stolzmanni ->lavali : lavali ->thaeleri : thaeleri ->x : marmosurus ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->sagitta : sagitta ->stolzmanni : stolzmanni ->lavali : lavali ->thaeleri : thaeleri +>Lutetium : () => macrorhinos.marmosurus +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>lavali : unknown +>thaeleri : lavali.thaeleri +>x : macrorhinos.marmosurus +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>lavali : unknown +>thaeleri : lavali.thaeleri >() => { var y = this; } : () => void >y : amicus >this : amicus ->x : marmosurus +>x : macrorhinos.marmosurus atrox(): samarensis.fuscus, dogramacii.koepckeae> { var x: samarensis.fuscus, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->atrox : () => fuscus, koepckeae> ->samarensis : samarensis ->fuscus : fuscus ->julianae : julianae ->oralis : oralis ->julianae : julianae ->steerii : steerii ->lavali : lavali ->lepturus : lepturus ->dogramacii : dogramacii ->koepckeae : koepckeae ->x : fuscus, koepckeae> ->samarensis : samarensis ->fuscus : fuscus ->julianae : julianae ->oralis : oralis ->julianae : julianae ->steerii : steerii ->lavali : lavali ->lepturus : lepturus ->dogramacii : dogramacii ->koepckeae : koepckeae +>atrox : () => samarensis.fuscus, dogramacii.koepckeae> +>samarensis : unknown +>fuscus : samarensis.fuscus +>julianae : unknown +>oralis : julianae.oralis +>julianae : unknown +>steerii : julianae.steerii +>lavali : unknown +>lepturus : lavali.lepturus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>x : samarensis.fuscus, dogramacii.koepckeae> +>samarensis : unknown +>fuscus : samarensis.fuscus +>julianae : unknown +>oralis : julianae.oralis +>julianae : unknown +>steerii : julianae.steerii +>lavali : unknown +>lepturus : lavali.lepturus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae >() => { var y = this; } : () => void >y : amicus >this : amicus ->x : fuscus, koepckeae> +>x : samarensis.fuscus, dogramacii.koepckeae> } export class echinatus { >echinatus : echinatus tenuipes(): howi.coludo> { var x: howi.coludo>; () => { var y = this; }; return x; } ->tenuipes : () => coludo> ->howi : howi ->coludo : coludo ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->panglima : panglima ->amphibius : amphibius ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->patas : patas ->uralensis : uralensis ->x : coludo> ->howi : howi ->coludo : coludo ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->panglima : panglima ->amphibius : amphibius ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->patas : patas ->uralensis : uralensis +>tenuipes : () => howi.coludo> +>howi : unknown +>coludo : howi.coludo +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>panglima : unknown +>amphibius : panglima.amphibius +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>patas : unknown +>uralensis : patas.uralensis +>x : howi.coludo> +>howi : unknown +>coludo : howi.coludo +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>panglima : unknown +>amphibius : panglima.amphibius +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : echinatus >this : echinatus ->x : coludo> +>x : howi.coludo> } } module imperfecta { @@ -10605,342 +10605,342 @@ module imperfecta { >T1 : T1 marisae(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->marisae : () => thaeleri ->lavali : lavali ->thaeleri : thaeleri ->x : thaeleri ->lavali : lavali ->thaeleri : thaeleri +>marisae : () => lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri +>x : lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri >() => { var y = this; } : () => void >y : lasiurus >this : lasiurus ->x : thaeleri +>x : lavali.thaeleri fulvus(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->fulvus : () => germaini ->argurus : argurus ->germaini : germaini ->x : germaini ->argurus : argurus ->germaini : germaini +>fulvus : () => argurus.germaini +>argurus : unknown +>germaini : argurus.germaini +>x : argurus.germaini +>argurus : unknown +>germaini : argurus.germaini >() => { var y = this; } : () => void >y : lasiurus >this : lasiurus ->x : germaini +>x : argurus.germaini paranaensis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->paranaensis : () => koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae ->x : koepckeae ->dogramacii : dogramacii ->koepckeae : koepckeae +>paranaensis : () => dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>x : dogramacii.koepckeae +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae >() => { var y = this; } : () => void >y : lasiurus >this : lasiurus ->x : koepckeae +>x : dogramacii.koepckeae didactylus(): panglima.abidi> { var x: panglima.abidi>; () => { var y = this; }; return x; } ->didactylus : () => abidi> ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->aurata : aurata ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->xanthognathus : xanthognathus ->x : abidi> ->panglima : panglima ->abidi : abidi ->dogramacii : dogramacii ->aurata : aurata ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->xanthognathus : xanthognathus +>didactylus : () => panglima.abidi> +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>aurata : dogramacii.aurata +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : panglima.abidi> +>panglima : unknown +>abidi : panglima.abidi +>dogramacii : unknown +>aurata : dogramacii.aurata +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : lasiurus >this : lasiurus ->x : abidi> +>x : panglima.abidi> schreibersii(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->schreibersii : () => gracilis ->nigra : nigra ->gracilis : gracilis ->argurus : argurus ->luctuosa : luctuosa ->ruatanica : ruatanica ->americanus : americanus ->x : gracilis ->nigra : nigra ->gracilis : gracilis ->argurus : argurus ->luctuosa : luctuosa ->ruatanica : ruatanica ->americanus : americanus +>schreibersii : () => nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>argurus : unknown +>luctuosa : argurus.luctuosa +>ruatanica : unknown +>americanus : ruatanica.americanus +>x : nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>argurus : unknown +>luctuosa : argurus.luctuosa +>ruatanica : unknown +>americanus : ruatanica.americanus >() => { var y = this; } : () => void >y : lasiurus >this : lasiurus ->x : gracilis +>x : nigra.gracilis orii(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->orii : () => kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri +>orii : () => dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : lasiurus >this : lasiurus ->x : kaiseri +>x : dogramacii.kaiseri } export class subspinosus { >subspinosus : subspinosus monticularis(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->monticularis : () => konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis +>monticularis : () => macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : subspinosus >this : subspinosus ->x : konganensis +>x : macrorhinos.konganensis Gadolinium(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->Gadolinium : () => caucasica ->nigra : nigra ->caucasica : caucasica ->sagitta : sagitta ->stolzmanni : stolzmanni ->patas : patas ->uralensis : uralensis ->x : caucasica ->nigra : nigra ->caucasica : caucasica ->sagitta : sagitta ->stolzmanni : stolzmanni ->patas : patas ->uralensis : uralensis +>Gadolinium : () => nigra.caucasica +>nigra : unknown +>caucasica : nigra.caucasica +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>patas : unknown +>uralensis : patas.uralensis +>x : nigra.caucasica +>nigra : unknown +>caucasica : nigra.caucasica +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : subspinosus >this : subspinosus ->x : caucasica +>x : nigra.caucasica oasicus(): caurinus.johorensis> { var x: caurinus.johorensis>; () => { var y = this; }; return x; } ->oasicus : () => johorensis> ->caurinus : caurinus ->johorensis : johorensis ->argurus : argurus ->peninsulae : peninsulae ->daubentonii : daubentonii ->arboreus : arboreus ->argurus : argurus ->germaini : germaini ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : johorensis> ->caurinus : caurinus ->johorensis : johorensis ->argurus : argurus ->peninsulae : peninsulae ->daubentonii : daubentonii ->arboreus : arboreus ->argurus : argurus ->germaini : germaini ->sagitta : sagitta ->stolzmanni : stolzmanni +>oasicus : () => caurinus.johorensis> +>caurinus : unknown +>johorensis : caurinus.johorensis +>argurus : unknown +>peninsulae : argurus.peninsulae +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>argurus : unknown +>germaini : argurus.germaini +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : caurinus.johorensis> +>caurinus : unknown +>johorensis : caurinus.johorensis +>argurus : unknown +>peninsulae : argurus.peninsulae +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>argurus : unknown +>germaini : argurus.germaini +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : subspinosus >this : subspinosus ->x : johorensis> +>x : caurinus.johorensis> paterculus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->paterculus : () => punicus ->lutreolus : lutreolus ->punicus : punicus ->x : punicus ->lutreolus : lutreolus ->punicus : punicus +>paterculus : () => lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : subspinosus >this : subspinosus ->x : punicus +>x : lutreolus.punicus punctata(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->punctata : () => thaeleri ->lavali : lavali ->thaeleri : thaeleri ->x : thaeleri ->lavali : lavali ->thaeleri : thaeleri +>punctata : () => lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri +>x : lavali.thaeleri +>lavali : unknown +>thaeleri : lavali.thaeleri >() => { var y = this; } : () => void >y : subspinosus >this : subspinosus ->x : thaeleri +>x : lavali.thaeleri invictus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->invictus : () => stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni +>invictus : () => sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : subspinosus >this : subspinosus ->x : stolzmanni +>x : sagitta.stolzmanni stangeri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->stangeri : () => minutilla ->petrophilus : petrophilus ->minutilla : minutilla ->x : minutilla ->petrophilus : petrophilus ->minutilla : minutilla +>stangeri : () => petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>x : petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla >() => { var y = this; } : () => void >y : subspinosus >this : subspinosus ->x : minutilla +>x : petrophilus.minutilla siskiyou(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->siskiyou : () => inez ->minutus : minutus ->inez : inez ->macrorhinos : macrorhinos ->konganensis : konganensis ->samarensis : samarensis ->pallidus : pallidus ->x : inez ->minutus : minutus ->inez : inez ->macrorhinos : macrorhinos ->konganensis : konganensis ->samarensis : samarensis ->pallidus : pallidus +>siskiyou : () => minutus.inez +>minutus : unknown +>inez : minutus.inez +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : minutus.inez +>minutus : unknown +>inez : minutus.inez +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : subspinosus >this : subspinosus ->x : inez +>x : minutus.inez welwitschii(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->welwitschii : () => caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : caniventer ->rionegrensis : rionegrensis ->caniventer : caniventer +>welwitschii : () => rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : rionegrensis.caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : subspinosus >this : subspinosus ->x : caniventer +>x : rionegrensis.caniventer Polonium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->Polonium : () => wilsoni ->lavali : lavali ->wilsoni : wilsoni ->x : wilsoni ->lavali : lavali ->wilsoni : wilsoni +>Polonium : () => lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : subspinosus >this : subspinosus ->x : wilsoni +>x : lavali.wilsoni harpia(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->harpia : () => luctuosa ->argurus : argurus ->luctuosa : luctuosa ->x : luctuosa ->argurus : argurus ->luctuosa : luctuosa +>harpia : () => argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : subspinosus >this : subspinosus ->x : luctuosa +>x : argurus.luctuosa } export class ciliolabrum extends dogramacii.robustulus { >ciliolabrum : ciliolabrum >T0 : T0 >T1 : T1 ->dogramacii : dogramacii ->robustulus : robustulus +>dogramacii : unknown +>robustulus : dogramacii.robustulus leschenaultii(): argurus.dauricus> { var x: argurus.dauricus>; () => { var y = this; }; return x; } ->leschenaultii : () => dauricus> ->argurus : argurus ->dauricus : dauricus ->Lanthanum : Lanthanum ->jugularis : jugularis ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->argurus : argurus ->germaini : germaini ->caurinus : caurinus ->megaphyllus : megaphyllus ->x : dauricus> ->argurus : argurus ->dauricus : dauricus ->Lanthanum : Lanthanum ->jugularis : jugularis ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->argurus : argurus ->germaini : germaini ->caurinus : caurinus ->megaphyllus : megaphyllus +>leschenaultii : () => argurus.dauricus> +>argurus : unknown +>dauricus : argurus.dauricus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>argurus : unknown +>germaini : argurus.germaini +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>x : argurus.dauricus> +>argurus : unknown +>dauricus : argurus.dauricus +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>argurus : unknown +>germaini : argurus.germaini +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus >() => { var y = this; } : () => void >y : ciliolabrum >this : ciliolabrum ->x : dauricus> +>x : argurus.dauricus> ludia(): caurinus.johorensis { var x: caurinus.johorensis; () => { var y = this; }; return x; } ->ludia : () => johorensis ->caurinus : caurinus ->johorensis : johorensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->lutreolus : lutreolus ->punicus : punicus ->x : johorensis ->caurinus : caurinus ->johorensis : johorensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->lutreolus : lutreolus ->punicus : punicus +>ludia : () => caurinus.johorensis +>caurinus : unknown +>johorensis : caurinus.johorensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : caurinus.johorensis +>caurinus : unknown +>johorensis : caurinus.johorensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : ciliolabrum >this : ciliolabrum ->x : johorensis +>x : caurinus.johorensis sinicus(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->sinicus : () => marmosurus ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->gabriellae : gabriellae ->amicus : amicus ->x : marmosurus ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->gabriellae : gabriellae ->amicus : amicus +>sinicus : () => macrorhinos.marmosurus +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>gabriellae : unknown +>amicus : gabriellae.amicus +>x : macrorhinos.marmosurus +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>gabriellae : unknown +>amicus : gabriellae.amicus >() => { var y = this; } : () => void >y : ciliolabrum >this : ciliolabrum ->x : marmosurus +>x : macrorhinos.marmosurus } } module quasiater { @@ -10952,80 +10952,80 @@ module quasiater { >T1 : T1 lagotis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->lagotis : () => xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus ->x : xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus +>lagotis : () => lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : wattsi >this : wattsi ->x : xanthognathus +>x : lavali.xanthognathus hussoni(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->hussoni : () => wilsoni ->lavali : lavali ->wilsoni : wilsoni ->x : wilsoni ->lavali : lavali ->wilsoni : wilsoni +>hussoni : () => lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : wattsi >this : wattsi ->x : wilsoni +>x : lavali.wilsoni bilarni(): samarensis.cahirinus>, dogramacii.koepckeae> { var x: samarensis.cahirinus>, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->bilarni : () => cahirinus>, koepckeae> ->samarensis : samarensis ->cahirinus : cahirinus ->rendalli : rendalli ->crenulata : crenulata ->lavali : lavali ->wilsoni : wilsoni ->panglima : panglima ->fundatus : fundatus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus ->foina : foina ->dogramacii : dogramacii ->koepckeae : koepckeae ->x : cahirinus>, koepckeae> ->samarensis : samarensis ->cahirinus : cahirinus ->rendalli : rendalli ->crenulata : crenulata ->lavali : lavali ->wilsoni : wilsoni ->panglima : panglima ->fundatus : fundatus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus ->foina : foina ->dogramacii : dogramacii ->koepckeae : koepckeae +>bilarni : () => samarensis.cahirinus>, dogramacii.koepckeae> +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>rendalli : unknown +>crenulata : rendalli.crenulata +>lavali : unknown +>wilsoni : lavali.wilsoni +>panglima : unknown +>fundatus : panglima.fundatus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown +>foina : lutreolus.foina +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>x : samarensis.cahirinus>, dogramacii.koepckeae> +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>rendalli : unknown +>crenulata : rendalli.crenulata +>lavali : unknown +>wilsoni : lavali.wilsoni +>panglima : unknown +>fundatus : panglima.fundatus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown +>foina : lutreolus.foina +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae >() => { var y = this; } : () => void >y : wattsi >this : wattsi ->x : cahirinus>, koepckeae> +>x : samarensis.cahirinus>, dogramacii.koepckeae> cabrerae(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->cabrerae : () => lepturus ->lavali : lavali ->lepturus : lepturus ->x : lepturus ->lavali : lavali ->lepturus : lepturus +>cabrerae : () => lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus +>x : lavali.lepturus +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : wattsi >this : wattsi ->x : lepturus +>x : lavali.lepturus } } module butleri { ->butleri : butleri +>butleri : unknown } module petrophilus { >petrophilus : typeof petrophilus @@ -11034,132 +11034,132 @@ module petrophilus { >sodyi : sodyi >T0 : T0 >T1 : T1 ->quasiater : quasiater ->bobrinskoi : bobrinskoi +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi saundersiae(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->saundersiae : () => pallidus ->samarensis : samarensis ->pallidus : pallidus ->x : pallidus ->samarensis : samarensis ->pallidus : pallidus +>saundersiae : () => samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : sodyi >this : sodyi ->x : pallidus +>x : samarensis.pallidus imberbis(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->imberbis : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>imberbis : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : sodyi >this : sodyi ->x : carolinensis +>x : quasiater.carolinensis cansdalei(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->cansdalei : () => melanops ->dammermani : dammermani ->melanops : melanops ->x : melanops ->dammermani : dammermani ->melanops : melanops +>cansdalei : () => dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops +>x : dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : sodyi >this : sodyi ->x : melanops +>x : dammermani.melanops Lawrencium(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->Lawrencium : () => dolichurus ->nigra : nigra ->dolichurus : dolichurus ->julianae : julianae ->sumatrana : sumatrana ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : dolichurus ->nigra : nigra ->dolichurus : dolichurus ->julianae : julianae ->sumatrana : sumatrana ->imperfecta : imperfecta ->subspinosus : subspinosus +>Lawrencium : () => nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>julianae : unknown +>sumatrana : julianae.sumatrana +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>julianae : unknown +>sumatrana : julianae.sumatrana +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : sodyi >this : sodyi ->x : dolichurus +>x : nigra.dolichurus catta(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->catta : () => oreas ->argurus : argurus ->oreas : oreas ->x : oreas ->argurus : argurus ->oreas : oreas +>catta : () => argurus.oreas +>argurus : unknown +>oreas : argurus.oreas +>x : argurus.oreas +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : sodyi >this : sodyi ->x : oreas +>x : argurus.oreas breviceps(): argurus.dauricus { var x: argurus.dauricus; () => { var y = this; }; return x; } ->breviceps : () => dauricus ->argurus : argurus ->dauricus : dauricus ->dogramacii : dogramacii ->aurata : aurata ->dammermani : dammermani ->melanops : melanops ->x : dauricus ->argurus : argurus ->dauricus : dauricus ->dogramacii : dogramacii ->aurata : aurata ->dammermani : dammermani ->melanops : melanops +>breviceps : () => argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>dogramacii : unknown +>aurata : dogramacii.aurata +>dammermani : unknown +>melanops : dammermani.melanops +>x : argurus.dauricus +>argurus : unknown +>dauricus : argurus.dauricus +>dogramacii : unknown +>aurata : dogramacii.aurata +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : sodyi >this : sodyi ->x : dauricus +>x : argurus.dauricus transitionalis(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->transitionalis : () => zuluensis ->rendalli : rendalli ->zuluensis : zuluensis ->x : zuluensis ->rendalli : rendalli ->zuluensis : zuluensis +>transitionalis : () => rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>x : rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis >() => { var y = this; } : () => void >y : sodyi >this : sodyi ->x : zuluensis +>x : rendalli.zuluensis heptneri(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->heptneri : () => germaini ->argurus : argurus ->germaini : germaini ->x : germaini ->argurus : argurus ->germaini : germaini +>heptneri : () => argurus.germaini +>argurus : unknown +>germaini : argurus.germaini +>x : argurus.germaini +>argurus : unknown +>germaini : argurus.germaini >() => { var y = this; } : () => void >y : sodyi >this : sodyi ->x : germaini +>x : argurus.germaini bairdii(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->bairdii : () => beisa ->lavali : lavali ->beisa : beisa ->x : beisa ->lavali : lavali ->beisa : beisa +>bairdii : () => lavali.beisa +>lavali : unknown +>beisa : lavali.beisa +>x : lavali.beisa +>lavali : unknown +>beisa : lavali.beisa >() => { var y = this; } : () => void >y : sodyi >this : sodyi ->x : beisa +>x : lavali.beisa } } module caurinus { @@ -11167,136 +11167,136 @@ module caurinus { export class megaphyllus extends imperfecta.lasiurus> { >megaphyllus : megaphyllus ->imperfecta : imperfecta ->lasiurus : lasiurus ->julianae : julianae ->acariensis : acariensis ->howi : howi ->coludo : coludo ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>julianae : unknown +>acariensis : julianae.acariensis +>howi : unknown +>coludo : howi.coludo +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi montana(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->montana : () => oreas ->argurus : argurus ->oreas : oreas ->x : oreas ->argurus : argurus ->oreas : oreas +>montana : () => argurus.oreas +>argurus : unknown +>oreas : argurus.oreas +>x : argurus.oreas +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : megaphyllus >this : megaphyllus ->x : oreas +>x : argurus.oreas amatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->amatus : () => schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli ->x : schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli +>amatus : () => lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>x : lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli >() => { var y = this; } : () => void >y : megaphyllus >this : megaphyllus ->x : schlegeli +>x : lutreolus.schlegeli bucculentus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->bucculentus : () => echinatus ->gabriellae : gabriellae ->echinatus : echinatus ->x : echinatus ->gabriellae : gabriellae ->echinatus : echinatus +>bucculentus : () => gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : megaphyllus >this : megaphyllus ->x : echinatus +>x : gabriellae.echinatus lepida(): rendalli.crenulata> { var x: rendalli.crenulata>; () => { var y = this; }; return x; } ->lepida : () => crenulata> ->rendalli : rendalli ->crenulata : crenulata ->lavali : lavali ->wilsoni : wilsoni ->panglima : panglima ->fundatus : fundatus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus ->foina : foina ->x : crenulata> ->rendalli : rendalli ->crenulata : crenulata ->lavali : lavali ->wilsoni : wilsoni ->panglima : panglima ->fundatus : fundatus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus ->foina : foina +>lepida : () => rendalli.crenulata> +>rendalli : unknown +>crenulata : rendalli.crenulata +>lavali : unknown +>wilsoni : lavali.wilsoni +>panglima : unknown +>fundatus : panglima.fundatus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown +>foina : lutreolus.foina +>x : rendalli.crenulata> +>rendalli : unknown +>crenulata : rendalli.crenulata +>lavali : unknown +>wilsoni : lavali.wilsoni +>panglima : unknown +>fundatus : panglima.fundatus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : megaphyllus >this : megaphyllus ->x : crenulata> +>x : rendalli.crenulata> graecus(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->graecus : () => kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : kaiseri ->dogramacii : dogramacii ->kaiseri : kaiseri +>graecus : () => dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : dogramacii.kaiseri +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : megaphyllus >this : megaphyllus ->x : kaiseri +>x : dogramacii.kaiseri forsteri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->forsteri : () => minutilla ->petrophilus : petrophilus ->minutilla : minutilla ->x : minutilla ->petrophilus : petrophilus ->minutilla : minutilla +>forsteri : () => petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>x : petrophilus.minutilla +>petrophilus : unknown +>minutilla : petrophilus.minutilla >() => { var y = this; } : () => void >y : megaphyllus >this : megaphyllus ->x : minutilla +>x : petrophilus.minutilla perotensis(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->perotensis : () => cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->minutus : minutus ->portoricensis : portoricensis ->lavali : lavali ->lepturus : lepturus ->x : cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->minutus : minutus ->portoricensis : portoricensis ->lavali : lavali ->lepturus : lepturus +>perotensis : () => samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>minutus : unknown +>portoricensis : minutus.portoricensis +>lavali : unknown +>lepturus : lavali.lepturus +>x : samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>minutus : unknown +>portoricensis : minutus.portoricensis +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : megaphyllus >this : megaphyllus ->x : cahirinus +>x : samarensis.cahirinus cirrhosus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->cirrhosus : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>cirrhosus : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : megaphyllus >this : megaphyllus ->x : carolinensis +>x : quasiater.carolinensis } } module minutus { @@ -11306,56 +11306,56 @@ module minutus { >portoricensis : portoricensis relictus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->relictus : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>relictus : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : portoricensis >this : portoricensis ->x : carolinensis +>x : quasiater.carolinensis aequatorianus(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->aequatorianus : () => klossii ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata ->x : klossii ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata +>aequatorianus : () => gabriellae.klossii +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : gabriellae.klossii +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : portoricensis >this : portoricensis ->x : klossii +>x : gabriellae.klossii rhinogradoides(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->rhinogradoides : () => cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->quasiater : quasiater ->carolinensis : carolinensis ->julianae : julianae ->durangae : durangae ->x : cahirinus ->samarensis : samarensis ->cahirinus : cahirinus ->quasiater : quasiater ->carolinensis : carolinensis ->julianae : julianae ->durangae : durangae +>rhinogradoides : () => samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>julianae : unknown +>durangae : julianae.durangae +>x : samarensis.cahirinus +>samarensis : unknown +>cahirinus : samarensis.cahirinus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>julianae : unknown +>durangae : julianae.durangae >() => { var y = this; } : () => void >y : portoricensis >this : portoricensis ->x : cahirinus +>x : samarensis.cahirinus } } module lutreolus { @@ -11366,10 +11366,10 @@ module lutreolus { tarfayensis(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } >tarfayensis : () => punicus ->lutreolus : lutreolus +>lutreolus : unknown >punicus : punicus >x : punicus ->lutreolus : lutreolus +>lutreolus : unknown >punicus : punicus >() => { var y = this; } : () => void >y : foina @@ -11377,220 +11377,220 @@ module lutreolus { >x : punicus Promethium(): samarensis.pelurus { var x: samarensis.pelurus; () => { var y = this; }; return x; } ->Promethium : () => pelurus ->samarensis : samarensis ->pelurus : pelurus ->argurus : argurus ->germaini : germaini ->julianae : julianae ->durangae : durangae ->x : pelurus ->samarensis : samarensis ->pelurus : pelurus ->argurus : argurus ->germaini : germaini ->julianae : julianae ->durangae : durangae +>Promethium : () => samarensis.pelurus +>samarensis : unknown +>pelurus : samarensis.pelurus +>argurus : unknown +>germaini : argurus.germaini +>julianae : unknown +>durangae : julianae.durangae +>x : samarensis.pelurus +>samarensis : unknown +>pelurus : samarensis.pelurus +>argurus : unknown +>germaini : argurus.germaini +>julianae : unknown +>durangae : julianae.durangae >() => { var y = this; } : () => void >y : foina >this : foina ->x : pelurus +>x : samarensis.pelurus salinae(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->salinae : () => klossii ->gabriellae : gabriellae ->klossii : klossii ->macrorhinos : macrorhinos ->konganensis : konganensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : klossii ->gabriellae : gabriellae ->klossii : klossii ->macrorhinos : macrorhinos ->konganensis : konganensis ->quasiater : quasiater ->carolinensis : carolinensis +>salinae : () => gabriellae.klossii +>gabriellae : unknown +>klossii : gabriellae.klossii +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : gabriellae.klossii +>gabriellae : unknown +>klossii : gabriellae.klossii +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : foina >this : foina ->x : klossii +>x : gabriellae.klossii kerri(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->kerri : () => coludo ->howi : howi ->coludo : coludo ->quasiater : quasiater ->carolinensis : carolinensis ->minutus : minutus ->portoricensis : portoricensis ->x : coludo ->howi : howi ->coludo : coludo ->quasiater : quasiater ->carolinensis : carolinensis ->minutus : minutus ->portoricensis : portoricensis +>kerri : () => howi.coludo +>howi : unknown +>coludo : howi.coludo +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>minutus : unknown +>portoricensis : minutus.portoricensis +>x : howi.coludo +>howi : unknown +>coludo : howi.coludo +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>minutus : unknown +>portoricensis : minutus.portoricensis >() => { var y = this; } : () => void >y : foina >this : foina ->x : coludo +>x : howi.coludo scotti(): quasiater.wattsi { var x: quasiater.wattsi; () => { var y = this; }; return x; } ->scotti : () => wattsi ->quasiater : quasiater ->wattsi : wattsi ->macrorhinos : macrorhinos ->konganensis : konganensis ->dogramacii : dogramacii ->robustulus : robustulus ->x : wattsi ->quasiater : quasiater ->wattsi : wattsi ->macrorhinos : macrorhinos ->konganensis : konganensis ->dogramacii : dogramacii ->robustulus : robustulus +>scotti : () => quasiater.wattsi +>quasiater : unknown +>wattsi : quasiater.wattsi +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : quasiater.wattsi +>quasiater : unknown +>wattsi : quasiater.wattsi +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : foina >this : foina ->x : wattsi +>x : quasiater.wattsi camerunensis(): julianae.gerbillus { var x: julianae.gerbillus; () => { var y = this; }; return x; } ->camerunensis : () => gerbillus ->julianae : julianae ->gerbillus : gerbillus ->imperfecta : imperfecta ->subspinosus : subspinosus ->julianae : julianae ->durangae : durangae ->x : gerbillus ->julianae : julianae ->gerbillus : gerbillus ->imperfecta : imperfecta ->subspinosus : subspinosus ->julianae : julianae ->durangae : durangae +>camerunensis : () => julianae.gerbillus +>julianae : unknown +>gerbillus : julianae.gerbillus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>julianae : unknown +>durangae : julianae.durangae +>x : julianae.gerbillus +>julianae : unknown +>gerbillus : julianae.gerbillus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>julianae : unknown +>durangae : julianae.durangae >() => { var y = this; } : () => void >y : foina >this : foina ->x : gerbillus +>x : julianae.gerbillus affinis(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->affinis : () => germaini ->argurus : argurus ->germaini : germaini ->x : germaini ->argurus : argurus ->germaini : germaini +>affinis : () => argurus.germaini +>argurus : unknown +>germaini : argurus.germaini +>x : argurus.germaini +>argurus : unknown +>germaini : argurus.germaini >() => { var y = this; } : () => void >y : foina >this : foina ->x : germaini +>x : argurus.germaini siebersi(): trivirgatus.lotor> { var x: trivirgatus.lotor>; () => { var y = this; }; return x; } ->siebersi : () => lotor> ->trivirgatus : trivirgatus ->lotor : lotor ->argurus : argurus ->oreas : oreas ->nigra : nigra ->thalia : thalia ->patas : patas ->uralensis : uralensis ->lavali : lavali ->wilsoni : wilsoni ->x : lotor> ->trivirgatus : trivirgatus ->lotor : lotor ->argurus : argurus ->oreas : oreas ->nigra : nigra ->thalia : thalia ->patas : patas ->uralensis : uralensis ->lavali : lavali ->wilsoni : wilsoni +>siebersi : () => trivirgatus.lotor> +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>argurus : unknown +>oreas : argurus.oreas +>nigra : unknown +>thalia : nigra.thalia +>patas : unknown +>uralensis : patas.uralensis +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : trivirgatus.lotor> +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>argurus : unknown +>oreas : argurus.oreas +>nigra : unknown +>thalia : nigra.thalia +>patas : unknown +>uralensis : patas.uralensis +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : foina >this : foina ->x : lotor> +>x : trivirgatus.lotor> maquassiensis(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->maquassiensis : () => oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>maquassiensis : () => trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : foina >this : foina ->x : oconnelli +>x : trivirgatus.oconnelli layardi(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->layardi : () => albidens ->julianae : julianae ->albidens : albidens ->howi : howi ->marcanoi : marcanoi ->dogramacii : dogramacii ->koepckeae : koepckeae ->x : albidens ->julianae : julianae ->albidens : albidens ->howi : howi ->marcanoi : marcanoi ->dogramacii : dogramacii ->koepckeae : koepckeae +>layardi : () => julianae.albidens +>julianae : unknown +>albidens : julianae.albidens +>howi : unknown +>marcanoi : howi.marcanoi +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>x : julianae.albidens +>julianae : unknown +>albidens : julianae.albidens +>howi : unknown +>marcanoi : howi.marcanoi +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae >() => { var y = this; } : () => void >y : foina >this : foina ->x : albidens +>x : julianae.albidens bishopi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->bishopi : () => aurata ->dogramacii : dogramacii ->aurata : aurata ->x : aurata ->dogramacii : dogramacii ->aurata : aurata +>bishopi : () => dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : foina >this : foina ->x : aurata +>x : dogramacii.aurata apodemoides(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->apodemoides : () => psilurus ->caurinus : caurinus ->psilurus : psilurus ->x : psilurus ->caurinus : caurinus ->psilurus : psilurus +>apodemoides : () => caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : foina >this : foina ->x : psilurus +>x : caurinus.psilurus argentiventer(): trivirgatus.mixtus { var x: trivirgatus.mixtus; () => { var y = this; }; return x; } ->argentiventer : () => mixtus ->trivirgatus : trivirgatus ->mixtus : mixtus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus +>argentiventer : () => trivirgatus.mixtus +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown >punicus : punicus ->x : mixtus ->trivirgatus : trivirgatus ->mixtus : mixtus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus +>x : trivirgatus.mixtus +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown >punicus : punicus >() => { var y = this; } : () => void >y : foina >this : foina ->x : mixtus +>x : trivirgatus.mixtus } } module lutreolus { @@ -11600,212 +11600,212 @@ module lutreolus { >cor : cor >T0 : T0 >T1 : T1 ->panglima : panglima ->fundatus : fundatus ->panamensis : panamensis ->linulus : linulus ->trivirgatus : trivirgatus ->lotor : lotor ->argurus : argurus ->luctuosa : luctuosa ->lavali : lavali ->wilsoni : wilsoni ->lavali : lavali ->beisa : beisa ->dammermani : dammermani ->melanops : melanops +>panglima : unknown +>fundatus : panglima.fundatus +>panamensis : unknown +>linulus : panamensis.linulus +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>argurus : unknown +>luctuosa : argurus.luctuosa +>lavali : unknown +>wilsoni : lavali.wilsoni +>lavali : unknown +>beisa : lavali.beisa +>dammermani : unknown +>melanops : dammermani.melanops antinorii(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->antinorii : () => sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->quasiater : quasiater ->carolinensis : carolinensis ->argurus : argurus ->germaini : germaini ->x : sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->quasiater : quasiater ->carolinensis : carolinensis ->argurus : argurus ->germaini : germaini +>antinorii : () => petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>argurus : unknown +>germaini : argurus.germaini +>x : petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>argurus : unknown +>germaini : argurus.germaini >() => { var y = this; } : () => void >y : cor >this : cor ->x : sodyi +>x : petrophilus.sodyi voi(): caurinus.johorensis { var x: caurinus.johorensis; () => { var y = this; }; return x; } ->voi : () => johorensis ->caurinus : caurinus ->johorensis : johorensis ->dammermani : dammermani ->melanops : melanops ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : johorensis ->caurinus : caurinus ->johorensis : johorensis ->dammermani : dammermani ->melanops : melanops ->macrorhinos : macrorhinos ->konganensis : konganensis +>voi : () => caurinus.johorensis +>caurinus : unknown +>johorensis : caurinus.johorensis +>dammermani : unknown +>melanops : dammermani.melanops +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : caurinus.johorensis +>caurinus : unknown +>johorensis : caurinus.johorensis +>dammermani : unknown +>melanops : dammermani.melanops +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : cor >this : cor ->x : johorensis +>x : caurinus.johorensis mussoi(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->mussoi : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>mussoi : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : cor >this : cor ->x : carolinensis +>x : quasiater.carolinensis truncatus(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->truncatus : () => lotor ->trivirgatus : trivirgatus ->lotor : lotor ->sagitta : sagitta ->stolzmanni : stolzmanni ->lutreolus : lutreolus +>truncatus : () => trivirgatus.lotor +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>lutreolus : unknown >foina : foina ->x : lotor ->trivirgatus : trivirgatus ->lotor : lotor ->sagitta : sagitta ->stolzmanni : stolzmanni ->lutreolus : lutreolus +>x : trivirgatus.lotor +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>lutreolus : unknown >foina : foina >() => { var y = this; } : () => void >y : cor >this : cor ->x : lotor +>x : trivirgatus.lotor achates(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; } ->achates : () => melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca ->x : melanoleuca ->provocax : provocax ->melanoleuca : melanoleuca +>achates : () => provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : provocax.melanoleuca +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : cor >this : cor ->x : melanoleuca +>x : provocax.melanoleuca praedatrix(): howi.angulatus { var x: howi.angulatus; () => { var y = this; }; return x; } ->praedatrix : () => angulatus ->howi : howi ->angulatus : angulatus ->dogramacii : dogramacii ->kaiseri : kaiseri ->julianae : julianae ->steerii : steerii ->x : angulatus ->howi : howi ->angulatus : angulatus ->dogramacii : dogramacii ->kaiseri : kaiseri ->julianae : julianae ->steerii : steerii +>praedatrix : () => howi.angulatus +>howi : unknown +>angulatus : howi.angulatus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>julianae : unknown +>steerii : julianae.steerii +>x : howi.angulatus +>howi : unknown +>angulatus : howi.angulatus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : cor >this : cor ->x : angulatus +>x : howi.angulatus mzabi(): quasiater.wattsi, minutus.inez> { var x: quasiater.wattsi, minutus.inez>; () => { var y = this; }; return x; } ->mzabi : () => wattsi, inez> ->quasiater : quasiater ->wattsi : wattsi ->trivirgatus : trivirgatus ->lotor : lotor ->julianae : julianae ->steerii : steerii ->samarensis : samarensis ->pallidus : pallidus ->minutus : minutus ->inez : inez ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : wattsi, inez> ->quasiater : quasiater ->wattsi : wattsi ->trivirgatus : trivirgatus ->lotor : lotor ->julianae : julianae ->steerii : steerii ->samarensis : samarensis ->pallidus : pallidus ->minutus : minutus ->inez : inez ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->Lanthanum : Lanthanum ->jugularis : jugularis +>mzabi : () => quasiater.wattsi, minutus.inez> +>quasiater : unknown +>wattsi : quasiater.wattsi +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>julianae : unknown +>steerii : julianae.steerii +>samarensis : unknown +>pallidus : samarensis.pallidus +>minutus : unknown +>inez : minutus.inez +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : quasiater.wattsi, minutus.inez> +>quasiater : unknown +>wattsi : quasiater.wattsi +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>julianae : unknown +>steerii : julianae.steerii +>samarensis : unknown +>pallidus : samarensis.pallidus +>minutus : unknown +>inez : minutus.inez +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : cor >this : cor ->x : wattsi, inez> +>x : quasiater.wattsi, minutus.inez> xanthinus(): nigra.gracilis, howi.marcanoi> { var x: nigra.gracilis, howi.marcanoi>; () => { var y = this; }; return x; } ->xanthinus : () => gracilis, marcanoi> ->nigra : nigra ->gracilis : gracilis ->panamensis : panamensis ->linulus : linulus ->dogramacii : dogramacii ->kaiseri : kaiseri ->minutus : minutus ->portoricensis : portoricensis ->howi : howi ->marcanoi : marcanoi ->x : gracilis, marcanoi> ->nigra : nigra ->gracilis : gracilis ->panamensis : panamensis ->linulus : linulus ->dogramacii : dogramacii ->kaiseri : kaiseri ->minutus : minutus ->portoricensis : portoricensis ->howi : howi ->marcanoi : marcanoi +>xanthinus : () => nigra.gracilis, howi.marcanoi> +>nigra : unknown +>gracilis : nigra.gracilis +>panamensis : unknown +>linulus : panamensis.linulus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>minutus : unknown +>portoricensis : minutus.portoricensis +>howi : unknown +>marcanoi : howi.marcanoi +>x : nigra.gracilis, howi.marcanoi> +>nigra : unknown +>gracilis : nigra.gracilis +>panamensis : unknown +>linulus : panamensis.linulus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>minutus : unknown +>portoricensis : minutus.portoricensis +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : cor >this : cor ->x : gracilis, marcanoi> +>x : nigra.gracilis, howi.marcanoi> tapoatafa(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; } ->tapoatafa : () => megaphyllus ->caurinus : caurinus ->megaphyllus : megaphyllus ->x : megaphyllus ->caurinus : caurinus ->megaphyllus : megaphyllus +>tapoatafa : () => caurinus.megaphyllus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>x : caurinus.megaphyllus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus >() => { var y = this; } : () => void >y : cor >this : cor ->x : megaphyllus +>x : caurinus.megaphyllus castroviejoi(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->castroviejoi : () => jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : jugularis ->Lanthanum : Lanthanum ->jugularis : jugularis +>castroviejoi : () => Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : Lanthanum.jugularis +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : cor >this : cor ->x : jugularis +>x : Lanthanum.jugularis } } module howi { @@ -11817,28 +11817,28 @@ module howi { >T1 : T1 bernhardi(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->bernhardi : () => punicus ->lutreolus : lutreolus ->punicus : punicus ->x : punicus ->lutreolus : lutreolus ->punicus : punicus +>bernhardi : () => lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : lutreolus.punicus +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : coludo >this : coludo ->x : punicus +>x : lutreolus.punicus isseli(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->isseli : () => germaini ->argurus : argurus ->germaini : germaini ->x : germaini ->argurus : argurus ->germaini : germaini +>isseli : () => argurus.germaini +>argurus : unknown +>germaini : argurus.germaini +>x : argurus.germaini +>argurus : unknown +>germaini : argurus.germaini >() => { var y = this; } : () => void >y : coludo >this : coludo ->x : germaini +>x : argurus.germaini } } module argurus { @@ -11846,40 +11846,40 @@ module argurus { export class germaini extends gabriellae.amicus { >germaini : germaini ->gabriellae : gabriellae ->amicus : amicus +>gabriellae : unknown +>amicus : gabriellae.amicus sharpei(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->sharpei : () => wilsoni ->lavali : lavali ->wilsoni : wilsoni ->x : wilsoni ->lavali : lavali ->wilsoni : wilsoni +>sharpei : () => lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : germaini >this : germaini ->x : wilsoni +>x : lavali.wilsoni palmarum(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->palmarum : () => marmosurus ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->lavali : lavali ->thaeleri : thaeleri ->x : marmosurus ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->lavali : lavali ->thaeleri : thaeleri +>palmarum : () => macrorhinos.marmosurus +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>lavali : unknown +>thaeleri : lavali.thaeleri +>x : macrorhinos.marmosurus +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>lavali : unknown +>thaeleri : lavali.thaeleri >() => { var y = this; } : () => void >y : germaini >this : germaini ->x : marmosurus +>x : macrorhinos.marmosurus } } module sagitta { @@ -11889,168 +11889,168 @@ module sagitta { >stolzmanni : stolzmanni riparius(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->riparius : () => dolichurus ->nigra : nigra ->dolichurus : dolichurus ->dogramacii : dogramacii ->koepckeae : koepckeae ->caurinus : caurinus ->psilurus : psilurus ->x : dolichurus ->nigra : nigra ->dolichurus : dolichurus ->dogramacii : dogramacii ->koepckeae : koepckeae ->caurinus : caurinus ->psilurus : psilurus +>riparius : () => nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : nigra.dolichurus +>nigra : unknown +>dolichurus : nigra.dolichurus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : stolzmanni >this : stolzmanni ->x : dolichurus +>x : nigra.dolichurus dhofarensis(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; } ->dhofarensis : () => foina ->lutreolus : lutreolus ->foina : foina ->x : foina ->lutreolus : lutreolus ->foina : foina +>dhofarensis : () => lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina +>x : lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : stolzmanni >this : stolzmanni ->x : foina +>x : lutreolus.foina tricolor(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->tricolor : () => germaini ->argurus : argurus ->germaini : germaini ->x : germaini ->argurus : argurus ->germaini : germaini +>tricolor : () => argurus.germaini +>argurus : unknown +>germaini : argurus.germaini +>x : argurus.germaini +>argurus : unknown +>germaini : argurus.germaini >() => { var y = this; } : () => void >y : stolzmanni >this : stolzmanni ->x : germaini +>x : argurus.germaini gardneri(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->gardneri : () => xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus ->x : xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus +>gardneri : () => lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : stolzmanni >this : stolzmanni ->x : xanthognathus +>x : lavali.xanthognathus walleri(): rendalli.moojeni, gabriellae.echinatus> { var x: rendalli.moojeni, gabriellae.echinatus>; () => { var y = this; }; return x; } ->walleri : () => moojeni, echinatus> ->rendalli : rendalli ->moojeni : moojeni ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->xanthognathus : xanthognathus ->gabriellae : gabriellae ->echinatus : echinatus ->x : moojeni, echinatus> ->rendalli : rendalli ->moojeni : moojeni ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->xanthognathus : xanthognathus ->gabriellae : gabriellae ->echinatus : echinatus +>walleri : () => rendalli.moojeni, gabriellae.echinatus> +>rendalli : unknown +>moojeni : rendalli.moojeni +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : rendalli.moojeni, gabriellae.echinatus> +>rendalli : unknown +>moojeni : rendalli.moojeni +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : stolzmanni >this : stolzmanni ->x : moojeni, echinatus> +>x : rendalli.moojeni, gabriellae.echinatus> talpoides(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->talpoides : () => echinatus ->gabriellae : gabriellae ->echinatus : echinatus ->x : echinatus ->gabriellae : gabriellae ->echinatus : echinatus +>talpoides : () => gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : gabriellae.echinatus +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : stolzmanni >this : stolzmanni ->x : echinatus +>x : gabriellae.echinatus pallipes(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->pallipes : () => melanops ->dammermani : dammermani ->melanops : melanops ->x : melanops ->dammermani : dammermani ->melanops : melanops +>pallipes : () => dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops +>x : dammermani.melanops +>dammermani : unknown +>melanops : dammermani.melanops >() => { var y = this; } : () => void >y : stolzmanni >this : stolzmanni ->x : melanops +>x : dammermani.melanops lagurus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->lagurus : () => beisa ->lavali : lavali ->beisa : beisa ->x : beisa ->lavali : lavali ->beisa : beisa +>lagurus : () => lavali.beisa +>lavali : unknown +>beisa : lavali.beisa +>x : lavali.beisa +>lavali : unknown +>beisa : lavali.beisa >() => { var y = this; } : () => void >y : stolzmanni >this : stolzmanni ->x : beisa +>x : lavali.beisa hipposideros(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->hipposideros : () => albidens ->julianae : julianae ->albidens : albidens ->argurus : argurus ->luctuosa : luctuosa ->gabriellae : gabriellae ->echinatus : echinatus ->x : albidens ->julianae : julianae ->albidens : albidens ->argurus : argurus ->luctuosa : luctuosa ->gabriellae : gabriellae ->echinatus : echinatus +>hipposideros : () => julianae.albidens +>julianae : unknown +>albidens : julianae.albidens +>argurus : unknown +>luctuosa : argurus.luctuosa +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : julianae.albidens +>julianae : unknown +>albidens : julianae.albidens +>argurus : unknown +>luctuosa : argurus.luctuosa +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : stolzmanni >this : stolzmanni ->x : albidens +>x : julianae.albidens griselda(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->griselda : () => psilurus ->caurinus : caurinus ->psilurus : psilurus ->x : psilurus ->caurinus : caurinus ->psilurus : psilurus +>griselda : () => caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : caurinus.psilurus +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : stolzmanni >this : stolzmanni ->x : psilurus +>x : caurinus.psilurus florium(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->florium : () => zuluensis ->rendalli : rendalli ->zuluensis : zuluensis ->x : zuluensis ->rendalli : rendalli ->zuluensis : zuluensis +>florium : () => rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis +>x : rendalli.zuluensis +>rendalli : unknown +>zuluensis : rendalli.zuluensis >() => { var y = this; } : () => void >y : stolzmanni >this : stolzmanni ->x : zuluensis +>x : rendalli.zuluensis } } module dammermani { @@ -12058,19 +12058,19 @@ module dammermani { export class melanops extends minutus.inez { >melanops : melanops ->minutus : minutus ->inez : inez ->sagitta : sagitta ->stolzmanni : stolzmanni ->dammermani : dammermani +>minutus : unknown +>inez : minutus.inez +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>dammermani : unknown >melanops : melanops blarina(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } >blarina : () => melanops ->dammermani : dammermani +>dammermani : unknown >melanops : melanops >x : melanops ->dammermani : dammermani +>dammermani : unknown >melanops : melanops >() => { var y = this; } : () => void >y : melanops @@ -12078,228 +12078,228 @@ module dammermani { >x : melanops harwoodi(): rionegrensis.veraecrucis, lavali.wilsoni> { var x: rionegrensis.veraecrucis, lavali.wilsoni>; () => { var y = this; }; return x; } ->harwoodi : () => veraecrucis, wilsoni> ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->nigra : nigra ->dolichurus : dolichurus ->lavali : lavali ->lepturus : lepturus ->samarensis : samarensis ->pallidus : pallidus ->lavali : lavali ->wilsoni : wilsoni ->x : veraecrucis, wilsoni> ->rionegrensis : rionegrensis ->veraecrucis : veraecrucis ->nigra : nigra ->dolichurus : dolichurus ->lavali : lavali ->lepturus : lepturus ->samarensis : samarensis ->pallidus : pallidus ->lavali : lavali ->wilsoni : wilsoni +>harwoodi : () => rionegrensis.veraecrucis, lavali.wilsoni> +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>nigra : unknown +>dolichurus : nigra.dolichurus +>lavali : unknown +>lepturus : lavali.lepturus +>samarensis : unknown +>pallidus : samarensis.pallidus +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : rionegrensis.veraecrucis, lavali.wilsoni> +>rionegrensis : unknown +>veraecrucis : rionegrensis.veraecrucis +>nigra : unknown +>dolichurus : nigra.dolichurus +>lavali : unknown +>lepturus : lavali.lepturus +>samarensis : unknown +>pallidus : samarensis.pallidus +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : veraecrucis, wilsoni> +>x : rionegrensis.veraecrucis, lavali.wilsoni> ashaninka(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->ashaninka : () => nudicaudus ->julianae : julianae ->nudicaudus : nudicaudus ->x : nudicaudus ->julianae : julianae ->nudicaudus : nudicaudus +>ashaninka : () => julianae.nudicaudus +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>x : julianae.nudicaudus +>julianae : unknown +>nudicaudus : julianae.nudicaudus >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : nudicaudus +>x : julianae.nudicaudus wiedii(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; } ->wiedii : () => steerii ->julianae : julianae ->steerii : steerii ->x : steerii ->julianae : julianae ->steerii : steerii +>wiedii : () => julianae.steerii +>julianae : unknown +>steerii : julianae.steerii +>x : julianae.steerii +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : steerii +>x : julianae.steerii godmani(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; } ->godmani : () => subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : subspinosus ->imperfecta : imperfecta ->subspinosus : subspinosus +>godmani : () => imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : imperfecta.subspinosus +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : subspinosus +>x : imperfecta.subspinosus condorensis(): imperfecta.ciliolabrum { var x: imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->condorensis : () => ciliolabrum ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->samarensis : samarensis ->pallidus : pallidus ->caurinus : caurinus ->psilurus : psilurus ->x : ciliolabrum ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->samarensis : samarensis ->pallidus : pallidus ->caurinus : caurinus ->psilurus : psilurus +>condorensis : () => imperfecta.ciliolabrum +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>samarensis : unknown +>pallidus : samarensis.pallidus +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : imperfecta.ciliolabrum +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>samarensis : unknown +>pallidus : samarensis.pallidus +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : ciliolabrum +>x : imperfecta.ciliolabrum xerophila(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->xerophila : () => abidi ->panglima : panglima ->abidi : abidi ->minutus : minutus ->portoricensis : portoricensis ->patas : patas ->uralensis : uralensis ->x : abidi ->panglima : panglima ->abidi : abidi ->minutus : minutus ->portoricensis : portoricensis ->patas : patas ->uralensis : uralensis +>xerophila : () => panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>minutus : unknown +>portoricensis : minutus.portoricensis +>patas : unknown +>uralensis : patas.uralensis +>x : panglima.abidi +>panglima : unknown +>abidi : panglima.abidi +>minutus : unknown +>portoricensis : minutus.portoricensis +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : abidi +>x : panglima.abidi laminatus(): panglima.fundatus>> { var x: panglima.fundatus>>; () => { var y = this; }; return x; } ->laminatus : () => fundatus>> ->panglima : panglima ->fundatus : fundatus ->howi : howi ->marcanoi : marcanoi ->samarensis : samarensis ->fuscus : fuscus ->lavali : lavali ->wilsoni : wilsoni ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus ->x : fundatus>> ->panglima : panglima ->fundatus : fundatus ->howi : howi ->marcanoi : marcanoi ->samarensis : samarensis ->fuscus : fuscus ->lavali : lavali ->wilsoni : wilsoni ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->Lanthanum : Lanthanum ->jugularis : jugularis ->imperfecta : imperfecta ->subspinosus : subspinosus +>laminatus : () => panglima.fundatus>> +>panglima : unknown +>fundatus : panglima.fundatus +>howi : unknown +>marcanoi : howi.marcanoi +>samarensis : unknown +>fuscus : samarensis.fuscus +>lavali : unknown +>wilsoni : lavali.wilsoni +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus +>x : panglima.fundatus>> +>panglima : unknown +>fundatus : panglima.fundatus +>howi : unknown +>marcanoi : howi.marcanoi +>samarensis : unknown +>fuscus : samarensis.fuscus +>lavali : unknown +>wilsoni : lavali.wilsoni +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>imperfecta : unknown +>subspinosus : imperfecta.subspinosus >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : fundatus>> +>x : panglima.fundatus>> archeri(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->archeri : () => marcanoi ->howi : howi ->marcanoi : marcanoi ->x : marcanoi ->howi : howi ->marcanoi : marcanoi +>archeri : () => howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi +>x : howi.marcanoi +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : marcanoi +>x : howi.marcanoi hidalgo(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->hidalgo : () => inez ->minutus : minutus ->inez : inez ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->Lanthanum : Lanthanum ->jugularis : jugularis ->x : inez ->minutus : minutus ->inez : inez ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->Lanthanum : Lanthanum ->jugularis : jugularis +>hidalgo : () => minutus.inez +>minutus : unknown +>inez : minutus.inez +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>x : minutus.inez +>minutus : unknown +>inez : minutus.inez +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : inez +>x : minutus.inez unicolor(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->unicolor : () => schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli ->x : schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli +>unicolor : () => lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>x : lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : schlegeli +>x : lutreolus.schlegeli philippii(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->philippii : () => gracilis ->nigra : nigra ->gracilis : gracilis ->sagitta : sagitta ->walkeri : walkeri ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : gracilis ->nigra : nigra ->gracilis : gracilis ->sagitta : sagitta ->walkeri : walkeri ->sagitta : sagitta ->stolzmanni : stolzmanni +>philippii : () => nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>sagitta : unknown +>walkeri : sagitta.walkeri +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : nigra.gracilis +>nigra : unknown +>gracilis : nigra.gracilis +>sagitta : unknown +>walkeri : sagitta.walkeri +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : gracilis +>x : nigra.gracilis bocagei(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->bocagei : () => albidens ->julianae : julianae ->albidens : albidens ->lavali : lavali ->wilsoni : wilsoni ->lavali : lavali ->thaeleri : thaeleri ->x : albidens ->julianae : julianae ->albidens : albidens ->lavali : lavali ->wilsoni : wilsoni ->lavali : lavali ->thaeleri : thaeleri +>bocagei : () => julianae.albidens +>julianae : unknown +>albidens : julianae.albidens +>lavali : unknown +>wilsoni : lavali.wilsoni +>lavali : unknown +>thaeleri : lavali.thaeleri +>x : julianae.albidens +>julianae : unknown +>albidens : julianae.albidens +>lavali : unknown +>wilsoni : lavali.wilsoni +>lavali : unknown +>thaeleri : lavali.thaeleri >() => { var y = this; } : () => void >y : melanops >this : melanops ->x : albidens +>x : julianae.albidens } } module argurus { @@ -12307,144 +12307,144 @@ module argurus { export class peninsulae extends patas.uralensis { >peninsulae : peninsulae ->patas : patas ->uralensis : uralensis +>patas : unknown +>uralensis : patas.uralensis aitkeni(): trivirgatus.mixtus, panglima.amphibius> { var x: trivirgatus.mixtus, panglima.amphibius>; () => { var y = this; }; return x; } ->aitkeni : () => mixtus, amphibius> ->trivirgatus : trivirgatus ->mixtus : mixtus ->argurus : argurus +>aitkeni : () => trivirgatus.mixtus, panglima.amphibius> +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>argurus : unknown >dauricus : dauricus ->dogramacii : dogramacii ->aurata : aurata ->dammermani : dammermani ->melanops : melanops ->panglima : panglima ->amphibius : amphibius ->lavali : lavali ->lepturus : lepturus ->quasiater : quasiater ->carolinensis : carolinensis ->x : mixtus, amphibius> ->trivirgatus : trivirgatus ->mixtus : mixtus ->argurus : argurus +>dogramacii : unknown +>aurata : dogramacii.aurata +>dammermani : unknown +>melanops : dammermani.melanops +>panglima : unknown +>amphibius : panglima.amphibius +>lavali : unknown +>lepturus : lavali.lepturus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : trivirgatus.mixtus, panglima.amphibius> +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>argurus : unknown >dauricus : dauricus ->dogramacii : dogramacii ->aurata : aurata ->dammermani : dammermani ->melanops : melanops ->panglima : panglima ->amphibius : amphibius ->lavali : lavali ->lepturus : lepturus ->quasiater : quasiater ->carolinensis : carolinensis +>dogramacii : unknown +>aurata : dogramacii.aurata +>dammermani : unknown +>melanops : dammermani.melanops +>panglima : unknown +>amphibius : panglima.amphibius +>lavali : unknown +>lepturus : lavali.lepturus +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : peninsulae >this : peninsulae ->x : mixtus, amphibius> +>x : trivirgatus.mixtus, panglima.amphibius> novaeangliae(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->novaeangliae : () => xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus ->x : xanthognathus ->lavali : lavali ->xanthognathus : xanthognathus +>novaeangliae : () => lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : lavali.xanthognathus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : peninsulae >this : peninsulae ->x : xanthognathus +>x : lavali.xanthognathus olallae(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->olallae : () => sumatrana ->julianae : julianae ->sumatrana : sumatrana ->x : sumatrana ->julianae : julianae ->sumatrana : sumatrana +>olallae : () => julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : peninsulae >this : peninsulae ->x : sumatrana +>x : julianae.sumatrana anselli(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->anselli : () => aurata ->dogramacii : dogramacii ->aurata : aurata ->x : aurata ->dogramacii : dogramacii ->aurata : aurata +>anselli : () => dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : dogramacii.aurata +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : peninsulae >this : peninsulae ->x : aurata +>x : dogramacii.aurata timminsi(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->timminsi : () => konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : konganensis ->macrorhinos : macrorhinos ->konganensis : konganensis +>timminsi : () => macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : macrorhinos.konganensis +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : peninsulae >this : peninsulae ->x : konganensis +>x : macrorhinos.konganensis sordidus(): rendalli.moojeni { var x: rendalli.moojeni; () => { var y = this; }; return x; } ->sordidus : () => moojeni ->rendalli : rendalli ->moojeni : moojeni ->macrorhinos : macrorhinos ->konganensis : konganensis ->gabriellae : gabriellae ->echinatus : echinatus ->x : moojeni ->rendalli : rendalli ->moojeni : moojeni ->macrorhinos : macrorhinos ->konganensis : konganensis ->gabriellae : gabriellae ->echinatus : echinatus +>sordidus : () => rendalli.moojeni +>rendalli : unknown +>moojeni : rendalli.moojeni +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : rendalli.moojeni +>rendalli : unknown +>moojeni : rendalli.moojeni +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : peninsulae >this : peninsulae ->x : moojeni +>x : rendalli.moojeni telfordi(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->telfordi : () => oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli ->x : oconnelli ->trivirgatus : trivirgatus ->oconnelli : oconnelli +>telfordi : () => trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli +>x : trivirgatus.oconnelli +>trivirgatus : unknown +>oconnelli : trivirgatus.oconnelli >() => { var y = this; } : () => void >y : peninsulae >this : peninsulae ->x : oconnelli +>x : trivirgatus.oconnelli cavernarum(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->cavernarum : () => inez ->minutus : minutus ->inez : inez ->gabriellae : gabriellae ->echinatus : echinatus ->argurus : argurus +>cavernarum : () => minutus.inez +>minutus : unknown +>inez : minutus.inez +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>argurus : unknown >luctuosa : luctuosa ->x : inez ->minutus : minutus ->inez : inez ->gabriellae : gabriellae ->echinatus : echinatus ->argurus : argurus +>x : minutus.inez +>minutus : unknown +>inez : minutus.inez +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>argurus : unknown >luctuosa : luctuosa >() => { var y = this; } : () => void >y : peninsulae >this : peninsulae ->x : inez +>x : minutus.inez } } module argurus { @@ -12456,312 +12456,312 @@ module argurus { >T1 : T1 gravis(): nigra.caucasica, dogramacii.kaiseri> { var x: nigra.caucasica, dogramacii.kaiseri>; () => { var y = this; }; return x; } ->gravis : () => caucasica, kaiseri> ->nigra : nigra ->caucasica : caucasica ->rendalli : rendalli ->crenulata : crenulata ->trivirgatus : trivirgatus ->falconeri : falconeri ->howi : howi ->marcanoi : marcanoi ->dogramacii : dogramacii ->kaiseri : kaiseri ->x : caucasica, kaiseri> ->nigra : nigra ->caucasica : caucasica ->rendalli : rendalli ->crenulata : crenulata ->trivirgatus : trivirgatus ->falconeri : falconeri ->howi : howi ->marcanoi : marcanoi ->dogramacii : dogramacii ->kaiseri : kaiseri +>gravis : () => nigra.caucasica, dogramacii.kaiseri> +>nigra : unknown +>caucasica : nigra.caucasica +>rendalli : unknown +>crenulata : rendalli.crenulata +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>howi : unknown +>marcanoi : howi.marcanoi +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>x : nigra.caucasica, dogramacii.kaiseri> +>nigra : unknown +>caucasica : nigra.caucasica +>rendalli : unknown +>crenulata : rendalli.crenulata +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>howi : unknown +>marcanoi : howi.marcanoi +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : caucasica, kaiseri> +>x : nigra.caucasica, dogramacii.kaiseri> ruschii(): imperfecta.lasiurus> { var x: imperfecta.lasiurus>; () => { var y = this; }; return x; } ->ruschii : () => lasiurus> ->imperfecta : imperfecta ->lasiurus : lasiurus ->howi : howi ->marcanoi : marcanoi ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla ->x : lasiurus> ->imperfecta : imperfecta ->lasiurus : lasiurus ->howi : howi ->marcanoi : marcanoi ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla +>ruschii : () => imperfecta.lasiurus> +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>howi : unknown +>marcanoi : howi.marcanoi +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>x : imperfecta.lasiurus> +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>howi : unknown +>marcanoi : howi.marcanoi +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : lasiurus> +>x : imperfecta.lasiurus> tricuspidatus(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->tricuspidatus : () => wilsoni ->lavali : lavali ->wilsoni : wilsoni ->x : wilsoni ->lavali : lavali ->wilsoni : wilsoni +>tricuspidatus : () => lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni +>x : lavali.wilsoni +>lavali : unknown +>wilsoni : lavali.wilsoni >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : wilsoni +>x : lavali.wilsoni fernandezi(): dammermani.siberu, panglima.abidi> { var x: dammermani.siberu, panglima.abidi>; () => { var y = this; }; return x; } ->fernandezi : () => siberu, abidi> ->dammermani : dammermani ->siberu : siberu ->nigra : nigra ->thalia : thalia ->lutreolus : lutreolus ->schlegeli : schlegeli ->julianae : julianae ->sumatrana : sumatrana ->panglima : panglima ->abidi : abidi ->lutreolus : lutreolus ->foina : foina ->argurus : argurus +>fernandezi : () => dammermani.siberu, panglima.abidi> +>dammermani : unknown +>siberu : dammermani.siberu +>nigra : unknown +>thalia : nigra.thalia +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>julianae : unknown +>sumatrana : julianae.sumatrana +>panglima : unknown +>abidi : panglima.abidi +>lutreolus : unknown +>foina : lutreolus.foina +>argurus : unknown >peninsulae : peninsulae ->x : siberu, abidi> ->dammermani : dammermani ->siberu : siberu ->nigra : nigra ->thalia : thalia ->lutreolus : lutreolus ->schlegeli : schlegeli ->julianae : julianae ->sumatrana : sumatrana ->panglima : panglima ->abidi : abidi ->lutreolus : lutreolus ->foina : foina ->argurus : argurus +>x : dammermani.siberu, panglima.abidi> +>dammermani : unknown +>siberu : dammermani.siberu +>nigra : unknown +>thalia : nigra.thalia +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>julianae : unknown +>sumatrana : julianae.sumatrana +>panglima : unknown +>abidi : panglima.abidi +>lutreolus : unknown +>foina : lutreolus.foina +>argurus : unknown >peninsulae : peninsulae >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : siberu, abidi> +>x : dammermani.siberu, panglima.abidi> colletti(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->colletti : () => pallidus ->samarensis : samarensis ->pallidus : pallidus ->x : pallidus ->samarensis : samarensis ->pallidus : pallidus +>colletti : () => samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus +>x : samarensis.pallidus +>samarensis : unknown +>pallidus : samarensis.pallidus >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : pallidus +>x : samarensis.pallidus microbullatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->microbullatus : () => schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli ->x : schlegeli ->lutreolus : lutreolus ->schlegeli : schlegeli +>microbullatus : () => lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli +>x : lutreolus.schlegeli +>lutreolus : unknown +>schlegeli : lutreolus.schlegeli >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : schlegeli +>x : lutreolus.schlegeli eburneae(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->eburneae : () => sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->macrorhinos : macrorhinos ->konganensis : konganensis ->julianae : julianae ->acariensis : acariensis ->x : sarasinorum ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->macrorhinos : macrorhinos ->konganensis : konganensis ->julianae : julianae ->acariensis : acariensis +>eburneae : () => chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>julianae : unknown +>acariensis : julianae.acariensis +>x : chrysaeolus.sarasinorum +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>julianae : unknown +>acariensis : julianae.acariensis >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : sarasinorum +>x : chrysaeolus.sarasinorum tatei(): argurus.pygmaea> { var x: argurus.pygmaea>; () => { var y = this; }; return x; } ->tatei : () => pygmaea> ->argurus : argurus +>tatei : () => pygmaea> +>argurus : unknown >pygmaea : pygmaea ->argurus : argurus +>argurus : unknown >oreas : oreas ->panglima : panglima ->fundatus : fundatus ->quasiater : quasiater ->carolinensis : carolinensis ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->x : pygmaea> ->argurus : argurus +>panglima : unknown +>fundatus : panglima.fundatus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>x : pygmaea> +>argurus : unknown >pygmaea : pygmaea ->argurus : argurus +>argurus : unknown >oreas : oreas ->panglima : panglima ->fundatus : fundatus ->quasiater : quasiater ->carolinensis : carolinensis ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon +>panglima : unknown +>fundatus : panglima.fundatus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : pygmaea> +>x : pygmaea> millardi(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->millardi : () => walkeri ->sagitta : sagitta ->walkeri : walkeri ->x : walkeri ->sagitta : sagitta ->walkeri : walkeri +>millardi : () => sagitta.walkeri +>sagitta : unknown +>walkeri : sagitta.walkeri +>x : sagitta.walkeri +>sagitta : unknown +>walkeri : sagitta.walkeri >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : walkeri +>x : sagitta.walkeri pruinosus(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->pruinosus : () => falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri ->x : falconeri ->trivirgatus : trivirgatus ->falconeri : falconeri +>pruinosus : () => trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>x : trivirgatus.falconeri +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : falconeri +>x : trivirgatus.falconeri delator(): argurus.netscheri { var x: argurus.netscheri; () => { var y = this; }; return x; } ->delator : () => netscheri ->argurus : argurus +>delator : () => netscheri +>argurus : unknown >netscheri : netscheri ->dogramacii : dogramacii ->kaiseri : kaiseri ->lavali : lavali ->lepturus : lepturus ->x : netscheri ->argurus : argurus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lavali : unknown +>lepturus : lavali.lepturus +>x : netscheri +>argurus : unknown >netscheri : netscheri ->dogramacii : dogramacii ->kaiseri : kaiseri ->lavali : lavali ->lepturus : lepturus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : netscheri +>x : netscheri nyikae(): trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis> { var x: trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis>; () => { var y = this; }; return x; } ->nyikae : () => tumidifrons, minutilla>, acariensis> ->trivirgatus : trivirgatus ->tumidifrons : tumidifrons ->howi : howi ->angulatus : angulatus ->howi : howi ->coludo : coludo ->quasiater : quasiater ->carolinensis : carolinensis ->minutus : minutus ->portoricensis : portoricensis ->petrophilus : petrophilus ->minutilla : minutilla ->julianae : julianae ->acariensis : acariensis ->x : tumidifrons, minutilla>, acariensis> ->trivirgatus : trivirgatus ->tumidifrons : tumidifrons ->howi : howi ->angulatus : angulatus ->howi : howi ->coludo : coludo ->quasiater : quasiater ->carolinensis : carolinensis ->minutus : minutus ->portoricensis : portoricensis ->petrophilus : petrophilus ->minutilla : minutilla ->julianae : julianae ->acariensis : acariensis +>nyikae : () => trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis> +>trivirgatus : unknown +>tumidifrons : trivirgatus.tumidifrons +>howi : unknown +>angulatus : howi.angulatus +>howi : unknown +>coludo : howi.coludo +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>minutus : unknown +>portoricensis : minutus.portoricensis +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>julianae : unknown +>acariensis : julianae.acariensis +>x : trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis> +>trivirgatus : unknown +>tumidifrons : trivirgatus.tumidifrons +>howi : unknown +>angulatus : howi.angulatus +>howi : unknown +>coludo : howi.coludo +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>minutus : unknown +>portoricensis : minutus.portoricensis +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>julianae : unknown +>acariensis : julianae.acariensis >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : tumidifrons, minutilla>, acariensis> +>x : trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis> ruemmleri(): panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum> { var x: panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->ruemmleri : () => amphibius, echinatus>, aurata>, ciliolabrum> ->panglima : panglima ->amphibius : amphibius ->minutus : minutus ->inez : inez ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->dogramacii : dogramacii ->aurata : aurata ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->beisa : beisa ->x : amphibius, echinatus>, aurata>, ciliolabrum> ->panglima : panglima ->amphibius : amphibius ->minutus : minutus ->inez : inez ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->dogramacii : dogramacii ->aurata : aurata ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->beisa : beisa +>ruemmleri : () => panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum> +>panglima : unknown +>amphibius : panglima.amphibius +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>dogramacii : unknown +>aurata : dogramacii.aurata +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>beisa : lavali.beisa +>x : panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum> +>panglima : unknown +>amphibius : panglima.amphibius +>minutus : unknown +>inez : minutus.inez +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>dogramacii : unknown +>aurata : dogramacii.aurata +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>beisa : lavali.beisa >() => { var y = this; } : () => void >y : netscheri >this : netscheri ->x : amphibius, echinatus>, aurata>, ciliolabrum> +>x : panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum> } } module ruatanica { @@ -12771,344 +12771,344 @@ module ruatanica { >Praseodymium : Praseodymium >T0 : T0 >T1 : T1 ->ruatanica : ruatanica +>ruatanica : unknown >hector : hector ->lutreolus : lutreolus ->punicus : punicus ->gabriellae : gabriellae ->amicus : amicus +>lutreolus : unknown +>punicus : lutreolus.punicus +>gabriellae : unknown +>amicus : gabriellae.amicus clara(): panglima.amphibius, argurus.dauricus> { var x: panglima.amphibius, argurus.dauricus>; () => { var y = this; }; return x; } ->clara : () => amphibius, dauricus> ->panglima : panglima ->amphibius : amphibius ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->beisa : beisa ->argurus : argurus ->dauricus : dauricus ->ruatanica : ruatanica +>clara : () => panglima.amphibius, argurus.dauricus> +>panglima : unknown +>amphibius : panglima.amphibius +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>beisa : lavali.beisa +>argurus : unknown +>dauricus : argurus.dauricus +>ruatanica : unknown >americanus : americanus ->rionegrensis : rionegrensis ->caniventer : caniventer ->x : amphibius, dauricus> ->panglima : panglima ->amphibius : amphibius ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->beisa : beisa ->argurus : argurus ->dauricus : dauricus ->ruatanica : ruatanica +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>x : panglima.amphibius, argurus.dauricus> +>panglima : unknown +>amphibius : panglima.amphibius +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>beisa : lavali.beisa +>argurus : unknown +>dauricus : argurus.dauricus +>ruatanica : unknown >americanus : americanus ->rionegrensis : rionegrensis ->caniventer : caniventer +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : amphibius, dauricus> +>x : panglima.amphibius, argurus.dauricus> spectabilis(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->spectabilis : () => sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->rionegrensis : rionegrensis ->caniventer : caniventer ->quasiater : quasiater ->carolinensis : carolinensis ->x : sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->rionegrensis : rionegrensis ->caniventer : caniventer ->quasiater : quasiater ->carolinensis : carolinensis +>spectabilis : () => petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : sodyi +>x : petrophilus.sodyi kamensis(): trivirgatus.lotor, lavali.lepturus> { var x: trivirgatus.lotor, lavali.lepturus>; () => { var y = this; }; return x; } ->kamensis : () => lotor, lepturus> ->trivirgatus : trivirgatus ->lotor : lotor ->panamensis : panamensis ->linulus : linulus ->dogramacii : dogramacii ->kaiseri : kaiseri ->minutus : minutus ->portoricensis : portoricensis ->lavali : lavali ->lepturus : lepturus ->x : lotor, lepturus> ->trivirgatus : trivirgatus ->lotor : lotor ->panamensis : panamensis ->linulus : linulus ->dogramacii : dogramacii ->kaiseri : kaiseri ->minutus : minutus ->portoricensis : portoricensis ->lavali : lavali ->lepturus : lepturus +>kamensis : () => trivirgatus.lotor, lavali.lepturus> +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>panamensis : unknown +>linulus : panamensis.linulus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>minutus : unknown +>portoricensis : minutus.portoricensis +>lavali : unknown +>lepturus : lavali.lepturus +>x : trivirgatus.lotor, lavali.lepturus> +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>panamensis : unknown +>linulus : panamensis.linulus +>dogramacii : unknown +>kaiseri : dogramacii.kaiseri +>minutus : unknown +>portoricensis : minutus.portoricensis +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : lotor, lepturus> +>x : trivirgatus.lotor, lavali.lepturus> ruddi(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; } ->ruddi : () => foina ->lutreolus : lutreolus ->foina : foina ->x : foina ->lutreolus : lutreolus ->foina : foina +>ruddi : () => lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina +>x : lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : foina +>x : lutreolus.foina bartelsii(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->bartelsii : () => sumatrana ->julianae : julianae ->sumatrana : sumatrana ->x : sumatrana ->julianae : julianae ->sumatrana : sumatrana +>bartelsii : () => julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana +>x : julianae.sumatrana +>julianae : unknown +>sumatrana : julianae.sumatrana >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : sumatrana +>x : julianae.sumatrana yerbabuenae(): dammermani.siberu, imperfecta.ciliolabrum> { var x: dammermani.siberu, imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->yerbabuenae : () => siberu, ciliolabrum> ->dammermani : dammermani ->siberu : siberu ->imperfecta : imperfecta ->lasiurus : lasiurus ->lutreolus : lutreolus ->foina : foina ->dammermani : dammermani ->melanops : melanops ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla ->x : siberu, ciliolabrum> ->dammermani : dammermani ->siberu : siberu ->imperfecta : imperfecta ->lasiurus : lasiurus ->lutreolus : lutreolus ->foina : foina ->dammermani : dammermani ->melanops : melanops ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->petrophilus : petrophilus ->minutilla : minutilla +>yerbabuenae : () => dammermani.siberu, imperfecta.ciliolabrum> +>dammermani : unknown +>siberu : dammermani.siberu +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>lutreolus : unknown +>foina : lutreolus.foina +>dammermani : unknown +>melanops : dammermani.melanops +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla +>x : dammermani.siberu, imperfecta.ciliolabrum> +>dammermani : unknown +>siberu : dammermani.siberu +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>lutreolus : unknown +>foina : lutreolus.foina +>dammermani : unknown +>melanops : dammermani.melanops +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>petrophilus : unknown +>minutilla : petrophilus.minutilla >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : siberu, ciliolabrum> +>x : dammermani.siberu, imperfecta.ciliolabrum> davidi(): trivirgatus.mixtus { var x: trivirgatus.mixtus; () => { var y = this; }; return x; } ->davidi : () => mixtus ->trivirgatus : trivirgatus ->mixtus : mixtus ->provocax : provocax ->melanoleuca : melanoleuca ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : mixtus ->trivirgatus : trivirgatus ->mixtus : mixtus ->provocax : provocax ->melanoleuca : melanoleuca ->sagitta : sagitta ->stolzmanni : stolzmanni +>davidi : () => trivirgatus.mixtus +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : trivirgatus.mixtus +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : mixtus +>x : trivirgatus.mixtus pilirostris(): argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis> { var x: argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis>; () => { var y = this; }; return x; } ->pilirostris : () => wetmorei>, leptoceros>>, konganensis> ->argurus : argurus ->wetmorei : wetmorei ->imperfecta : imperfecta ->lasiurus : lasiurus ->panglima : panglima ->amphibius : amphibius ->patas : patas ->uralensis : uralensis ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata ->sagitta : sagitta ->leptoceros : leptoceros ->lutreolus : lutreolus ->punicus : punicus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->macrorhinos : macrorhinos ->konganensis : konganensis ->x : wetmorei>, leptoceros>>, konganensis> ->argurus : argurus ->wetmorei : wetmorei ->imperfecta : imperfecta ->lasiurus : lasiurus ->panglima : panglima ->amphibius : amphibius ->patas : patas ->uralensis : uralensis ->gabriellae : gabriellae ->klossii : klossii ->julianae : julianae ->nudicaudus : nudicaudus ->dogramacii : dogramacii ->aurata : aurata ->sagitta : sagitta ->leptoceros : leptoceros ->lutreolus : lutreolus ->punicus : punicus ->daubentonii : daubentonii ->arboreus : arboreus ->quasiater : quasiater ->carolinensis : carolinensis ->rionegrensis : rionegrensis ->caniventer : caniventer ->macrorhinos : macrorhinos ->konganensis : konganensis +>pilirostris : () => argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis> +>argurus : unknown +>wetmorei : argurus.wetmorei +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>panglima : unknown +>amphibius : panglima.amphibius +>patas : unknown +>uralensis : patas.uralensis +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata +>sagitta : unknown +>leptoceros : sagitta.leptoceros +>lutreolus : unknown +>punicus : lutreolus.punicus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>x : argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis> +>argurus : unknown +>wetmorei : argurus.wetmorei +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>panglima : unknown +>amphibius : panglima.amphibius +>patas : unknown +>uralensis : patas.uralensis +>gabriellae : unknown +>klossii : gabriellae.klossii +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>dogramacii : unknown +>aurata : dogramacii.aurata +>sagitta : unknown +>leptoceros : sagitta.leptoceros +>lutreolus : unknown +>punicus : lutreolus.punicus +>daubentonii : unknown +>arboreus : daubentonii.arboreus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : wetmorei>, leptoceros>>, konganensis> +>x : argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis> catherinae(): imperfecta.lasiurus, petrophilus.sodyi> { var x: imperfecta.lasiurus, petrophilus.sodyi>; () => { var y = this; }; return x; } ->catherinae : () => lasiurus, sodyi> ->imperfecta : imperfecta ->lasiurus : lasiurus ->Lanthanum : Lanthanum ->nitidus : nitidus ->howi : howi ->marcanoi : marcanoi ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->petrophilus : petrophilus ->sodyi : sodyi ->macrorhinos : macrorhinos ->konganensis : konganensis ->caurinus : caurinus ->psilurus : psilurus ->x : lasiurus, sodyi> ->imperfecta : imperfecta ->lasiurus : lasiurus ->Lanthanum : Lanthanum ->nitidus : nitidus ->howi : howi ->marcanoi : marcanoi ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->petrophilus : petrophilus ->sodyi : sodyi ->macrorhinos : macrorhinos ->konganensis : konganensis ->caurinus : caurinus ->psilurus : psilurus +>catherinae : () => imperfecta.lasiurus, petrophilus.sodyi> +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>howi : unknown +>marcanoi : howi.marcanoi +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>caurinus : unknown +>psilurus : caurinus.psilurus +>x : imperfecta.lasiurus, petrophilus.sodyi> +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>howi : unknown +>marcanoi : howi.marcanoi +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>macrorhinos : unknown +>konganensis : macrorhinos.konganensis +>caurinus : unknown +>psilurus : caurinus.psilurus >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : lasiurus, sodyi> +>x : imperfecta.lasiurus, petrophilus.sodyi> frontata(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->frontata : () => oreas ->argurus : argurus ->oreas : oreas ->x : oreas ->argurus : argurus ->oreas : oreas +>frontata : () => argurus.oreas +>argurus : unknown +>oreas : argurus.oreas +>x : argurus.oreas +>argurus : unknown +>oreas : argurus.oreas >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : oreas +>x : argurus.oreas Terbium(): caurinus.mahaganus { var x: caurinus.mahaganus; () => { var y = this; }; return x; } ->Terbium : () => mahaganus ->caurinus : caurinus ->mahaganus : mahaganus ->julianae : julianae ->galapagoensis : galapagoensis ->argurus : argurus ->luctuosa : luctuosa ->x : mahaganus ->caurinus : caurinus ->mahaganus : mahaganus ->julianae : julianae ->galapagoensis : galapagoensis ->argurus : argurus ->luctuosa : luctuosa +>Terbium : () => caurinus.mahaganus +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : caurinus.mahaganus +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>julianae : unknown +>galapagoensis : julianae.galapagoensis +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : mahaganus +>x : caurinus.mahaganus thomensis(): minutus.inez> { var x: minutus.inez>; () => { var y = this; }; return x; } ->thomensis : () => inez> ->minutus : minutus ->inez : inez ->argurus : argurus ->oreas : oreas ->julianae : julianae ->albidens : albidens ->argurus : argurus ->luctuosa : luctuosa ->gabriellae : gabriellae ->echinatus : echinatus ->x : inez> ->minutus : minutus ->inez : inez ->argurus : argurus ->oreas : oreas ->julianae : julianae ->albidens : albidens ->argurus : argurus ->luctuosa : luctuosa ->gabriellae : gabriellae ->echinatus : echinatus +>thomensis : () => minutus.inez> +>minutus : unknown +>inez : minutus.inez +>argurus : unknown +>oreas : argurus.oreas +>julianae : unknown +>albidens : julianae.albidens +>argurus : unknown +>luctuosa : argurus.luctuosa +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>x : minutus.inez> +>minutus : unknown +>inez : minutus.inez +>argurus : unknown +>oreas : argurus.oreas +>julianae : unknown +>albidens : julianae.albidens +>argurus : unknown +>luctuosa : argurus.luctuosa +>gabriellae : unknown +>echinatus : gabriellae.echinatus >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : inez> +>x : minutus.inez> soricinus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->soricinus : () => carolinensis ->quasiater : quasiater ->carolinensis : carolinensis ->x : carolinensis ->quasiater : quasiater ->carolinensis : carolinensis +>soricinus : () => quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : quasiater.carolinensis +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : Praseodymium >this : Praseodymium ->x : carolinensis +>x : quasiater.carolinensis } } module caurinus { @@ -13118,28 +13118,28 @@ module caurinus { >johorensis : johorensis >T0 : T0 >T1 : T1 ->lutreolus : lutreolus ->punicus : punicus +>lutreolus : unknown +>punicus : lutreolus.punicus maini(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->maini : () => Praseodymium ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->lavali : lavali ->thaeleri : thaeleri ->julianae : julianae ->acariensis : acariensis ->x : Praseodymium ->ruatanica : ruatanica ->Praseodymium : Praseodymium ->lavali : lavali ->thaeleri : thaeleri ->julianae : julianae ->acariensis : acariensis +>maini : () => ruatanica.Praseodymium +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>lavali : unknown +>thaeleri : lavali.thaeleri +>julianae : unknown +>acariensis : julianae.acariensis +>x : ruatanica.Praseodymium +>ruatanica : unknown +>Praseodymium : ruatanica.Praseodymium +>lavali : unknown +>thaeleri : lavali.thaeleri +>julianae : unknown +>acariensis : julianae.acariensis >() => { var y = this; } : () => void >y : johorensis >this : johorensis ->x : Praseodymium +>x : ruatanica.Praseodymium } } module argurus { @@ -13149,48 +13149,48 @@ module argurus { >luctuosa : luctuosa loriae(): rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> { var x: rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus>; () => { var y = this; }; return x; } ->loriae : () => moojeni, echinatus>, stolzmanni>, punicus> ->rendalli : rendalli ->moojeni : moojeni ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->sagitta : sagitta ->stolzmanni : stolzmanni ->lutreolus : lutreolus ->punicus : punicus ->x : moojeni, echinatus>, stolzmanni>, punicus> ->rendalli : rendalli ->moojeni : moojeni ->macrorhinos : macrorhinos ->marmosurus : marmosurus ->rendalli : rendalli ->moojeni : moojeni ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus ->psilurus : psilurus ->gabriellae : gabriellae ->echinatus : echinatus ->sagitta : sagitta ->stolzmanni : stolzmanni ->lutreolus : lutreolus ->punicus : punicus +>loriae : () => rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> +>rendalli : unknown +>moojeni : rendalli.moojeni +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> +>rendalli : unknown +>moojeni : rendalli.moojeni +>macrorhinos : unknown +>marmosurus : macrorhinos.marmosurus +>rendalli : unknown +>moojeni : rendalli.moojeni +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown +>psilurus : caurinus.psilurus +>gabriellae : unknown +>echinatus : gabriellae.echinatus +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : luctuosa >this : luctuosa ->x : moojeni, echinatus>, stolzmanni>, punicus> +>x : rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> } } module panamensis { @@ -13202,204 +13202,204 @@ module panamensis { >T1 : T1 duthieae(): caurinus.mahaganus, dogramacii.aurata> { var x: caurinus.mahaganus, dogramacii.aurata>; () => { var y = this; }; return x; } ->duthieae : () => mahaganus, aurata> ->caurinus : caurinus ->mahaganus : mahaganus ->howi : howi ->coludo : coludo ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi ->dogramacii : dogramacii ->aurata : aurata ->x : mahaganus, aurata> ->caurinus : caurinus ->mahaganus : mahaganus ->howi : howi ->coludo : coludo ->argurus : argurus ->oreas : oreas ->howi : howi ->marcanoi : marcanoi ->dogramacii : dogramacii ->aurata : aurata +>duthieae : () => caurinus.mahaganus, dogramacii.aurata> +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>howi : unknown +>coludo : howi.coludo +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi +>dogramacii : unknown +>aurata : dogramacii.aurata +>x : caurinus.mahaganus, dogramacii.aurata> +>caurinus : unknown +>mahaganus : caurinus.mahaganus +>howi : unknown +>coludo : howi.coludo +>argurus : unknown +>oreas : argurus.oreas +>howi : unknown +>marcanoi : howi.marcanoi +>dogramacii : unknown +>aurata : dogramacii.aurata >() => { var y = this; } : () => void >y : setulosus >this : setulosus ->x : mahaganus, aurata> +>x : caurinus.mahaganus, dogramacii.aurata> guereza(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->guereza : () => coludo ->howi : howi ->coludo : coludo ->sagitta : sagitta ->stolzmanni : stolzmanni ->quasiater : quasiater ->carolinensis : carolinensis ->x : coludo ->howi : howi ->coludo : coludo ->sagitta : sagitta ->stolzmanni : stolzmanni ->quasiater : quasiater ->carolinensis : carolinensis +>guereza : () => howi.coludo +>howi : unknown +>coludo : howi.coludo +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : howi.coludo +>howi : unknown +>coludo : howi.coludo +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : setulosus >this : setulosus ->x : coludo +>x : howi.coludo buselaphus(): daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus> { var x: daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus>; () => { var y = this; }; return x; } ->buselaphus : () => nesiotes, koepckeae>, mixtus> ->daubentonii : daubentonii ->nesiotes : nesiotes ->trivirgatus : trivirgatus ->lotor : lotor ->panglima : panglima ->abidi : abidi ->lavali : lavali ->lepturus : lepturus ->caurinus : caurinus ->psilurus : psilurus ->dogramacii : dogramacii ->koepckeae : koepckeae ->trivirgatus : trivirgatus ->mixtus : mixtus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus ->punicus : punicus ->x : nesiotes, koepckeae>, mixtus> ->daubentonii : daubentonii ->nesiotes : nesiotes ->trivirgatus : trivirgatus ->lotor : lotor ->panglima : panglima ->abidi : abidi ->lavali : lavali ->lepturus : lepturus ->caurinus : caurinus ->psilurus : psilurus ->dogramacii : dogramacii ->koepckeae : koepckeae ->trivirgatus : trivirgatus ->mixtus : mixtus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus ->punicus : punicus +>buselaphus : () => daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus> +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>panglima : unknown +>abidi : panglima.abidi +>lavali : unknown +>lepturus : lavali.lepturus +>caurinus : unknown +>psilurus : caurinus.psilurus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown +>punicus : lutreolus.punicus +>x : daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus> +>daubentonii : unknown +>nesiotes : daubentonii.nesiotes +>trivirgatus : unknown +>lotor : trivirgatus.lotor +>panglima : unknown +>abidi : panglima.abidi +>lavali : unknown +>lepturus : lavali.lepturus +>caurinus : unknown +>psilurus : caurinus.psilurus +>dogramacii : unknown +>koepckeae : dogramacii.koepckeae +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown +>punicus : lutreolus.punicus >() => { var y = this; } : () => void >y : setulosus >this : setulosus ->x : nesiotes, koepckeae>, mixtus> +>x : daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus> nuttalli(): sagitta.cinereus, chrysaeolus.sarasinorum> { var x: sagitta.cinereus, chrysaeolus.sarasinorum>; () => { var y = this; }; return x; } ->nuttalli : () => cinereus, sarasinorum> ->sagitta : sagitta ->cinereus : cinereus ->argurus : argurus ->netscheri : netscheri ->argurus : argurus ->luctuosa : luctuosa ->julianae : julianae ->nudicaudus : nudicaudus ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->xanthognathus : xanthognathus ->x : cinereus, sarasinorum> ->sagitta : sagitta ->cinereus : cinereus ->argurus : argurus ->netscheri : netscheri ->argurus : argurus ->luctuosa : luctuosa ->julianae : julianae ->nudicaudus : nudicaudus ->chrysaeolus : chrysaeolus ->sarasinorum : sarasinorum ->caurinus : caurinus ->megaphyllus : megaphyllus ->lavali : lavali ->xanthognathus : xanthognathus +>nuttalli : () => sagitta.cinereus, chrysaeolus.sarasinorum> +>sagitta : unknown +>cinereus : sagitta.cinereus +>argurus : unknown +>netscheri : argurus.netscheri +>argurus : unknown +>luctuosa : argurus.luctuosa +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>xanthognathus : lavali.xanthognathus +>x : sagitta.cinereus, chrysaeolus.sarasinorum> +>sagitta : unknown +>cinereus : sagitta.cinereus +>argurus : unknown +>netscheri : argurus.netscheri +>argurus : unknown +>luctuosa : argurus.luctuosa +>julianae : unknown +>nudicaudus : julianae.nudicaudus +>chrysaeolus : unknown +>sarasinorum : chrysaeolus.sarasinorum +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>lavali : unknown +>xanthognathus : lavali.xanthognathus >() => { var y = this; } : () => void >y : setulosus >this : setulosus ->x : cinereus, sarasinorum> +>x : sagitta.cinereus, chrysaeolus.sarasinorum> pelii(): rendalli.crenulata, julianae.steerii> { var x: rendalli.crenulata, julianae.steerii>; () => { var y = this; }; return x; } ->pelii : () => crenulata, steerii> ->rendalli : rendalli ->crenulata : crenulata ->Lanthanum : Lanthanum ->nitidus : nitidus ->rionegrensis : rionegrensis ->caniventer : caniventer ->Lanthanum : Lanthanum ->jugularis : jugularis ->julianae : julianae ->steerii : steerii ->x : crenulata, steerii> ->rendalli : rendalli ->crenulata : crenulata ->Lanthanum : Lanthanum ->nitidus : nitidus ->rionegrensis : rionegrensis ->caniventer : caniventer ->Lanthanum : Lanthanum ->jugularis : jugularis ->julianae : julianae ->steerii : steerii +>pelii : () => rendalli.crenulata, julianae.steerii> +>rendalli : unknown +>crenulata : rendalli.crenulata +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>julianae : unknown +>steerii : julianae.steerii +>x : rendalli.crenulata, julianae.steerii> +>rendalli : unknown +>crenulata : rendalli.crenulata +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>rionegrensis : unknown +>caniventer : rionegrensis.caniventer +>Lanthanum : unknown +>jugularis : Lanthanum.jugularis +>julianae : unknown +>steerii : julianae.steerii >() => { var y = this; } : () => void >y : setulosus >this : setulosus ->x : crenulata, steerii> +>x : rendalli.crenulata, julianae.steerii> tunneyi(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->tunneyi : () => stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : sagitta ->stolzmanni : stolzmanni +>tunneyi : () => sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni +>x : sagitta.stolzmanni +>sagitta : unknown +>stolzmanni : sagitta.stolzmanni >() => { var y = this; } : () => void >y : setulosus >this : setulosus ->x : stolzmanni +>x : sagitta.stolzmanni lamula(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->lamula : () => uralensis ->patas : patas ->uralensis : uralensis ->x : uralensis ->patas : patas ->uralensis : uralensis +>lamula : () => patas.uralensis +>patas : unknown +>uralensis : patas.uralensis +>x : patas.uralensis +>patas : unknown +>uralensis : patas.uralensis >() => { var y = this; } : () => void >y : setulosus >this : setulosus ->x : uralensis +>x : patas.uralensis vampyrus(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->vampyrus : () => oralis ->julianae : julianae ->oralis : oralis ->lutreolus : lutreolus ->foina : foina ->provocax : provocax ->melanoleuca : melanoleuca ->x : oralis ->julianae : julianae ->oralis : oralis ->lutreolus : lutreolus ->foina : foina ->provocax : provocax ->melanoleuca : melanoleuca +>vampyrus : () => julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>lutreolus : unknown +>foina : lutreolus.foina +>provocax : unknown +>melanoleuca : provocax.melanoleuca +>x : julianae.oralis +>julianae : unknown +>oralis : julianae.oralis +>lutreolus : unknown +>foina : lutreolus.foina +>provocax : unknown +>melanoleuca : provocax.melanoleuca >() => { var y = this; } : () => void >y : setulosus >this : setulosus ->x : oralis +>x : julianae.oralis } } module petrophilus { @@ -13411,152 +13411,152 @@ module petrophilus { >T1 : T1 palmeri(): panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>> { var x: panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>>; () => { var y = this; }; return x; } ->palmeri : () => amphibius>, mixtus, amphibius>> ->panglima : panglima ->amphibius : amphibius ->howi : howi ->coludo : coludo ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->panglima : panglima ->amphibius : amphibius ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->patas : patas ->uralensis : uralensis ->trivirgatus : trivirgatus ->mixtus : mixtus ->argurus : argurus ->dauricus : dauricus ->dogramacii : dogramacii ->aurata : aurata ->dammermani : dammermani ->melanops : melanops ->panglima : panglima ->amphibius : amphibius ->lavali : lavali ->lepturus : lepturus ->quasiater : quasiater ->carolinensis : carolinensis ->x : amphibius>, mixtus, amphibius>> ->panglima : panglima ->amphibius : amphibius ->howi : howi ->coludo : coludo ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->panglima : panglima ->amphibius : amphibius ->macrorhinos : macrorhinos ->daphaenodon : daphaenodon ->patas : patas ->uralensis : uralensis ->trivirgatus : trivirgatus ->mixtus : mixtus ->argurus : argurus ->dauricus : dauricus ->dogramacii : dogramacii ->aurata : aurata ->dammermani : dammermani ->melanops : melanops ->panglima : panglima ->amphibius : amphibius ->lavali : lavali ->lepturus : lepturus ->quasiater : quasiater ->carolinensis : carolinensis +>palmeri : () => panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>> +>panglima : unknown +>amphibius : panglima.amphibius +>howi : unknown +>coludo : howi.coludo +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>panglima : unknown +>amphibius : panglima.amphibius +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>patas : unknown +>uralensis : patas.uralensis +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>argurus : unknown +>dauricus : argurus.dauricus +>dogramacii : unknown +>aurata : dogramacii.aurata +>dammermani : unknown +>melanops : dammermani.melanops +>panglima : unknown +>amphibius : panglima.amphibius +>lavali : unknown +>lepturus : lavali.lepturus +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>> +>panglima : unknown +>amphibius : panglima.amphibius +>howi : unknown +>coludo : howi.coludo +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>panglima : unknown +>amphibius : panglima.amphibius +>macrorhinos : unknown +>daphaenodon : macrorhinos.daphaenodon +>patas : unknown +>uralensis : patas.uralensis +>trivirgatus : unknown +>mixtus : trivirgatus.mixtus +>argurus : unknown +>dauricus : argurus.dauricus +>dogramacii : unknown +>aurata : dogramacii.aurata +>dammermani : unknown +>melanops : dammermani.melanops +>panglima : unknown +>amphibius : panglima.amphibius +>lavali : unknown +>lepturus : lavali.lepturus +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : rosalia >this : rosalia ->x : amphibius>, mixtus, amphibius>> +>x : panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>> baeops(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->baeops : () => nitidus ->Lanthanum : Lanthanum ->nitidus : nitidus ->lavali : lavali ->thaeleri : thaeleri ->lavali : lavali ->lepturus : lepturus ->x : nitidus ->Lanthanum : Lanthanum ->nitidus : nitidus ->lavali : lavali ->thaeleri : thaeleri ->lavali : lavali ->lepturus : lepturus +>baeops : () => Lanthanum.nitidus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>lavali : unknown +>thaeleri : lavali.thaeleri +>lavali : unknown +>lepturus : lavali.lepturus +>x : Lanthanum.nitidus +>Lanthanum : unknown +>nitidus : Lanthanum.nitidus +>lavali : unknown +>thaeleri : lavali.thaeleri +>lavali : unknown +>lepturus : lavali.lepturus >() => { var y = this; } : () => void >y : rosalia >this : rosalia ->x : nitidus +>x : Lanthanum.nitidus ozensis(): imperfecta.lasiurus, lutreolus.foina> { var x: imperfecta.lasiurus, lutreolus.foina>; () => { var y = this; }; return x; } ->ozensis : () => lasiurus, foina> ->imperfecta : imperfecta ->lasiurus : lasiurus ->panglima : panglima ->fundatus : fundatus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus ->foina : foina ->lutreolus : lutreolus ->foina : foina ->x : lasiurus, foina> ->imperfecta : imperfecta ->lasiurus : lasiurus ->panglima : panglima ->fundatus : fundatus ->gabriellae : gabriellae ->amicus : amicus ->lutreolus : lutreolus ->foina : foina ->lutreolus : lutreolus ->foina : foina +>ozensis : () => imperfecta.lasiurus, lutreolus.foina> +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>panglima : unknown +>fundatus : panglima.fundatus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown +>foina : lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina +>x : imperfecta.lasiurus, lutreolus.foina> +>imperfecta : unknown +>lasiurus : imperfecta.lasiurus +>panglima : unknown +>fundatus : panglima.fundatus +>gabriellae : unknown +>amicus : gabriellae.amicus +>lutreolus : unknown +>foina : lutreolus.foina +>lutreolus : unknown +>foina : lutreolus.foina >() => { var y = this; } : () => void >y : rosalia >this : rosalia ->x : lasiurus, foina> +>x : imperfecta.lasiurus, lutreolus.foina> creaghi(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->creaghi : () => luctuosa ->argurus : argurus ->luctuosa : luctuosa ->x : luctuosa ->argurus : argurus ->luctuosa : luctuosa +>creaghi : () => argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa +>x : argurus.luctuosa +>argurus : unknown +>luctuosa : argurus.luctuosa >() => { var y = this; } : () => void >y : rosalia >this : rosalia ->x : luctuosa +>x : argurus.luctuosa montivaga(): panamensis.setulosus> { var x: panamensis.setulosus>; () => { var y = this; }; return x; } ->montivaga : () => setulosus> ->panamensis : panamensis ->setulosus : setulosus ->lavali : lavali ->beisa : beisa ->panamensis : panamensis ->linulus : linulus ->caurinus : caurinus ->megaphyllus : megaphyllus ->caurinus : caurinus ->megaphyllus : megaphyllus ->x : setulosus> ->panamensis : panamensis ->setulosus : setulosus ->lavali : lavali ->beisa : beisa ->panamensis : panamensis ->linulus : linulus ->caurinus : caurinus ->megaphyllus : megaphyllus ->caurinus : caurinus ->megaphyllus : megaphyllus +>montivaga : () => panamensis.setulosus> +>panamensis : unknown +>setulosus : panamensis.setulosus +>lavali : unknown +>beisa : lavali.beisa +>panamensis : unknown +>linulus : panamensis.linulus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>x : panamensis.setulosus> +>panamensis : unknown +>setulosus : panamensis.setulosus +>lavali : unknown +>beisa : lavali.beisa +>panamensis : unknown +>linulus : panamensis.linulus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus +>caurinus : unknown +>megaphyllus : caurinus.megaphyllus >() => { var y = this; } : () => void >y : rosalia >this : rosalia ->x : setulosus> +>x : panamensis.setulosus> } } module caurinus { @@ -13564,128 +13564,128 @@ module caurinus { export class psilurus extends lutreolus.punicus { >psilurus : psilurus ->lutreolus : lutreolus ->punicus : punicus +>lutreolus : unknown +>punicus : lutreolus.punicus socialis(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->socialis : () => amphibius ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus +>socialis : () => panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown >psilurus : psilurus ->x : amphibius ->panglima : panglima ->amphibius : amphibius ->trivirgatus : trivirgatus ->falconeri : falconeri ->caurinus : caurinus +>x : panglima.amphibius +>panglima : unknown +>amphibius : panglima.amphibius +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>caurinus : unknown >psilurus : psilurus >() => { var y = this; } : () => void >y : psilurus >this : psilurus ->x : amphibius +>x : panglima.amphibius lundi(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->lundi : () => sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->trivirgatus : trivirgatus ->falconeri : falconeri ->quasiater : quasiater ->bobrinskoi : bobrinskoi ->x : sodyi ->petrophilus : petrophilus ->sodyi : sodyi ->trivirgatus : trivirgatus ->falconeri : falconeri ->quasiater : quasiater ->bobrinskoi : bobrinskoi +>lundi : () => petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi +>x : petrophilus.sodyi +>petrophilus : unknown +>sodyi : petrophilus.sodyi +>trivirgatus : unknown +>falconeri : trivirgatus.falconeri +>quasiater : unknown +>bobrinskoi : quasiater.bobrinskoi >() => { var y = this; } : () => void >y : psilurus >this : psilurus ->x : sodyi +>x : petrophilus.sodyi araeum(): imperfecta.ciliolabrum { var x: imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->araeum : () => ciliolabrum ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->beisa : beisa ->x : ciliolabrum ->imperfecta : imperfecta ->ciliolabrum : ciliolabrum ->quasiater : quasiater ->carolinensis : carolinensis ->lavali : lavali ->beisa : beisa +>araeum : () => imperfecta.ciliolabrum +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>beisa : lavali.beisa +>x : imperfecta.ciliolabrum +>imperfecta : unknown +>ciliolabrum : imperfecta.ciliolabrum +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>lavali : unknown +>beisa : lavali.beisa >() => { var y = this; } : () => void >y : psilurus >this : psilurus ->x : ciliolabrum +>x : imperfecta.ciliolabrum calamianensis(): julianae.gerbillus { var x: julianae.gerbillus; () => { var y = this; }; return x; } ->calamianensis : () => gerbillus ->julianae : julianae ->gerbillus : gerbillus ->lavali : lavali ->thaeleri : thaeleri ->quasiater : quasiater ->carolinensis : carolinensis ->x : gerbillus ->julianae : julianae ->gerbillus : gerbillus ->lavali : lavali ->thaeleri : thaeleri ->quasiater : quasiater ->carolinensis : carolinensis +>calamianensis : () => julianae.gerbillus +>julianae : unknown +>gerbillus : julianae.gerbillus +>lavali : unknown +>thaeleri : lavali.thaeleri +>quasiater : unknown +>carolinensis : quasiater.carolinensis +>x : julianae.gerbillus +>julianae : unknown +>gerbillus : julianae.gerbillus +>lavali : unknown +>thaeleri : lavali.thaeleri +>quasiater : unknown +>carolinensis : quasiater.carolinensis >() => { var y = this; } : () => void >y : psilurus >this : psilurus ->x : gerbillus +>x : julianae.gerbillus petersoni(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->petersoni : () => setulosus ->panamensis : panamensis ->setulosus : setulosus ->sagitta : sagitta ->walkeri : walkeri ->dogramacii : dogramacii ->robustulus : robustulus ->x : setulosus ->panamensis : panamensis ->setulosus : setulosus ->sagitta : sagitta ->walkeri : walkeri ->dogramacii : dogramacii ->robustulus : robustulus +>petersoni : () => panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus +>sagitta : unknown +>walkeri : sagitta.walkeri +>dogramacii : unknown +>robustulus : dogramacii.robustulus +>x : panamensis.setulosus +>panamensis : unknown +>setulosus : panamensis.setulosus +>sagitta : unknown +>walkeri : sagitta.walkeri +>dogramacii : unknown +>robustulus : dogramacii.robustulus >() => { var y = this; } : () => void >y : psilurus >this : psilurus ->x : setulosus +>x : panamensis.setulosus nitela(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->nitela : () => linulus ->panamensis : panamensis ->linulus : linulus ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->howi : howi ->marcanoi : marcanoi ->x : linulus ->panamensis : panamensis ->linulus : linulus ->Lanthanum : Lanthanum ->megalonyx : megalonyx ->howi : howi ->marcanoi : marcanoi +>nitela : () => panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>howi : unknown +>marcanoi : howi.marcanoi +>x : panamensis.linulus +>panamensis : unknown +>linulus : panamensis.linulus +>Lanthanum : unknown +>megalonyx : Lanthanum.megalonyx +>howi : unknown +>marcanoi : howi.marcanoi >() => { var y = this; } : () => void >y : psilurus >this : psilurus ->x : linulus +>x : panamensis.linulus } } diff --git a/tests/baselines/reference/returnStatement1.types b/tests/baselines/reference/returnStatement1.types index 1d1201edb1a..b7a668bfa03 100644 --- a/tests/baselines/reference/returnStatement1.types +++ b/tests/baselines/reference/returnStatement1.types @@ -3,9 +3,7 @@ function f() { >f : () => (s: any) => void return function (s) { ->function (s) { - var x = s; - } : (s: any) => void +>function (s) { var x = s; } : (s: any) => void >s : any var x = s; diff --git a/tests/baselines/reference/returnTypeParameterWithModules.types b/tests/baselines/reference/returnTypeParameterWithModules.types index 909c6f45f6f..adcc1b4bcee 100644 --- a/tests/baselines/reference/returnTypeParameterWithModules.types +++ b/tests/baselines/reference/returnTypeParameterWithModules.types @@ -35,8 +35,8 @@ module M2 { >M2 : typeof M2 import A = M1 ->A : typeof M1 ->M1 : typeof M1 +>A : typeof A +>M1 : typeof A export function compose() { >compose : () => void @@ -44,7 +44,7 @@ module M2 { A.reduce(arguments, compose2); >A.reduce(arguments, compose2) : {}[] >A.reduce : (ar: any, f: any, e?: any) => A[] ->A : typeof M1 +>A : typeof A >reduce : (ar: any, f: any, e?: any) => A[] >arguments : IArguments >compose2 : (g: (x: B) => C, f: (x: D) => B) => (x: D) => C diff --git a/tests/baselines/reference/reuseInnerModuleMember.js b/tests/baselines/reference/reuseInnerModuleMember.js index 12d0aaf14ca..8999ccea633 100644 --- a/tests/baselines/reference/reuseInnerModuleMember.js +++ b/tests/baselines/reference/reuseInnerModuleMember.js @@ -17,6 +17,7 @@ module bar { //// [reuseInnerModuleMember_0.js] //// [reuseInnerModuleMember_1.js] +/// var bar; (function (bar) { var x; diff --git a/tests/baselines/reference/reuseInnerModuleMember.types b/tests/baselines/reference/reuseInnerModuleMember.types index f9179e64cc1..b4ff68efbdf 100644 --- a/tests/baselines/reference/reuseInnerModuleMember.types +++ b/tests/baselines/reference/reuseInnerModuleMember.types @@ -8,7 +8,7 @@ declare module bar { } import f = require('reuseInnerModuleMember_0'); ->f : typeof "tests/cases/compiler/reuseInnerModuleMember_0" +>f : typeof f module bar { >bar : typeof bar @@ -20,5 +20,5 @@ module bar { === tests/cases/compiler/reuseInnerModuleMember_0.ts === export module M { } ->M : M +>M : unknown diff --git a/tests/baselines/reference/selfInLambdas.types b/tests/baselines/reference/selfInLambdas.types index db0355143c5..42a58a9294f 100644 --- a/tests/baselines/reference/selfInLambdas.types +++ b/tests/baselines/reference/selfInLambdas.types @@ -24,51 +24,21 @@ interface Window { } var o = { >o : { counter: number; start: () => void; } ->{ - - counter: 0, - - start: function() { - - window.onmousemove = () => { - this.counter++ - var f = () => this.counter; - - } - - } - -} : { counter: number; start: () => void; } +>{ counter: 0, start: function() { window.onmousemove = () => { this.counter++ var f = () => this.counter; } }} : { counter: number; start: () => void; } counter: 0, >counter : number start: function() { >start : () => void ->function() { - - window.onmousemove = () => { - this.counter++ - var f = () => this.counter; - - } - - } : () => void +>function() { window.onmousemove = () => { this.counter++ var f = () => this.counter; } } : () => void window.onmousemove = () => { ->window.onmousemove = () => { - this.counter++ - var f = () => this.counter; - - } : () => void +>window.onmousemove = () => { this.counter++ var f = () => this.counter; } : () => void >window.onmousemove : (ev: MouseEvent) => any >window : Window >onmousemove : (ev: MouseEvent) => any ->() => { - this.counter++ - var f = () => this.counter; - - } : () => void +>() => { this.counter++ var f = () => this.counter; } : () => void this.counter++ >this.counter++ : number @@ -102,15 +72,7 @@ class X { var outer= () => { >outer : () => void ->() => { - var x = this.value; - var inner = () => { - var y = this.value; - } - - inner(); - - } : () => void +>() => { var x = this.value; var inner = () => { var y = this.value; } inner(); } : () => void var x = this.value; >x : string @@ -120,9 +82,7 @@ class X { var inner = () => { >inner : () => void ->() => { - var y = this.value; - } : () => void +>() => { var y = this.value; } : () => void var y = this.value; >y : string diff --git a/tests/baselines/reference/sourceMap-FileWithComments.types b/tests/baselines/reference/sourceMap-FileWithComments.types index efc31770859..ecb32311c4a 100644 --- a/tests/baselines/reference/sourceMap-FileWithComments.types +++ b/tests/baselines/reference/sourceMap-FileWithComments.types @@ -71,10 +71,10 @@ module Shapes { var p: IPoint = new Shapes.Point(3, 4); >p : IPoint >IPoint : IPoint ->new Shapes.Point(3, 4) : Point ->Shapes.Point : typeof Point +>new Shapes.Point(3, 4) : Shapes.Point +>Shapes.Point : typeof Shapes.Point >Shapes : typeof Shapes ->Point : typeof Point +>Point : typeof Shapes.Point var dist = p.getDist(); >dist : number diff --git a/tests/baselines/reference/sourceMapValidationFunctionExpressions.types b/tests/baselines/reference/sourceMapValidationFunctionExpressions.types index 619a58db9db..cd1c82c5819 100644 --- a/tests/baselines/reference/sourceMapValidationFunctionExpressions.types +++ b/tests/baselines/reference/sourceMapValidationFunctionExpressions.types @@ -4,10 +4,7 @@ var greetings = 0; var greet = (greeting: string): number => { >greet : (greeting: string) => number ->(greeting: string): number => { - greetings++; - return greetings; -} : (greeting: string) => number +>(greeting: string): number => { greetings++; return greetings;} : (greeting: string) => number >greeting : string greetings++; diff --git a/tests/baselines/reference/sourceMapValidationImport.types b/tests/baselines/reference/sourceMapValidationImport.types index 4ea0c3fcd5d..801925fc8cb 100644 --- a/tests/baselines/reference/sourceMapValidationImport.types +++ b/tests/baselines/reference/sourceMapValidationImport.types @@ -7,22 +7,22 @@ export module m { } } import a = m.c; ->a : typeof c +>a : typeof a >m : typeof m ->c : c +>c : a export import b = m.c; ->b : typeof c +>b : typeof a >m : typeof m ->c : c +>c : a var x = new a(); ->x : c ->new a() : c ->a : typeof c +>x : a +>new a() : a +>a : typeof a var y = new b(); ->y : c ->new b() : c ->b : typeof c +>y : a +>new b() : a +>b : typeof a diff --git a/tests/baselines/reference/sourceMapWithMultipleFilesWithCopyright.types b/tests/baselines/reference/sourceMapWithMultipleFilesWithCopyright.types index 8e53a8914f7..d72fd90b0c6 100644 --- a/tests/baselines/reference/sourceMapWithMultipleFilesWithCopyright.types +++ b/tests/baselines/reference/sourceMapWithMultipleFilesWithCopyright.types @@ -15,10 +15,7 @@ Copyright var x = { >x : { a: number; b: number; } ->{ - a: 10, - b: 20 -} : { a: number; b: number; } +>{ a: 10, b: 20} : { a: number; b: number; } a: 10, >a : number diff --git a/tests/baselines/reference/specializationOfExportedClass.types b/tests/baselines/reference/specializationOfExportedClass.types index e473058e885..bfe5bd0021d 100644 --- a/tests/baselines/reference/specializationOfExportedClass.types +++ b/tests/baselines/reference/specializationOfExportedClass.types @@ -9,9 +9,9 @@ export class C { } } var x = new M.C(); ->x : C ->new M.C() : C ->M.C : typeof C +>x : M.C +>new M.C() : M.C +>M.C : typeof M.C >M : typeof M ->C : typeof C +>C : typeof M.C diff --git a/tests/baselines/reference/staticInstanceResolution3.types b/tests/baselines/reference/staticInstanceResolution3.types index d05a5a20343..b442aebd31f 100644 --- a/tests/baselines/reference/staticInstanceResolution3.types +++ b/tests/baselines/reference/staticInstanceResolution3.types @@ -1,15 +1,15 @@ === tests/cases/compiler/staticInstanceResolution3_1.ts === /// import WinJS = require('staticInstanceResolution3_0'); ->WinJS : typeof "tests/cases/compiler/staticInstanceResolution3_0" +>WinJS : typeof WinJS WinJS.Promise.timeout(10); ->WinJS.Promise.timeout(10) : Promise ->WinJS.Promise.timeout : (delay: number) => Promise ->WinJS.Promise : typeof Promise ->WinJS : typeof "tests/cases/compiler/staticInstanceResolution3_0" ->Promise : typeof Promise ->timeout : (delay: number) => Promise +>WinJS.Promise.timeout(10) : WinJS.Promise +>WinJS.Promise.timeout : (delay: number) => WinJS.Promise +>WinJS.Promise : typeof WinJS.Promise +>WinJS : typeof WinJS +>Promise : typeof WinJS.Promise +>timeout : (delay: number) => WinJS.Promise === tests/cases/compiler/staticInstanceResolution3_0.ts === export class Promise { diff --git a/tests/baselines/reference/strictMode5.types b/tests/baselines/reference/strictMode5.types index 7832a118092..dd668dc24d1 100644 --- a/tests/baselines/reference/strictMode5.types +++ b/tests/baselines/reference/strictMode5.types @@ -16,9 +16,7 @@ class A { var v = () => { >v : () => void ->() => { - return this.n(); - } : () => void +>() => { return this.n(); } : () => void return this.n(); >this.n() : void diff --git a/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types b/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types index ed9c4869bcd..612d36fe6ad 100644 --- a/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types +++ b/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types @@ -2,8 +2,7 @@ var x = {'text\ >x : { 'text\ ': string; } ->{'text\ -':'hello'} : { 'text\ +>{'text\':'hello'} : { 'text\ ': string; } ':'hello'} diff --git a/tests/baselines/reference/stringNamedPropertyAccess.types b/tests/baselines/reference/stringNamedPropertyAccess.types index 215543edd6f..180259cab6e 100644 --- a/tests/baselines/reference/stringNamedPropertyAccess.types +++ b/tests/baselines/reference/stringNamedPropertyAccess.types @@ -45,9 +45,7 @@ var r3 = a["a b"]; var b = { >b : { "a b": number; } ->{ - "a b": 1 -} : { "a b": number; } +>{ "a b": 1} : { "a b": number; } "a b": 1 } diff --git a/tests/baselines/reference/stringPropCodeGen.types b/tests/baselines/reference/stringPropCodeGen.types index 7dab4bf8501..423ab2ffa0e 100644 --- a/tests/baselines/reference/stringPropCodeGen.types +++ b/tests/baselines/reference/stringPropCodeGen.types @@ -1,12 +1,7 @@ === tests/cases/compiler/stringPropCodeGen.ts === var a = { >a : { "foo": () => void; "bar": number; } ->{ - - "foo" : function() { }, - "bar" : 5 - -} : { "foo": () => void; "bar": number; } +>{ "foo" : function() { }, "bar" : 5} : { "foo": () => void; "bar": number; } "foo" : function() { }, >function() { } : () => void diff --git a/tests/baselines/reference/super2.types b/tests/baselines/reference/super2.types index 92b5be42044..86fb33227de 100644 --- a/tests/baselines/reference/super2.types +++ b/tests/baselines/reference/super2.types @@ -37,6 +37,7 @@ class SubSub5 extends Sub5 { return super.x(); >super.x() : string >super.x : () => string +>super : Sub5 >x : () => string } public y() { @@ -45,6 +46,7 @@ class SubSub5 extends Sub5 { return super.y(); >super.y() : string >super.y : () => string +>super : Sub5 >y : () => string } } @@ -81,6 +83,7 @@ class SubSub6 extends Sub6 { return super.y(); >super.y() : string >super.y : () => string +>super : Sub6 >y : () => string } } diff --git a/tests/baselines/reference/superAccessInFatArrow1.types b/tests/baselines/reference/superAccessInFatArrow1.types index f7d0d623cd0..0c50015c051 100644 --- a/tests/baselines/reference/superAccessInFatArrow1.types +++ b/tests/baselines/reference/superAccessInFatArrow1.types @@ -21,19 +21,16 @@ module test { >runme : () => void this.bar(() => { ->this.bar(() => { - super.foo(); - }) : void +>this.bar(() => { super.foo(); }) : void >this.bar : (callback: () => void) => void >this : B >bar : (callback: () => void) => void ->() => { - super.foo(); - } : () => void +>() => { super.foo(); } : () => void super.foo(); >super.foo() : void >super.foo : () => void +>super : A >foo : () => void }); diff --git a/tests/baselines/reference/superCallArgsMustMatch.types b/tests/baselines/reference/superCallArgsMustMatch.types index 6f5637edd1a..c2019881d94 100644 --- a/tests/baselines/reference/superCallArgsMustMatch.types +++ b/tests/baselines/reference/superCallArgsMustMatch.types @@ -23,6 +23,7 @@ class T6 extends T5{ super("hi"); // Should error, base constructor has type T for first arg, which is fixed as number in the extends clause >super("hi") : void +>super : typeof T5 var x: number = this.foo; >x : number diff --git a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType1.types b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType1.types index e125522bbb7..7630d67606a 100644 --- a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType1.types +++ b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType1.types @@ -21,6 +21,7 @@ class D extends B { constructor() { super(); >super() : void +>super : typeof B } } diff --git a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType2.types b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType2.types index 0aa1487543f..cd26719d22e 100644 --- a/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType2.types +++ b/tests/baselines/reference/superCallFromClassThatDerivesFromGenericType2.types @@ -17,6 +17,7 @@ class D extends B { constructor() { super(); >super() : void +>super : typeof B } } diff --git a/tests/baselines/reference/superCalls.types b/tests/baselines/reference/superCalls.types index 07a4688ba3a..ef983183f9c 100644 --- a/tests/baselines/reference/superCalls.types +++ b/tests/baselines/reference/superCalls.types @@ -24,11 +24,13 @@ class Derived extends Base { super(''); >super('') : void +>super : typeof Base //type of super call expression is void var p = super(''); >p : void >super('') : void +>super : typeof Base var p = v(); >p : void @@ -52,6 +54,7 @@ class OtherDerived extends OtherBase { super(); >super() : void +>super : typeof OtherBase } } diff --git a/tests/baselines/reference/superInCatchBlock1.types b/tests/baselines/reference/superInCatchBlock1.types index f7592c18486..616c11cee7f 100644 --- a/tests/baselines/reference/superInCatchBlock1.types +++ b/tests/baselines/reference/superInCatchBlock1.types @@ -20,6 +20,7 @@ class B extends A { super.m(); >super.m() : void >super.m : () => void +>super : A >m : () => void } } diff --git a/tests/baselines/reference/superWithGenericSpecialization.types b/tests/baselines/reference/superWithGenericSpecialization.types index 1b9190176e8..258615b309f 100644 --- a/tests/baselines/reference/superWithGenericSpecialization.types +++ b/tests/baselines/reference/superWithGenericSpecialization.types @@ -20,6 +20,7 @@ class D extends C { constructor() { super(); // uses the type parameter type of the base class, ie string >super() : void +>super : typeof C } } diff --git a/tests/baselines/reference/superWithGenerics.types b/tests/baselines/reference/superWithGenerics.types index 89086033284..3a034b67f04 100644 --- a/tests/baselines/reference/superWithGenerics.types +++ b/tests/baselines/reference/superWithGenerics.types @@ -21,6 +21,7 @@ class D extends B { constructor() { super(); >super() : void +>super : typeof B } } diff --git a/tests/baselines/reference/switchStatements.types b/tests/baselines/reference/switchStatements.types index 6839de6b93a..1c951c5e098 100644 --- a/tests/baselines/reference/switchStatements.types +++ b/tests/baselines/reference/switchStatements.types @@ -32,8 +32,6 @@ switch (x) { >Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; } case /[a-z]/: ->/[a-z]/ : RegExp - case[]: >[] : undefined[] @@ -120,8 +118,6 @@ switch (new Object()) { } >Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; } switch (/[a-z]/) { } ->/[a-z]/ : RegExp - switch ([]) { } >[] : undefined[] diff --git a/tests/baselines/reference/targetTypeObjectLiteral.types b/tests/baselines/reference/targetTypeObjectLiteral.types index 2d9e6e182a5..f63a505162b 100644 --- a/tests/baselines/reference/targetTypeObjectLiteral.types +++ b/tests/baselines/reference/targetTypeObjectLiteral.types @@ -4,28 +4,14 @@ var z: { x: number; y: (w:string)=>number;} = { >x : number >y : (w: string) => number >w : string ->{ - - x: 12, - - y: function(w) { - - return 0; - - } - -} : { x: number; y: (w: string) => number; } +>{ x: 12, y: function(w) { return 0; }} : { x: number; y: (w: string) => number; } x: 12, >x : number y: function(w) { >y : (w: string) => number ->function(w) { - - return 0; - - } : (w: string) => number +>function(w) { return 0; } : (w: string) => number >w : string return 0; diff --git a/tests/baselines/reference/targetTypeObjectLiteralToAny.types b/tests/baselines/reference/targetTypeObjectLiteralToAny.types index 8d5e2b0b47a..ebbafd39d8d 100644 --- a/tests/baselines/reference/targetTypeObjectLiteralToAny.types +++ b/tests/baselines/reference/targetTypeObjectLiteralToAny.types @@ -9,15 +9,11 @@ function suggest(){ >result : any TypeScriptKeywords.forEach(function(keyword) { ->TypeScriptKeywords.forEach(function(keyword) { - result.push({text:keyword, type:"keyword"}); // this should not cause a crash - push should be typed to any - }) : void +>TypeScriptKeywords.forEach(function(keyword) { result.push({text:keyword, type:"keyword"}); // this should not cause a crash - push should be typed to any }) : void >TypeScriptKeywords.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void >TypeScriptKeywords : string[] >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void ->function(keyword) { - result.push({text:keyword, type:"keyword"}); // this should not cause a crash - push should be typed to any - } : (keyword: string) => void +>function(keyword) { result.push({text:keyword, type:"keyword"}); // this should not cause a crash - push should be typed to any } : (keyword: string) => void >keyword : string result.push({text:keyword, type:"keyword"}); // this should not cause a crash - push should be typed to any diff --git a/tests/baselines/reference/thisBinding2.types b/tests/baselines/reference/thisBinding2.types index e4ad6b1d31b..441a8f575c0 100644 --- a/tests/baselines/reference/thisBinding2.types +++ b/tests/baselines/reference/thisBinding2.types @@ -7,25 +7,13 @@ class C { constructor() { this.x = (() => { ->this.x = (() => { - var x = 1; - return this.x; - })() : number +>this.x = (() => { var x = 1; return this.x; })() : number >this.x : number >this : C >x : number ->(() => { - var x = 1; - return this.x; - })() : number ->(() => { - var x = 1; - return this.x; - }) : () => number ->() => { - var x = 1; - return this.x; - } : () => number +>(() => { var x = 1; return this.x; })() : number +>(() => { var x = 1; return this.x; }) : () => number +>() => { var x = 1; return this.x; } : () => number var x = 1; >x : number @@ -37,21 +25,12 @@ class C { })(); this.x = function() { ->this.x = function() { - var x = 1; - return this.x; - }() : any +>this.x = function() { var x = 1; return this.x; }() : any >this.x : number >this : C >x : number ->function() { - var x = 1; - return this.x; - }() : any ->function() { - var x = 1; - return this.x; - } : () => any +>function() { var x = 1; return this.x; }() : any +>function() { var x = 1; return this.x; } : () => any var x = 1; >x : number @@ -72,21 +51,14 @@ declare function setTimeout(expression: any, msec?: number, language?: any): num var messenger = { >messenger : { message: string; start: () => number; } ->{ - message: "Hello World", - start: function () { - return setTimeout(() => { var x = this.message; }, 3000); - } -} : { message: string; start: () => number; } +>{ message: "Hello World", start: function () { return setTimeout(() => { var x = this.message; }, 3000); }} : { message: string; start: () => number; } message: "Hello World", >message : string start: function () { >start : () => number ->function () { - return setTimeout(() => { var x = this.message; }, 3000); - } : () => number +>function () { return setTimeout(() => { var x = this.message; }, 3000); } : () => number return setTimeout(() => { var x = this.message; }, 3000); >setTimeout(() => { var x = this.message; }, 3000) : number diff --git a/tests/baselines/reference/thisCapture1.types b/tests/baselines/reference/thisCapture1.types index e5d6f144bd4..1b867dea6b5 100644 --- a/tests/baselines/reference/thisCapture1.types +++ b/tests/baselines/reference/thisCapture1.types @@ -13,21 +13,13 @@ class X { >ret : any return ret.always(() => { ->ret.always(() => { - this.y = 0; - }).promise() : any ->ret.always(() => { - this.y = 0; - }).promise : any ->ret.always(() => { - this.y = 0; - }) : any +>ret.always(() => { this.y = 0; }).promise() : any +>ret.always(() => { this.y = 0; }).promise : any +>ret.always(() => { this.y = 0; }) : any >ret.always : any >ret : any >always : any ->() => { - this.y = 0; - } : () => void +>() => { this.y = 0; } : () => void this.y = 0; >this.y = 0 : number diff --git a/tests/baselines/reference/thisInInnerFunctions.types b/tests/baselines/reference/thisInInnerFunctions.types index ced44c8fb1a..b47b917a469 100644 --- a/tests/baselines/reference/thisInInnerFunctions.types +++ b/tests/baselines/reference/thisInInnerFunctions.types @@ -32,10 +32,7 @@ function test() { var x = () => { >x : () => void ->() => { - (() => this)(); - this; - } : () => void +>() => { (() => this)(); this; } : () => void (() => this)(); >(() => this)() : any diff --git a/tests/baselines/reference/thisInLambda.types b/tests/baselines/reference/thisInLambda.types index eedbc715c7a..ebc32449f07 100644 --- a/tests/baselines/reference/thisInLambda.types +++ b/tests/baselines/reference/thisInLambda.types @@ -31,26 +31,14 @@ class myCls { constructor () { myFn(() => { ->myFn(() => { - myFn(() => { - var x = this; - }); - }) : void +>myFn(() => { myFn(() => { var x = this; }); }) : void >myFn : (a: any) => void ->() => { - myFn(() => { - var x = this; - }); - } : () => void +>() => { myFn(() => { var x = this; }); } : () => void myFn(() => { ->myFn(() => { - var x = this; - }) : void +>myFn(() => { var x = this; }) : void >myFn : (a: any) => void ->() => { - var x = this; - } : () => void +>() => { var x = this; } : () => void var x = this; >x : myCls diff --git a/tests/baselines/reference/thisInObjectLiterals.types b/tests/baselines/reference/thisInObjectLiterals.types index 4215ff87980..8a279923e19 100644 --- a/tests/baselines/reference/thisInObjectLiterals.types +++ b/tests/baselines/reference/thisInObjectLiterals.types @@ -30,17 +30,11 @@ class MyClass { //type of 'this' in an object literal property of a function type is Any var obj = { >obj : { f: () => any; } ->{ - f() { - return this.spaaace; - } -} : { f: () => any; } +>{ f() { return this.spaaace; }} : { f: () => any; } f() { >f : () => any ->f() { - return this.spaaace; - } : () => any +>f() { return this.spaaace; } : () => any return this.spaaace; >this.spaaace : any diff --git a/tests/baselines/reference/thisInPropertyBoundDeclarations.types b/tests/baselines/reference/thisInPropertyBoundDeclarations.types index 0ddda5fe294..1ccebef5eaa 100644 --- a/tests/baselines/reference/thisInPropertyBoundDeclarations.types +++ b/tests/baselines/reference/thisInPropertyBoundDeclarations.types @@ -8,16 +8,10 @@ class Bug { private static func: Function[] = [ >func : Function[] >Function : Function ->[ - (that: Bug, name: string) => { - that.foo(name); - } - ] : Function[] +>[ (that: Bug, name: string) => { that.foo(name); } ] : Function[] (that: Bug, name: string) => { ->(that: Bug, name: string) => { - that.foo(name); - } : (that: Bug, name: string) => void +>(that: Bug, name: string) => { that.foo(name); } : (that: Bug, name: string) => void >that : Bug >Bug : Bug >name : string @@ -50,9 +44,7 @@ class A { prop1 = function() { >prop1 : () => void ->function() { - this; - } : () => void +>function() { this; } : () => void this; >this : any @@ -61,12 +53,7 @@ class A { prop2 = function() { >prop2 : () => void ->function() { - function inner() { - this; - } - () => this; - } : () => void +>function() { function inner() { this; } () => this; } : () => void function inner() { >inner : () => void @@ -82,11 +69,7 @@ class A { prop3 = () => { >prop3 : () => void ->() => { - function inner() { - this; - } - } : () => void +>() => { function inner() { this; } } : () => void function inner() { >inner : () => void @@ -98,9 +81,7 @@ class A { prop4 = { >prop4 : { a: () => any; } ->{ - a: function() { return this; }, - } : { a: () => any; } +>{ a: function() { return this; }, } : { a: () => any; } a: function() { return this; }, >a : () => any @@ -111,16 +92,10 @@ class A { prop5 = () => { >prop5 : () => { a: () => any; } ->() => { - return { - a: function() { return this; }, - }; - } : () => { a: () => any; } +>() => { return { a: function() { return this; }, }; } : () => { a: () => any; } return { ->{ - a: function() { return this; }, - } : { a: () => any; } +>{ a: function() { return this; }, } : { a: () => any; } a: function() { return this; }, >a : () => any @@ -153,22 +128,12 @@ class B { prop4 = ' ' + >prop4 : string ->' ' + - function() { - } + - ' ' + - (() => () => () => this) : string ->' ' + - function() { - } + - ' ' : string ->' ' + - function() { - } : string +>' ' + function() { } + ' ' + (() => () => () => this) : string +>' ' + function() { } + ' ' : string +>' ' + function() { } : string function() { ->function() { - } : () => void +>function() { } : () => void } + ' ' + @@ -181,9 +146,7 @@ class B { prop5 = { >prop5 : { a: () => B; } ->{ - a: () => { return this; } - } : { a: () => B; } +>{ a: () => { return this; } } : { a: () => B; } a: () => { return this; } >a : () => B @@ -194,16 +157,10 @@ class B { prop6 = () => { >prop6 : () => { a: () => B; } ->() => { - return { - a: () => { return this; } - }; - } : () => { a: () => B; } +>() => { return { a: () => { return this; } }; } : () => { a: () => B; } return { ->{ - a: () => { return this; } - } : { a: () => B; } +>{ a: () => { return this; } } : { a: () => B; } a: () => { return this; } >a : () => B diff --git a/tests/baselines/reference/thisReferencedInFunctionInsideArrowFunction1.types b/tests/baselines/reference/thisReferencedInFunctionInsideArrowFunction1.types index ee79057511d..8e387fd66c1 100644 --- a/tests/baselines/reference/thisReferencedInFunctionInsideArrowFunction1.types +++ b/tests/baselines/reference/thisReferencedInFunctionInsideArrowFunction1.types @@ -8,12 +8,9 @@ function test() >test : () => void { foo(() => ->foo(() => - function () { return this; } - ) : void +>foo(() => function () { return this; } ) : void >foo : (dummy: any) => void ->() => - function () { return this; } : () => () => any +>() => function () { return this; } : () => () => any function () { return this; } >function () { return this; } : () => any diff --git a/tests/baselines/reference/throwInEnclosingStatements.types b/tests/baselines/reference/throwInEnclosingStatements.types index d4d3a002504..d642dc55b0b 100644 --- a/tests/baselines/reference/throwInEnclosingStatements.types +++ b/tests/baselines/reference/throwInEnclosingStatements.types @@ -84,21 +84,14 @@ class C { var aa = { >aa : { id: number; biz: () => void; } ->{ - id:12, - biz() { - throw this; - } -} : { id: number; biz: () => void; } +>{ id:12, biz() { throw this; }} : { id: number; biz: () => void; } id:12, >id : number biz() { >biz : () => void ->biz() { - throw this; - } : () => void +>biz() { throw this; } : () => void throw this; >this : any diff --git a/tests/baselines/reference/throwStatements.types b/tests/baselines/reference/throwStatements.types index 42edde3080b..efc2ff24124 100644 --- a/tests/baselines/reference/throwStatements.types +++ b/tests/baselines/reference/throwStatements.types @@ -168,14 +168,14 @@ throw typeof M; >M : typeof M var aClassInModule = new M.A(); ->aClassInModule : A ->new M.A() : A ->M.A : typeof A +>aClassInModule : M.A +>new M.A() : M.A +>M.A : typeof M.A >M : typeof M ->A : typeof A +>A : typeof M.A throw aClassInModule; ->aClassInModule : A +>aClassInModule : M.A var aFunctionInModule = M.F2; >aFunctionInModule : (x: number) => string @@ -223,8 +223,6 @@ throw ['a', ['b']]; >['b'] : string[] throw /[a-z]/; ->/[a-z]/ : RegExp - throw new Date(); >new Date() : Date >Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; } diff --git a/tests/baselines/reference/topLevelAmbientModule.types b/tests/baselines/reference/topLevelAmbientModule.types index 06509cf11b2..7d01be9ae6f 100644 --- a/tests/baselines/reference/topLevelAmbientModule.types +++ b/tests/baselines/reference/topLevelAmbientModule.types @@ -1,13 +1,13 @@ === tests/cases/conformance/externalModules/foo_1.ts === /// import foo = require("foo"); ->foo : typeof "foo" +>foo : typeof foo var z = foo.x + 10; >z : number >foo.x + 10 : number >foo.x : number ->foo : typeof "foo" +>foo : typeof foo >x : number === tests/cases/conformance/externalModules/foo_0.ts === diff --git a/tests/baselines/reference/topLevelFileModule.types b/tests/baselines/reference/topLevelFileModule.types index dee010ab086..033dbf197d3 100644 --- a/tests/baselines/reference/topLevelFileModule.types +++ b/tests/baselines/reference/topLevelFileModule.types @@ -1,18 +1,18 @@ === tests/cases/conformance/externalModules/foo_1.ts === import foo = require("vs/foo_0"); ->foo : typeof "tests/cases/conformance/externalModules/vs/foo_0" +>foo : typeof foo import fum = require("vs/fum"); ->fum : typeof "tests/cases/conformance/externalModules/vs/fum" +>fum : typeof fum var z = foo.x + fum.y; >z : number >foo.x + fum.y : number >foo.x : number ->foo : typeof "tests/cases/conformance/externalModules/vs/foo_0" +>foo : typeof foo >x : number >fum.y : number ->fum : typeof "tests/cases/conformance/externalModules/vs/fum" +>fum : typeof fum >y : number === tests/cases/conformance/externalModules/vs/foo_0.ts === diff --git a/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types b/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types index 0e2206c646c..584ae0dcb3c 100644 --- a/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types +++ b/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types @@ -23,38 +23,16 @@ interface IMenuItem { var menuData: IMenuItem[] = [ >menuData : IMenuItem[] >IMenuItem : IMenuItem ->[ - { - "id": "ourLogo", - "type": "image", - "link": "", - "icon": "modules/menu/logo.svg" - }, { - "id": "productName", - "type": "default", - "link": "", - "text": "Product Name" - } -] : IMenuItem[] +>[ { "id": "ourLogo", "type": "image", "link": "", "icon": "modules/menu/logo.svg" }, { "id": "productName", "type": "default", "link": "", "text": "Product Name" }] : IMenuItem[] { ->{ - "id": "ourLogo", - "type": "image", - "link": "", - "icon": "modules/menu/logo.svg" - } : { "id": string; "type": string; "link": string; "icon": string; } +>{ "id": "ourLogo", "type": "image", "link": "", "icon": "modules/menu/logo.svg" } : { "id": string; "type": string; "link": string; "icon": string; } "id": "ourLogo", "type": "image", "link": "", "icon": "modules/menu/logo.svg" }, { ->{ - "id": "productName", - "type": "default", - "link": "", - "text": "Product Name" - } : { "id": string; "type": string; "link": string; "text": string; } +>{ "id": "productName", "type": "default", "link": "", "text": "Product Name" } : { "id": string; "type": string; "link": string; "text": string; } "id": "productName", "type": "default", diff --git a/tests/baselines/reference/typeArgumentsInFunctionExpressions.types b/tests/baselines/reference/typeArgumentsInFunctionExpressions.types index 80c96715254..e8635e7105d 100644 --- a/tests/baselines/reference/typeArgumentsInFunctionExpressions.types +++ b/tests/baselines/reference/typeArgumentsInFunctionExpressions.types @@ -1,10 +1,7 @@ === tests/cases/compiler/typeArgumentsInFunctionExpressions.ts === var obj = function f(a: T) { // should not error >obj : (a: T) => T ->function f(a: T) { // should not error - var x: T; - return a; -} : (a: T) => T +>function f(a: T) { // should not error var x: T; return a;} : (a: T) => T >f : (a: T) => T >T : T >a : T @@ -21,10 +18,7 @@ var obj = function f(a: T) { // should not error var obj2 = function f(a: T): T { // should not error >obj2 : (a: T) => T ->function f(a: T): T { // should not error - var x: T; - return a; -} : (a: T) => T +>function f(a: T): T { // should not error var x: T; return a;} : (a: T) => T >f : (a: T) => T >T : T >a : T diff --git a/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.types b/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.types index 145a449c74c..a3ed77e3488 100644 --- a/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.types +++ b/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.types @@ -1,11 +1,11 @@ === tests/cases/compiler/file2.ts === import f = require('file1'); ->f : typeof "tests/cases/compiler/file1" +>f : typeof f f.foo(); >f.foo() : any >f.foo : () => any ->f : typeof "tests/cases/compiler/file1" +>f : typeof f >foo : () => any === tests/cases/compiler/file1.ts === diff --git a/tests/baselines/reference/typeInferenceReturnTypeCallback.types b/tests/baselines/reference/typeInferenceReturnTypeCallback.types index d697b34f344..807574ed3d8 100644 --- a/tests/baselines/reference/typeInferenceReturnTypeCallback.types +++ b/tests/baselines/reference/typeInferenceReturnTypeCallback.types @@ -51,18 +51,14 @@ class Cons implements IList{ >U : U return this.foldRight(new Nil(), (t, acc) => { ->this.foldRight(new Nil(), (t, acc) => { - return new Cons(); - }) : Nil +>this.foldRight(new Nil(), (t, acc) => { return new Cons(); }) : Nil >this.foldRight : (z: E, f: (t: T, acc: E) => E) => E >this : Cons >foldRight : (z: E, f: (t: T, acc: E) => E) => E >new Nil() : Nil >Nil : typeof Nil >U : U ->(t, acc) => { - return new Cons(); - } : (t: T, acc: Nil) => Cons +>(t, acc) => { return new Cons(); } : (t: T, acc: Nil) => Cons >t : T >acc : Nil diff --git a/tests/baselines/reference/typeOfSuperCall.types b/tests/baselines/reference/typeOfSuperCall.types index fdd8120f7d3..92108bedc15 100644 --- a/tests/baselines/reference/typeOfSuperCall.types +++ b/tests/baselines/reference/typeOfSuperCall.types @@ -11,5 +11,6 @@ class D extends C { var x: void = super(); >x : void >super() : void +>super : typeof C } } diff --git a/tests/baselines/reference/typeOfThisInFunctionExpression.types b/tests/baselines/reference/typeOfThisInFunctionExpression.types index d4021f3bcfb..b91f5f8c33b 100644 --- a/tests/baselines/reference/typeOfThisInFunctionExpression.types +++ b/tests/baselines/reference/typeOfThisInFunctionExpression.types @@ -14,10 +14,7 @@ function fn() { var t = function () { >t : () => void ->function () { - var p = this; - var p: any; -} : () => void +>function () { var p = this; var p: any;} : () => void var p = this; >p : any @@ -29,10 +26,7 @@ var t = function () { var t2 = function f() { >t2 : () => void ->function f() { - var x = this; - var x: any; -} : () => void +>function f() { var x = this; var x: any;} : () => void >f : () => void var x = this; @@ -48,10 +42,7 @@ class C { x = function () { >x : () => void ->function () { - var q: any; - var q = this; - } : () => void +>function () { var q: any; var q = this; } : () => void var q: any; >q : any @@ -62,10 +53,7 @@ class C { } y = function ff() { >y : () => void ->function ff() { - var q: any; - var q = this; - } : () => void +>function ff() { var q: any; var q = this; } : () => void >ff : () => void var q: any; @@ -93,10 +81,7 @@ module M { var t = function () { >t : () => void ->function () { - var p = this; - var p: any; - } : () => void +>function () { var p = this; var p: any; } : () => void var p = this; >p : any @@ -108,10 +93,7 @@ module M { var t2 = function f() { >t2 : () => void ->function f() { - var x = this; - var x: any; - } : () => void +>function f() { var x = this; var x: any; } : () => void >f : () => void var x = this; diff --git a/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types b/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types index 657dbbe9573..9d041b27738 100644 --- a/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types +++ b/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types @@ -1,9 +1,7 @@ === tests/cases/compiler/typeParameterCompatibilityAccrossDeclarations.ts === var a = { >a : { x: (y: T) => T; } ->{ - x: function (y: T): T { return null; } -} : { x: (y: T) => T; } +>{ x: function (y: T): T { return null; }} : { x: (y: T) => T; } x: function (y: T): T { return null; } >x : (y: T) => T @@ -15,9 +13,7 @@ var a = { } var a2 = { >a2 : { x: (y: any) => any; } ->{ - x: function (y: any): any { return null; } -} : { x: (y: any) => any; } +>{ x: function (y: any): any { return null; }} : { x: (y: any) => any; } x: function (y: any): any { return null; } >x : (y: any) => any diff --git a/tests/baselines/reference/typeParametersAvailableInNestedScope.types b/tests/baselines/reference/typeParametersAvailableInNestedScope.types index 71cfde4e72c..8e36eb1ae67 100644 --- a/tests/baselines/reference/typeParametersAvailableInNestedScope.types +++ b/tests/baselines/reference/typeParametersAvailableInNestedScope.types @@ -9,10 +9,7 @@ class C { x = (a: U) => { >x : (a: U) => T ->(a: U) => { - var y: T; - return y; - } : (a: U) => T +>(a: U) => { var y: T; return y; } : (a: U) => T >U : U >a : U >U : U diff --git a/tests/baselines/reference/typeResolution.types b/tests/baselines/reference/typeResolution.types index 67e4fd82518..006ac67f692 100644 --- a/tests/baselines/reference/typeResolution.types +++ b/tests/baselines/reference/typeResolution.types @@ -25,7 +25,7 @@ export module TopLevelModule1 { var a2: SubSubModule1.ClassA; a2.AisIn1_1_1(); >a2 : ClassA ->SubSubModule1 : SubSubModule1 +>SubSubModule1 : unknown >ClassA : ClassA >a2.AisIn1_1_1() : void >a2.AisIn1_1_1 : () => void @@ -34,8 +34,8 @@ export module TopLevelModule1 { var a3: SubModule1.SubSubModule1.ClassA; a3.AisIn1_1_1(); >a3 : ClassA ->SubModule1 : SubModule1 ->SubSubModule1 : SubSubModule1 +>SubModule1 : unknown +>SubSubModule1 : unknown >ClassA : ClassA >a3.AisIn1_1_1() : void >a3.AisIn1_1_1 : () => void @@ -44,9 +44,9 @@ export module TopLevelModule1 { var a4: TopLevelModule1.SubModule1.SubSubModule1.ClassA; a4.AisIn1_1_1(); >a4 : ClassA ->TopLevelModule1 : TopLevelModule1 ->SubModule1 : SubModule1 ->SubSubModule1 : SubSubModule1 +>TopLevelModule1 : unknown +>SubModule1 : unknown +>SubSubModule1 : unknown >ClassA : ClassA >a4.AisIn1_1_1() : void >a4.AisIn1_1_1 : () => void @@ -64,9 +64,9 @@ export module TopLevelModule1 { var b2: TopLevelModule1.SubModule1.SubSubModule1.ClassB; b2.BisIn1_1_1(); >b2 : ClassB ->TopLevelModule1 : TopLevelModule1 ->SubModule1 : SubModule1 ->SubSubModule1 : SubSubModule1 +>TopLevelModule1 : unknown +>SubModule1 : unknown +>SubSubModule1 : unknown >ClassB : ClassB >b2.BisIn1_1_1() : void >b2.BisIn1_1_1 : () => void @@ -75,14 +75,14 @@ export module TopLevelModule1 { // Type only accessible from the root var c1: TopLevelModule1.SubModule2.SubSubModule2.ClassA; c1.AisIn1_2_2(); ->c1 : ClassA ->TopLevelModule1 : TopLevelModule1 ->SubModule2 : SubModule2 ->SubSubModule2 : SubSubModule2 ->ClassA : ClassA +>c1 : SubModule2.SubSubModule2.ClassA +>TopLevelModule1 : unknown +>SubModule2 : unknown +>SubSubModule2 : unknown +>ClassA : SubModule2.SubSubModule2.ClassA >c1.AisIn1_2_2() : void >c1.AisIn1_2_2 : () => void ->c1 : ClassA +>c1 : SubModule2.SubSubModule2.ClassA >AisIn1_2_2 : () => void // Interface reference @@ -96,7 +96,7 @@ export module TopLevelModule1 { var d2: SubSubModule1.InterfaceX; d2.XisIn1_1_1(); >d2 : InterfaceX ->SubSubModule1 : SubSubModule1 +>SubSubModule1 : unknown >InterfaceX : InterfaceX >d2.XisIn1_1_1() : any >d2.XisIn1_1_1 : () => any @@ -123,7 +123,7 @@ export module TopLevelModule1 { var a2: SubSubModule1.ClassA; a2.AisIn1_1_1(); >a2 : ClassA ->SubSubModule1 : SubSubModule1 +>SubSubModule1 : unknown >ClassA : ClassA >a2.AisIn1_1_1() : void >a2.AisIn1_1_1 : () => void @@ -132,8 +132,8 @@ export module TopLevelModule1 { var a3: SubModule1.SubSubModule1.ClassA; a3.AisIn1_1_1(); >a3 : ClassA ->SubModule1 : SubModule1 ->SubSubModule1 : SubSubModule1 +>SubModule1 : unknown +>SubSubModule1 : unknown >ClassA : ClassA >a3.AisIn1_1_1() : void >a3.AisIn1_1_1 : () => void @@ -142,9 +142,9 @@ export module TopLevelModule1 { var a4: TopLevelModule1.SubModule1.SubSubModule1.ClassA; a4.AisIn1_1_1(); >a4 : ClassA ->TopLevelModule1 : TopLevelModule1 ->SubModule1 : SubModule1 ->SubSubModule1 : SubSubModule1 +>TopLevelModule1 : unknown +>SubModule1 : unknown +>SubSubModule1 : unknown >ClassA : ClassA >a4.AisIn1_1_1() : void >a4.AisIn1_1_1 : () => void @@ -162,9 +162,9 @@ export module TopLevelModule1 { var b2: TopLevelModule1.SubModule1.SubSubModule1.ClassB; b2.BisIn1_1_1(); >b2 : ClassB ->TopLevelModule1 : TopLevelModule1 ->SubModule1 : SubModule1 ->SubSubModule1 : SubSubModule1 +>TopLevelModule1 : unknown +>SubModule1 : unknown +>SubSubModule1 : unknown >ClassB : ClassB >b2.BisIn1_1_1() : void >b2.BisIn1_1_1 : () => void @@ -173,24 +173,24 @@ export module TopLevelModule1 { // Type only accessible from the root var c1: TopLevelModule1.SubModule2.SubSubModule2.ClassA; c1.AisIn1_2_2(); ->c1 : ClassA ->TopLevelModule1 : TopLevelModule1 ->SubModule2 : SubModule2 ->SubSubModule2 : SubSubModule2 ->ClassA : ClassA +>c1 : SubModule2.SubSubModule2.ClassA +>TopLevelModule1 : unknown +>SubModule2 : unknown +>SubSubModule2 : unknown +>ClassA : SubModule2.SubSubModule2.ClassA >c1.AisIn1_2_2() : void >c1.AisIn1_2_2 : () => void ->c1 : ClassA +>c1 : SubModule2.SubSubModule2.ClassA >AisIn1_2_2 : () => void var c2: TopLevelModule2.SubModule3.ClassA; c2.AisIn2_3(); ->c2 : ClassA ->TopLevelModule2 : TopLevelModule2 ->SubModule3 : SubModule3 ->ClassA : ClassA +>c2 : TopLevelModule2.SubModule3.ClassA +>TopLevelModule2 : unknown +>SubModule3 : unknown +>ClassA : TopLevelModule2.SubModule3.ClassA >c2.AisIn2_3() : void >c2.AisIn2_3 : () => void ->c2 : ClassA +>c2 : TopLevelModule2.SubModule3.ClassA >AisIn2_3 : () => void // Interface reference @@ -204,7 +204,7 @@ export module TopLevelModule1 { var d2: SubSubModule1.InterfaceX; d2.XisIn1_1_1(); >d2 : InterfaceX ->SubSubModule1 : SubSubModule1 +>SubSubModule1 : unknown >InterfaceX : InterfaceX >d2.XisIn1_1_1() : any >d2.XisIn1_1_1 : () => any @@ -226,9 +226,9 @@ export module TopLevelModule1 { /* Sampling of stuff from AisIn1_1_1 */ var a4: TopLevelModule1.SubModule1.SubSubModule1.ClassA; a4.AisIn1_1_1(); >a4 : ClassA ->TopLevelModule1 : TopLevelModule1 ->SubModule1 : SubModule1 ->SubSubModule1 : SubSubModule1 +>TopLevelModule1 : unknown +>SubModule1 : unknown +>SubSubModule1 : unknown >ClassA : ClassA >a4.AisIn1_1_1() : void >a4.AisIn1_1_1 : () => void @@ -236,14 +236,14 @@ export module TopLevelModule1 { >AisIn1_1_1 : () => void var c1: TopLevelModule1.SubModule2.SubSubModule2.ClassA; c1.AisIn1_2_2(); ->c1 : ClassA ->TopLevelModule1 : TopLevelModule1 ->SubModule2 : SubModule2 ->SubSubModule2 : SubSubModule2 ->ClassA : ClassA +>c1 : SubModule2.SubSubModule2.ClassA +>TopLevelModule1 : unknown +>SubModule2 : unknown +>SubSubModule2 : unknown +>ClassA : SubModule2.SubSubModule2.ClassA >c1.AisIn1_2_2() : void >c1.AisIn1_2_2 : () => void ->c1 : ClassA +>c1 : SubModule2.SubSubModule2.ClassA >AisIn1_2_2 : () => void var d1: InterfaceX; d1.XisIn1_1_1(); @@ -255,13 +255,13 @@ export module TopLevelModule1 { >XisIn1_1_1 : () => any var c2: TopLevelModule2.SubModule3.ClassA; c2.AisIn2_3(); ->c2 : ClassA ->TopLevelModule2 : TopLevelModule2 ->SubModule3 : SubModule3 ->ClassA : ClassA +>c2 : TopLevelModule2.SubModule3.ClassA +>TopLevelModule2 : unknown +>SubModule3 : unknown +>ClassA : TopLevelModule2.SubModule3.ClassA >c2.AisIn2_3() : void >c2.AisIn2_3 : () => void ->c2 : ClassA +>c2 : TopLevelModule2.SubModule3.ClassA >AisIn2_3 : () => void } } @@ -277,43 +277,43 @@ export module TopLevelModule1 { >AA : () => void var a2: SubSubModule1.ClassA; a2.AisIn1_1_1(); ->a2 : ClassA ->SubSubModule1 : SubSubModule1 ->ClassA : ClassA +>a2 : SubSubModule1.ClassA +>SubSubModule1 : unknown +>ClassA : SubSubModule1.ClassA >a2.AisIn1_1_1() : void >a2.AisIn1_1_1 : () => void ->a2 : ClassA +>a2 : SubSubModule1.ClassA >AisIn1_1_1 : () => void var a3: SubModule1.SubSubModule1.ClassA; a3.AisIn1_1_1(); ->a3 : ClassA ->SubModule1 : SubModule1 ->SubSubModule1 : SubSubModule1 ->ClassA : ClassA +>a3 : SubSubModule1.ClassA +>SubModule1 : unknown +>SubSubModule1 : unknown +>ClassA : SubSubModule1.ClassA >a3.AisIn1_1_1() : void >a3.AisIn1_1_1 : () => void ->a3 : ClassA +>a3 : SubSubModule1.ClassA >AisIn1_1_1 : () => void var a4: TopLevelModule1.SubModule1.SubSubModule1.ClassA; a4.AisIn1_1_1(); ->a4 : ClassA ->TopLevelModule1 : TopLevelModule1 ->SubModule1 : SubModule1 ->SubSubModule1 : SubSubModule1 ->ClassA : ClassA +>a4 : SubSubModule1.ClassA +>TopLevelModule1 : unknown +>SubModule1 : unknown +>SubSubModule1 : unknown +>ClassA : SubSubModule1.ClassA >a4.AisIn1_1_1() : void >a4.AisIn1_1_1 : () => void ->a4 : ClassA +>a4 : SubSubModule1.ClassA >AisIn1_1_1 : () => void // Interface reference var d2: SubSubModule1.InterfaceX; d2.XisIn1_1_1(); ->d2 : InterfaceX ->SubSubModule1 : SubSubModule1 ->InterfaceX : InterfaceX +>d2 : SubSubModule1.InterfaceX +>SubSubModule1 : unknown +>InterfaceX : SubSubModule1.InterfaceX >d2.XisIn1_1_1() : any >d2.XisIn1_1_1 : () => any ->d2 : InterfaceX +>d2 : SubSubModule1.InterfaceX >XisIn1_1_1 : () => any } } diff --git a/tests/baselines/reference/underscoreMapFirst.types b/tests/baselines/reference/underscoreMapFirst.types index a62d6cc86f5..52761647164 100644 --- a/tests/baselines/reference/underscoreMapFirst.types +++ b/tests/baselines/reference/underscoreMapFirst.types @@ -132,20 +132,20 @@ class MyView extends View { >allSeries : ISeries[][] >ISeries : ISeries >_.pluck(data, "series") : any[] ->_.pluck : (list: Collection, propertyName: string) => any[] +>_.pluck : (list: _.Collection, propertyName: string) => any[] >_ : typeof _ ->pluck : (list: Collection, propertyName: string) => any[] +>pluck : (list: _.Collection, propertyName: string) => any[] >data : IData[] return _.map(allSeries, _.first); >_.map(allSeries, _.first) : ISeries[] ->_.map : (list: List, iterator: ListIterator, context?: any) => TResult[] +>_.map : (list: _.List, iterator: _.ListIterator, context?: any) => TResult[] >_ : typeof _ ->map : (list: List, iterator: ListIterator, context?: any) => TResult[] +>map : (list: _.List, iterator: _.ListIterator, context?: any) => TResult[] >allSeries : ISeries[][] ->_.first : (array: List) => T +>_.first : (array: _.List) => T >_ : typeof _ ->first : (array: List) => T +>first : (array: _.List) => T } } diff --git a/tests/baselines/reference/underscoreTest1.types b/tests/baselines/reference/underscoreTest1.types index 70549013ddd..15cf42b9c7b 100644 --- a/tests/baselines/reference/underscoreTest1.types +++ b/tests/baselines/reference/underscoreTest1.types @@ -11,7 +11,7 @@ declare function alert(x: string): void; _.each([1, 2, 3], (num) => alert(num.toString())); >_.each([1, 2, 3], (num) => alert(num.toString())) : void >_.each : { (list: T[], iterator: Iterator, context?: any): void; (list: Dictionary, iterator: Iterator, context?: any): void; } ->_ : Static +>_ : Underscore.Static >each : { (list: T[], iterator: Iterator, context?: any): void; (list: Dictionary, iterator: Iterator, context?: any): void; } >[1, 2, 3] : number[] >(num) => alert(num.toString()) : (num: number) => void @@ -26,7 +26,7 @@ _.each([1, 2, 3], (num) => alert(num.toString())); _.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(value.toString())); >_.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(value.toString())) : void >_.each : { (list: T[], iterator: Iterator, context?: any): void; (list: Dictionary, iterator: Iterator, context?: any): void; } ->_ : Static +>_ : Underscore.Static >each : { (list: T[], iterator: Iterator, context?: any): void; (list: Dictionary, iterator: Iterator, context?: any): void; } >{ one: 1, two: 2, three: 3 } : { [x: string]: number; one: number; two: number; three: number; } >one : number @@ -45,7 +45,7 @@ _.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(valu _.map([1, 2, 3], (num) => num * 3); >_.map([1, 2, 3], (num) => num * 3) : number[] >_.map : { (list: T[], iterator: Iterator, context?: any): U[]; (list: Dictionary, iterator: Iterator, context?: any): U[]; } ->_ : Static +>_ : Underscore.Static >map : { (list: T[], iterator: Iterator, context?: any): U[]; (list: Dictionary, iterator: Iterator, context?: any): U[]; } >[1, 2, 3] : number[] >(num) => num * 3 : (num: number) => number @@ -56,7 +56,7 @@ _.map([1, 2, 3], (num) => num * 3); _.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3); >_.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3) : number[] >_.map : { (list: T[], iterator: Iterator, context?: any): U[]; (list: Dictionary, iterator: Iterator, context?: any): U[]; } ->_ : Static +>_ : Underscore.Static >map : { (list: T[], iterator: Iterator, context?: any): U[]; (list: Dictionary, iterator: Iterator, context?: any): U[]; } >{ one: 1, two: 2, three: 3 } : { [x: string]: number; one: number; two: number; three: number; } >one : number @@ -72,7 +72,7 @@ var sum = _.reduce([1, 2, 3], (memo, num) => memo + num, 0); >sum : number >_.reduce([1, 2, 3], (memo, num) => memo + num, 0) : number >_.reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } ->_ : Static +>_ : Underscore.Static >reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } >[1, 2, 3] : number[] >(memo, num) => memo + num : (memo: number, num: number) => number @@ -93,7 +93,7 @@ var flat = _.reduceRight(list, (a, b) => a.concat(b), []); >flat : number[] >_.reduceRight(list, (a, b) => a.concat(b), []) : number[] >_.reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } ->_ : Static +>_ : Underscore.Static >reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } >list : number[][] >(a, b) => a.concat(b) : (a: number[], b: number[]) => number[] @@ -110,7 +110,7 @@ var even = _.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >even : number >_.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number >_.find : { (list: T[], iterator: Iterator, context?: any): T; (list: Dictionary, iterator: Iterator, context?: any): T; } ->_ : Static +>_ : Underscore.Static >find : { (list: T[], iterator: Iterator, context?: any): T; (list: Dictionary, iterator: Iterator, context?: any): T; } >[1, 2, 3, 4, 5, 6] : number[] >(num) => num % 2 == 0 : (num: number) => boolean @@ -123,7 +123,7 @@ var evens = _.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >evens : number[] >_.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number[] >_.filter : { (list: T[], iterator: Iterator, context?: any): T[]; (list: Dictionary, iterator: Iterator, context?: any): T[]; } ->_ : Static +>_ : Underscore.Static >filter : { (list: T[], iterator: Iterator, context?: any): T[]; (list: Dictionary, iterator: Iterator, context?: any): T[]; } >[1, 2, 3, 4, 5, 6] : number[] >(num) => num % 2 == 0 : (num: number) => boolean @@ -151,7 +151,7 @@ var listOfPlays = [{ title: "Cymbeline", author: "Shakespeare", year: 1611 }, { _.where(listOfPlays, { author: "Shakespeare", year: 1611 }); >_.where(listOfPlays, { author: "Shakespeare", year: 1611 }) : { title: string; author: string; year: number; }[] >_.where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T[]; } ->_ : Static +>_ : Underscore.Static >where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T[]; } >listOfPlays : { title: string; author: string; year: number; }[] >{ author: "Shakespeare", year: 1611 } : { author: string; year: number; } @@ -162,7 +162,7 @@ var odds = _.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >odds : number[] >_.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number[] >_.reject : { (list: T[], iterator: Iterator, context?: any): T[]; (list: Dictionary, iterator: Iterator, context?: any): T[]; } ->_ : Static +>_ : Underscore.Static >reject : { (list: T[], iterator: Iterator, context?: any): T[]; (list: Dictionary, iterator: Iterator, context?: any): T[]; } >[1, 2, 3, 4, 5, 6] : number[] >(num) => num % 2 == 0 : (num: number) => boolean @@ -174,31 +174,31 @@ var odds = _.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); _.all([true, 1, null, 'yes'], _.identity); >_.all([true, 1, null, 'yes'], _.identity) : boolean >_.all : { (list: T[], iterator?: Iterator, context?: any): boolean; (list: Dictionary, iterator?: Iterator, context?: any): boolean; } ->_ : Static +>_ : Underscore.Static >all : { (list: T[], iterator?: Iterator, context?: any): boolean; (list: Dictionary, iterator?: Iterator, context?: any): boolean; } >[true, 1, null, 'yes'] : {}[] >_.identity : (value: T) => T ->_ : Static +>_ : Underscore.Static >identity : (value: T) => T _.any([null, 0, 'yes', false]); >_.any([null, 0, 'yes', false]) : boolean >_.any : { (list: T[], iterator?: Iterator, context?: any): boolean; (list: Dictionary, iterator?: Iterator, context?: any): boolean; } ->_ : Static +>_ : Underscore.Static >any : { (list: T[], iterator?: Iterator, context?: any): boolean; (list: Dictionary, iterator?: Iterator, context?: any): boolean; } >[null, 0, 'yes', false] : {}[] _.contains([1, 2, 3], 3); >_.contains([1, 2, 3], 3) : boolean >_.contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } ->_ : Static +>_ : Underscore.Static >contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } >[1, 2, 3] : number[] _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); >_.invoke([[5, 1, 7], [3, 2, 1]], 'sort') : any[] >_.invoke : { (list: any[], methodName: string, ...args: any[]): any[]; (list: Dictionary, methodName: string, ...args: any[]): any[]; } ->_ : Static +>_ : Underscore.Static >invoke : { (list: any[], methodName: string, ...args: any[]): any[]; (list: Dictionary, methodName: string, ...args: any[]): any[]; } >[[5, 1, 7], [3, 2, 1]] : any[] >[5, 1, 7] : number[] @@ -220,14 +220,14 @@ var stooges = [{ name: 'moe', age: 40 }, { name: 'larry', age: 50 }, { name: 'cu _.pluck(stooges, 'name'); >_.pluck(stooges, 'name') : any[] >_.pluck : { (list: any[], propertyName: string): any[]; (list: Dictionary, propertyName: string): any[]; } ->_ : Static +>_ : Underscore.Static >pluck : { (list: any[], propertyName: string): any[]; (list: Dictionary, propertyName: string): any[]; } >stooges : { name: string; age: number; }[] _.max(stooges, (stooge) => stooge.age); >_.max(stooges, (stooge) => stooge.age) : { name: string; age: number; } >_.max : { (list: T[], iterator?: Iterator, context?: any): T; (list: Dictionary, iterator?: Iterator, context?: any): T; } ->_ : Static +>_ : Underscore.Static >max : { (list: T[], iterator?: Iterator, context?: any): T; (list: Dictionary, iterator?: Iterator, context?: any): T; } >stooges : { name: string; age: number; }[] >(stooge) => stooge.age : (stooge: { name: string; age: number; }) => number @@ -243,14 +243,14 @@ var numbers = [10, 5, 100, 2, 1000]; _.min(numbers); >_.min(numbers) : number >_.min : { (list: T[], iterator?: Iterator, context?: any): T; (list: Dictionary, iterator?: Iterator, context?: any): T; } ->_ : Static +>_ : Underscore.Static >min : { (list: T[], iterator?: Iterator, context?: any): T; (list: Dictionary, iterator?: Iterator, context?: any): T; } >numbers : number[] _.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)); >_.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)) : number[] >_.sortBy : { (list: T[], iterator: Iterator, context?: any): T[]; (list: Dictionary, iterator: Iterator, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } ->_ : Static +>_ : Underscore.Static >sortBy : { (list: T[], iterator: Iterator, context?: any): T[]; (list: Dictionary, iterator: Iterator, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } >[1, 2, 3, 4, 5, 6] : number[] >(num) => Math.sin(num) : (num: number) => number @@ -266,8 +266,8 @@ _.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)); _([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floor(e)); >_([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floor(e)) : Dictionary >_([1.3, 2.1, 2.4]).groupBy : { (iterator?: Iterator, context?: any): Dictionary; (propertyName: string): Dictionary; } ->_([1.3, 2.1, 2.4]) : WrappedArray ->_ : Static +>_([1.3, 2.1, 2.4]) : Underscore.WrappedArray +>_ : Underscore.Static >[1.3, 2.1, 2.4] : number[] >groupBy : { (iterator?: Iterator, context?: any): Dictionary; (propertyName: string): Dictionary; } >(e: number, i?: number, list?: number[]) => Math.floor(e) : (e: number, i?: number, list?: number[]) => number @@ -283,7 +283,7 @@ _([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floo _.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)); >_.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)) : Dictionary >_.groupBy : { (list: T[], iterator?: Iterator, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } ->_ : Static +>_ : Underscore.Static >groupBy : { (list: T[], iterator?: Iterator, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >[1.3, 2.1, 2.4] : number[] >(num: number) => Math.floor(num) : (num: number) => number @@ -297,14 +297,14 @@ _.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)); _.groupBy(['one', 'two', 'three'], 'length'); >_.groupBy(['one', 'two', 'three'], 'length') : Dictionary >_.groupBy : { (list: T[], iterator?: Iterator, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } ->_ : Static +>_ : Underscore.Static >groupBy : { (list: T[], iterator?: Iterator, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >['one', 'two', 'three'] : string[] _.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd'); >_.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd') : Dictionary >_.countBy : { (list: T[], iterator?: Iterator, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } ->_ : Static +>_ : Underscore.Static >countBy : { (list: T[], iterator?: Iterator, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >[1, 2, 3, 4, 5] : number[] >(num) => num % 2 == 0 ? 'even' : 'odd' : (num: number) => string @@ -317,7 +317,7 @@ _.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd'); _.shuffle([1, 2, 3, 4, 5, 6]); >_.shuffle([1, 2, 3, 4, 5, 6]) : number[] >_.shuffle : { (list: T[]): T[]; (list: Dictionary): T[]; } ->_ : Static +>_ : Underscore.Static >shuffle : { (list: T[]): T[]; (list: Dictionary): T[]; } >[1, 2, 3, 4, 5, 6] : number[] @@ -326,7 +326,7 @@ _.shuffle([1, 2, 3, 4, 5, 6]); _.size({ one: 1, two: 2, three: 3 }); >_.size({ one: 1, two: 2, three: 3 }) : number >_.size : { (list: T[]): number; (list: Dictionary): number; } ->_ : Static +>_ : Underscore.Static >size : { (list: T[]): number; (list: Dictionary): number; } >{ one: 1, two: 2, three: 3 } : { [x: string]: number; one: number; two: number; three: number; } >one : number @@ -338,49 +338,49 @@ _.size({ one: 1, two: 2, three: 3 }); _.first([5, 4, 3, 2, 1]); >_.first([5, 4, 3, 2, 1]) : number >_.first : { (list: T[]): T; (list: T[], count: number): T[]; } ->_ : Static +>_ : Underscore.Static >first : { (list: T[]): T; (list: T[], count: number): T[]; } >[5, 4, 3, 2, 1] : number[] _.initial([5, 4, 3, 2, 1]); >_.initial([5, 4, 3, 2, 1]) : number >_.initial : { (list: T[]): T; (list: T[], count: number): T[]; } ->_ : Static +>_ : Underscore.Static >initial : { (list: T[]): T; (list: T[], count: number): T[]; } >[5, 4, 3, 2, 1] : number[] _.last([5, 4, 3, 2, 1]); >_.last([5, 4, 3, 2, 1]) : number >_.last : { (list: T[]): T; (list: T[], count: number): T[]; } ->_ : Static +>_ : Underscore.Static >last : { (list: T[]): T; (list: T[], count: number): T[]; } >[5, 4, 3, 2, 1] : number[] _.rest([5, 4, 3, 2, 1]); >_.rest([5, 4, 3, 2, 1]) : number[] >_.rest : (list: T[], index?: number) => T[] ->_ : Static +>_ : Underscore.Static >rest : (list: T[], index?: number) => T[] >[5, 4, 3, 2, 1] : number[] _.compact([0, 1, false, 2, '', 3]); >_.compact([0, 1, false, 2, '', 3]) : {}[] >_.compact : (list: T[]) => T[] ->_ : Static +>_ : Underscore.Static >compact : (list: T[]) => T[] >[0, 1, false, 2, '', 3] : {}[] _.flatten([1, 2, 3, 4]); >_.flatten([1, 2, 3, 4]) : {}[] >_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } ->_ : Static +>_ : Underscore.Static >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } >[1, 2, 3, 4] : any[] _.flatten([1, [2]]); >_.flatten([1, [2]]) : {}[] >_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } ->_ : Static +>_ : Underscore.Static >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } >[1, [2]] : any[] >[2] : number[] @@ -389,7 +389,7 @@ _.flatten([1, [2]]); _.flatten([1, [2], [3, [[4]]]]); >_.flatten([1, [2], [3, [[4]]]]) : {}[] >_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } ->_ : Static +>_ : Underscore.Static >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } >[1, [2], [3, [[4]]]] : any[] >[2] : number[] @@ -400,7 +400,7 @@ _.flatten([1, [2], [3, [[4]]]]); _.flatten([1, [2], [3, [[4]]]], true); >_.flatten([1, [2], [3, [[4]]]], true) : {}[] >_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } ->_ : Static +>_ : Underscore.Static >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } >[1, [2], [3, [[4]]]] : any[] >[2] : number[] @@ -411,14 +411,14 @@ _.flatten([1, [2], [3, [[4]]]], true); _.without([1, 2, 1, 0, 3, 1, 4], 0, 1); >_.without([1, 2, 1, 0, 3, 1, 4], 0, 1) : number[] >_.without : (list: T[], ...values: T[]) => T[] ->_ : Static +>_ : Underscore.Static >without : (list: T[], ...values: T[]) => T[] >[1, 2, 1, 0, 3, 1, 4] : number[] _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]); >_.union([1, 2, 3], [101, 2, 1, 10], [2, 1]) : number[] >_.union : (...arrays: T[][]) => T[] ->_ : Static +>_ : Underscore.Static >union : (...arrays: T[][]) => T[] >[1, 2, 3] : number[] >[101, 2, 1, 10] : number[] @@ -427,7 +427,7 @@ _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]); _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]); >_.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]) : number[] >_.intersection : (...arrays: T[][]) => T[] ->_ : Static +>_ : Underscore.Static >intersection : (...arrays: T[][]) => T[] >[1, 2, 3] : number[] >[101, 2, 1, 10] : number[] @@ -436,7 +436,7 @@ _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]); _.difference([1, 2, 3, 4, 5], [5, 2, 10]); >_.difference([1, 2, 3, 4, 5], [5, 2, 10]) : number[] >_.difference : (list: T[], ...others: T[][]) => T[] ->_ : Static +>_ : Underscore.Static >difference : (list: T[], ...others: T[][]) => T[] >[1, 2, 3, 4, 5] : number[] >[5, 2, 10] : number[] @@ -444,14 +444,14 @@ _.difference([1, 2, 3, 4, 5], [5, 2, 10]); _.uniq([1, 2, 1, 3, 1, 4]); >_.uniq([1, 2, 1, 3, 1, 4]) : number[] >_.uniq : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator, context?: any): U[]; } ->_ : Static +>_ : Underscore.Static >uniq : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator, context?: any): U[]; } >[1, 2, 1, 3, 1, 4] : number[] _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]); >_.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]) : Tuple3[] >_.zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } ->_ : Static +>_ : Underscore.Static >zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } >['moe', 'larry', 'curly'] : string[] >[30, 40, 50] : number[] @@ -460,7 +460,7 @@ _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]); _.object(['moe', 'larry', 'curly'], [30, 40, 50]); >_.object(['moe', 'larry', 'curly'], [30, 40, 50]) : any >_.object : { (list: any[][]): any; (keys: string[], values: any[]): any; } ->_ : Static +>_ : Underscore.Static >object : { (list: any[][]): any; (keys: string[], values: any[]): any; } >['moe', 'larry', 'curly'] : string[] >[30, 40, 50] : any[] @@ -468,7 +468,7 @@ _.object(['moe', 'larry', 'curly'], [30, 40, 50]); _.object([['moe', 30], ['larry', 40], ['curly', 50]]); >_.object([['moe', 30], ['larry', 40], ['curly', 50]]) : any >_.object : { (list: any[][]): any; (keys: string[], values: any[]): any; } ->_ : Static +>_ : Underscore.Static >object : { (list: any[][]): any; (keys: string[], values: any[]): any; } >[['moe', 30], ['larry', 40], ['curly', 50]] : any[][] >['moe', 30] : any[] @@ -478,52 +478,52 @@ _.object([['moe', 30], ['larry', 40], ['curly', 50]]); _.indexOf([1, 2, 3], 2); >_.indexOf([1, 2, 3], 2) : number >_.indexOf : (list: T[], value: T, isSorted?: boolean) => number ->_ : Static +>_ : Underscore.Static >indexOf : (list: T[], value: T, isSorted?: boolean) => number >[1, 2, 3] : number[] _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); >_.lastIndexOf([1, 2, 3, 1, 2, 3], 2) : number >_.lastIndexOf : (list: T[], value: T, fromIndex?: number) => number ->_ : Static +>_ : Underscore.Static >lastIndexOf : (list: T[], value: T, fromIndex?: number) => number >[1, 2, 3, 1, 2, 3] : number[] _.sortedIndex([10, 20, 30, 40, 50], 35); >_.sortedIndex([10, 20, 30, 40, 50], 35) : number >_.sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator, context?: any): number; } ->_ : Static +>_ : Underscore.Static >sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator, context?: any): number; } >[10, 20, 30, 40, 50] : number[] _.range(10); >_.range(10) : number[] >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } ->_ : Static +>_ : Underscore.Static >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } _.range(1, 11); >_.range(1, 11) : number[] >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } ->_ : Static +>_ : Underscore.Static >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } _.range(0, 30, 5); >_.range(0, 30, 5) : number[] >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } ->_ : Static +>_ : Underscore.Static >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } _.range(0, 30, 5); >_.range(0, 30, 5) : number[] >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } ->_ : Static +>_ : Underscore.Static >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } _.range(0); >_.range(0) : number[] >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } ->_ : Static +>_ : Underscore.Static >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } /////////////////////////////////////////////////////////////////////////////////////// @@ -545,7 +545,7 @@ var func2 = _.bind(func, { name: 'moe' }, 'hi'); >func2 : Function >_.bind(func, { name: 'moe' }, 'hi') : Function >_.bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } ->_ : Static +>_ : Underscore.Static >bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } >func : (greeting: any) => string >{ name: 'moe' } : { name: string; } @@ -557,11 +557,7 @@ func2(); var buttonView = { >buttonView : { label: string; onClick: () => void; onHover: () => void; } ->{ - label: 'underscore', - onClick: function () { alert('clicked: ' + this.label); }, - onHover: function () { alert('hovering: ' + this.label); } -} : { label: string; onClick: () => void; onHover: () => void; } +>{ label: 'underscore', onClick: function () { alert('clicked: ' + this.label); }, onHover: function () { alert('hovering: ' + this.label); }} : { label: string; onClick: () => void; onHover: () => void; } label: 'underscore', >label : string @@ -590,7 +586,7 @@ var buttonView = { _.bindAll(buttonView); >_.bindAll(buttonView) : { label: string; onClick: () => void; onHover: () => void; } >_.bindAll : (object: T, ...methodNames: string[]) => T ->_ : Static +>_ : Underscore.Static >bindAll : (object: T, ...methodNames: string[]) => T >buttonView : { label: string; onClick: () => void; onHover: () => void; } @@ -606,15 +602,11 @@ $('#underscore_button').bind('click', buttonView.onClick); var fibonacci = _.memoize(function (n) { >fibonacci : any ->_.memoize(function (n) { - return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2); -}) : (n: any) => any +>_.memoize(function (n) { return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);}) : (n: any) => any >_.memoize : (func: T, hashFunction?: Function) => T ->_ : Static +>_ : Underscore.Static >memoize : (func: T, hashFunction?: Function) => T ->function (n) { - return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2); -} : (n: any) => any +>function (n) { return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);} : (n: any) => any >n : any return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2); @@ -638,7 +630,7 @@ var log = _.bind((message?: string, ...rest: string[]) => { }, Date); >log : (message?: string, ...rest: string[]) => void >_.bind((message?: string, ...rest: string[]) => { }, Date) : (message?: string, ...rest: string[]) => void >_.bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } ->_ : Static +>_ : Underscore.Static >bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } >(message?: string, ...rest: string[]) => { } : (message?: string, ...rest: string[]) => void >message : string @@ -648,14 +640,14 @@ var log = _.bind((message?: string, ...rest: string[]) => { }, Date); _.delay(log, 1000, 'logged later'); >_.delay(log, 1000, 'logged later') : number >_.delay : (func: Function, wait: number, ...args: any[]) => number ->_ : Static +>_ : Underscore.Static >delay : (func: Function, wait: number, ...args: any[]) => number >log : (message?: string, ...rest: string[]) => void _.defer(function () { alert('deferred'); }); >_.defer(function () { alert('deferred'); }) : number >_.defer : (func: Function, ...args: any[]) => number ->_ : Static +>_ : Underscore.Static >defer : (func: Function, ...args: any[]) => number >function () { alert('deferred'); } : () => void >alert('deferred') : void @@ -671,7 +663,7 @@ var throttled = _.throttle(updatePosition, 100); >throttled : () => void >_.throttle(updatePosition, 100) : () => void >_.throttle : (func: T, wait: number) => T ->_ : Static +>_ : Underscore.Static >throttle : (func: T, wait: number) => T >updatePosition : () => void @@ -693,7 +685,7 @@ var lazyLayout = _.debounce(calculateLayout, 300); >lazyLayout : () => void >_.debounce(calculateLayout, 300) : () => void >_.debounce : (func: T, wait: number, immediate?: boolean) => T ->_ : Static +>_ : Underscore.Static >debounce : (func: T, wait: number, immediate?: boolean) => T >calculateLayout : () => void @@ -715,7 +707,7 @@ var initialize = _.once(createApplication); >initialize : () => void >_.once(createApplication) : () => void >_.once : (func: T) => T ->_ : Static +>_ : Underscore.Static >once : (func: T) => T >createApplication : () => void @@ -740,7 +732,7 @@ var renderNotes = _.after(notes.length, render); >renderNotes : () => void >_.after(notes.length, render) : () => void >_.after : (count: number, func: T) => T ->_ : Static +>_ : Underscore.Static >after : (count: number, func: T) => T >notes.length : number >notes : any[] @@ -750,7 +742,7 @@ var renderNotes = _.after(notes.length, render); _.each(notes, (note) => note.asyncSave({ success: renderNotes })); >_.each(notes, (note) => note.asyncSave({ success: renderNotes })) : void >_.each : { (list: T[], iterator: Iterator, context?: any): void; (list: Dictionary, iterator: Iterator, context?: any): void; } ->_ : Static +>_ : Underscore.Static >each : { (list: T[], iterator: Iterator, context?: any): void; (list: Dictionary, iterator: Iterator, context?: any): void; } >notes : any[] >(note) => note.asyncSave({ success: renderNotes }) : (note: any) => any @@ -775,7 +767,7 @@ hello = _.wrap(hello, (func, arg) => { return "before, " + func(arg) + ", after" >hello : (name: any) => string >_.wrap(hello, (func, arg) => { return "before, " + func(arg) + ", after"; }) : (name: any) => string >_.wrap : (func: T, wrapper: (func: T, ...args: any[]) => any) => T ->_ : Static +>_ : Underscore.Static >wrap : (func: T, wrapper: (func: T, ...args: any[]) => any) => T >hello : (name: any) => string >(func, arg) => { return "before, " + func(arg) + ", after"; } : (func: (name: any) => string, arg: any) => string @@ -809,7 +801,7 @@ var welcome = _.compose(exclaim, greet); >welcome : Function >_.compose(exclaim, greet) : Function >_.compose : (...funcs: Function[]) => Function ->_ : Static +>_ : Underscore.Static >compose : (...funcs: Function[]) => Function >exclaim : (statement: any) => string >greet : (name: any) => string @@ -823,7 +815,7 @@ welcome('moe'); _.keys({ one: 1, two: 2, three: 3 }); >_.keys({ one: 1, two: 2, three: 3 }) : string[] >_.keys : (object: any) => string[] ->_ : Static +>_ : Underscore.Static >keys : (object: any) => string[] >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number @@ -833,7 +825,7 @@ _.keys({ one: 1, two: 2, three: 3 }); _.values({ one: 1, two: 2, three: 3 }); >_.values({ one: 1, two: 2, three: 3 }) : any[] >_.values : (object: any) => any[] ->_ : Static +>_ : Underscore.Static >values : (object: any) => any[] >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number @@ -843,7 +835,7 @@ _.values({ one: 1, two: 2, three: 3 }); _.pairs({ one: 1, two: 2, three: 3 }); >_.pairs({ one: 1, two: 2, three: 3 }) : any[][] >_.pairs : (object: any) => any[][] ->_ : Static +>_ : Underscore.Static >pairs : (object: any) => any[][] >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number @@ -853,7 +845,7 @@ _.pairs({ one: 1, two: 2, three: 3 }); _.invert({ Moe: "Moses", Larry: "Louis", Curly: "Jerome" }); >_.invert({ Moe: "Moses", Larry: "Louis", Curly: "Jerome" }) : any >_.invert : (object: any) => any ->_ : Static +>_ : Underscore.Static >invert : (object: any) => any >{ Moe: "Moses", Larry: "Louis", Curly: "Jerome" } : { Moe: string; Larry: string; Curly: string; } >Moe : string @@ -863,14 +855,14 @@ _.invert({ Moe: "Moses", Larry: "Louis", Curly: "Jerome" }); _.functions(_); >_.functions(_) : string[] >_.functions : (object: any) => string[] ->_ : Static +>_ : Underscore.Static >functions : (object: any) => string[] ->_ : Static +>_ : Underscore.Static _.extend({ name: 'moe' }, { age: 50 }); >_.extend({ name: 'moe' }, { age: 50 }) : { name: string; } >_.extend : (destination: T, ...sources: any[]) => T ->_ : Static +>_ : Underscore.Static >extend : (destination: T, ...sources: any[]) => T >{ name: 'moe' } : { name: string; } >name : string @@ -880,7 +872,7 @@ _.extend({ name: 'moe' }, { age: 50 }); _.pick({ name: 'moe', age: 50, userid: 'moe1' }, 'name', 'age'); >_.pick({ name: 'moe', age: 50, userid: 'moe1' }, 'name', 'age') : { name: string; age: number; userid: string; } >_.pick : (object: T, ...keys: string[]) => T ->_ : Static +>_ : Underscore.Static >pick : (object: T, ...keys: string[]) => T >{ name: 'moe', age: 50, userid: 'moe1' } : { name: string; age: number; userid: string; } >name : string @@ -890,7 +882,7 @@ _.pick({ name: 'moe', age: 50, userid: 'moe1' }, 'name', 'age'); _.omit({ name: 'moe', age: 50, userid: 'moe1' }, 'userid'); >_.omit({ name: 'moe', age: 50, userid: 'moe1' }, 'userid') : { name: string; age: number; userid: string; } >_.omit : (object: T, ...keys: string[]) => T ->_ : Static +>_ : Underscore.Static >omit : (object: T, ...keys: string[]) => T >{ name: 'moe', age: 50, userid: 'moe1' } : { name: string; age: number; userid: string; } >name : string @@ -905,7 +897,7 @@ var iceCream = { flavor: "chocolate" }; _.defaults(iceCream, { flavor: "vanilla", sprinkles: "lots" }); >_.defaults(iceCream, { flavor: "vanilla", sprinkles: "lots" }) : { flavor: string; } >_.defaults : (object: T, ...defaults: any[]) => T ->_ : Static +>_ : Underscore.Static >defaults : (object: T, ...defaults: any[]) => T >iceCream : { flavor: string; } >{ flavor: "vanilla", sprinkles: "lots" } : { flavor: string; sprinkles: string; } @@ -915,48 +907,28 @@ _.defaults(iceCream, { flavor: "vanilla", sprinkles: "lots" }); _.clone({ name: 'moe' }); >_.clone({ name: 'moe' }) : { name: string; } >_.clone : (object: T) => T ->_ : Static +>_ : Underscore.Static >clone : (object: T) => T >{ name: 'moe' } : { name: string; } >name : string _.chain([1, 2, 3, 200]) ->_.chain([1, 2, 3, 200]) - .filter(function (num) { return num % 2 == 0; }) - .tap(alert) - .map(function (num) { return num * num }) - .value() : number[] ->_.chain([1, 2, 3, 200]) - .filter(function (num) { return num % 2 == 0; }) - .tap(alert) - .map(function (num) { return num * num }) - .value : () => number[] ->_.chain([1, 2, 3, 200]) - .filter(function (num) { return num % 2 == 0; }) - .tap(alert) - .map(function (num) { return num * num }) : ChainedArray ->_.chain([1, 2, 3, 200]) - .filter(function (num) { return num % 2 == 0; }) - .tap(alert) - .map : (iterator: Iterator, context?: any) => ChainedArray ->_.chain([1, 2, 3, 200]) - .filter(function (num) { return num % 2 == 0; }) - .tap(alert) : ChainedArray ->_.chain([1, 2, 3, 200]) - .filter(function (num) { return num % 2 == 0; }) - .tap : (interceptor: (object: number[]) => void) => ChainedArray ->_.chain([1, 2, 3, 200]) - .filter(function (num) { return num % 2 == 0; }) : ChainedArray ->_.chain([1, 2, 3, 200]) - .filter : (iterator: Iterator, context?: any) => ChainedArray ->_.chain([1, 2, 3, 200]) : ChainedArray ->_.chain : { (list: T[]): ChainedArray; (list: Dictionary): ChainedDictionary; (obj: T): ChainedObject; } ->_ : Static ->chain : { (list: T[]): ChainedArray; (list: Dictionary): ChainedDictionary; (obj: T): ChainedObject; } +>_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) .map(function (num) { return num * num }) .value() : number[] +>_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) .map(function (num) { return num * num }) .value : () => number[] +>_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) .map(function (num) { return num * num }) : Underscore.ChainedArray +>_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) .map : (iterator: Iterator, context?: any) => Underscore.ChainedArray +>_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) : Underscore.ChainedArray +>_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap : (interceptor: (object: number[]) => void) => Underscore.ChainedArray +>_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) : Underscore.ChainedArray +>_.chain([1, 2, 3, 200]) .filter : (iterator: Iterator, context?: any) => Underscore.ChainedArray +>_.chain([1, 2, 3, 200]) : Underscore.ChainedArray +>_.chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T): Underscore.ChainedObject; } +>_ : Underscore.Static +>chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T): Underscore.ChainedObject; } >[1, 2, 3, 200] : number[] .filter(function (num) { return num % 2 == 0; }) ->filter : (iterator: Iterator, context?: any) => ChainedArray +>filter : (iterator: Iterator, context?: any) => Underscore.ChainedArray >function (num) { return num % 2 == 0; } : (num: number) => boolean >num : number >num % 2 == 0 : boolean @@ -964,12 +936,12 @@ _.chain([1, 2, 3, 200]) >num : number .tap(alert) ->tap : (interceptor: (object: number[]) => void) => ChainedArray +>tap : (interceptor: (object: number[]) => void) => Underscore.ChainedArray >alert : any >alert : (x: string) => void .map(function (num) { return num * num }) ->map : (iterator: Iterator, context?: any) => ChainedArray +>map : (iterator: Iterator, context?: any) => Underscore.ChainedArray >function (num) { return num * num } : (num: number) => number >num : number >num * num : number @@ -982,7 +954,7 @@ _.chain([1, 2, 3, 200]) _.has({ a: 1, b: 2, c: 3 }, "b"); >_.has({ a: 1, b: 2, c: 3 }, "b") : boolean >_.has : (object: any, key: string) => boolean ->_ : Static +>_ : Underscore.Static >has : (object: any, key: string) => boolean >{ a: 1, b: 2, c: 3 } : { a: number; b: number; c: number; } >a : number @@ -1011,7 +983,7 @@ moe == clone; _.isEqual(moe, clone); >_.isEqual(moe, clone) : boolean >_.isEqual : (object: T, other: T) => boolean ->_ : Static +>_ : Underscore.Static >isEqual : (object: T, other: T) => boolean >moe : { name: string; luckyNumbers: number[]; } >clone : { name: string; luckyNumbers: number[]; } @@ -1019,21 +991,21 @@ _.isEqual(moe, clone); _.isEmpty([1, 2, 3]); >_.isEmpty([1, 2, 3]) : boolean >_.isEmpty : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isEmpty : (object: any) => boolean >[1, 2, 3] : number[] _.isEmpty({}); >_.isEmpty({}) : boolean >_.isEmpty : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isEmpty : (object: any) => boolean >{} : {} _.isElement($('body')[0]); >_.isElement($('body')[0]) : boolean >_.isElement : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isElement : (object: any) => boolean >$('body')[0] : any >$('body') : any @@ -1045,28 +1017,28 @@ _.isElement($('body')[0]); >function () { return _.isArray(arguments); } : () => boolean >_.isArray(arguments) : boolean >_.isArray : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isArray : (object: any) => boolean >arguments : IArguments _.isArray([1, 2, 3]); >_.isArray([1, 2, 3]) : boolean >_.isArray : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isArray : (object: any) => boolean >[1, 2, 3] : number[] _.isObject({}); >_.isObject({}) : boolean >_.isObject : (value: any) => boolean ->_ : Static +>_ : Underscore.Static >isObject : (value: any) => boolean >{} : {} _.isObject(1); >_.isObject(1) : boolean >_.isObject : (value: any) => boolean ->_ : Static +>_ : Underscore.Static >isObject : (value: any) => boolean @@ -1074,41 +1046,41 @@ _.isObject(1); _.isArguments([1, 2, 3]); >_.isArguments([1, 2, 3]) : boolean >_.isArguments : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isArguments : (object: any) => boolean >[1, 2, 3] : number[] _.isFunction(alert); >_.isFunction(alert) : boolean >_.isFunction : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isFunction : (object: any) => boolean >alert : (x: string) => void _.isString("moe"); >_.isString("moe") : boolean >_.isString : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isString : (object: any) => boolean _.isNumber(8.4 * 5); >_.isNumber(8.4 * 5) : boolean >_.isNumber : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isNumber : (object: any) => boolean >8.4 * 5 : number _.isFinite(-101); >_.isFinite(-101) : boolean >_.isFinite : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isFinite : (object: any) => boolean >-101 : number _.isFinite(-Infinity); >_.isFinite(-Infinity) : boolean >_.isFinite : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isFinite : (object: any) => boolean >-Infinity : number >Infinity : number @@ -1116,13 +1088,13 @@ _.isFinite(-Infinity); _.isBoolean(null); >_.isBoolean(null) : boolean >_.isBoolean : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isBoolean : (object: any) => boolean _.isDate(new Date()); >_.isDate(new Date()) : boolean >_.isDate : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isDate : (object: any) => boolean >new Date() : Date >Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; } @@ -1130,14 +1102,13 @@ _.isDate(new Date()); _.isRegExp(/moe/); >_.isRegExp(/moe/) : boolean >_.isRegExp : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isRegExp : (object: any) => boolean ->/moe/ : RegExp _.isNaN(NaN); >_.isNaN(NaN) : boolean >_.isNaN : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isNaN : (object: any) => boolean >NaN : number @@ -1149,27 +1120,27 @@ isNaN(undefined); _.isNaN(undefined); >_.isNaN(undefined) : boolean >_.isNaN : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isNaN : (object: any) => boolean >undefined : undefined _.isNull(null); >_.isNull(null) : boolean >_.isNull : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isNull : (object: any) => boolean _.isNull(undefined); >_.isNull(undefined) : boolean >_.isNull : (object: any) => boolean ->_ : Static +>_ : Underscore.Static >isNull : (object: any) => boolean >undefined : undefined _.isUndefined((null).missingVariable); >_.isUndefined((null).missingVariable) : boolean >_.isUndefined : (value: any) => boolean ->_ : Static +>_ : Underscore.Static >isUndefined : (value: any) => boolean >(null).missingVariable : any >(null) : any @@ -1179,11 +1150,11 @@ _.isUndefined((null).missingVariable); /////////////////////////////////////////////////////////////////////////////////////// var underscore = _.noConflict(); ->underscore : Static ->_.noConflict() : Static ->_.noConflict : () => Static ->_ : Static ->noConflict : () => Static +>underscore : Underscore.Static +>_.noConflict() : Underscore.Static +>_.noConflict : () => Underscore.Static +>_ : Underscore.Static +>noConflict : () => Underscore.Static var moe2 = { name: 'moe' }; >moe2 : { name: string; } @@ -1195,7 +1166,7 @@ moe2 === _.identity(moe); >moe2 : { name: string; } >_.identity(moe) : { name: string; luckyNumbers: number[]; } >_.identity : (value: T) => T ->_ : Static +>_ : Underscore.Static >identity : (value: T) => T >moe : { name: string; luckyNumbers: number[]; } @@ -1205,7 +1176,7 @@ var genie; _.times(3, function (n) { genie.grantWishNumber(n); }); >_.times(3, function (n) { genie.grantWishNumber(n); }) : void[] >_.times : (n: number, iterator: Iterator, context?: any) => U[] ->_ : Static +>_ : Underscore.Static >times : (n: number, iterator: Iterator, context?: any) => U[] >function (n) { genie.grantWishNumber(n); } : (n: number) => void >n : number @@ -1218,29 +1189,19 @@ _.times(3, function (n) { genie.grantWishNumber(n); }); _.random(0, 100); >_.random(0, 100) : number >_.random : { (max: number): number; (min: number, max: number): number; } ->_ : Static +>_ : Underscore.Static >random : { (max: number): number; (min: number, max: number): number; } _.mixin({ ->_.mixin({ - capitalize: function (string) { - return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); - } -}) : void +>_.mixin({ capitalize: function (string) { return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); }}) : void >_.mixin : (object: any) => void ->_ : Static +>_ : Underscore.Static >mixin : (object: any) => void ->{ - capitalize: function (string) { - return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); - } -} : { capitalize: (string: any) => any; } +>{ capitalize: function (string) { return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); }} : { capitalize: (string: any) => any; } capitalize: function (string) { >capitalize : (string: any) => any ->function (string) { - return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); - } : (string: any) => any +>function (string) { return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); } : (string: any) => any >string : any return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); @@ -1266,20 +1227,20 @@ _.mixin({ >(_("fabio")).capitalize : any >(_("fabio")) : any >_("fabio") : any ->_("fabio") : WrappedObject ->_ : Static +>_("fabio") : Underscore.WrappedObject +>_ : Underscore.Static >capitalize : any _.uniqueId('contact_'); >_.uniqueId('contact_') : string >_.uniqueId : { (): number; (prefix: string): string; } ->_ : Static +>_ : Underscore.Static >uniqueId : { (): number; (prefix: string): string; } _.escape('Curly, Larry & Moe'); >_.escape('Curly, Larry & Moe') : string >_.escape : (s: string) => string ->_ : Static +>_ : Underscore.Static >escape : (s: string) => string var object = { cheese: 'crumpets', stuff: function () { return 'nonsense'; } }; @@ -1292,23 +1253,23 @@ var object = { cheese: 'crumpets', stuff: function () { return 'nonsense'; } }; _.result(object, 'cheese'); >_.result(object, 'cheese') : any >_.result : (object: any, property: string) => any ->_ : Static +>_ : Underscore.Static >result : (object: any, property: string) => any >object : { cheese: string; stuff: () => string; } _.result(object, 'stuff'); >_.result(object, 'stuff') : any >_.result : (object: any, property: string) => any ->_ : Static +>_ : Underscore.Static >result : (object: any, property: string) => any >object : { cheese: string; stuff: () => string; } var compiled = _.template("hello: <%= name %>"); >compiled : (data: any) => string >_.template("hello: <%= name %>") : (data: any) => string ->_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } ->_ : Static ->template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } +>_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +>_ : Underscore.Static +>template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } compiled({ name: 'moe' }); >compiled({ name: 'moe' }) : string @@ -1321,9 +1282,9 @@ var list2 = "<% _.each(people, function(name) { %>
  • <%= name %>
  • <% }); % _.template(list2, { people: ['moe', 'curly', 'larry'] }); >_.template(list2, { people: ['moe', 'curly', 'larry'] }) : string ->_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } ->_ : Static ->template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } +>_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +>_ : Underscore.Static +>template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } >list2 : string >{ people: ['moe', 'curly', 'larry'] } : { people: string[]; } >people : string[] @@ -1332,9 +1293,9 @@ _.template(list2, { people: ['moe', 'curly', 'larry'] }); var template = _.template("<%- value %>"); >template : (data: any) => string >_.template("<%- value %>") : (data: any) => string ->_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } ->_ : Static ->template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } +>_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +>_ : Underscore.Static +>template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } template({ value: '