From 0a06dbb59ec998649abf3683fc67909d172c8bee Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 8 Oct 2015 09:41:59 -0700 Subject: [PATCH] Update typings for 1.6.2 release --- .../typescriptServices-tests.ts | 25 +- typescript-services/typescriptServices.d.ts | 11462 +++------------- typescript/typescript.d.ts | 1924 +-- 3 files changed, 3277 insertions(+), 10134 deletions(-) diff --git a/typescript-services/typescriptServices-tests.ts b/typescript-services/typescriptServices-tests.ts index ab0da7a092..1c704b14ee 100644 --- a/typescript-services/typescriptServices-tests.ts +++ b/typescript-services/typescriptServices-tests.ts @@ -1,8 +1,23 @@ /// -import ts = require('typescript-services'); +// transpile +function transpile(input: string): string { + return ts.transpile(input, { module: ts.ModuleKind.CommonJS }); +} -// formatter: -var snapshot = ts.SimpleText.fromString('var foo = 123;'); -var formatter = new ts.Services.Formatting.TextSnapshot(snapshot); -console.log(formatter); +// compile +function compile(fileNames: string[], options: ts.CompilerOptions): number { + let program = ts.createProgram(fileNames, options); + let emitResult = program.emit(); + + let allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics); + + allDiagnostics.forEach(diagnostic => { + let { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); + let message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'); + console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); + }); + + let exitCode = emitResult.emitSkipped ? 1 : 0; + return exitCode; +} diff --git a/typescript-services/typescriptServices.d.ts b/typescript-services/typescriptServices.d.ts index dfa2c633d0..dbd4919bf0 100644 --- a/typescript-services/typescriptServices.d.ts +++ b/typescript-services/typescriptServices.d.ts @@ -1,9314 +1,2148 @@ -// Type definitions for TypeScript-Services -// Project: https://www.npmjs.org/package/typescript-services -// Definitions by: Basarat Ali Syed -// Definitions: https://github.com/borisyankov/DefinitelyTyped - -declare module TypeScript { - var DiagnosticCode: { - error_TS_0_1: string; - warning_TS_0_1: string; - Unrecognized_escape_sequence: string; - Unexpected_character_0: string; - Missing_close_quote_character: string; - Identifier_expected: string; - _0_keyword_expected: string; - _0_expected: string; - Identifier_expected_0_is_a_keyword: string; - Automatic_semicolon_insertion_not_allowed: string; - Unexpected_token_0_expected: string; - Trailing_separator_not_allowed: string; - AsteriskSlash_expected: string; - public_or_private_modifier_must_precede_static: string; - Unexpected_token: string; - Catch_clause_parameter_cannot_have_a_type_annotation: string; - Rest_parameter_must_be_last_in_list: string; - Parameter_cannot_have_question_mark_and_initializer: string; - Required_parameter_cannot_follow_optional_parameter: string; - Index_signatures_cannot_have_rest_parameters: string; - Index_signature_parameter_cannot_have_accessibility_modifiers: string; - Index_signature_parameter_cannot_have_a_question_mark: string; - Index_signature_parameter_cannot_have_an_initializer: string; - Index_signature_must_have_a_type_annotation: string; - Index_signature_parameter_must_have_a_type_annotation: string; - Index_signature_parameter_type_must_be_string_or_number: string; - extends_clause_already_seen: string; - extends_clause_must_precede_implements_clause: string; - Classes_can_only_extend_a_single_class: string; - implements_clause_already_seen: string; - Accessibility_modifier_already_seen: string; - _0_modifier_must_precede_1_modifier: string; - _0_modifier_already_seen: string; - _0_modifier_cannot_appear_on_a_class_element: string; - Interface_declaration_cannot_have_implements_clause: string; - super_invocation_cannot_have_type_arguments: string; - Only_ambient_modules_can_use_quoted_names: string; - Statements_are_not_allowed_in_ambient_contexts: string; - Implementations_are_not_allowed_in_ambient_contexts: string; - declare_modifier_not_allowed_for_code_already_in_an_ambient_context: string; - Initializers_are_not_allowed_in_ambient_contexts: string; - Parameter_property_declarations_can_only_be_used_in_a_non_ambient_constructor_declaration: string; - Function_implementation_expected: string; - Constructor_implementation_expected: string; - Function_overload_name_must_be_0: string; - _0_modifier_cannot_appear_on_a_module_element: string; - declare_modifier_cannot_appear_on_an_interface_declaration: string; - declare_modifier_required_for_top_level_element: string; - Rest_parameter_cannot_be_optional: string; - Rest_parameter_cannot_have_an_initializer: string; - set_accessor_must_have_one_and_only_one_parameter: string; - set_accessor_parameter_cannot_be_optional: string; - set_accessor_parameter_cannot_have_an_initializer: string; - set_accessor_cannot_have_rest_parameter: string; - get_accessor_cannot_have_parameters: string; - Modifiers_cannot_appear_here: string; - Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: string; - Class_name_cannot_be_0: string; - Interface_name_cannot_be_0: string; - Enum_name_cannot_be_0: string; - Module_name_cannot_be_0: string; - Enum_member_must_have_initializer: string; - Export_assignment_cannot_be_used_in_internal_modules: string; - Export_assignment_not_allowed_in_module_with_exported_element: string; - Module_cannot_have_multiple_export_assignments: string; - Ambient_enum_elements_can_only_have_integer_literal_initializers: string; - module_class_interface_enum_import_or_statement: string; - constructor_function_accessor_or_variable: string; - statement: string; - case_or_default_clause: string; - identifier: string; - call_construct_index_property_or_function_signature: string; - expression: string; - type_name: string; - property_or_accessor: string; - parameter: string; - type: string; - type_parameter: string; - declare_modifier_not_allowed_on_import_declaration: string; - Function_overload_must_be_static: string; - Function_overload_must_not_be_static: string; - Parameter_property_declarations_cannot_be_used_in_a_constructor_overload: string; - Invalid_reference_directive_syntax: string; - Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher: string; - Accessors_are_not_allowed_in_ambient_contexts: string; - _0_modifier_cannot_appear_on_a_constructor_declaration: string; - _0_modifier_cannot_appear_on_a_parameter: string; - Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: string; - Type_parameters_cannot_appear_on_a_constructor_declaration: string; - Type_annotation_cannot_appear_on_a_constructor_declaration: string; - Duplicate_identifier_0: string; - The_name_0_does_not_exist_in_the_current_scope: string; - The_name_0_does_not_refer_to_a_value: string; - super_can_only_be_used_inside_a_class_instance_method: string; - The_left_hand_side_of_an_assignment_expression_must_be_a_variable_property_or_indexer: string; - Value_of_type_0_is_not_callable_Did_you_mean_to_include_new: string; - Value_of_type_0_is_not_callable: string; - Value_of_type_0_is_not_newable: string; - Value_of_type_0_is_not_indexable_by_type_1: string; - Operator_0_cannot_be_applied_to_types_1_and_2: string; - Operator_0_cannot_be_applied_to_types_1_and_2_3: string; - Cannot_convert_0_to_1: string; - Cannot_convert_0_to_1_NL_2: string; - Expected_var_class_interface_or_module: string; - Operator_0_cannot_be_applied_to_type_1: string; - Getter_0_already_declared: string; - Setter_0_already_declared: string; - Exported_class_0_extends_private_class_1: string; - Exported_class_0_implements_private_interface_1: string; - Exported_interface_0_extends_private_interface_1: string; - Exported_class_0_extends_class_from_inaccessible_module_1: string; - Exported_class_0_implements_interface_from_inaccessible_module_1: string; - Exported_interface_0_extends_interface_from_inaccessible_module_1: string; - Public_static_property_0_of_exported_class_has_or_is_using_private_type_1: string; - Public_property_0_of_exported_class_has_or_is_using_private_type_1: string; - Property_0_of_exported_interface_has_or_is_using_private_type_1: string; - Exported_variable_0_has_or_is_using_private_type_1: string; - Public_static_property_0_of_exported_class_is_using_inaccessible_module_1: string; - Public_property_0_of_exported_class_is_using_inaccessible_module_1: string; - Property_0_of_exported_interface_is_using_inaccessible_module_1: string; - Exported_variable_0_is_using_inaccessible_module_1: string; - Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_type_1: string; - Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_type_1: string; - Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_type_1: string; - Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_type_1: string; - Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_type_1: string; - Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_type_1: string; - Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_type_1: string; - Parameter_0_of_method_from_exported_interface_has_or_is_using_private_type_1: string; - Parameter_0_of_exported_function_has_or_is_using_private_type_1: string; - Parameter_0_of_constructor_from_exported_class_is_using_inaccessible_module_1: string; - Parameter_0_of_public_static_property_setter_from_exported_class_is_using_inaccessible_module_1: string; - Parameter_0_of_public_property_setter_from_exported_class_is_using_inaccessible_module_1: string; - Parameter_0_of_constructor_signature_from_exported_interface_is_using_inaccessible_module_1: string; - Parameter_0_of_call_signature_from_exported_interface_is_using_inaccessible_module_1: string; - Parameter_0_of_public_static_method_from_exported_class_is_using_inaccessible_module_1: string; - Parameter_0_of_public_method_from_exported_class_is_using_inaccessible_module_1: string; - Parameter_0_of_method_from_exported_interface_is_using_inaccessible_module_1: string; - Parameter_0_of_exported_function_is_using_inaccessible_module_1: string; - Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_type_0: string; - Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_type_0: string; - Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_type_0: string; - Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_type_0: string; - Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_type_0: string; - Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_type_0: string; - Return_type_of_public_method_from_exported_class_has_or_is_using_private_type_0: string; - Return_type_of_method_from_exported_interface_has_or_is_using_private_type_0: string; - Return_type_of_exported_function_has_or_is_using_private_type_0: string; - Return_type_of_public_static_property_getter_from_exported_class_is_using_inaccessible_module_0: string; - Return_type_of_public_property_getter_from_exported_class_is_using_inaccessible_module_0: string; - Return_type_of_constructor_signature_from_exported_interface_is_using_inaccessible_module_0: string; - Return_type_of_call_signature_from_exported_interface_is_using_inaccessible_module_0: string; - Return_type_of_index_signature_from_exported_interface_is_using_inaccessible_module_0: string; - Return_type_of_public_static_method_from_exported_class_is_using_inaccessible_module_0: string; - Return_type_of_public_method_from_exported_class_is_using_inaccessible_module_0: string; - Return_type_of_method_from_exported_interface_is_using_inaccessible_module_0: string; - Return_type_of_exported_function_is_using_inaccessible_module_0: string; - new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: string; - A_parameter_list_must_follow_a_generic_type_argument_list_expected: string; - Multiple_constructor_implementations_are_not_allowed: string; - Unable_to_resolve_external_module_0: string; - Module_cannot_be_aliased_to_a_non_module_type: string; - A_class_may_only_extend_another_class: string; - A_class_may_only_implement_another_class_or_interface: string; - An_interface_may_only_extend_another_class_or_interface: string; - Unable_to_resolve_type: string; - Unable_to_resolve_type_of_0: string; - Unable_to_resolve_type_parameter_constraint: string; - Type_parameter_constraint_cannot_be_a_primitive_type: string; - Supplied_parameters_do_not_match_any_signature_of_call_target: string; - Supplied_parameters_do_not_match_any_signature_of_call_target_NL_0: string; - Invalid_new_expression: string; - Call_signatures_used_in_a_new_expression_must_have_a_void_return_type: string; - Could_not_select_overload_for_new_expression: string; - Type_0_does_not_satisfy_the_constraint_1_for_type_parameter_2: string; - Could_not_select_overload_for_call_expression: string; - Cannot_invoke_an_expression_whose_type_lacks_a_call_signature: string; - Calls_to_super_are_only_valid_inside_a_class: string; - Generic_type_0_requires_1_type_argument_s: string; - Type_of_array_literal_cannot_be_determined_Best_common_type_could_not_be_found_for_array_elements: string; - Could_not_find_enclosing_symbol_for_dotted_name_0: string; - The_property_0_does_not_exist_on_value_of_type_1: string; - Could_not_find_symbol_0: string; - get_and_set_accessor_must_have_the_same_type: string; - this_cannot_be_referenced_in_current_location: string; - Static_members_cannot_reference_class_type_parameters: string; - Class_0_is_recursively_referenced_as_a_base_type_of_itself: string; - Interface_0_is_recursively_referenced_as_a_base_type_of_itself: string; - super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class: string; - super_cannot_be_referenced_in_non_derived_classes: string; - A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties: string; - Constructors_for_derived_classes_must_contain_a_super_call: string; - Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors: string; - _0_1_is_inaccessible: string; - this_cannot_be_referenced_within_module_bodies: string; - Invalid_expression_types_not_known_to_support_the_addition_operator: string; - The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: string; - The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: string; - The_type_of_a_unary_arithmetic_operation_operand_must_be_of_type_any_number_or_an_enum_type: string; - Variable_declarations_of_a_for_statement_cannot_use_a_type_annotation: string; - Variable_declarations_of_a_for_statement_must_be_of_types_string_or_any: string; - The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter: string; - The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number: string; - The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: string; - The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: string; - The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type: string; - Setters_cannot_return_a_value: string; - Tried_to_query_type_of_uninitialized_module_0: string; - Tried_to_set_variable_type_to_uninitialized_module_type_0: string; - Type_0_does_not_have_type_parameters: string; - Getters_must_return_a_value: string; - Getter_and_setter_accessors_do_not_agree_in_visibility: string; - Invalid_left_hand_side_of_assignment_expression: string; - Function_declared_a_non_void_return_type_but_has_no_return_expression: string; - Cannot_resolve_return_type_reference: string; - Constructors_cannot_have_a_return_type_of_void: string; - Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2: string; - All_symbols_within_a_with_block_will_be_resolved_to_any: string; - Import_declarations_in_an_internal_module_cannot_reference_an_external_module: string; - Class_0_declares_interface_1_but_does_not_implement_it_NL_2: string; - Class_0_declares_class_1_as_an_interface_but_does_not_implement_it_NL_2: string; - The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer: string; - this_cannot_be_referenced_in_static_initializers_in_a_class_body: string; - Class_0_cannot_extend_class_1_NL_2: string; - Interface_0_cannot_extend_class_1_NL_2: string; - Interface_0_cannot_extend_interface_1_NL_2: string; - Duplicate_overload_signature_for_0: string; - Duplicate_constructor_overload_signature: string; - Duplicate_overload_call_signature: string; - Duplicate_overload_construct_signature: string; - Overload_signature_is_not_compatible_with_function_definition: string; - Overload_signature_is_not_compatible_with_function_definition_NL_0: string; - Overload_signatures_must_all_be_public_or_private: string; - Overload_signatures_must_all_be_exported_or_not_exported: string; - Overload_signatures_must_all_be_ambient_or_non_ambient: string; - Overload_signatures_must_all_be_optional_or_required: string; - Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature: string; - this_cannot_be_referenced_in_constructor_arguments: string; - Instance_member_cannot_be_accessed_off_a_class: string; - Untyped_function_calls_may_not_accept_type_arguments: string; - Non_generic_functions_may_not_accept_type_arguments: string; - A_generic_type_may_not_reference_itself_with_a_wrapped_form_of_its_own_type_parameters: string; - Rest_parameters_must_be_array_types: string; - Overload_signature_implementation_cannot_use_specialized_type: string; - Export_assignments_may_only_be_used_at_the_top_level_of_external_modules: string; - Export_assignments_may_only_be_made_with_variables_functions_classes_interfaces_enums_and_internal_modules: string; - Only_public_methods_of_the_base_class_are_accessible_via_the_super_keyword: string; - Numeric_indexer_type_0_must_be_assignable_to_string_indexer_type_1: string; - Numeric_indexer_type_0_must_be_assignable_to_string_indexer_type_1_NL_2: string; - All_numerically_named_properties_must_be_assignable_to_numeric_indexer_type_0: string; - All_numerically_named_properties_must_be_assignable_to_numeric_indexer_type_0_NL_1: string; - All_named_properties_must_be_assignable_to_string_indexer_type_0: string; - All_named_properties_must_be_assignable_to_string_indexer_type_0_NL_1: string; - Generic_type_references_must_include_all_type_arguments: string; - Default_arguments_are_only_allowed_in_implementation: string; - Overloads_cannot_differ_only_by_return_type: string; - Function_expression_declared_a_non_void_return_type_but_has_no_return_expression: string; - Import_declaration_referencing_identifier_from_internal_module_can_only_be_made_with_variables_functions_classes_interfaces_enums_and_internal_modules: string; - Could_not_find_symbol_0_in_module_1: string; - Unable_to_resolve_module_reference_0: string; - Could_not_find_module_0_in_module_1: string; - Exported_import_declaration_0_is_assigned_value_with_type_that_has_or_is_using_private_type_1: string; - Exported_import_declaration_0_is_assigned_value_with_type_that_is_using_inaccessible_module_1: string; - Exported_import_declaration_0_is_assigned_type_that_has_or_is_using_private_type_1: string; - Exported_import_declaration_0_is_assigned_type_that_is_using_inaccessible_module_1: string; - Exported_import_declaration_0_is_assigned_container_that_is_or_is_using_inaccessible_module_1: string; - Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_1: string; - Internal_module_reference_0_in_import_declaration_does_not_reference_module_instance_for_1: string; - Module_0_cannot_merge_with_previous_declaration_of_1_in_a_different_file_2: string; - Interface_0_cannot_simultaneously_extend_types_1_and_2_NL_3: string; - Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it: string; - Ambient_external_module_declaration_cannot_be_reopened: string; - All_declarations_of_merged_declaration_0_must_be_exported_or_not_exported: string; - super_cannot_be_referenced_in_constructor_arguments: string; - Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class: string; - Ambient_external_module_declaration_must_be_defined_in_global_context: string; - Ambient_external_module_declaration_cannot_specify_relative_module_name: string; - Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name: string; - Could_not_find_the_best_common_type_of_types_of_all_return_statement_expressions: string; - Import_declaration_cannot_refer_to_external_module_reference_when_noResolve_option_is_set: string; - Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference: string; - continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: string; - break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: string; - Jump_target_not_found: string; - Jump_target_cannot_cross_function_boundary: string; - Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference: string; - Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference: string; - Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference: string; - TypeParameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_type_1: string; - TypeParameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_type_1: string; - TypeParameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_type_1: string; - TypeParameter_0_of_public_method_from_exported_class_has_or_is_using_private_type_1: string; - TypeParameter_0_of_method_from_exported_interface_has_or_is_using_private_type_1: string; - TypeParameter_0_of_exported_function_has_or_is_using_private_type_1: string; - TypeParameter_0_of_constructor_signature_from_exported_interface_is_using_inaccessible_module_1: string; - TypeParameter_0_of_call_signature_from_exported_interface_is_using_inaccessible_module_1: string; - TypeParameter_0_of_public_static_method_from_exported_class_is_using_inaccessible_module_1: string; - TypeParameter_0_of_public_method_from_exported_class_is_using_inaccessible_module_1: string; - TypeParameter_0_of_method_from_exported_interface_is_using_inaccessible_module_1: string; - TypeParameter_0_of_exported_function_is_using_inaccessible_module_1: string; - TypeParameter_0_of_exported_class_has_or_is_using_private_type_1: string; - TypeParameter_0_of_exported_interface_has_or_is_using_private_type_1: string; - TypeParameter_0_of_exported_class_is_using_inaccessible_module_1: string; - TypeParameter_0_of_exported_interface_is_using_inaccessible_module_1: string; - Duplicate_identifier_i_Compiler_uses_i_to_initialize_rest_parameter: string; - Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters: string; - Type_of_conditional_0_must_be_identical_to_1_or_2: string; - Type_of_conditional_0_must_be_identical_to_1_2_or_3: string; - Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_an_external_module: string; - Constraint_of_a_type_parameter_cannot_reference_any_type_parameter_from_the_same_type_parameter_list: string; - Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: string; - Parameter_0_cannot_be_referenced_in_its_initializer: string; - Duplicate_string_index_signature: string; - Duplicate_number_index_signature: string; - All_declarations_of_an_interface_must_have_identical_type_parameters: string; - Expression_resolves_to_variable_declaration_i_that_compiler_uses_to_initialize_rest_parameter: string; - Type_0_is_missing_property_1_from_type_2: string; - Types_of_property_0_of_types_1_and_2_are_incompatible: string; - Types_of_property_0_of_types_1_and_2_are_incompatible_NL_3: string; - Property_0_defined_as_private_in_type_1_is_defined_as_public_in_type_2: string; - Property_0_defined_as_public_in_type_1_is_defined_as_private_in_type_2: string; - Types_0_and_1_define_property_2_as_private: string; - Call_signatures_of_types_0_and_1_are_incompatible: string; - Call_signatures_of_types_0_and_1_are_incompatible_NL_2: string; - Type_0_requires_a_call_signature_but_type_1_lacks_one: string; - Construct_signatures_of_types_0_and_1_are_incompatible: string; - Construct_signatures_of_types_0_and_1_are_incompatible_NL_2: string; - Type_0_requires_a_construct_signature_but_type_1_lacks_one: string; - Index_signatures_of_types_0_and_1_are_incompatible: string; - Index_signatures_of_types_0_and_1_are_incompatible_NL_2: string; - Call_signature_expects_0_or_fewer_parameters: string; - Could_not_apply_type_0_to_argument_1_which_is_of_type_2: string; - Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function: string; - Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function: string; - Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor: string; - Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property: string; - Types_of_static_property_0_of_class_1_and_class_2_are_incompatible: string; - Types_of_static_property_0_of_class_1_and_class_2_are_incompatible_NL_3: string; - Type_reference_cannot_refer_to_container_0: string; - Type_reference_must_refer_to_type: string; - In_enums_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_the_first_enum_element: string; - _0_overload_s: string; - Variable_declaration_cannot_have_the_same_name_as_an_import_declaration: string; - Signature_expected_0_type_arguments_got_1_instead: string; - Property_0_defined_as_optional_in_type_1_but_is_required_in_type_2: string; - Types_0_and_1_originating_in_infinitely_expanding_type_reference_do_not_refer_to_same_named_type: string; - Types_0_and_1_originating_in_infinitely_expanding_type_reference_have_incompatible_type_arguments: string; - Types_0_and_1_originating_in_infinitely_expanding_type_reference_have_incompatible_type_arguments_NL_2: string; - Named_properties_0_of_types_1_and_2_are_not_identical: string; - Types_of_string_indexer_of_types_0_and_1_are_not_identical: string; - Types_of_number_indexer_of_types_0_and_1_are_not_identical: string; - Type_of_number_indexer_in_type_0_is_not_assignable_to_string_indexer_type_in_type_1_NL_2: string; - Type_of_property_0_in_type_1_is_not_assignable_to_string_indexer_type_in_type_2_NL_3: string; - Type_of_property_0_in_type_1_is_not_assignable_to_number_indexer_type_in_type_2_NL_3: string; - Static_property_0_defined_as_private_in_type_1_is_defined_as_public_in_type_2: string; - Static_property_0_defined_as_public_in_type_1_is_defined_as_private_in_type_2: string; - Types_0_and_1_define_static_property_2_as_private: string; - Current_host_does_not_support_0_option: string; - ECMAScript_target_version_0_not_supported_Specify_a_valid_target_version_1_default_or_2: string; - Module_code_generation_0_not_supported: string; - Could_not_find_file_0: string; - A_file_cannot_have_a_reference_to_itself: string; - Cannot_resolve_referenced_file_0: string; - Cannot_find_the_common_subdirectory_path_for_the_input_files: string; - Emit_Error_0: string; - Cannot_read_file_0_1: string; - Unsupported_file_encoding: string; - Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: string; - Unsupported_locale_0: string; - Execution_Failed_NL: string; - Invalid_call_to_up: string; - Invalid_call_to_down: string; - Base64_value_0_finished_with_a_continuation_bit: string; - Unknown_option_0: string; - Expected_0_arguments_to_message_got_1_instead: string; - Expected_the_message_0_to_have_1_arguments_but_it_had_2: string; - Could_not_delete_file_0: string; - Could_not_create_directory_0: string; - Error_while_executing_file_0: string; - Cannot_compile_external_modules_unless_the_module_flag_is_provided: string; - Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option: string; - Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: string; - Options_mapRoot_and_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: string; - Option_0_specified_without_1: string; - codepage_option_not_supported_on_current_platform: string; - Concatenate_and_emit_output_to_single_file: string; - Generates_corresponding_0_file: string; - Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: string; - Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations: string; - Watch_input_files: string; - Redirect_output_structure_to_the_directory: string; - Do_not_emit_comments_to_output: string; - Skip_resolution_and_preprocessing: string; - Specify_ECMAScript_target_version_0_default_or_1: string; - Specify_module_code_generation_0_or_1: string; - Print_this_message: string; - Print_the_compiler_s_version_0: string; - Allow_use_of_deprecated_0_keyword_when_referencing_an_external_module: string; - Specify_locale_for_errors_and_messages_For_example_0_or_1: string; - Syntax_0: string; - options: string; - file1: string; - Examples: string; - Options: string; - Insert_command_line_options_and_files_from_a_file: string; - Version_0: string; - Use_the_0_flag_to_see_options: string; - NL_Recompiling_0: string; - STRING: string; - KIND: string; - file2: string; - VERSION: string; - LOCATION: string; - DIRECTORY: string; - NUMBER: string; - Specify_the_codepage_to_use_when_opening_source_files: string; - Additional_locations: string; - This_version_of_the_Javascript_runtime_does_not_support_the_0_function: string; - Unknown_rule: string; - Invalid_line_number_0: string; - Warn_on_expressions_and_declarations_with_an_implied_any_type: string; - Variable_0_implicitly_has_an_any_type: string; - Parameter_0_of_1_implicitly_has_an_any_type: string; - Parameter_0_of_function_type_implicitly_has_an_any_type: string; - Member_0_of_object_type_implicitly_has_an_any_type: string; - new_expression_which_lacks_a_constructor_signature_implicitly_has_an_any_type: string; - _0_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string; - Function_expression_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string; - Parameter_0_of_lambda_function_implicitly_has_an_any_type: string; - Constructor_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string; - Lambda_Function_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string; - Array_Literal_implicitly_has_an_any_type_from_widening: string; - _0_which_lacks_get_accessor_and_parameter_type_annotation_on_set_accessor_implicitly_has_an_any_type: string; - Index_signature_of_object_type_implicitly_has_an_any_type: string; - Object_literal_s_property_0_implicitly_has_an_any_type_from_widening: string; - }; -} -declare module TypeScript { - class ArrayUtilities { - static isArray(value: any): boolean; - static sequenceEquals(array1: T[], array2: T[], equals: (v1: T, v2: T) => boolean): boolean; - static contains(array: T[], value: T): boolean; - static groupBy(array: T[], func: (v: T) => string): any; - static distinct(array: T[], equalsFn?: (a: T, b: T) => boolean): T[]; - static min(array: T[], func: (v: T) => number): number; - static max(array: T[], func: (v: T) => number): number; - static last(array: T[]): T; - static lastOrDefault(array: T[], predicate: (v: T, index: number) => boolean): T; - static firstOrDefault(array: T[], func: (v: T, index: number) => boolean): T; - static first(array: T[], func?: (v: T, index: number) => boolean): T; - static sum(array: T[], func: (v: T) => number): number; - static select(values: T[], func: (v: T) => S): S[]; - static where(values: T[], func: (v: T) => boolean): T[]; - static any(array: T[], func: (v: T) => boolean): boolean; - static all(array: T[], func: (v: T) => boolean): boolean; - static binarySearch(array: number[], value: number): number; - static createArray(length: number, defaultValue: any): T[]; - static grow(array: T[], length: number, defaultValue: T): void; - static copy(sourceArray: T[], sourceIndex: number, destinationArray: T[], destinationIndex: number, length: number): void; - static indexOf(array: T[], predicate: (v: T) => boolean): number; - } -} -declare module TypeScript { - interface IBitVector { - valueAt(index: number): boolean; - setValueAt(index: number, value: boolean): void; - release(): void; - } - module BitVector { - function getBitVector(allowUndefinedValues: boolean): IBitVector; - } -} -declare module TypeScript { - interface IBitMatrix { - valueAt(x: number, y: number): boolean; - setValueAt(x: number, y: number, value: boolean): void; - release(): void; - } - module BitMatrix { - function getBitMatrix(allowUndefinedValues: boolean): IBitMatrix; - } -} -declare module TypeScript { - enum Constants { - Max31BitInteger = 1073741823, - Min31BitInteger = -1073741824, - } -} -declare module TypeScript { - enum AssertionLevel { - None = 0, - Normal = 1, - Aggressive = 2, - VeryAggressive = 3, - } - class Debug { - private static currentAssertionLevel; - static shouldAssert(level: AssertionLevel): boolean; - static assert(expression: any, message?: string, verboseDebugInfo?: () => string): void; - static fail(message?: string): void; - } -} -declare module TypeScript { - var LocalizedDiagnosticMessages: IIndexable; - class Location { - private _fileName; - private _lineMap; - private _start; - private _length; - constructor(fileName: string, lineMap: LineMap, start: number, length: number); - public fileName(): string; - public lineMap(): LineMap; - public line(): number; - public character(): number; - public start(): number; - public length(): number; - static equals(location1: Location, location2: Location): boolean; - } - class Diagnostic extends Location { - private _diagnosticKey; - private _arguments; - private _additionalLocations; - constructor(fileName: string, lineMap: LineMap, start: number, length: number, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]); - public toJSON(key: any): any; - public diagnosticKey(): string; - public arguments(): any[]; - public text(): string; - public message(): string; - public additionalLocations(): Location[]; - static equals(diagnostic1: Diagnostic, diagnostic2: Diagnostic): boolean; - public info(): DiagnosticInfo; - } - function newLine(): string; - function getLocalizedText(diagnosticKey: string, args: any[]): string; - function getDiagnosticMessage(diagnosticKey: string, args: any[]): string; -} -declare module TypeScript { - interface DiagnosticInfo { - category: DiagnosticCategory; - message: string; - code: number; - } -} -declare module TypeScript { - class Errors { - static argument(argument: string, message?: string): Error; - static argumentOutOfRange(argument: string): Error; - static argumentNull(argument: string): Error; - static abstract(): Error; - static notYetImplemented(): Error; - static invalidOperation(message?: string): Error; - } -} -declare module TypeScript { - class Hash { - private static FNV_BASE; - private static FNV_PRIME; - private static computeFnv1aCharArrayHashCode(text, start, len); - static computeSimple31BitCharArrayHashCode(key: number[], start: number, len: number): number; - static computeSimple31BitStringHashCode(key: string): number; - static computeMurmur2StringHashCode(key: string, seed: number): number; - private static primes; - static getPrime(min: number): number; - static expandPrime(oldSize: number): number; - static combine(value: number, currentHash: number): number; - } -} -declare module TypeScript.Collections { - var DefaultHashTableCapacity: number; - class HashTable { - private hash; - private entries; - private count; - constructor(capacity: number, hash: (k: TKey) => number); - public set(key: TKey, value: TValue): void; - public add(key: TKey, value: TValue): void; - public containsKey(key: TKey): boolean; - public get(key: TKey): TValue; - private computeHashCode(key); - private addOrSet(key, value, throwOnExistingEntry); - private findEntry(key, hashCode); - private addEntry(key, value, hashCode); - private grow(); - } - function createHashTable(capacity?: number, hash?: (k: TKey) => number): HashTable; - function identityHashCode(value: any): number; -} -declare module TypeScript { - var nodeMakeDirectoryTime: number; - var nodeCreateBufferTime: number; - var nodeWriteFileSyncTime: number; - enum ByteOrderMark { - None = 0, - Utf8 = 1, - Utf16BigEndian = 2, - Utf16LittleEndian = 3, - } - class FileInformation { - public contents: string; - public byteOrderMark: ByteOrderMark; - constructor(contents: string, byteOrderMark: ByteOrderMark); - } - interface IEnvironment { - supportsCodePage(): boolean; - readFile(path: string, codepage: number): FileInformation; - writeFile(path: string, contents: string, writeByteOrderMark: boolean): void; - deleteFile(path: string): void; - fileExists(path: string): boolean; - directoryExists(path: string): boolean; - listFiles(path: string, re?: RegExp, options?: { - recursive?: boolean; - }): string[]; - arguments: string[]; - standardOut: ITextWriter; - currentDirectory(): string; - newLine: string; - } - var Environment: IEnvironment; -} -declare module TypeScript { - interface IIndexable { - [s: string]: T; - } -} -declare module TypeScript { - module IntegerUtilities { - function integerDivide(numerator: number, denominator: number): number; - function integerMultiplyLow32Bits(n1: number, n2: number): number; - function integerMultiplyHigh32Bits(n1: number, n2: number): number; - function isInteger(text: string): boolean; - function isHexInteger(text: string): boolean; - } -} -declare module TypeScript { - interface Iterator { - moveNext(): boolean; - current(): T; - } -} -declare module TypeScript { - interface ILineAndCharacter { - line: number; - character: number; - } -} -declare module TypeScript { - class LineMap { - private _computeLineStarts; - private length; - static empty: LineMap; - private _lineStarts; - constructor(_computeLineStarts: () => number[], length: number); - public toJSON(key: any): { - lineStarts: number[]; - length: number; - }; - public equals(other: LineMap): boolean; - public lineStarts(): number[]; - public lineCount(): number; - public getPosition(line: number, character: number): number; - public getLineNumberFromPosition(position: number): number; - public getLineStartPosition(lineNumber: number): number; - public fillLineAndCharacterFromPosition(position: number, lineAndCharacter: ILineAndCharacter): void; - public getLineAndCharacterFromPosition(position: number): LineAndCharacter; - } -} -declare module TypeScript { - class LineAndCharacter { - private _line; - private _character; - constructor(line: number, character: number); - public line(): number; - public character(): number; - } -} -declare module TypeScript { - class MathPrototype { - static max(a: number, b: number): number; - static min(a: number, b: number): number; - } -} -declare module TypeScript.Collections { - var DefaultStringTableCapacity: number; - class StringTable { - private entries; - private count; - constructor(capacity: number); - public addCharArray(key: number[], start: number, len: number): string; - private findCharArrayEntry(key, start, len, hashCode); - private addEntry(text, hashCode); - private grow(); - private static textCharArrayEquals(text, array, start, length); - } - var DefaultStringTable: StringTable; -} -declare module TypeScript { - class StringUtilities { - static isString(value: any): boolean; - static fromCharCodeArray(array: number[]): string; - static endsWith(string: string, value: string): boolean; - static startsWith(string: string, value: string): boolean; - static copyTo(source: string, sourceIndex: number, destination: number[], destinationIndex: number, count: number): void; - static repeat(value: string, count: number): string; - static stringEquals(val1: string, val2: string): boolean; - } -} -declare module TypeScript { - class Timer { - public startTime: number; - public time: number; - public start(): void; - public end(): void; - } -} -declare module TypeScript { - enum DiagnosticCategory { - Warning = 0, - Error = 1, - Message = 2, - NoPrefix = 3, - } -} -declare module TypeScript { - var diagnosticInformationMap: IIndexable; -} -declare module TypeScript { - enum CharacterCodes { - nullCharacter = 0, - maxAsciiCharacter = 127, - lineFeed = 10, - carriageReturn = 13, - lineSeparator = 8232, - paragraphSeparator = 8233, - nextLine = 133, - space = 32, - nonBreakingSpace = 160, - enQuad = 8192, - emQuad = 8193, - enSpace = 8194, - emSpace = 8195, - threePerEmSpace = 8196, - fourPerEmSpace = 8197, - sixPerEmSpace = 8198, - figureSpace = 8199, - punctuationSpace = 8200, - thinSpace = 8201, - hairSpace = 8202, - zeroWidthSpace = 8203, - narrowNoBreakSpace = 8239, - ideographicSpace = 12288, - _ = 95, - $ = 36, - _0 = 48, - _7 = 55, - _9 = 57, - a = 97, - b = 98, - c = 99, - d = 100, - e = 101, - f = 102, - g = 103, - h = 104, - i = 105, - k = 107, - l = 108, - m = 109, - n = 110, - o = 111, - p = 112, - q = 113, - r = 114, - s = 115, - t = 116, - u = 117, - v = 118, - w = 119, - x = 120, - y = 121, - z = 122, - A = 65, - E = 69, - F = 70, - X = 88, - Z = 90, - ampersand = 38, - asterisk = 42, - at = 64, - backslash = 92, - bar = 124, - caret = 94, - closeBrace = 125, - closeBracket = 93, - closeParen = 41, - colon = 58, - comma = 44, - dot = 46, - doubleQuote = 34, - equals = 61, - exclamation = 33, - greaterThan = 62, - lessThan = 60, - minus = 45, - openBrace = 123, - openBracket = 91, - openParen = 40, - percent = 37, - plus = 43, - question = 63, - semicolon = 59, - singleQuote = 39, - slash = 47, - tilde = 126, - backspace = 8, - formFeed = 12, - byteOrderMark = 65279, - tab = 9, - verticalTab = 11, - } -} -declare module TypeScript { - interface IScriptSnapshot { - getText(start: number, end: number): string; - getLength(): number; - getLineStartPositions(): number[]; - getTextChangeRangeSinceVersion(scriptVersion: number): TextChangeRange; - } - module ScriptSnapshot { - function fromString(text: string): IScriptSnapshot; - } -} -declare module TypeScript { - interface ISimpleText { - length(): number; - copyTo(sourceIndex: number, destination: number[], destinationIndex: number, count: number): void; - substr(start: number, length: number, intern: boolean): string; - subText(span: TextSpan): ISimpleText; - charCodeAt(index: number): number; - lineMap(): LineMap; - } - interface IText extends ISimpleText { - lineCount(): number; - lines(): ITextLine[]; - charCodeAt(position: number): number; - getLineFromLineNumber(lineNumber: number): ITextLine; - getLineFromPosition(position: number): ITextLine; - getLineNumberFromPosition(position: number): number; - getLinePosition(position: number): LineAndCharacter; - toString(span?: TextSpan): string; - } -} -declare module TypeScript { - interface ITextLine { - start(): number; - end(): number; - endIncludingLineBreak(): number; - extent(): TextSpan; - extentIncludingLineBreak(): TextSpan; - toString(): string; - lineNumber(): number; - } -} -declare module TypeScript { - module LineMap1 { - function fromSimpleText(text: ISimpleText): LineMap; - function fromScriptSnapshot(scriptSnapshot: IScriptSnapshot): LineMap; - function fromString(text: string): LineMap; - } -} -declare module TypeScript.TextFactory { - function createText(value: string): IText; -} -declare module TypeScript.SimpleText { - function fromString(value: string): ISimpleText; - function fromScriptSnapshot(scriptSnapshot: IScriptSnapshot): ISimpleText; -} -declare module TypeScript.TextUtilities { - interface ICharacterSequence { - charCodeAt(index: number): number; - length: number; - } - function parseLineStarts(text: ICharacterSequence): number[]; - function getLengthOfLineBreakSlow(text: ICharacterSequence, index: number, c: number): number; - function getLengthOfLineBreak(text: ICharacterSequence, index: number): number; - function isAnyLineBreakCharacter(c: number): boolean; -} -declare module TypeScript { - class TextSpan { - private _start; - private _length; - constructor(start: number, length: number); - public start(): number; - public length(): number; - public end(): number; - public isEmpty(): boolean; - public containsPosition(position: number): boolean; - public containsTextSpan(span: TextSpan): boolean; - public overlapsWith(span: TextSpan): boolean; - public overlap(span: TextSpan): TextSpan; - public intersectsWithTextSpan(span: TextSpan): boolean; - public intersectsWith(start: number, length: number): boolean; - public intersectsWithPosition(position: number): boolean; - public intersection(span: TextSpan): TextSpan; - static fromBounds(start: number, end: number): TextSpan; - } -} -declare module TypeScript { - class TextChangeRange { - static unchanged: TextChangeRange; - private _span; - private _newLength; - constructor(span: TextSpan, newLength: number); - public span(): TextSpan; - public newLength(): number; - public newSpan(): TextSpan; - public isUnchanged(): boolean; - static collapseChangesFromSingleVersion(changes: TextChangeRange[]): TextChangeRange; - static collapseChangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange; - } -} -declare module TypeScript { - class CharacterInfo { - static isDecimalDigit(c: number): boolean; - static isOctalDigit(c: number): boolean; - static isHexDigit(c: number): boolean; - static hexValue(c: number): number; - static isWhitespace(ch: number): boolean; - static isLineTerminator(ch: number): boolean; - } -} -declare module TypeScript { - enum SyntaxConstants { - TriviaNewLineMask = 1, - TriviaCommentMask = 2, - TriviaFullWidthShift = 2, - NodeDataComputed = 1, - NodeIncrementallyUnusableMask = 2, - NodeParsedInStrictModeMask = 4, - NodeFullWidthShift = 3, - IsVariableWidthKeyword = -2147483648, - } -} -declare class FormattingOptions { - public useTabs: boolean; - public spacesPerTab: number; - public indentSpaces: number; - public newLineCharacter: string; - constructor(useTabs: boolean, spacesPerTab: number, indentSpaces: number, newLineCharacter: string); - static defaultOptions: FormattingOptions; -} -declare module TypeScript.Indentation { - function columnForEndOfToken(token: ISyntaxToken, syntaxInformationMap: SyntaxInformationMap, options: FormattingOptions): number; - function columnForStartOfToken(token: ISyntaxToken, syntaxInformationMap: SyntaxInformationMap, options: FormattingOptions): number; - function columnForStartOfFirstTokenInLineContainingToken(token: ISyntaxToken, syntaxInformationMap: SyntaxInformationMap, options: FormattingOptions): number; - function columnForPositionInString(input: string, position: number, options: FormattingOptions): number; - function indentationString(column: number, options: FormattingOptions): string; - function indentationTrivia(column: number, options: FormattingOptions): ISyntaxTrivia; - function firstNonWhitespacePosition(value: string): number; -} -declare module TypeScript { - enum LanguageVersion { - EcmaScript3 = 0, - EcmaScript5 = 1, - } -} -declare module TypeScript { - class ParseOptions { - private _languageVersion; - private _allowAutomaticSemicolonInsertion; - constructor(languageVersion: LanguageVersion, allowAutomaticSemicolonInsertion: boolean); - public toJSON(key: any): { - allowAutomaticSemicolonInsertion: boolean; - }; - public languageVersion(): LanguageVersion; - public allowAutomaticSemicolonInsertion(): boolean; - } -} -declare module TypeScript { - class PositionedElement { - private _parent; - private _element; - private _fullStart; - constructor(parent: PositionedElement, element: ISyntaxElement, fullStart: number); - static create(parent: PositionedElement, element: ISyntaxElement, fullStart: number): PositionedElement; - public parent(): PositionedElement; - public parentElement(): ISyntaxElement; - public element(): ISyntaxElement; - public kind(): SyntaxKind; - public childIndex(child: ISyntaxElement): number; - public childCount(): number; - public childAt(index: number): PositionedElement; - public childStart(child: ISyntaxElement): number; - public childEnd(child: ISyntaxElement): number; - public childStartAt(index: number): number; - public childEndAt(index: number): number; - public getPositionedChild(child: ISyntaxElement): PositionedElement; - public fullStart(): number; - public fullEnd(): number; - public fullWidth(): number; - public start(): number; - public end(): number; - public root(): PositionedNode; - public containingNode(): PositionedNode; - } - class PositionedNodeOrToken extends PositionedElement { - constructor(parent: PositionedElement, nodeOrToken: ISyntaxNodeOrToken, fullStart: number); - public nodeOrToken(): ISyntaxNodeOrToken; - } - class PositionedNode extends PositionedNodeOrToken { - constructor(parent: PositionedElement, node: SyntaxNode, fullStart: number); - public node(): SyntaxNode; - } - class PositionedToken extends PositionedNodeOrToken { - constructor(parent: PositionedElement, token: ISyntaxToken, fullStart: number); - public token(): ISyntaxToken; - public previousToken(includeSkippedTokens?: boolean): PositionedToken; - public nextToken(includeSkippedTokens?: boolean): PositionedToken; - } - class PositionedList extends PositionedElement { - constructor(parent: PositionedElement, list: ISyntaxList, fullStart: number); - public list(): ISyntaxList; - } - class PositionedSeparatedList extends PositionedElement { - constructor(parent: PositionedElement, list: ISeparatedSyntaxList, fullStart: number); - public list(): ISeparatedSyntaxList; - } - class PositionedSkippedToken extends PositionedToken { - private _parentToken; - constructor(parentToken: PositionedToken, token: ISyntaxToken, fullStart: number); - public parentToken(): PositionedToken; - public previousToken(includeSkippedTokens?: boolean): PositionedToken; - public nextToken(includeSkippedTokens?: boolean): PositionedToken; - } -} -declare module TypeScript { - enum SyntaxKind { - None = 0, - List = 1, - SeparatedList = 2, - TriviaList = 3, - WhitespaceTrivia = 4, - NewLineTrivia = 5, - MultiLineCommentTrivia = 6, - SingleLineCommentTrivia = 7, - SkippedTokenTrivia = 8, - ErrorToken = 9, - EndOfFileToken = 10, - IdentifierName = 11, - RegularExpressionLiteral = 12, - NumericLiteral = 13, - StringLiteral = 14, - BreakKeyword = 15, - CaseKeyword = 16, - CatchKeyword = 17, - ContinueKeyword = 18, - DebuggerKeyword = 19, - DefaultKeyword = 20, - DeleteKeyword = 21, - DoKeyword = 22, - ElseKeyword = 23, - FalseKeyword = 24, - FinallyKeyword = 25, - ForKeyword = 26, - FunctionKeyword = 27, - IfKeyword = 28, - InKeyword = 29, - InstanceOfKeyword = 30, - NewKeyword = 31, - NullKeyword = 32, - ReturnKeyword = 33, - SwitchKeyword = 34, - ThisKeyword = 35, - ThrowKeyword = 36, - TrueKeyword = 37, - TryKeyword = 38, - TypeOfKeyword = 39, - VarKeyword = 40, - VoidKeyword = 41, - WhileKeyword = 42, - WithKeyword = 43, - ClassKeyword = 44, - ConstKeyword = 45, - EnumKeyword = 46, - ExportKeyword = 47, - ExtendsKeyword = 48, - ImportKeyword = 49, - SuperKeyword = 50, - ImplementsKeyword = 51, - InterfaceKeyword = 52, - LetKeyword = 53, - PackageKeyword = 54, - PrivateKeyword = 55, - ProtectedKeyword = 56, - PublicKeyword = 57, - StaticKeyword = 58, - YieldKeyword = 59, - AnyKeyword = 60, - BooleanKeyword = 61, - ConstructorKeyword = 62, - DeclareKeyword = 63, - GetKeyword = 64, - ModuleKeyword = 65, - RequireKeyword = 66, - NumberKeyword = 67, - SetKeyword = 68, - StringKeyword = 69, - OpenBraceToken = 70, - CloseBraceToken = 71, - OpenParenToken = 72, - CloseParenToken = 73, - OpenBracketToken = 74, - CloseBracketToken = 75, - DotToken = 76, - DotDotDotToken = 77, - SemicolonToken = 78, - CommaToken = 79, - LessThanToken = 80, - GreaterThanToken = 81, - LessThanEqualsToken = 82, - GreaterThanEqualsToken = 83, - EqualsEqualsToken = 84, - EqualsGreaterThanToken = 85, - ExclamationEqualsToken = 86, - EqualsEqualsEqualsToken = 87, - ExclamationEqualsEqualsToken = 88, - PlusToken = 89, - MinusToken = 90, - AsteriskToken = 91, - PercentToken = 92, - PlusPlusToken = 93, - MinusMinusToken = 94, - LessThanLessThanToken = 95, - GreaterThanGreaterThanToken = 96, - GreaterThanGreaterThanGreaterThanToken = 97, - AmpersandToken = 98, - BarToken = 99, - CaretToken = 100, - ExclamationToken = 101, - TildeToken = 102, - AmpersandAmpersandToken = 103, - BarBarToken = 104, - QuestionToken = 105, - ColonToken = 106, - EqualsToken = 107, - PlusEqualsToken = 108, - MinusEqualsToken = 109, - AsteriskEqualsToken = 110, - PercentEqualsToken = 111, - LessThanLessThanEqualsToken = 112, - GreaterThanGreaterThanEqualsToken = 113, - GreaterThanGreaterThanGreaterThanEqualsToken = 114, - AmpersandEqualsToken = 115, - BarEqualsToken = 116, - CaretEqualsToken = 117, - SlashToken = 118, - SlashEqualsToken = 119, - SourceUnit = 120, - QualifiedName = 121, - ObjectType = 122, - FunctionType = 123, - ArrayType = 124, - ConstructorType = 125, - GenericType = 126, - TypeQuery = 127, - InterfaceDeclaration = 128, - FunctionDeclaration = 129, - ModuleDeclaration = 130, - ClassDeclaration = 131, - EnumDeclaration = 132, - ImportDeclaration = 133, - ExportAssignment = 134, - MemberFunctionDeclaration = 135, - MemberVariableDeclaration = 136, - ConstructorDeclaration = 137, - IndexMemberDeclaration = 138, - GetAccessor = 139, - SetAccessor = 140, - PropertySignature = 141, - CallSignature = 142, - ConstructSignature = 143, - IndexSignature = 144, - MethodSignature = 145, - Block = 146, - IfStatement = 147, - VariableStatement = 148, - ExpressionStatement = 149, - ReturnStatement = 150, - SwitchStatement = 151, - BreakStatement = 152, - ContinueStatement = 153, - ForStatement = 154, - ForInStatement = 155, - EmptyStatement = 156, - ThrowStatement = 157, - WhileStatement = 158, - TryStatement = 159, - LabeledStatement = 160, - DoStatement = 161, - DebuggerStatement = 162, - WithStatement = 163, - PlusExpression = 164, - NegateExpression = 165, - BitwiseNotExpression = 166, - LogicalNotExpression = 167, - PreIncrementExpression = 168, - PreDecrementExpression = 169, - DeleteExpression = 170, - TypeOfExpression = 171, - VoidExpression = 172, - CommaExpression = 173, - AssignmentExpression = 174, - AddAssignmentExpression = 175, - SubtractAssignmentExpression = 176, - MultiplyAssignmentExpression = 177, - DivideAssignmentExpression = 178, - ModuloAssignmentExpression = 179, - AndAssignmentExpression = 180, - ExclusiveOrAssignmentExpression = 181, - OrAssignmentExpression = 182, - LeftShiftAssignmentExpression = 183, - SignedRightShiftAssignmentExpression = 184, - UnsignedRightShiftAssignmentExpression = 185, - ConditionalExpression = 186, - LogicalOrExpression = 187, - LogicalAndExpression = 188, - BitwiseOrExpression = 189, - BitwiseExclusiveOrExpression = 190, - BitwiseAndExpression = 191, - EqualsWithTypeConversionExpression = 192, - NotEqualsWithTypeConversionExpression = 193, - EqualsExpression = 194, - NotEqualsExpression = 195, - LessThanExpression = 196, - GreaterThanExpression = 197, - LessThanOrEqualExpression = 198, - GreaterThanOrEqualExpression = 199, - InstanceOfExpression = 200, - InExpression = 201, - LeftShiftExpression = 202, - SignedRightShiftExpression = 203, - UnsignedRightShiftExpression = 204, - MultiplyExpression = 205, - DivideExpression = 206, - ModuloExpression = 207, - AddExpression = 208, - SubtractExpression = 209, - PostIncrementExpression = 210, - PostDecrementExpression = 211, - MemberAccessExpression = 212, - InvocationExpression = 213, - ArrayLiteralExpression = 214, - ObjectLiteralExpression = 215, - ObjectCreationExpression = 216, - ParenthesizedExpression = 217, - ParenthesizedArrowFunctionExpression = 218, - SimpleArrowFunctionExpression = 219, - CastExpression = 220, - ElementAccessExpression = 221, - FunctionExpression = 222, - OmittedExpression = 223, - VariableDeclaration = 224, - VariableDeclarator = 225, - ArgumentList = 226, - ParameterList = 227, - TypeArgumentList = 228, - TypeParameterList = 229, - ExtendsHeritageClause = 230, - ImplementsHeritageClause = 231, - EqualsValueClause = 232, - CaseSwitchClause = 233, - DefaultSwitchClause = 234, - ElseClause = 235, - CatchClause = 236, - FinallyClause = 237, - TypeParameter = 238, - Constraint = 239, - SimplePropertyAssignment = 240, - FunctionPropertyAssignment = 241, - Parameter = 242, - EnumElement = 243, - TypeAnnotation = 244, - ExternalModuleReference = 245, - ModuleNameModuleReference = 246, - Last = 246, - FirstStandardKeyword = 15, - LastStandardKeyword = 43, - FirstFutureReservedKeyword = 44, - LastFutureReservedKeyword = 50, - FirstFutureReservedStrictKeyword = 51, - LastFutureReservedStrictKeyword = 59, - FirstTypeScriptKeyword = 60, - LastTypeScriptKeyword = 69, - FirstKeyword = 15, - LastKeyword = 69, - FirstToken = 9, - LastToken = 119, - FirstPunctuation = 70, - LastPunctuation = 119, - FirstFixedWidth = 15, - LastFixedWidth = 119, - FirstTrivia = 4, - LastTrivia = 8, - } -} -declare module TypeScript.SyntaxFacts { - function getTokenKind(text: string): SyntaxKind; - function getText(kind: SyntaxKind): string; - function isTokenKind(kind: SyntaxKind): boolean; - function isAnyKeyword(kind: SyntaxKind): boolean; - function isStandardKeyword(kind: SyntaxKind): boolean; - function isFutureReservedKeyword(kind: SyntaxKind): boolean; - function isFutureReservedStrictKeyword(kind: SyntaxKind): boolean; - function isAnyPunctuation(kind: SyntaxKind): boolean; - function isPrefixUnaryExpressionOperatorToken(tokenKind: SyntaxKind): boolean; - function isBinaryExpressionOperatorToken(tokenKind: SyntaxKind): boolean; - function getPrefixUnaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind; - function getPostfixUnaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind; - function getBinaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind; - function getOperatorTokenFromBinaryExpression(tokenKind: SyntaxKind): SyntaxKind; - function isAnyDivideToken(kind: SyntaxKind): boolean; - function isAnyDivideOrRegularExpressionToken(kind: SyntaxKind): boolean; -} -declare module TypeScript { - class Scanner implements ISlidingWindowSource { - private slidingWindow; - private fileName; - private text; - private _languageVersion; - constructor(fileName: string, text: ISimpleText, languageVersion: LanguageVersion, window?: number[]); - public languageVersion(): LanguageVersion; - public fetchMoreItems(argument: any, sourceIndex: number, window: number[], destinationIndex: number, spaceAvailable: number): number; - private currentCharCode(); - public absoluteIndex(): number; - public setAbsoluteIndex(index: number): void; - public scan(diagnostics: Diagnostic[], allowRegularExpression: boolean): ISyntaxToken; - private createToken(fullStart, leadingTriviaInfo, start, kind, end, fullEnd, trailingTriviaInfo, isVariableWidthKeyword); - private static triviaWindow; - static scanTrivia(text: ISimpleText, start: number, length: number, isTrailing: boolean): ISyntaxTriviaList; - private scanTrivia(underlyingText, underlyingTextStart, isTrailing); - private scanTriviaInfo(diagnostics, isTrailing); - private isNewLineCharacter(ch); - private scanWhitespaceTrivia(underlyingText, underlyingTextStart); - private scanSingleLineCommentTrivia(underlyingText, underlyingTextStart); - private scanSingleLineCommentTriviaLength(); - private scanMultiLineCommentTrivia(underlyingText, underlyingTextStart); - private scanMultiLineCommentTriviaLength(diagnostics); - private scanLineTerminatorSequenceTrivia(ch); - private scanLineTerminatorSequenceLength(ch); - private scanSyntaxToken(diagnostics, allowRegularExpression); - private isIdentifierStart(interpretedChar); - private isIdentifierPart(interpretedChar); - private tryFastScanIdentifierOrKeyword(firstCharacter); - private slowScanIdentifierOrKeyword(diagnostics); - private scanNumericLiteral(diagnostics); - private isOctalNumericLiteral(); - private scanOctalNumericLiteral(diagnostics); - private scanDecimalDigits(); - private scanDecimalNumericLiteral(); - private scanHexNumericLiteral(); - private isHexNumericLiteral(); - private advanceAndSetTokenKind(kind); - private scanLessThanToken(); - private scanBarToken(); - private scanCaretToken(); - private scanAmpersandToken(); - private scanPercentToken(); - private scanMinusToken(); - private scanPlusToken(); - private scanAsteriskToken(); - private scanEqualsToken(); - private isDotPrefixedNumericLiteral(); - private scanDotToken(diagnostics); - private scanSlashToken(allowRegularExpression); - private tryScanRegularExpressionToken(); - private scanExclamationToken(); - private scanDefaultCharacter(character, diagnostics); - private getErrorMessageText(text); - private skipEscapeSequence(diagnostics); - private scanStringLiteral(diagnostics); - private isUnicodeEscape(character); - private peekCharOrUnicodeEscape(); - private peekUnicodeOrHexEscape(); - private scanCharOrUnicodeEscape(errors); - private scanUnicodeOrHexEscape(errors); - public substring(start: number, end: number, intern: boolean): string; - private createIllegalEscapeDiagnostic(start, end); - static isValidIdentifier(text: ISimpleText, languageVersion: LanguageVersion): boolean; - } -} -declare module TypeScript { - class ScannerUtilities { - static identifierKind(array: number[], startIndex: number, length: number): SyntaxKind; - } -} -declare module TypeScript { - interface ISeparatedSyntaxList extends ISyntaxElement { - childAt(index: number): ISyntaxNodeOrToken; - toArray(): ISyntaxNodeOrToken[]; - toNonSeparatorArray(): ISyntaxNodeOrToken[]; - separatorCount(): number; - separatorAt(index: number): ISyntaxToken; - nonSeparatorCount(): number; - nonSeparatorAt(index: number): ISyntaxNodeOrToken; - insertChildrenInto(array: ISyntaxElement[], index: number): void; - } -} -declare module TypeScript.Syntax { - var emptySeparatedList: ISeparatedSyntaxList; - function separatedList(nodes: ISyntaxNodeOrToken[]): ISeparatedSyntaxList; -} -declare module TypeScript { - interface ISlidingWindowSource { - fetchMoreItems(argument: any, sourceIndex: number, window: any[], destinationIndex: number, spaceAvailable: number): number; - } - class SlidingWindow { - private source; - public window: any[]; - private defaultValue; - private sourceLength; - public windowCount: number; - public windowAbsoluteStartIndex: number; - public currentRelativeItemIndex: number; - private _pinCount; - private firstPinnedAbsoluteIndex; - constructor(source: ISlidingWindowSource, window: any[], defaultValue: any, sourceLength?: number); - private windowAbsoluteEndIndex(); - private addMoreItemsToWindow(argument); - private tryShiftOrGrowWindow(); - public absoluteIndex(): number; - public isAtEndOfSource(): boolean; - public getAndPinAbsoluteIndex(): number; - public releaseAndUnpinAbsoluteIndex(absoluteIndex: number): void; - public rewindToPinnedIndex(absoluteIndex: number): void; - public currentItem(argument: any): any; - public peekItemN(n: number): any; - public moveToNextItem(): void; - public disgardAllItemsFromCurrentIndexOnwards(): void; - public setAbsoluteIndex(absoluteIndex: number): void; - public pinCount(): number; - } -} -declare module TypeScript { -} -declare module TypeScript.Syntax { - function emptySourceUnit(): SourceUnitSyntax; - function getStandaloneExpression(positionedToken: PositionedToken): PositionedNodeOrToken; - function isInModuleOrTypeContext(positionedToken: PositionedToken): boolean; - function isInTypeOnlyContext(positionedToken: PositionedToken): boolean; - function childOffset(parent: ISyntaxElement, child: ISyntaxElement): number; - function childOffsetAt(parent: ISyntaxElement, index: number): number; - function childIndex(parent: ISyntaxElement, child: ISyntaxElement): number; - function nodeStructuralEquals(node1: SyntaxNode, node2: SyntaxNode): boolean; - function nodeOrTokenStructuralEquals(node1: ISyntaxNodeOrToken, node2: ISyntaxNodeOrToken): boolean; - function tokenStructuralEquals(token1: ISyntaxToken, token2: ISyntaxToken): boolean; - function triviaListStructuralEquals(triviaList1: ISyntaxTriviaList, triviaList2: ISyntaxTriviaList): boolean; - function triviaStructuralEquals(trivia1: ISyntaxTrivia, trivia2: ISyntaxTrivia): boolean; - function listStructuralEquals(list1: ISyntaxList, list2: ISyntaxList): boolean; - function separatedListStructuralEquals(list1: ISeparatedSyntaxList, list2: ISeparatedSyntaxList): boolean; - function elementStructuralEquals(element1: ISyntaxElement, element2: ISyntaxElement): boolean; - function identifierName(text: string, info?: ITokenInfo): ISyntaxToken; - function trueExpression(): IUnaryExpressionSyntax; - function falseExpression(): IUnaryExpressionSyntax; - function numericLiteralExpression(text: string): IUnaryExpressionSyntax; - function stringLiteralExpression(text: string): IUnaryExpressionSyntax; - function isSuperInvocationExpression(node: IExpressionSyntax): boolean; - function isSuperInvocationExpressionStatement(node: SyntaxNode): boolean; - function isSuperMemberAccessExpression(node: IExpressionSyntax): boolean; - function isSuperMemberAccessInvocationExpression(node: SyntaxNode): boolean; - function assignmentExpression(left: IExpressionSyntax, token: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax; - function nodeHasSkippedOrMissingTokens(node: SyntaxNode): boolean; - function isUnterminatedStringLiteral(token: ISyntaxToken): boolean; - function isUnterminatedMultilineCommentTrivia(trivia: ISyntaxTrivia): boolean; - function isEntirelyInsideCommentTrivia(trivia: ISyntaxTrivia, fullStart: number, position: number): boolean; - function isEntirelyInsideComment(sourceUnit: SourceUnitSyntax, position: number): boolean; - function isEntirelyInStringOrRegularExpressionLiteral(sourceUnit: SourceUnitSyntax, position: number): boolean; - function findSkippedTokenInLeadingTriviaList(positionedToken: PositionedToken, position: number): PositionedSkippedToken; - function findSkippedTokenInTrailingTriviaList(positionedToken: PositionedToken, position: number): PositionedSkippedToken; - function findSkippedTokenInPositionedToken(positionedToken: PositionedToken, position: number): PositionedSkippedToken; - function findSkippedTokenOnLeft(positionedToken: PositionedToken, position: number): PositionedSkippedToken; - function getAncestorOfKind(positionedToken: PositionedElement, kind: SyntaxKind): PositionedElement; - function hasAncestorOfKind(positionedToken: PositionedElement, kind: SyntaxKind): boolean; - function isIntegerLiteral(expression: IExpressionSyntax): boolean; -} -declare module TypeScript { - interface ISyntaxElement { - kind(): SyntaxKind; - isNode(): boolean; - isToken(): boolean; - isList(): boolean; - isSeparatedList(): boolean; - childCount(): number; - childAt(index: number): ISyntaxElement; - isTypeScriptSpecific(): boolean; - isIncrementallyUnusable(): boolean; - fullWidth(): number; - width(): number; - fullText(): string; - leadingTrivia(): ISyntaxTriviaList; - trailingTrivia(): ISyntaxTriviaList; - leadingTriviaWidth(): number; - trailingTriviaWidth(): number; - firstToken(): ISyntaxToken; - lastToken(): ISyntaxToken; - collectTextElements(elements: string[]): void; - } - interface ISyntaxNode extends ISyntaxNodeOrToken { - } - interface IModuleReferenceSyntax extends ISyntaxNode { - isModuleReference(): boolean; - } - interface IModuleElementSyntax extends ISyntaxNode { - } - interface IStatementSyntax extends IModuleElementSyntax { - isStatement(): boolean; - } - interface IIterationStatementSyntax extends IStatementSyntax { - isIterationStatement(): boolean; - } - interface ITypeMemberSyntax extends ISyntaxNode { - } - interface IClassElementSyntax extends ISyntaxNode { - } - interface IMemberDeclarationSyntax extends IClassElementSyntax { - } - interface IPropertyAssignmentSyntax extends IClassElementSyntax { - } - interface ISwitchClauseSyntax extends ISyntaxNode { - isSwitchClause(): boolean; - statements: ISyntaxList; - } - interface IExpressionSyntax extends ISyntaxNodeOrToken { - isExpression(): boolean; - withLeadingTrivia(trivia: ISyntaxTriviaList): IExpressionSyntax; - withTrailingTrivia(trivia: ISyntaxTriviaList): IExpressionSyntax; - } - interface IUnaryExpressionSyntax extends IExpressionSyntax { - isUnaryExpression(): boolean; - } - interface IArrowFunctionExpressionSyntax extends IUnaryExpressionSyntax { - isArrowFunctionExpression(): boolean; - equalsGreaterThanToken: ISyntaxToken; - block: BlockSyntax; - expression: IExpressionSyntax; - } - interface IPostfixExpressionSyntax extends IUnaryExpressionSyntax { - isPostfixExpression(): boolean; - } - interface IMemberExpressionSyntax extends IPostfixExpressionSyntax { - isMemberExpression(): boolean; - } - interface IPrimaryExpressionSyntax extends IMemberExpressionSyntax { - isPrimaryExpression(): boolean; - } - interface ITypeSyntax extends ISyntaxNodeOrToken { - } - interface INameSyntax extends ITypeSyntax { - } -} -declare module TypeScript.Syntax { - interface IFactory { - sourceUnit(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax; - externalModuleReference(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; - moduleNameModuleReference(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax; - importDeclaration(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax; - exportAssignment(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax; - classDeclaration(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; - interfaceDeclaration(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax; - heritageClause(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax; - moduleDeclaration(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; - functionDeclaration(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax; - variableStatement(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax; - variableDeclaration(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; - variableDeclarator(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax; - equalsValueClause(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax; - prefixUnaryExpression(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax; - arrayLiteralExpression(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; - omittedExpression(): OmittedExpressionSyntax; - parenthesizedExpression(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; - simpleArrowFunctionExpression(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax; - parenthesizedArrowFunctionExpression(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax; - qualifiedName(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax; - typeArgumentList(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; - constructorType(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax; - functionType(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax; - objectType(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax; - arrayType(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax; - genericType(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax; - typeQuery(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax; - typeAnnotation(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax; - block(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax; - parameter(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax; - memberAccessExpression(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax; - postfixUnaryExpression(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax; - elementAccessExpression(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; - invocationExpression(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax; - argumentList(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax; - binaryExpression(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax; - conditionalExpression(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; - constructSignature(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax; - methodSignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax; - indexSignature(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax; - propertySignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax; - callSignature(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax; - parameterList(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax; - typeParameterList(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax; - typeParameter(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax; - constraint(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax; - elseClause(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax; - ifStatement(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax; - expressionStatement(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax; - constructorDeclaration(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax; - memberFunctionDeclaration(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax; - getAccessor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax; - setAccessor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax; - memberVariableDeclaration(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; - indexMemberDeclaration(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; - throwStatement(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax; - returnStatement(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax; - objectCreationExpression(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax; - switchStatement(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax; - caseSwitchClause(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax; - defaultSwitchClause(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax; - breakStatement(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax; - continueStatement(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax; - forStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax; - forInStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax; - whileStatement(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax; - withStatement(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax; - enumDeclaration(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; - enumElement(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax; - castExpression(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax; - objectLiteralExpression(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; - simplePropertyAssignment(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; - functionPropertyAssignment(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax; - functionExpression(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax; - emptyStatement(semicolonToken: ISyntaxToken): EmptyStatementSyntax; - tryStatement(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax; - catchClause(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax; - finallyClause(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax; - labeledStatement(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax; - doStatement(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax; - typeOfExpression(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; - deleteExpression(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; - voidExpression(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax; - debuggerStatement(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax; - } - class NormalModeFactory implements IFactory { - public sourceUnit(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax; - public externalModuleReference(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; - public moduleNameModuleReference(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax; - public importDeclaration(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax; - public exportAssignment(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax; - public classDeclaration(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; - public interfaceDeclaration(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax; - public heritageClause(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax; - public moduleDeclaration(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; - public functionDeclaration(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax; - public variableStatement(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax; - public variableDeclaration(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; - public variableDeclarator(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax; - public equalsValueClause(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax; - public prefixUnaryExpression(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax; - public arrayLiteralExpression(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; - public omittedExpression(): OmittedExpressionSyntax; - public parenthesizedExpression(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; - public simpleArrowFunctionExpression(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax; - public parenthesizedArrowFunctionExpression(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax; - public qualifiedName(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax; - public typeArgumentList(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; - public constructorType(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax; - public functionType(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax; - public objectType(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax; - public arrayType(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax; - public genericType(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax; - public typeQuery(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax; - public typeAnnotation(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax; - public block(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax; - public parameter(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax; - public memberAccessExpression(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax; - public postfixUnaryExpression(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax; - public elementAccessExpression(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; - public invocationExpression(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax; - public argumentList(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax; - public binaryExpression(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax; - public conditionalExpression(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; - public constructSignature(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax; - public methodSignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax; - public indexSignature(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax; - public propertySignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax; - public callSignature(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax; - public parameterList(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax; - public typeParameterList(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax; - public typeParameter(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax; - public constraint(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax; - public elseClause(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax; - public ifStatement(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax; - public expressionStatement(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax; - public constructorDeclaration(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax; - public memberFunctionDeclaration(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax; - public getAccessor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax; - public setAccessor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax; - public memberVariableDeclaration(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; - public indexMemberDeclaration(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; - public throwStatement(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax; - public returnStatement(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax; - public objectCreationExpression(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax; - public switchStatement(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax; - public caseSwitchClause(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax; - public defaultSwitchClause(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax; - public breakStatement(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax; - public continueStatement(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax; - public forStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax; - public forInStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax; - public whileStatement(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax; - public withStatement(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax; - public enumDeclaration(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; - public enumElement(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax; - public castExpression(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax; - public objectLiteralExpression(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; - public simplePropertyAssignment(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; - public functionPropertyAssignment(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax; - public functionExpression(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax; - public emptyStatement(semicolonToken: ISyntaxToken): EmptyStatementSyntax; - public tryStatement(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax; - public catchClause(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax; - public finallyClause(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax; - public labeledStatement(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax; - public doStatement(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax; - public typeOfExpression(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; - public deleteExpression(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; - public voidExpression(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax; - public debuggerStatement(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax; - } - class StrictModeFactory implements IFactory { - public sourceUnit(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax; - public externalModuleReference(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; - public moduleNameModuleReference(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax; - public importDeclaration(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax; - public exportAssignment(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax; - public classDeclaration(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; - public interfaceDeclaration(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax; - public heritageClause(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax; - public moduleDeclaration(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; - public functionDeclaration(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax; - public variableStatement(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax; - public variableDeclaration(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; - public variableDeclarator(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax; - public equalsValueClause(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax; - public prefixUnaryExpression(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax; - public arrayLiteralExpression(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; - public omittedExpression(): OmittedExpressionSyntax; - public parenthesizedExpression(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; - public simpleArrowFunctionExpression(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax; - public parenthesizedArrowFunctionExpression(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax; - public qualifiedName(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax; - public typeArgumentList(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; - public constructorType(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax; - public functionType(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax; - public objectType(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax; - public arrayType(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax; - public genericType(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax; - public typeQuery(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax; - public typeAnnotation(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax; - public block(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax; - public parameter(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax; - public memberAccessExpression(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax; - public postfixUnaryExpression(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax; - public elementAccessExpression(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; - public invocationExpression(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax; - public argumentList(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax; - public binaryExpression(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax; - public conditionalExpression(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; - public constructSignature(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax; - public methodSignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax; - public indexSignature(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax; - public propertySignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax; - public callSignature(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax; - public parameterList(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax; - public typeParameterList(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax; - public typeParameter(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax; - public constraint(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax; - public elseClause(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax; - public ifStatement(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax; - public expressionStatement(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax; - public constructorDeclaration(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax; - public memberFunctionDeclaration(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax; - public getAccessor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax; - public setAccessor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax; - public memberVariableDeclaration(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; - public indexMemberDeclaration(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; - public throwStatement(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax; - public returnStatement(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax; - public objectCreationExpression(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax; - public switchStatement(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax; - public caseSwitchClause(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax; - public defaultSwitchClause(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax; - public breakStatement(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax; - public continueStatement(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax; - public forStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax; - public forInStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax; - public whileStatement(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax; - public withStatement(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax; - public enumDeclaration(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; - public enumElement(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax; - public castExpression(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax; - public objectLiteralExpression(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; - public simplePropertyAssignment(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; - public functionPropertyAssignment(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax; - public functionExpression(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax; - public emptyStatement(semicolonToken: ISyntaxToken): EmptyStatementSyntax; - public tryStatement(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax; - public catchClause(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax; - public finallyClause(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax; - public labeledStatement(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax; - public doStatement(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax; - public typeOfExpression(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; - public deleteExpression(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; - public voidExpression(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax; - public debuggerStatement(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax; - } - var normalModeFactory: IFactory; - var strictModeFactory: IFactory; -} -declare module TypeScript.SyntaxFacts { - function isDirectivePrologueElement(node: ISyntaxNodeOrToken): boolean; - function isUseStrictDirective(node: ISyntaxNodeOrToken): boolean; - function isIdentifierNameOrAnyKeyword(token: ISyntaxToken): boolean; -} -declare module TypeScript { - interface ISyntaxList extends ISyntaxElement { - childAt(index: number): ISyntaxNodeOrToken; - toArray(): ISyntaxNodeOrToken[]; - insertChildrenInto(array: ISyntaxElement[], index: number): void; - } -} -declare module TypeScript.Syntax { - class EmptySyntaxList implements ISyntaxList { - public kind(): SyntaxKind; - public isNode(): boolean; - public isToken(): boolean; - public isList(): boolean; - public isSeparatedList(): boolean; - public toJSON(key: any): any; - public childCount(): number; - public childAt(index: number): ISyntaxNodeOrToken; - public toArray(): ISyntaxNodeOrToken[]; - public collectTextElements(elements: string[]): void; - public firstToken(): ISyntaxToken; - public lastToken(): ISyntaxToken; - public fullWidth(): number; - public width(): number; - public leadingTrivia(): ISyntaxTriviaList; - public trailingTrivia(): ISyntaxTriviaList; - public leadingTriviaWidth(): number; - public trailingTriviaWidth(): number; - public fullText(): string; - public isTypeScriptSpecific(): boolean; - public isIncrementallyUnusable(): boolean; - public findTokenInternal(parent: PositionedElement, position: number, fullStart: number): PositionedToken; - public insertChildrenInto(array: ISyntaxElement[], index: number): void; - } - var emptyList: ISyntaxList; - function list(nodes: ISyntaxNodeOrToken[]): ISyntaxList; -} -declare module TypeScript { - class SyntaxNode implements ISyntaxNodeOrToken { - private _data; - constructor(parsedInStrictMode: boolean); - public isNode(): boolean; - public isToken(): boolean; - public isList(): boolean; - public isSeparatedList(): boolean; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public firstToken(): ISyntaxToken; - public lastToken(): ISyntaxToken; - public insertChildrenInto(array: ISyntaxElement[], index: number): void; - public leadingTrivia(): ISyntaxTriviaList; - public trailingTrivia(): ISyntaxTriviaList; - public toJSON(key: any): any; - public accept(visitor: ISyntaxVisitor): any; - public fullText(): string; - public collectTextElements(elements: string[]): void; - public replaceToken(token1: ISyntaxToken, token2: ISyntaxToken): SyntaxNode; - public withLeadingTrivia(trivia: ISyntaxTriviaList): SyntaxNode; - public withTrailingTrivia(trivia: ISyntaxTriviaList): SyntaxNode; - public hasLeadingTrivia(): boolean; - public hasTrailingTrivia(): boolean; - public isTypeScriptSpecific(): boolean; - public isIncrementallyUnusable(): boolean; - public parsedInStrictMode(): boolean; - public fullWidth(): number; - private computeData(); - private data(); - public findToken(position: number, includeSkippedTokens?: boolean): PositionedToken; - private tryGetEndOfFileAt(position); - private findTokenInternal(parent, position, fullStart); - public findTokenOnLeft(position: number, includeSkippedTokens?: boolean): PositionedToken; - public findCompleteTokenOnLeft(position: number, includeSkippedTokens?: boolean): PositionedToken; - public isModuleElement(): boolean; - public isClassElement(): boolean; - public isTypeMember(): boolean; - public isStatement(): boolean; - public isExpression(): boolean; - public isSwitchClause(): boolean; - public structuralEquals(node: SyntaxNode): boolean; - public width(): number; - public leadingTriviaWidth(): number; - public trailingTriviaWidth(): number; - } -} -declare module TypeScript { - interface ISyntaxNodeOrToken extends ISyntaxElement { - withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxNodeOrToken; - withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxNodeOrToken; - accept(visitor: ISyntaxVisitor): any; - } -} -declare module TypeScript { - class SourceUnitSyntax extends SyntaxNode { - public moduleElements: ISyntaxList; - public endOfFileToken: ISyntaxToken; - constructor(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax; - static create(endOfFileToken: ISyntaxToken): SourceUnitSyntax; - static create1(endOfFileToken: ISyntaxToken): SourceUnitSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): SourceUnitSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): SourceUnitSyntax; - public withModuleElements(moduleElements: ISyntaxList): SourceUnitSyntax; - public withModuleElement(moduleElement: IModuleElementSyntax): SourceUnitSyntax; - public withEndOfFileToken(endOfFileToken: ISyntaxToken): SourceUnitSyntax; - public isTypeScriptSpecific(): boolean; - } - class ExternalModuleReferenceSyntax extends SyntaxNode implements IModuleReferenceSyntax { - public requireKeyword: ISyntaxToken; - public openParenToken: ISyntaxToken; - public stringLiteral: ISyntaxToken; - public closeParenToken: ISyntaxToken; - constructor(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isModuleReference(): boolean; - public update(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; - static create1(stringLiteral: ISyntaxToken): ExternalModuleReferenceSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ExternalModuleReferenceSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ExternalModuleReferenceSyntax; - public withRequireKeyword(requireKeyword: ISyntaxToken): ExternalModuleReferenceSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; - public withStringLiteral(stringLiteral: ISyntaxToken): ExternalModuleReferenceSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax; - public isTypeScriptSpecific(): boolean; - } - class ModuleNameModuleReferenceSyntax extends SyntaxNode implements IModuleReferenceSyntax { - public moduleName: INameSyntax; - constructor(moduleName: INameSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isModuleReference(): boolean; - public update(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ModuleNameModuleReferenceSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ModuleNameModuleReferenceSyntax; - public withModuleName(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax; - public isTypeScriptSpecific(): boolean; - } - class ImportDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax { - public modifiers: ISyntaxList; - public importKeyword: ISyntaxToken; - public identifier: ISyntaxToken; - public equalsToken: ISyntaxToken; - public moduleReference: IModuleReferenceSyntax; - public semicolonToken: ISyntaxToken; - constructor(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isModuleElement(): boolean; - public update(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax; - static create(importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax; - static create1(identifier: ISyntaxToken, moduleReference: IModuleReferenceSyntax): ImportDeclarationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ImportDeclarationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ImportDeclarationSyntax; - public withModifiers(modifiers: ISyntaxList): ImportDeclarationSyntax; - public withModifier(modifier: ISyntaxToken): ImportDeclarationSyntax; - public withImportKeyword(importKeyword: ISyntaxToken): ImportDeclarationSyntax; - public withIdentifier(identifier: ISyntaxToken): ImportDeclarationSyntax; - public withEqualsToken(equalsToken: ISyntaxToken): ImportDeclarationSyntax; - public withModuleReference(moduleReference: IModuleReferenceSyntax): ImportDeclarationSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): ImportDeclarationSyntax; - public isTypeScriptSpecific(): boolean; - } - class ExportAssignmentSyntax extends SyntaxNode implements IModuleElementSyntax { - public exportKeyword: ISyntaxToken; - public equalsToken: ISyntaxToken; - public identifier: ISyntaxToken; - public semicolonToken: ISyntaxToken; - constructor(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isModuleElement(): boolean; - public update(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax; - static create1(identifier: ISyntaxToken): ExportAssignmentSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ExportAssignmentSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ExportAssignmentSyntax; - public withExportKeyword(exportKeyword: ISyntaxToken): ExportAssignmentSyntax; - public withEqualsToken(equalsToken: ISyntaxToken): ExportAssignmentSyntax; - public withIdentifier(identifier: ISyntaxToken): ExportAssignmentSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): ExportAssignmentSyntax; - public isTypeScriptSpecific(): boolean; - } - class ClassDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax { - public modifiers: ISyntaxList; - public classKeyword: ISyntaxToken; - public identifier: ISyntaxToken; - public typeParameterList: TypeParameterListSyntax; - public heritageClauses: ISyntaxList; - public openBraceToken: ISyntaxToken; - public classElements: ISyntaxList; - public closeBraceToken: ISyntaxToken; - constructor(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isModuleElement(): boolean; - public update(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; - static create(classKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; - static create1(identifier: ISyntaxToken): ClassDeclarationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ClassDeclarationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ClassDeclarationSyntax; - public withModifiers(modifiers: ISyntaxList): ClassDeclarationSyntax; - public withModifier(modifier: ISyntaxToken): ClassDeclarationSyntax; - public withClassKeyword(classKeyword: ISyntaxToken): ClassDeclarationSyntax; - public withIdentifier(identifier: ISyntaxToken): ClassDeclarationSyntax; - public withTypeParameterList(typeParameterList: TypeParameterListSyntax): ClassDeclarationSyntax; - public withHeritageClauses(heritageClauses: ISyntaxList): ClassDeclarationSyntax; - public withHeritageClause(heritageClause: HeritageClauseSyntax): ClassDeclarationSyntax; - public withOpenBraceToken(openBraceToken: ISyntaxToken): ClassDeclarationSyntax; - public withClassElements(classElements: ISyntaxList): ClassDeclarationSyntax; - public withClassElement(classElement: IClassElementSyntax): ClassDeclarationSyntax; - public withCloseBraceToken(closeBraceToken: ISyntaxToken): ClassDeclarationSyntax; - public isTypeScriptSpecific(): boolean; - } - class InterfaceDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax { - public modifiers: ISyntaxList; - public interfaceKeyword: ISyntaxToken; - public identifier: ISyntaxToken; - public typeParameterList: TypeParameterListSyntax; - public heritageClauses: ISyntaxList; - public body: ObjectTypeSyntax; - constructor(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isModuleElement(): boolean; - public update(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax; - static create(interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, body: ObjectTypeSyntax): InterfaceDeclarationSyntax; - static create1(identifier: ISyntaxToken): InterfaceDeclarationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): InterfaceDeclarationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): InterfaceDeclarationSyntax; - public withModifiers(modifiers: ISyntaxList): InterfaceDeclarationSyntax; - public withModifier(modifier: ISyntaxToken): InterfaceDeclarationSyntax; - public withInterfaceKeyword(interfaceKeyword: ISyntaxToken): InterfaceDeclarationSyntax; - public withIdentifier(identifier: ISyntaxToken): InterfaceDeclarationSyntax; - public withTypeParameterList(typeParameterList: TypeParameterListSyntax): InterfaceDeclarationSyntax; - public withHeritageClauses(heritageClauses: ISyntaxList): InterfaceDeclarationSyntax; - public withHeritageClause(heritageClause: HeritageClauseSyntax): InterfaceDeclarationSyntax; - public withBody(body: ObjectTypeSyntax): InterfaceDeclarationSyntax; - public isTypeScriptSpecific(): boolean; - } - class HeritageClauseSyntax extends SyntaxNode { - public extendsOrImplementsKeyword: ISyntaxToken; - public typeNames: ISeparatedSyntaxList; - private _kind; - constructor(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public kind(): SyntaxKind; - public update(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): HeritageClauseSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): HeritageClauseSyntax; - public withKind(kind: SyntaxKind): HeritageClauseSyntax; - public withExtendsOrImplementsKeyword(extendsOrImplementsKeyword: ISyntaxToken): HeritageClauseSyntax; - public withTypeNames(typeNames: ISeparatedSyntaxList): HeritageClauseSyntax; - public withTypeName(typeName: INameSyntax): HeritageClauseSyntax; - public isTypeScriptSpecific(): boolean; - } - class ModuleDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax { - public modifiers: ISyntaxList; - public moduleKeyword: ISyntaxToken; - public name: INameSyntax; - public stringLiteral: ISyntaxToken; - public openBraceToken: ISyntaxToken; - public moduleElements: ISyntaxList; - public closeBraceToken: ISyntaxToken; - constructor(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isModuleElement(): boolean; - public update(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; - static create(moduleKeyword: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; - static create1(): ModuleDeclarationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ModuleDeclarationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ModuleDeclarationSyntax; - public withModifiers(modifiers: ISyntaxList): ModuleDeclarationSyntax; - public withModifier(modifier: ISyntaxToken): ModuleDeclarationSyntax; - public withModuleKeyword(moduleKeyword: ISyntaxToken): ModuleDeclarationSyntax; - public withName(name: INameSyntax): ModuleDeclarationSyntax; - public withStringLiteral(stringLiteral: ISyntaxToken): ModuleDeclarationSyntax; - public withOpenBraceToken(openBraceToken: ISyntaxToken): ModuleDeclarationSyntax; - public withModuleElements(moduleElements: ISyntaxList): ModuleDeclarationSyntax; - public withModuleElement(moduleElement: IModuleElementSyntax): ModuleDeclarationSyntax; - public withCloseBraceToken(closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax; - public isTypeScriptSpecific(): boolean; - } - class FunctionDeclarationSyntax extends SyntaxNode implements IStatementSyntax { - public modifiers: ISyntaxList; - public functionKeyword: ISyntaxToken; - public identifier: ISyntaxToken; - public callSignature: CallSignatureSyntax; - public block: BlockSyntax; - public semicolonToken: ISyntaxToken; - constructor(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax; - static create(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax): FunctionDeclarationSyntax; - static create1(identifier: ISyntaxToken): FunctionDeclarationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionDeclarationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionDeclarationSyntax; - public withModifiers(modifiers: ISyntaxList): FunctionDeclarationSyntax; - public withModifier(modifier: ISyntaxToken): FunctionDeclarationSyntax; - public withFunctionKeyword(functionKeyword: ISyntaxToken): FunctionDeclarationSyntax; - public withIdentifier(identifier: ISyntaxToken): FunctionDeclarationSyntax; - public withCallSignature(callSignature: CallSignatureSyntax): FunctionDeclarationSyntax; - public withBlock(block: BlockSyntax): FunctionDeclarationSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): FunctionDeclarationSyntax; - public isTypeScriptSpecific(): boolean; - } - class VariableStatementSyntax extends SyntaxNode implements IStatementSyntax { - public modifiers: ISyntaxList; - public variableDeclaration: VariableDeclarationSyntax; - public semicolonToken: ISyntaxToken; - constructor(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax; - static create(variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax; - static create1(variableDeclaration: VariableDeclarationSyntax): VariableStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): VariableStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): VariableStatementSyntax; - public withModifiers(modifiers: ISyntaxList): VariableStatementSyntax; - public withModifier(modifier: ISyntaxToken): VariableStatementSyntax; - public withVariableDeclaration(variableDeclaration: VariableDeclarationSyntax): VariableStatementSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): VariableStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class VariableDeclarationSyntax extends SyntaxNode { - public varKeyword: ISyntaxToken; - public variableDeclarators: ISeparatedSyntaxList; - constructor(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; - static create1(variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): VariableDeclarationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): VariableDeclarationSyntax; - public withVarKeyword(varKeyword: ISyntaxToken): VariableDeclarationSyntax; - public withVariableDeclarators(variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax; - public withVariableDeclarator(variableDeclarator: VariableDeclaratorSyntax): VariableDeclarationSyntax; - public isTypeScriptSpecific(): boolean; - } - class VariableDeclaratorSyntax extends SyntaxNode { - public propertyName: ISyntaxToken; - public typeAnnotation: TypeAnnotationSyntax; - public equalsValueClause: EqualsValueClauseSyntax; - constructor(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax; - static create(propertyName: ISyntaxToken): VariableDeclaratorSyntax; - static create1(propertyName: ISyntaxToken): VariableDeclaratorSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): VariableDeclaratorSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): VariableDeclaratorSyntax; - public withPropertyName(propertyName: ISyntaxToken): VariableDeclaratorSyntax; - public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): VariableDeclaratorSyntax; - public withEqualsValueClause(equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax; - public isTypeScriptSpecific(): boolean; - } - class EqualsValueClauseSyntax extends SyntaxNode { - public equalsToken: ISyntaxToken; - public value: IExpressionSyntax; - constructor(equalsToken: ISyntaxToken, value: IExpressionSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax; - static create1(value: IExpressionSyntax): EqualsValueClauseSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): EqualsValueClauseSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): EqualsValueClauseSyntax; - public withEqualsToken(equalsToken: ISyntaxToken): EqualsValueClauseSyntax; - public withValue(value: IExpressionSyntax): EqualsValueClauseSyntax; - public isTypeScriptSpecific(): boolean; - } - class PrefixUnaryExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax { - public operatorToken: ISyntaxToken; - public operand: IUnaryExpressionSyntax; - private _kind; - constructor(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public kind(): SyntaxKind; - public update(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): PrefixUnaryExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): PrefixUnaryExpressionSyntax; - public withKind(kind: SyntaxKind): PrefixUnaryExpressionSyntax; - public withOperatorToken(operatorToken: ISyntaxToken): PrefixUnaryExpressionSyntax; - public withOperand(operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class ArrayLiteralExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax { - public openBracketToken: ISyntaxToken; - public expressions: ISeparatedSyntaxList; - public closeBracketToken: ISyntaxToken; - constructor(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; - static create(openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; - static create1(): ArrayLiteralExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ArrayLiteralExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ArrayLiteralExpressionSyntax; - public withOpenBracketToken(openBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; - public withExpressions(expressions: ISeparatedSyntaxList): ArrayLiteralExpressionSyntax; - public withExpression(expression: IExpressionSyntax): ArrayLiteralExpressionSyntax; - public withCloseBracketToken(closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class OmittedExpressionSyntax extends SyntaxNode implements IExpressionSyntax { - constructor(parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isExpression(): boolean; - public update(): OmittedExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): OmittedExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): OmittedExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class ParenthesizedExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax { - public openParenToken: ISyntaxToken; - public expression: IExpressionSyntax; - public closeParenToken: ISyntaxToken; - constructor(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; - static create1(expression: IExpressionSyntax): ParenthesizedExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ParenthesizedExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ParenthesizedExpressionSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; - public withExpression(expression: IExpressionSyntax): ParenthesizedExpressionSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class SimpleArrowFunctionExpressionSyntax extends SyntaxNode implements IArrowFunctionExpressionSyntax { - public identifier: ISyntaxToken; - public equalsGreaterThanToken: ISyntaxToken; - public block: BlockSyntax; - public expression: IExpressionSyntax; - constructor(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isArrowFunctionExpression(): boolean; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax; - static create(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken): SimpleArrowFunctionExpressionSyntax; - static create1(identifier: ISyntaxToken): SimpleArrowFunctionExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): SimpleArrowFunctionExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): SimpleArrowFunctionExpressionSyntax; - public withIdentifier(identifier: ISyntaxToken): SimpleArrowFunctionExpressionSyntax; - public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): SimpleArrowFunctionExpressionSyntax; - public withBlock(block: BlockSyntax): SimpleArrowFunctionExpressionSyntax; - public withExpression(expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class ParenthesizedArrowFunctionExpressionSyntax extends SyntaxNode implements IArrowFunctionExpressionSyntax { - public callSignature: CallSignatureSyntax; - public equalsGreaterThanToken: ISyntaxToken; - public block: BlockSyntax; - public expression: IExpressionSyntax; - constructor(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isArrowFunctionExpression(): boolean; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax; - static create(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken): ParenthesizedArrowFunctionExpressionSyntax; - static create1(): ParenthesizedArrowFunctionExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ParenthesizedArrowFunctionExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ParenthesizedArrowFunctionExpressionSyntax; - public withCallSignature(callSignature: CallSignatureSyntax): ParenthesizedArrowFunctionExpressionSyntax; - public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): ParenthesizedArrowFunctionExpressionSyntax; - public withBlock(block: BlockSyntax): ParenthesizedArrowFunctionExpressionSyntax; - public withExpression(expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class QualifiedNameSyntax extends SyntaxNode implements INameSyntax { - public left: INameSyntax; - public dotToken: ISyntaxToken; - public right: ISyntaxToken; - constructor(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isName(): boolean; - public isType(): boolean; - public update(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax; - static create1(left: INameSyntax, right: ISyntaxToken): QualifiedNameSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): QualifiedNameSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): QualifiedNameSyntax; - public withLeft(left: INameSyntax): QualifiedNameSyntax; - public withDotToken(dotToken: ISyntaxToken): QualifiedNameSyntax; - public withRight(right: ISyntaxToken): QualifiedNameSyntax; - public isTypeScriptSpecific(): boolean; - } - class TypeArgumentListSyntax extends SyntaxNode { - public lessThanToken: ISyntaxToken; - public typeArguments: ISeparatedSyntaxList; - public greaterThanToken: ISyntaxToken; - constructor(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; - static create(lessThanToken: ISyntaxToken, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; - static create1(): TypeArgumentListSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeArgumentListSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeArgumentListSyntax; - public withLessThanToken(lessThanToken: ISyntaxToken): TypeArgumentListSyntax; - public withTypeArguments(typeArguments: ISeparatedSyntaxList): TypeArgumentListSyntax; - public withTypeArgument(typeArgument: ITypeSyntax): TypeArgumentListSyntax; - public withGreaterThanToken(greaterThanToken: ISyntaxToken): TypeArgumentListSyntax; - public isTypeScriptSpecific(): boolean; - } - class ConstructorTypeSyntax extends SyntaxNode implements ITypeSyntax { - public newKeyword: ISyntaxToken; - public typeParameterList: TypeParameterListSyntax; - public parameterList: ParameterListSyntax; - public equalsGreaterThanToken: ISyntaxToken; - public type: ITypeSyntax; - constructor(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isType(): boolean; - public update(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax; - static create(newKeyword: ISyntaxToken, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax; - static create1(type: ITypeSyntax): ConstructorTypeSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstructorTypeSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstructorTypeSyntax; - public withNewKeyword(newKeyword: ISyntaxToken): ConstructorTypeSyntax; - public withTypeParameterList(typeParameterList: TypeParameterListSyntax): ConstructorTypeSyntax; - public withParameterList(parameterList: ParameterListSyntax): ConstructorTypeSyntax; - public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): ConstructorTypeSyntax; - public withType(type: ITypeSyntax): ConstructorTypeSyntax; - public isTypeScriptSpecific(): boolean; - } - class FunctionTypeSyntax extends SyntaxNode implements ITypeSyntax { - public typeParameterList: TypeParameterListSyntax; - public parameterList: ParameterListSyntax; - public equalsGreaterThanToken: ISyntaxToken; - public type: ITypeSyntax; - constructor(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isType(): boolean; - public update(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax; - static create(parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax; - static create1(type: ITypeSyntax): FunctionTypeSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionTypeSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionTypeSyntax; - public withTypeParameterList(typeParameterList: TypeParameterListSyntax): FunctionTypeSyntax; - public withParameterList(parameterList: ParameterListSyntax): FunctionTypeSyntax; - public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): FunctionTypeSyntax; - public withType(type: ITypeSyntax): FunctionTypeSyntax; - public isTypeScriptSpecific(): boolean; - } - class ObjectTypeSyntax extends SyntaxNode implements ITypeSyntax { - public openBraceToken: ISyntaxToken; - public typeMembers: ISeparatedSyntaxList; - public closeBraceToken: ISyntaxToken; - constructor(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isType(): boolean; - public update(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax; - static create(openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ObjectTypeSyntax; - static create1(): ObjectTypeSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ObjectTypeSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ObjectTypeSyntax; - public withOpenBraceToken(openBraceToken: ISyntaxToken): ObjectTypeSyntax; - public withTypeMembers(typeMembers: ISeparatedSyntaxList): ObjectTypeSyntax; - public withTypeMember(typeMember: ITypeMemberSyntax): ObjectTypeSyntax; - public withCloseBraceToken(closeBraceToken: ISyntaxToken): ObjectTypeSyntax; - public isTypeScriptSpecific(): boolean; - } - class ArrayTypeSyntax extends SyntaxNode implements ITypeSyntax { - public type: ITypeSyntax; - public openBracketToken: ISyntaxToken; - public closeBracketToken: ISyntaxToken; - constructor(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isType(): boolean; - public update(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax; - static create1(type: ITypeSyntax): ArrayTypeSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ArrayTypeSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ArrayTypeSyntax; - public withType(type: ITypeSyntax): ArrayTypeSyntax; - public withOpenBracketToken(openBracketToken: ISyntaxToken): ArrayTypeSyntax; - public withCloseBracketToken(closeBracketToken: ISyntaxToken): ArrayTypeSyntax; - public isTypeScriptSpecific(): boolean; - } - class GenericTypeSyntax extends SyntaxNode implements ITypeSyntax { - public name: INameSyntax; - public typeArgumentList: TypeArgumentListSyntax; - constructor(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isType(): boolean; - public update(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax; - static create1(name: INameSyntax): GenericTypeSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): GenericTypeSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): GenericTypeSyntax; - public withName(name: INameSyntax): GenericTypeSyntax; - public withTypeArgumentList(typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax; - public isTypeScriptSpecific(): boolean; - } - class TypeQuerySyntax extends SyntaxNode implements ITypeSyntax { - public typeOfKeyword: ISyntaxToken; - public name: INameSyntax; - constructor(typeOfKeyword: ISyntaxToken, name: INameSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isType(): boolean; - public update(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax; - static create1(name: INameSyntax): TypeQuerySyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeQuerySyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeQuerySyntax; - public withTypeOfKeyword(typeOfKeyword: ISyntaxToken): TypeQuerySyntax; - public withName(name: INameSyntax): TypeQuerySyntax; - public isTypeScriptSpecific(): boolean; - } - class TypeAnnotationSyntax extends SyntaxNode { - public colonToken: ISyntaxToken; - public type: ITypeSyntax; - constructor(colonToken: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax; - static create1(type: ITypeSyntax): TypeAnnotationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeAnnotationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeAnnotationSyntax; - public withColonToken(colonToken: ISyntaxToken): TypeAnnotationSyntax; - public withType(type: ITypeSyntax): TypeAnnotationSyntax; - public isTypeScriptSpecific(): boolean; - } - class BlockSyntax extends SyntaxNode implements IStatementSyntax { - public openBraceToken: ISyntaxToken; - public statements: ISyntaxList; - public closeBraceToken: ISyntaxToken; - constructor(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax; - static create(openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): BlockSyntax; - static create1(): BlockSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): BlockSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): BlockSyntax; - public withOpenBraceToken(openBraceToken: ISyntaxToken): BlockSyntax; - public withStatements(statements: ISyntaxList): BlockSyntax; - public withStatement(statement: IStatementSyntax): BlockSyntax; - public withCloseBraceToken(closeBraceToken: ISyntaxToken): BlockSyntax; - public isTypeScriptSpecific(): boolean; - } - class ParameterSyntax extends SyntaxNode { - public dotDotDotToken: ISyntaxToken; - public modifiers: ISyntaxList; - public identifier: ISyntaxToken; - public questionToken: ISyntaxToken; - public typeAnnotation: TypeAnnotationSyntax; - public equalsValueClause: EqualsValueClauseSyntax; - constructor(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax; - static create(identifier: ISyntaxToken): ParameterSyntax; - static create1(identifier: ISyntaxToken): ParameterSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ParameterSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ParameterSyntax; - public withDotDotDotToken(dotDotDotToken: ISyntaxToken): ParameterSyntax; - public withModifiers(modifiers: ISyntaxList): ParameterSyntax; - public withModifier(modifier: ISyntaxToken): ParameterSyntax; - public withIdentifier(identifier: ISyntaxToken): ParameterSyntax; - public withQuestionToken(questionToken: ISyntaxToken): ParameterSyntax; - public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): ParameterSyntax; - public withEqualsValueClause(equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax; - public isTypeScriptSpecific(): boolean; - } - class MemberAccessExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax { - public expression: IExpressionSyntax; - public dotToken: ISyntaxToken; - public name: ISyntaxToken; - constructor(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax; - static create1(expression: IExpressionSyntax, name: ISyntaxToken): MemberAccessExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): MemberAccessExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): MemberAccessExpressionSyntax; - public withExpression(expression: IExpressionSyntax): MemberAccessExpressionSyntax; - public withDotToken(dotToken: ISyntaxToken): MemberAccessExpressionSyntax; - public withName(name: ISyntaxToken): MemberAccessExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class PostfixUnaryExpressionSyntax extends SyntaxNode implements IPostfixExpressionSyntax { - public operand: IMemberExpressionSyntax; - public operatorToken: ISyntaxToken; - private _kind; - constructor(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public kind(): SyntaxKind; - public update(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): PostfixUnaryExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): PostfixUnaryExpressionSyntax; - public withKind(kind: SyntaxKind): PostfixUnaryExpressionSyntax; - public withOperand(operand: IMemberExpressionSyntax): PostfixUnaryExpressionSyntax; - public withOperatorToken(operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class ElementAccessExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax { - public expression: IExpressionSyntax; - public openBracketToken: ISyntaxToken; - public argumentExpression: IExpressionSyntax; - public closeBracketToken: ISyntaxToken; - constructor(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; - static create1(expression: IExpressionSyntax, argumentExpression: IExpressionSyntax): ElementAccessExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ElementAccessExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ElementAccessExpressionSyntax; - public withExpression(expression: IExpressionSyntax): ElementAccessExpressionSyntax; - public withOpenBracketToken(openBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; - public withArgumentExpression(argumentExpression: IExpressionSyntax): ElementAccessExpressionSyntax; - public withCloseBracketToken(closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class InvocationExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax { - public expression: IMemberExpressionSyntax; - public argumentList: ArgumentListSyntax; - constructor(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax; - static create1(expression: IMemberExpressionSyntax): InvocationExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): InvocationExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): InvocationExpressionSyntax; - public withExpression(expression: IMemberExpressionSyntax): InvocationExpressionSyntax; - public withArgumentList(argumentList: ArgumentListSyntax): InvocationExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class ArgumentListSyntax extends SyntaxNode { - public typeArgumentList: TypeArgumentListSyntax; - public openParenToken: ISyntaxToken; - public closeParenToken: ISyntaxToken; - public arguments: ISeparatedSyntaxList; - constructor(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax; - static create(openParenToken: ISyntaxToken, closeParenToken: ISyntaxToken): ArgumentListSyntax; - static create1(): ArgumentListSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ArgumentListSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ArgumentListSyntax; - public withTypeArgumentList(typeArgumentList: TypeArgumentListSyntax): ArgumentListSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): ArgumentListSyntax; - public withArguments(_arguments: ISeparatedSyntaxList): ArgumentListSyntax; - public withArgument(_argument: IExpressionSyntax): ArgumentListSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): ArgumentListSyntax; - public isTypeScriptSpecific(): boolean; - } - class BinaryExpressionSyntax extends SyntaxNode implements IExpressionSyntax { - public left: IExpressionSyntax; - public operatorToken: ISyntaxToken; - public right: IExpressionSyntax; - private _kind; - constructor(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isExpression(): boolean; - public kind(): SyntaxKind; - public update(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): BinaryExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): BinaryExpressionSyntax; - public withKind(kind: SyntaxKind): BinaryExpressionSyntax; - public withLeft(left: IExpressionSyntax): BinaryExpressionSyntax; - public withOperatorToken(operatorToken: ISyntaxToken): BinaryExpressionSyntax; - public withRight(right: IExpressionSyntax): BinaryExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class ConditionalExpressionSyntax extends SyntaxNode implements IExpressionSyntax { - public condition: IExpressionSyntax; - public questionToken: ISyntaxToken; - public whenTrue: IExpressionSyntax; - public colonToken: ISyntaxToken; - public whenFalse: IExpressionSyntax; - constructor(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isExpression(): boolean; - public update(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; - static create1(condition: IExpressionSyntax, whenTrue: IExpressionSyntax, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ConditionalExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ConditionalExpressionSyntax; - public withCondition(condition: IExpressionSyntax): ConditionalExpressionSyntax; - public withQuestionToken(questionToken: ISyntaxToken): ConditionalExpressionSyntax; - public withWhenTrue(whenTrue: IExpressionSyntax): ConditionalExpressionSyntax; - public withColonToken(colonToken: ISyntaxToken): ConditionalExpressionSyntax; - public withWhenFalse(whenFalse: IExpressionSyntax): ConditionalExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class ConstructSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax { - public newKeyword: ISyntaxToken; - public callSignature: CallSignatureSyntax; - constructor(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isTypeMember(): boolean; - public update(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax; - static create1(): ConstructSignatureSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstructSignatureSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstructSignatureSyntax; - public withNewKeyword(newKeyword: ISyntaxToken): ConstructSignatureSyntax; - public withCallSignature(callSignature: CallSignatureSyntax): ConstructSignatureSyntax; - public isTypeScriptSpecific(): boolean; - } - class MethodSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax { - public propertyName: ISyntaxToken; - public questionToken: ISyntaxToken; - public callSignature: CallSignatureSyntax; - constructor(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isTypeMember(): boolean; - public update(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax; - static create(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax; - static create1(propertyName: ISyntaxToken): MethodSignatureSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): MethodSignatureSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): MethodSignatureSyntax; - public withPropertyName(propertyName: ISyntaxToken): MethodSignatureSyntax; - public withQuestionToken(questionToken: ISyntaxToken): MethodSignatureSyntax; - public withCallSignature(callSignature: CallSignatureSyntax): MethodSignatureSyntax; - public isTypeScriptSpecific(): boolean; - } - class IndexSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax { - public openBracketToken: ISyntaxToken; - public parameter: ParameterSyntax; - public closeBracketToken: ISyntaxToken; - public typeAnnotation: TypeAnnotationSyntax; - constructor(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isTypeMember(): boolean; - public update(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax; - static create(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken): IndexSignatureSyntax; - static create1(parameter: ParameterSyntax): IndexSignatureSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): IndexSignatureSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): IndexSignatureSyntax; - public withOpenBracketToken(openBracketToken: ISyntaxToken): IndexSignatureSyntax; - public withParameter(parameter: ParameterSyntax): IndexSignatureSyntax; - public withCloseBracketToken(closeBracketToken: ISyntaxToken): IndexSignatureSyntax; - public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax; - public isTypeScriptSpecific(): boolean; - } - class PropertySignatureSyntax extends SyntaxNode implements ITypeMemberSyntax { - public propertyName: ISyntaxToken; - public questionToken: ISyntaxToken; - public typeAnnotation: TypeAnnotationSyntax; - constructor(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isTypeMember(): boolean; - public update(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax; - static create(propertyName: ISyntaxToken): PropertySignatureSyntax; - static create1(propertyName: ISyntaxToken): PropertySignatureSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): PropertySignatureSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): PropertySignatureSyntax; - public withPropertyName(propertyName: ISyntaxToken): PropertySignatureSyntax; - public withQuestionToken(questionToken: ISyntaxToken): PropertySignatureSyntax; - public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax; - public isTypeScriptSpecific(): boolean; - } - class CallSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax { - public typeParameterList: TypeParameterListSyntax; - public parameterList: ParameterListSyntax; - public typeAnnotation: TypeAnnotationSyntax; - constructor(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isTypeMember(): boolean; - public update(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax; - static create(parameterList: ParameterListSyntax): CallSignatureSyntax; - static create1(): CallSignatureSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): CallSignatureSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): CallSignatureSyntax; - public withTypeParameterList(typeParameterList: TypeParameterListSyntax): CallSignatureSyntax; - public withParameterList(parameterList: ParameterListSyntax): CallSignatureSyntax; - public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax; - public isTypeScriptSpecific(): boolean; - } - class ParameterListSyntax extends SyntaxNode { - public openParenToken: ISyntaxToken; - public parameters: ISeparatedSyntaxList; - public closeParenToken: ISyntaxToken; - constructor(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax; - static create(openParenToken: ISyntaxToken, closeParenToken: ISyntaxToken): ParameterListSyntax; - static create1(): ParameterListSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ParameterListSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ParameterListSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): ParameterListSyntax; - public withParameters(parameters: ISeparatedSyntaxList): ParameterListSyntax; - public withParameter(parameter: ParameterSyntax): ParameterListSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): ParameterListSyntax; - public isTypeScriptSpecific(): boolean; - } - class TypeParameterListSyntax extends SyntaxNode { - public lessThanToken: ISyntaxToken; - public typeParameters: ISeparatedSyntaxList; - public greaterThanToken: ISyntaxToken; - constructor(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax; - static create(lessThanToken: ISyntaxToken, greaterThanToken: ISyntaxToken): TypeParameterListSyntax; - static create1(): TypeParameterListSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeParameterListSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeParameterListSyntax; - public withLessThanToken(lessThanToken: ISyntaxToken): TypeParameterListSyntax; - public withTypeParameters(typeParameters: ISeparatedSyntaxList): TypeParameterListSyntax; - public withTypeParameter(typeParameter: TypeParameterSyntax): TypeParameterListSyntax; - public withGreaterThanToken(greaterThanToken: ISyntaxToken): TypeParameterListSyntax; - public isTypeScriptSpecific(): boolean; - } - class TypeParameterSyntax extends SyntaxNode { - public identifier: ISyntaxToken; - public constraint: ConstraintSyntax; - constructor(identifier: ISyntaxToken, constraint: ConstraintSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax; - static create(identifier: ISyntaxToken): TypeParameterSyntax; - static create1(identifier: ISyntaxToken): TypeParameterSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeParameterSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeParameterSyntax; - public withIdentifier(identifier: ISyntaxToken): TypeParameterSyntax; - public withConstraint(constraint: ConstraintSyntax): TypeParameterSyntax; - public isTypeScriptSpecific(): boolean; - } - class ConstraintSyntax extends SyntaxNode { - public extendsKeyword: ISyntaxToken; - public type: ITypeSyntax; - constructor(extendsKeyword: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax; - static create1(type: ITypeSyntax): ConstraintSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstraintSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstraintSyntax; - public withExtendsKeyword(extendsKeyword: ISyntaxToken): ConstraintSyntax; - public withType(type: ITypeSyntax): ConstraintSyntax; - public isTypeScriptSpecific(): boolean; - } - class ElseClauseSyntax extends SyntaxNode { - public elseKeyword: ISyntaxToken; - public statement: IStatementSyntax; - constructor(elseKeyword: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax; - static create1(statement: IStatementSyntax): ElseClauseSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ElseClauseSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ElseClauseSyntax; - public withElseKeyword(elseKeyword: ISyntaxToken): ElseClauseSyntax; - public withStatement(statement: IStatementSyntax): ElseClauseSyntax; - public isTypeScriptSpecific(): boolean; - } - class IfStatementSyntax extends SyntaxNode implements IStatementSyntax { - public ifKeyword: ISyntaxToken; - public openParenToken: ISyntaxToken; - public condition: IExpressionSyntax; - public closeParenToken: ISyntaxToken; - public statement: IStatementSyntax; - public elseClause: ElseClauseSyntax; - constructor(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax; - static create(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): IfStatementSyntax; - static create1(condition: IExpressionSyntax, statement: IStatementSyntax): IfStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): IfStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): IfStatementSyntax; - public withIfKeyword(ifKeyword: ISyntaxToken): IfStatementSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): IfStatementSyntax; - public withCondition(condition: IExpressionSyntax): IfStatementSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): IfStatementSyntax; - public withStatement(statement: IStatementSyntax): IfStatementSyntax; - public withElseClause(elseClause: ElseClauseSyntax): IfStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class ExpressionStatementSyntax extends SyntaxNode implements IStatementSyntax { - public expression: IExpressionSyntax; - public semicolonToken: ISyntaxToken; - constructor(expression: IExpressionSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax; - static create1(expression: IExpressionSyntax): ExpressionStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ExpressionStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ExpressionStatementSyntax; - public withExpression(expression: IExpressionSyntax): ExpressionStatementSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): ExpressionStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class ConstructorDeclarationSyntax extends SyntaxNode implements IClassElementSyntax { - public modifiers: ISyntaxList; - public constructorKeyword: ISyntaxToken; - public callSignature: CallSignatureSyntax; - public block: BlockSyntax; - public semicolonToken: ISyntaxToken; - constructor(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isClassElement(): boolean; - public update(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax; - static create(constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructorDeclarationSyntax; - static create1(): ConstructorDeclarationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstructorDeclarationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstructorDeclarationSyntax; - public withModifiers(modifiers: ISyntaxList): ConstructorDeclarationSyntax; - public withModifier(modifier: ISyntaxToken): ConstructorDeclarationSyntax; - public withConstructorKeyword(constructorKeyword: ISyntaxToken): ConstructorDeclarationSyntax; - public withCallSignature(callSignature: CallSignatureSyntax): ConstructorDeclarationSyntax; - public withBlock(block: BlockSyntax): ConstructorDeclarationSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax; - public isTypeScriptSpecific(): boolean; - } - class MemberFunctionDeclarationSyntax extends SyntaxNode implements IMemberDeclarationSyntax { - public modifiers: ISyntaxList; - public propertyName: ISyntaxToken; - public callSignature: CallSignatureSyntax; - public block: BlockSyntax; - public semicolonToken: ISyntaxToken; - constructor(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isMemberDeclaration(): boolean; - public isClassElement(): boolean; - public update(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax; - static create(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax): MemberFunctionDeclarationSyntax; - static create1(propertyName: ISyntaxToken): MemberFunctionDeclarationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): MemberFunctionDeclarationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): MemberFunctionDeclarationSyntax; - public withModifiers(modifiers: ISyntaxList): MemberFunctionDeclarationSyntax; - public withModifier(modifier: ISyntaxToken): MemberFunctionDeclarationSyntax; - public withPropertyName(propertyName: ISyntaxToken): MemberFunctionDeclarationSyntax; - public withCallSignature(callSignature: CallSignatureSyntax): MemberFunctionDeclarationSyntax; - public withBlock(block: BlockSyntax): MemberFunctionDeclarationSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax; - public isTypeScriptSpecific(): boolean; - } - class GetAccessorSyntax extends SyntaxNode implements IMemberDeclarationSyntax, IPropertyAssignmentSyntax { - public modifiers: ISyntaxList; - public getKeyword: ISyntaxToken; - public propertyName: ISyntaxToken; - public parameterList: ParameterListSyntax; - public typeAnnotation: TypeAnnotationSyntax; - public block: BlockSyntax; - constructor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isMemberDeclaration(): boolean; - public isPropertyAssignment(): boolean; - public isClassElement(): boolean; - public update(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax; - static create(getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): GetAccessorSyntax; - static create1(propertyName: ISyntaxToken): GetAccessorSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): GetAccessorSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): GetAccessorSyntax; - public withModifiers(modifiers: ISyntaxList): GetAccessorSyntax; - public withModifier(modifier: ISyntaxToken): GetAccessorSyntax; - public withGetKeyword(getKeyword: ISyntaxToken): GetAccessorSyntax; - public withPropertyName(propertyName: ISyntaxToken): GetAccessorSyntax; - public withParameterList(parameterList: ParameterListSyntax): GetAccessorSyntax; - public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): GetAccessorSyntax; - public withBlock(block: BlockSyntax): GetAccessorSyntax; - public isTypeScriptSpecific(): boolean; - } - class SetAccessorSyntax extends SyntaxNode implements IMemberDeclarationSyntax, IPropertyAssignmentSyntax { - public modifiers: ISyntaxList; - public setKeyword: ISyntaxToken; - public propertyName: ISyntaxToken; - public parameterList: ParameterListSyntax; - public block: BlockSyntax; - constructor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isMemberDeclaration(): boolean; - public isPropertyAssignment(): boolean; - public isClassElement(): boolean; - public update(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax; - static create(setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax; - static create1(propertyName: ISyntaxToken): SetAccessorSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): SetAccessorSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): SetAccessorSyntax; - public withModifiers(modifiers: ISyntaxList): SetAccessorSyntax; - public withModifier(modifier: ISyntaxToken): SetAccessorSyntax; - public withSetKeyword(setKeyword: ISyntaxToken): SetAccessorSyntax; - public withPropertyName(propertyName: ISyntaxToken): SetAccessorSyntax; - public withParameterList(parameterList: ParameterListSyntax): SetAccessorSyntax; - public withBlock(block: BlockSyntax): SetAccessorSyntax; - public isTypeScriptSpecific(): boolean; - } - class MemberVariableDeclarationSyntax extends SyntaxNode implements IMemberDeclarationSyntax { - public modifiers: ISyntaxList; - public variableDeclarator: VariableDeclaratorSyntax; - public semicolonToken: ISyntaxToken; - constructor(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isMemberDeclaration(): boolean; - public isClassElement(): boolean; - public update(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; - static create(variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; - static create1(variableDeclarator: VariableDeclaratorSyntax): MemberVariableDeclarationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): MemberVariableDeclarationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): MemberVariableDeclarationSyntax; - public withModifiers(modifiers: ISyntaxList): MemberVariableDeclarationSyntax; - public withModifier(modifier: ISyntaxToken): MemberVariableDeclarationSyntax; - public withVariableDeclarator(variableDeclarator: VariableDeclaratorSyntax): MemberVariableDeclarationSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax; - public isTypeScriptSpecific(): boolean; - } - class IndexMemberDeclarationSyntax extends SyntaxNode implements IClassElementSyntax { - public modifiers: ISyntaxList; - public indexSignature: IndexSignatureSyntax; - public semicolonToken: ISyntaxToken; - constructor(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isClassElement(): boolean; - public update(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; - static create(indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; - static create1(indexSignature: IndexSignatureSyntax): IndexMemberDeclarationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): IndexMemberDeclarationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): IndexMemberDeclarationSyntax; - public withModifiers(modifiers: ISyntaxList): IndexMemberDeclarationSyntax; - public withModifier(modifier: ISyntaxToken): IndexMemberDeclarationSyntax; - public withIndexSignature(indexSignature: IndexSignatureSyntax): IndexMemberDeclarationSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax; - public isTypeScriptSpecific(): boolean; - } - class ThrowStatementSyntax extends SyntaxNode implements IStatementSyntax { - public throwKeyword: ISyntaxToken; - public expression: IExpressionSyntax; - public semicolonToken: ISyntaxToken; - constructor(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax; - static create1(expression: IExpressionSyntax): ThrowStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ThrowStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ThrowStatementSyntax; - public withThrowKeyword(throwKeyword: ISyntaxToken): ThrowStatementSyntax; - public withExpression(expression: IExpressionSyntax): ThrowStatementSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): ThrowStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class ReturnStatementSyntax extends SyntaxNode implements IStatementSyntax { - public returnKeyword: ISyntaxToken; - public expression: IExpressionSyntax; - public semicolonToken: ISyntaxToken; - constructor(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax; - static create(returnKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): ReturnStatementSyntax; - static create1(): ReturnStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ReturnStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ReturnStatementSyntax; - public withReturnKeyword(returnKeyword: ISyntaxToken): ReturnStatementSyntax; - public withExpression(expression: IExpressionSyntax): ReturnStatementSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): ReturnStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class ObjectCreationExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax { - public newKeyword: ISyntaxToken; - public expression: IMemberExpressionSyntax; - public argumentList: ArgumentListSyntax; - constructor(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax; - static create(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax): ObjectCreationExpressionSyntax; - static create1(expression: IMemberExpressionSyntax): ObjectCreationExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ObjectCreationExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ObjectCreationExpressionSyntax; - public withNewKeyword(newKeyword: ISyntaxToken): ObjectCreationExpressionSyntax; - public withExpression(expression: IMemberExpressionSyntax): ObjectCreationExpressionSyntax; - public withArgumentList(argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class SwitchStatementSyntax extends SyntaxNode implements IStatementSyntax { - public switchKeyword: ISyntaxToken; - public openParenToken: ISyntaxToken; - public expression: IExpressionSyntax; - public closeParenToken: ISyntaxToken; - public openBraceToken: ISyntaxToken; - public switchClauses: ISyntaxList; - public closeBraceToken: ISyntaxToken; - constructor(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax; - static create(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): SwitchStatementSyntax; - static create1(expression: IExpressionSyntax): SwitchStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): SwitchStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): SwitchStatementSyntax; - public withSwitchKeyword(switchKeyword: ISyntaxToken): SwitchStatementSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): SwitchStatementSyntax; - public withExpression(expression: IExpressionSyntax): SwitchStatementSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): SwitchStatementSyntax; - public withOpenBraceToken(openBraceToken: ISyntaxToken): SwitchStatementSyntax; - public withSwitchClauses(switchClauses: ISyntaxList): SwitchStatementSyntax; - public withSwitchClause(switchClause: ISwitchClauseSyntax): SwitchStatementSyntax; - public withCloseBraceToken(closeBraceToken: ISyntaxToken): SwitchStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class CaseSwitchClauseSyntax extends SyntaxNode implements ISwitchClauseSyntax { - public caseKeyword: ISyntaxToken; - public expression: IExpressionSyntax; - public colonToken: ISyntaxToken; - public statements: ISyntaxList; - constructor(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isSwitchClause(): boolean; - public update(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax; - static create(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken): CaseSwitchClauseSyntax; - static create1(expression: IExpressionSyntax): CaseSwitchClauseSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): CaseSwitchClauseSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): CaseSwitchClauseSyntax; - public withCaseKeyword(caseKeyword: ISyntaxToken): CaseSwitchClauseSyntax; - public withExpression(expression: IExpressionSyntax): CaseSwitchClauseSyntax; - public withColonToken(colonToken: ISyntaxToken): CaseSwitchClauseSyntax; - public withStatements(statements: ISyntaxList): CaseSwitchClauseSyntax; - public withStatement(statement: IStatementSyntax): CaseSwitchClauseSyntax; - public isTypeScriptSpecific(): boolean; - } - class DefaultSwitchClauseSyntax extends SyntaxNode implements ISwitchClauseSyntax { - public defaultKeyword: ISyntaxToken; - public colonToken: ISyntaxToken; - public statements: ISyntaxList; - constructor(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isSwitchClause(): boolean; - public update(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax; - static create(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken): DefaultSwitchClauseSyntax; - static create1(): DefaultSwitchClauseSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): DefaultSwitchClauseSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): DefaultSwitchClauseSyntax; - public withDefaultKeyword(defaultKeyword: ISyntaxToken): DefaultSwitchClauseSyntax; - public withColonToken(colonToken: ISyntaxToken): DefaultSwitchClauseSyntax; - public withStatements(statements: ISyntaxList): DefaultSwitchClauseSyntax; - public withStatement(statement: IStatementSyntax): DefaultSwitchClauseSyntax; - public isTypeScriptSpecific(): boolean; - } - class BreakStatementSyntax extends SyntaxNode implements IStatementSyntax { - public breakKeyword: ISyntaxToken; - public identifier: ISyntaxToken; - public semicolonToken: ISyntaxToken; - constructor(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax; - static create(breakKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax; - static create1(): BreakStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): BreakStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): BreakStatementSyntax; - public withBreakKeyword(breakKeyword: ISyntaxToken): BreakStatementSyntax; - public withIdentifier(identifier: ISyntaxToken): BreakStatementSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): BreakStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class ContinueStatementSyntax extends SyntaxNode implements IStatementSyntax { - public continueKeyword: ISyntaxToken; - public identifier: ISyntaxToken; - public semicolonToken: ISyntaxToken; - constructor(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax; - static create(continueKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax; - static create1(): ContinueStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ContinueStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ContinueStatementSyntax; - public withContinueKeyword(continueKeyword: ISyntaxToken): ContinueStatementSyntax; - public withIdentifier(identifier: ISyntaxToken): ContinueStatementSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): ContinueStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class ForStatementSyntax extends SyntaxNode implements IIterationStatementSyntax { - public forKeyword: ISyntaxToken; - public openParenToken: ISyntaxToken; - public variableDeclaration: VariableDeclarationSyntax; - public initializer: IExpressionSyntax; - public firstSemicolonToken: ISyntaxToken; - public condition: IExpressionSyntax; - public secondSemicolonToken: ISyntaxToken; - public incrementor: IExpressionSyntax; - public closeParenToken: ISyntaxToken; - public statement: IStatementSyntax; - constructor(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isIterationStatement(): boolean; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax; - static create(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, firstSemicolonToken: ISyntaxToken, secondSemicolonToken: ISyntaxToken, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax; - static create1(statement: IStatementSyntax): ForStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ForStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ForStatementSyntax; - public withForKeyword(forKeyword: ISyntaxToken): ForStatementSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): ForStatementSyntax; - public withVariableDeclaration(variableDeclaration: VariableDeclarationSyntax): ForStatementSyntax; - public withInitializer(initializer: IExpressionSyntax): ForStatementSyntax; - public withFirstSemicolonToken(firstSemicolonToken: ISyntaxToken): ForStatementSyntax; - public withCondition(condition: IExpressionSyntax): ForStatementSyntax; - public withSecondSemicolonToken(secondSemicolonToken: ISyntaxToken): ForStatementSyntax; - public withIncrementor(incrementor: IExpressionSyntax): ForStatementSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): ForStatementSyntax; - public withStatement(statement: IStatementSyntax): ForStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class ForInStatementSyntax extends SyntaxNode implements IIterationStatementSyntax { - public forKeyword: ISyntaxToken; - public openParenToken: ISyntaxToken; - public variableDeclaration: VariableDeclarationSyntax; - public left: IExpressionSyntax; - public inKeyword: ISyntaxToken; - public expression: IExpressionSyntax; - public closeParenToken: ISyntaxToken; - public statement: IStatementSyntax; - constructor(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isIterationStatement(): boolean; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax; - static create(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax; - static create1(expression: IExpressionSyntax, statement: IStatementSyntax): ForInStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ForInStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ForInStatementSyntax; - public withForKeyword(forKeyword: ISyntaxToken): ForInStatementSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): ForInStatementSyntax; - public withVariableDeclaration(variableDeclaration: VariableDeclarationSyntax): ForInStatementSyntax; - public withLeft(left: IExpressionSyntax): ForInStatementSyntax; - public withInKeyword(inKeyword: ISyntaxToken): ForInStatementSyntax; - public withExpression(expression: IExpressionSyntax): ForInStatementSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): ForInStatementSyntax; - public withStatement(statement: IStatementSyntax): ForInStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class WhileStatementSyntax extends SyntaxNode implements IIterationStatementSyntax { - public whileKeyword: ISyntaxToken; - public openParenToken: ISyntaxToken; - public condition: IExpressionSyntax; - public closeParenToken: ISyntaxToken; - public statement: IStatementSyntax; - constructor(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isIterationStatement(): boolean; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax; - static create1(condition: IExpressionSyntax, statement: IStatementSyntax): WhileStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): WhileStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): WhileStatementSyntax; - public withWhileKeyword(whileKeyword: ISyntaxToken): WhileStatementSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): WhileStatementSyntax; - public withCondition(condition: IExpressionSyntax): WhileStatementSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): WhileStatementSyntax; - public withStatement(statement: IStatementSyntax): WhileStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class WithStatementSyntax extends SyntaxNode implements IStatementSyntax { - public withKeyword: ISyntaxToken; - public openParenToken: ISyntaxToken; - public condition: IExpressionSyntax; - public closeParenToken: ISyntaxToken; - public statement: IStatementSyntax; - constructor(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax; - static create1(condition: IExpressionSyntax, statement: IStatementSyntax): WithStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): WithStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): WithStatementSyntax; - public withWithKeyword(withKeyword: ISyntaxToken): WithStatementSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): WithStatementSyntax; - public withCondition(condition: IExpressionSyntax): WithStatementSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): WithStatementSyntax; - public withStatement(statement: IStatementSyntax): WithStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class EnumDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax { - public modifiers: ISyntaxList; - public enumKeyword: ISyntaxToken; - public identifier: ISyntaxToken; - public openBraceToken: ISyntaxToken; - public enumElements: ISeparatedSyntaxList; - public closeBraceToken: ISyntaxToken; - constructor(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isModuleElement(): boolean; - public update(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; - static create(enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; - static create1(identifier: ISyntaxToken): EnumDeclarationSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): EnumDeclarationSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): EnumDeclarationSyntax; - public withModifiers(modifiers: ISyntaxList): EnumDeclarationSyntax; - public withModifier(modifier: ISyntaxToken): EnumDeclarationSyntax; - public withEnumKeyword(enumKeyword: ISyntaxToken): EnumDeclarationSyntax; - public withIdentifier(identifier: ISyntaxToken): EnumDeclarationSyntax; - public withOpenBraceToken(openBraceToken: ISyntaxToken): EnumDeclarationSyntax; - public withEnumElements(enumElements: ISeparatedSyntaxList): EnumDeclarationSyntax; - public withEnumElement(enumElement: EnumElementSyntax): EnumDeclarationSyntax; - public withCloseBraceToken(closeBraceToken: ISyntaxToken): EnumDeclarationSyntax; - public isTypeScriptSpecific(): boolean; - } - class EnumElementSyntax extends SyntaxNode { - public propertyName: ISyntaxToken; - public equalsValueClause: EqualsValueClauseSyntax; - constructor(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax; - static create(propertyName: ISyntaxToken): EnumElementSyntax; - static create1(propertyName: ISyntaxToken): EnumElementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): EnumElementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): EnumElementSyntax; - public withPropertyName(propertyName: ISyntaxToken): EnumElementSyntax; - public withEqualsValueClause(equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax; - public isTypeScriptSpecific(): boolean; - } - class CastExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax { - public lessThanToken: ISyntaxToken; - public type: ITypeSyntax; - public greaterThanToken: ISyntaxToken; - public expression: IUnaryExpressionSyntax; - constructor(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax; - static create1(type: ITypeSyntax, expression: IUnaryExpressionSyntax): CastExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): CastExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): CastExpressionSyntax; - public withLessThanToken(lessThanToken: ISyntaxToken): CastExpressionSyntax; - public withType(type: ITypeSyntax): CastExpressionSyntax; - public withGreaterThanToken(greaterThanToken: ISyntaxToken): CastExpressionSyntax; - public withExpression(expression: IUnaryExpressionSyntax): CastExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class ObjectLiteralExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax { - public openBraceToken: ISyntaxToken; - public propertyAssignments: ISeparatedSyntaxList; - public closeBraceToken: ISyntaxToken; - constructor(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; - static create(openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; - static create1(): ObjectLiteralExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): ObjectLiteralExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): ObjectLiteralExpressionSyntax; - public withOpenBraceToken(openBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; - public withPropertyAssignments(propertyAssignments: ISeparatedSyntaxList): ObjectLiteralExpressionSyntax; - public withPropertyAssignment(propertyAssignment: IPropertyAssignmentSyntax): ObjectLiteralExpressionSyntax; - public withCloseBraceToken(closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class SimplePropertyAssignmentSyntax extends SyntaxNode implements IPropertyAssignmentSyntax { - public propertyName: ISyntaxToken; - public colonToken: ISyntaxToken; - public expression: IExpressionSyntax; - constructor(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isPropertyAssignment(): boolean; - public update(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; - static create1(propertyName: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): SimplePropertyAssignmentSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): SimplePropertyAssignmentSyntax; - public withPropertyName(propertyName: ISyntaxToken): SimplePropertyAssignmentSyntax; - public withColonToken(colonToken: ISyntaxToken): SimplePropertyAssignmentSyntax; - public withExpression(expression: IExpressionSyntax): SimplePropertyAssignmentSyntax; - public isTypeScriptSpecific(): boolean; - } - class FunctionPropertyAssignmentSyntax extends SyntaxNode implements IPropertyAssignmentSyntax { - public propertyName: ISyntaxToken; - public callSignature: CallSignatureSyntax; - public block: BlockSyntax; - constructor(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isPropertyAssignment(): boolean; - public update(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax; - static create1(propertyName: ISyntaxToken): FunctionPropertyAssignmentSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionPropertyAssignmentSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionPropertyAssignmentSyntax; - public withPropertyName(propertyName: ISyntaxToken): FunctionPropertyAssignmentSyntax; - public withCallSignature(callSignature: CallSignatureSyntax): FunctionPropertyAssignmentSyntax; - public withBlock(block: BlockSyntax): FunctionPropertyAssignmentSyntax; - public isTypeScriptSpecific(): boolean; - } - class FunctionExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax { - public functionKeyword: ISyntaxToken; - public identifier: ISyntaxToken; - public callSignature: CallSignatureSyntax; - public block: BlockSyntax; - constructor(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax; - static create(functionKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax; - static create1(): FunctionExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionExpressionSyntax; - public withFunctionKeyword(functionKeyword: ISyntaxToken): FunctionExpressionSyntax; - public withIdentifier(identifier: ISyntaxToken): FunctionExpressionSyntax; - public withCallSignature(callSignature: CallSignatureSyntax): FunctionExpressionSyntax; - public withBlock(block: BlockSyntax): FunctionExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class EmptyStatementSyntax extends SyntaxNode implements IStatementSyntax { - public semicolonToken: ISyntaxToken; - constructor(semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(semicolonToken: ISyntaxToken): EmptyStatementSyntax; - static create1(): EmptyStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): EmptyStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): EmptyStatementSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): EmptyStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class TryStatementSyntax extends SyntaxNode implements IStatementSyntax { - public tryKeyword: ISyntaxToken; - public block: BlockSyntax; - public catchClause: CatchClauseSyntax; - public finallyClause: FinallyClauseSyntax; - constructor(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax; - static create(tryKeyword: ISyntaxToken, block: BlockSyntax): TryStatementSyntax; - static create1(): TryStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): TryStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): TryStatementSyntax; - public withTryKeyword(tryKeyword: ISyntaxToken): TryStatementSyntax; - public withBlock(block: BlockSyntax): TryStatementSyntax; - public withCatchClause(catchClause: CatchClauseSyntax): TryStatementSyntax; - public withFinallyClause(finallyClause: FinallyClauseSyntax): TryStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class CatchClauseSyntax extends SyntaxNode { - public catchKeyword: ISyntaxToken; - public openParenToken: ISyntaxToken; - public identifier: ISyntaxToken; - public typeAnnotation: TypeAnnotationSyntax; - public closeParenToken: ISyntaxToken; - public block: BlockSyntax; - constructor(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax; - static create(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax; - static create1(identifier: ISyntaxToken): CatchClauseSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): CatchClauseSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): CatchClauseSyntax; - public withCatchKeyword(catchKeyword: ISyntaxToken): CatchClauseSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): CatchClauseSyntax; - public withIdentifier(identifier: ISyntaxToken): CatchClauseSyntax; - public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): CatchClauseSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): CatchClauseSyntax; - public withBlock(block: BlockSyntax): CatchClauseSyntax; - public isTypeScriptSpecific(): boolean; - } - class FinallyClauseSyntax extends SyntaxNode { - public finallyKeyword: ISyntaxToken; - public block: BlockSyntax; - constructor(finallyKeyword: ISyntaxToken, block: BlockSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public update(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax; - static create1(): FinallyClauseSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): FinallyClauseSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): FinallyClauseSyntax; - public withFinallyKeyword(finallyKeyword: ISyntaxToken): FinallyClauseSyntax; - public withBlock(block: BlockSyntax): FinallyClauseSyntax; - public isTypeScriptSpecific(): boolean; - } - class LabeledStatementSyntax extends SyntaxNode implements IStatementSyntax { - public identifier: ISyntaxToken; - public colonToken: ISyntaxToken; - public statement: IStatementSyntax; - constructor(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax; - static create1(identifier: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): LabeledStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): LabeledStatementSyntax; - public withIdentifier(identifier: ISyntaxToken): LabeledStatementSyntax; - public withColonToken(colonToken: ISyntaxToken): LabeledStatementSyntax; - public withStatement(statement: IStatementSyntax): LabeledStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class DoStatementSyntax extends SyntaxNode implements IIterationStatementSyntax { - public doKeyword: ISyntaxToken; - public statement: IStatementSyntax; - public whileKeyword: ISyntaxToken; - public openParenToken: ISyntaxToken; - public condition: IExpressionSyntax; - public closeParenToken: ISyntaxToken; - public semicolonToken: ISyntaxToken; - constructor(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isIterationStatement(): boolean; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax; - static create1(statement: IStatementSyntax, condition: IExpressionSyntax): DoStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): DoStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): DoStatementSyntax; - public withDoKeyword(doKeyword: ISyntaxToken): DoStatementSyntax; - public withStatement(statement: IStatementSyntax): DoStatementSyntax; - public withWhileKeyword(whileKeyword: ISyntaxToken): DoStatementSyntax; - public withOpenParenToken(openParenToken: ISyntaxToken): DoStatementSyntax; - public withCondition(condition: IExpressionSyntax): DoStatementSyntax; - public withCloseParenToken(closeParenToken: ISyntaxToken): DoStatementSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): DoStatementSyntax; - public isTypeScriptSpecific(): boolean; - } - class TypeOfExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax { - public typeOfKeyword: ISyntaxToken; - public expression: IUnaryExpressionSyntax; - constructor(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; - static create1(expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeOfExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeOfExpressionSyntax; - public withTypeOfKeyword(typeOfKeyword: ISyntaxToken): TypeOfExpressionSyntax; - public withExpression(expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class DeleteExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax { - public deleteKeyword: ISyntaxToken; - public expression: IUnaryExpressionSyntax; - constructor(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; - static create1(expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): DeleteExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): DeleteExpressionSyntax; - public withDeleteKeyword(deleteKeyword: ISyntaxToken): DeleteExpressionSyntax; - public withExpression(expression: IUnaryExpressionSyntax): DeleteExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class VoidExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax { - public voidKeyword: ISyntaxToken; - public expression: IUnaryExpressionSyntax; - constructor(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isUnaryExpression(): boolean; - public isExpression(): boolean; - public update(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax; - static create1(expression: IUnaryExpressionSyntax): VoidExpressionSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): VoidExpressionSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): VoidExpressionSyntax; - public withVoidKeyword(voidKeyword: ISyntaxToken): VoidExpressionSyntax; - public withExpression(expression: IUnaryExpressionSyntax): VoidExpressionSyntax; - public isTypeScriptSpecific(): boolean; - } - class DebuggerStatementSyntax extends SyntaxNode implements IStatementSyntax { - public debuggerKeyword: ISyntaxToken; - public semicolonToken: ISyntaxToken; - constructor(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean); - public accept(visitor: ISyntaxVisitor): any; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(slot: number): ISyntaxElement; - public isStatement(): boolean; - public isModuleElement(): boolean; - public update(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax; - static create1(): DebuggerStatementSyntax; - public withLeadingTrivia(trivia: ISyntaxTriviaList): DebuggerStatementSyntax; - public withTrailingTrivia(trivia: ISyntaxTriviaList): DebuggerStatementSyntax; - public withDebuggerKeyword(debuggerKeyword: ISyntaxToken): DebuggerStatementSyntax; - public withSemicolonToken(semicolonToken: ISyntaxToken): DebuggerStatementSyntax; - public isTypeScriptSpecific(): boolean; - } -} -declare module TypeScript { - class SyntaxRewriter implements ISyntaxVisitor { - public visitToken(token: ISyntaxToken): ISyntaxToken; - public visitNode(node: SyntaxNode): SyntaxNode; - public visitNodeOrToken(node: ISyntaxNodeOrToken): ISyntaxNodeOrToken; - public visitList(list: ISyntaxList): ISyntaxList; - public visitSeparatedList(list: ISeparatedSyntaxList): ISeparatedSyntaxList; - public visitSourceUnit(node: SourceUnitSyntax): any; - public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): any; - public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): any; - public visitImportDeclaration(node: ImportDeclarationSyntax): any; - public visitExportAssignment(node: ExportAssignmentSyntax): any; - public visitClassDeclaration(node: ClassDeclarationSyntax): any; - public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): any; - public visitHeritageClause(node: HeritageClauseSyntax): any; - public visitModuleDeclaration(node: ModuleDeclarationSyntax): any; - public visitFunctionDeclaration(node: FunctionDeclarationSyntax): any; - public visitVariableStatement(node: VariableStatementSyntax): any; - public visitVariableDeclaration(node: VariableDeclarationSyntax): any; - public visitVariableDeclarator(node: VariableDeclaratorSyntax): any; - public visitEqualsValueClause(node: EqualsValueClauseSyntax): any; - public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): any; - public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): any; - public visitOmittedExpression(node: OmittedExpressionSyntax): any; - public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): any; - public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): any; - public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): any; - public visitQualifiedName(node: QualifiedNameSyntax): any; - public visitTypeArgumentList(node: TypeArgumentListSyntax): any; - public visitConstructorType(node: ConstructorTypeSyntax): any; - public visitFunctionType(node: FunctionTypeSyntax): any; - public visitObjectType(node: ObjectTypeSyntax): any; - public visitArrayType(node: ArrayTypeSyntax): any; - public visitGenericType(node: GenericTypeSyntax): any; - public visitTypeQuery(node: TypeQuerySyntax): any; - public visitTypeAnnotation(node: TypeAnnotationSyntax): any; - public visitBlock(node: BlockSyntax): any; - public visitParameter(node: ParameterSyntax): any; - public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): any; - public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): any; - public visitElementAccessExpression(node: ElementAccessExpressionSyntax): any; - public visitInvocationExpression(node: InvocationExpressionSyntax): any; - public visitArgumentList(node: ArgumentListSyntax): any; - public visitBinaryExpression(node: BinaryExpressionSyntax): any; - public visitConditionalExpression(node: ConditionalExpressionSyntax): any; - public visitConstructSignature(node: ConstructSignatureSyntax): any; - public visitMethodSignature(node: MethodSignatureSyntax): any; - public visitIndexSignature(node: IndexSignatureSyntax): any; - public visitPropertySignature(node: PropertySignatureSyntax): any; - public visitCallSignature(node: CallSignatureSyntax): any; - public visitParameterList(node: ParameterListSyntax): any; - public visitTypeParameterList(node: TypeParameterListSyntax): any; - public visitTypeParameter(node: TypeParameterSyntax): any; - public visitConstraint(node: ConstraintSyntax): any; - public visitElseClause(node: ElseClauseSyntax): any; - public visitIfStatement(node: IfStatementSyntax): any; - public visitExpressionStatement(node: ExpressionStatementSyntax): any; - public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): any; - public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): any; - public visitGetAccessor(node: GetAccessorSyntax): any; - public visitSetAccessor(node: SetAccessorSyntax): any; - public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): any; - public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): any; - public visitThrowStatement(node: ThrowStatementSyntax): any; - public visitReturnStatement(node: ReturnStatementSyntax): any; - public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): any; - public visitSwitchStatement(node: SwitchStatementSyntax): any; - public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): any; - public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): any; - public visitBreakStatement(node: BreakStatementSyntax): any; - public visitContinueStatement(node: ContinueStatementSyntax): any; - public visitForStatement(node: ForStatementSyntax): any; - public visitForInStatement(node: ForInStatementSyntax): any; - public visitWhileStatement(node: WhileStatementSyntax): any; - public visitWithStatement(node: WithStatementSyntax): any; - public visitEnumDeclaration(node: EnumDeclarationSyntax): any; - public visitEnumElement(node: EnumElementSyntax): any; - public visitCastExpression(node: CastExpressionSyntax): any; - public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): any; - public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): any; - public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): any; - public visitFunctionExpression(node: FunctionExpressionSyntax): any; - public visitEmptyStatement(node: EmptyStatementSyntax): any; - public visitTryStatement(node: TryStatementSyntax): any; - public visitCatchClause(node: CatchClauseSyntax): any; - public visitFinallyClause(node: FinallyClauseSyntax): any; - public visitLabeledStatement(node: LabeledStatementSyntax): any; - public visitDoStatement(node: DoStatementSyntax): any; - public visitTypeOfExpression(node: TypeOfExpressionSyntax): any; - public visitDeleteExpression(node: DeleteExpressionSyntax): any; - public visitVoidExpression(node: VoidExpressionSyntax): any; - public visitDebuggerStatement(node: DebuggerStatementSyntax): any; - } -} -declare module TypeScript { - class SyntaxDedenter extends SyntaxRewriter { - private dedentationAmount; - private minimumIndent; - private options; - private lastTriviaWasNewLine; - constructor(dedentFirstToken: boolean, dedentationAmount: number, minimumIndent: number, options: FormattingOptions); - private abort(); - private isAborted(); - public visitToken(token: ISyntaxToken): ISyntaxToken; - private dedentTriviaList(triviaList); - private dedentSegment(segment, hasFollowingNewLineTrivia); - private dedentWhitespace(trivia, hasFollowingNewLineTrivia); - private dedentMultiLineComment(trivia); - static dedentNode(node: ISyntaxNode, dedentFirstToken: boolean, dedentAmount: number, minimumIndent: number, options: FormattingOptions): ISyntaxNode; - } -} -declare module TypeScript { - class SyntaxIndenter extends SyntaxRewriter { - private indentationAmount; - private options; - private lastTriviaWasNewLine; - private indentationTrivia; - constructor(indentFirstToken: boolean, indentationAmount: number, options: FormattingOptions); - public visitToken(token: ISyntaxToken): ISyntaxToken; - public indentTriviaList(triviaList: ISyntaxTriviaList): ISyntaxTriviaList; - private indentSegment(segment); - private indentWhitespace(trivia, indentThisTrivia, result); - private indentSingleLineOrSkippedText(trivia, indentThisTrivia, result); - private indentMultiLineComment(trivia, indentThisTrivia, result); - static indentNode(node: ISyntaxNode, indentFirstToken: boolean, indentAmount: number, options: FormattingOptions): SyntaxNode; - static indentNodes(nodes: SyntaxNode[], indentFirstToken: boolean, indentAmount: number, options: FormattingOptions): SyntaxNode[]; - } -} -declare module TypeScript.Syntax { - class VariableWidthTokenWithNoTrivia implements ISyntaxToken { - private _fullText; - public tokenKind: SyntaxKind; - constructor(fullText: string, kind: SyntaxKind); - public clone(): ISyntaxToken; - public isNode(): boolean; - public isToken(): boolean; - public isList(): boolean; - public isSeparatedList(): boolean; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(index: number): ISyntaxElement; - public fullWidth(): number; - public width(): number; - public text(): string; - public fullText(): string; - public value(): any; - public valueText(): string; - public hasLeadingTrivia(): boolean; - public hasLeadingComment(): boolean; - public hasLeadingNewLine(): boolean; - public hasLeadingSkippedText(): boolean; - public leadingTriviaWidth(): number; - public leadingTrivia(): ISyntaxTriviaList; - public hasTrailingTrivia(): boolean; - public hasTrailingComment(): boolean; - public hasTrailingNewLine(): boolean; - public hasTrailingSkippedText(): boolean; - public trailingTriviaWidth(): number; - public trailingTrivia(): ISyntaxTriviaList; - public hasSkippedToken(): boolean; - public toJSON(key: any): any; - public firstToken(): ISyntaxToken; - public lastToken(): ISyntaxToken; - public isTypeScriptSpecific(): boolean; - public isIncrementallyUnusable(): boolean; - public accept(visitor: ISyntaxVisitor): any; - private realize(); - public collectTextElements(elements: string[]): void; - private findTokenInternal(parent, position, fullStart); - public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; - public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; - public isExpression(): boolean; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - } - class VariableWidthTokenWithLeadingTrivia implements ISyntaxToken { - private _fullText; - public tokenKind: SyntaxKind; - private _leadingTriviaInfo; - constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number); - public clone(): ISyntaxToken; - public isNode(): boolean; - public isToken(): boolean; - public isList(): boolean; - public isSeparatedList(): boolean; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(index: number): ISyntaxElement; - public fullWidth(): number; - public width(): number; - public text(): string; - public fullText(): string; - public value(): any; - public valueText(): string; - public hasLeadingTrivia(): boolean; - public hasLeadingComment(): boolean; - public hasLeadingNewLine(): boolean; - public hasLeadingSkippedText(): boolean; - public leadingTriviaWidth(): number; - public leadingTrivia(): ISyntaxTriviaList; - public hasTrailingTrivia(): boolean; - public hasTrailingComment(): boolean; - public hasTrailingNewLine(): boolean; - public hasTrailingSkippedText(): boolean; - public trailingTriviaWidth(): number; - public trailingTrivia(): ISyntaxTriviaList; - public hasSkippedToken(): boolean; - public toJSON(key: any): any; - public firstToken(): ISyntaxToken; - public lastToken(): ISyntaxToken; - public isTypeScriptSpecific(): boolean; - public isIncrementallyUnusable(): boolean; - public accept(visitor: ISyntaxVisitor): any; - private realize(); - public collectTextElements(elements: string[]): void; - private findTokenInternal(parent, position, fullStart); - public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; - public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; - public isExpression(): boolean; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - } - class VariableWidthTokenWithTrailingTrivia implements ISyntaxToken { - private _fullText; - public tokenKind: SyntaxKind; - private _trailingTriviaInfo; - constructor(fullText: string, kind: SyntaxKind, trailingTriviaInfo: number); - public clone(): ISyntaxToken; - public isNode(): boolean; - public isToken(): boolean; - public isList(): boolean; - public isSeparatedList(): boolean; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(index: number): ISyntaxElement; - public fullWidth(): number; - public width(): number; - public text(): string; - public fullText(): string; - public value(): any; - public valueText(): string; - public hasLeadingTrivia(): boolean; - public hasLeadingComment(): boolean; - public hasLeadingNewLine(): boolean; - public hasLeadingSkippedText(): boolean; - public leadingTriviaWidth(): number; - public leadingTrivia(): ISyntaxTriviaList; - public hasTrailingTrivia(): boolean; - public hasTrailingComment(): boolean; - public hasTrailingNewLine(): boolean; - public hasTrailingSkippedText(): boolean; - public trailingTriviaWidth(): number; - public trailingTrivia(): ISyntaxTriviaList; - public hasSkippedToken(): boolean; - public toJSON(key: any): any; - public firstToken(): ISyntaxToken; - public lastToken(): ISyntaxToken; - public isTypeScriptSpecific(): boolean; - public isIncrementallyUnusable(): boolean; - public accept(visitor: ISyntaxVisitor): any; - private realize(); - public collectTextElements(elements: string[]): void; - private findTokenInternal(parent, position, fullStart); - public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; - public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; - public isExpression(): boolean; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - } - class VariableWidthTokenWithLeadingAndTrailingTrivia implements ISyntaxToken { - private _fullText; - public tokenKind: SyntaxKind; - private _leadingTriviaInfo; - private _trailingTriviaInfo; - constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number, trailingTriviaInfo: number); - public clone(): ISyntaxToken; - public isNode(): boolean; - public isToken(): boolean; - public isList(): boolean; - public isSeparatedList(): boolean; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(index: number): ISyntaxElement; - public fullWidth(): number; - public width(): number; - public text(): string; - public fullText(): string; - public value(): any; - public valueText(): string; - public hasLeadingTrivia(): boolean; - public hasLeadingComment(): boolean; - public hasLeadingNewLine(): boolean; - public hasLeadingSkippedText(): boolean; - public leadingTriviaWidth(): number; - public leadingTrivia(): ISyntaxTriviaList; - public hasTrailingTrivia(): boolean; - public hasTrailingComment(): boolean; - public hasTrailingNewLine(): boolean; - public hasTrailingSkippedText(): boolean; - public trailingTriviaWidth(): number; - public trailingTrivia(): ISyntaxTriviaList; - public hasSkippedToken(): boolean; - public toJSON(key: any): any; - public firstToken(): ISyntaxToken; - public lastToken(): ISyntaxToken; - public isTypeScriptSpecific(): boolean; - public isIncrementallyUnusable(): boolean; - public accept(visitor: ISyntaxVisitor): any; - private realize(); - public collectTextElements(elements: string[]): void; - private findTokenInternal(parent, position, fullStart); - public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; - public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; - public isExpression(): boolean; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - } - class FixedWidthTokenWithNoTrivia implements ISyntaxToken { - public tokenKind: SyntaxKind; - constructor(kind: SyntaxKind); - public clone(): ISyntaxToken; - public isNode(): boolean; - public isToken(): boolean; - public isList(): boolean; - public isSeparatedList(): boolean; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(index: number): ISyntaxElement; - public fullWidth(): number; - public width(): number; - public text(): string; - public fullText(): string; - public value(): any; - public valueText(): string; - public hasLeadingTrivia(): boolean; - public hasLeadingComment(): boolean; - public hasLeadingNewLine(): boolean; - public hasLeadingSkippedText(): boolean; - public leadingTriviaWidth(): number; - public leadingTrivia(): ISyntaxTriviaList; - public hasTrailingTrivia(): boolean; - public hasTrailingComment(): boolean; - public hasTrailingNewLine(): boolean; - public hasTrailingSkippedText(): boolean; - public trailingTriviaWidth(): number; - public trailingTrivia(): ISyntaxTriviaList; - public hasSkippedToken(): boolean; - public toJSON(key: any): any; - public firstToken(): ISyntaxToken; - public lastToken(): ISyntaxToken; - public isTypeScriptSpecific(): boolean; - public isIncrementallyUnusable(): boolean; - public accept(visitor: ISyntaxVisitor): any; - private realize(); - public collectTextElements(elements: string[]): void; - private findTokenInternal(parent, position, fullStart); - public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; - public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; - public isExpression(): boolean; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - } - class FixedWidthTokenWithLeadingTrivia implements ISyntaxToken { - private _fullText; - public tokenKind: SyntaxKind; - private _leadingTriviaInfo; - constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number); - public clone(): ISyntaxToken; - public isNode(): boolean; - public isToken(): boolean; - public isList(): boolean; - public isSeparatedList(): boolean; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(index: number): ISyntaxElement; - public fullWidth(): number; - public width(): number; - public text(): string; - public fullText(): string; - public value(): any; - public valueText(): string; - public hasLeadingTrivia(): boolean; - public hasLeadingComment(): boolean; - public hasLeadingNewLine(): boolean; - public hasLeadingSkippedText(): boolean; - public leadingTriviaWidth(): number; - public leadingTrivia(): ISyntaxTriviaList; - public hasTrailingTrivia(): boolean; - public hasTrailingComment(): boolean; - public hasTrailingNewLine(): boolean; - public hasTrailingSkippedText(): boolean; - public trailingTriviaWidth(): number; - public trailingTrivia(): ISyntaxTriviaList; - public hasSkippedToken(): boolean; - public toJSON(key: any): any; - public firstToken(): ISyntaxToken; - public lastToken(): ISyntaxToken; - public isTypeScriptSpecific(): boolean; - public isIncrementallyUnusable(): boolean; - public accept(visitor: ISyntaxVisitor): any; - private realize(); - public collectTextElements(elements: string[]): void; - private findTokenInternal(parent, position, fullStart); - public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; - public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; - public isExpression(): boolean; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - } - class FixedWidthTokenWithTrailingTrivia implements ISyntaxToken { - private _fullText; - public tokenKind: SyntaxKind; - private _trailingTriviaInfo; - constructor(fullText: string, kind: SyntaxKind, trailingTriviaInfo: number); - public clone(): ISyntaxToken; - public isNode(): boolean; - public isToken(): boolean; - public isList(): boolean; - public isSeparatedList(): boolean; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(index: number): ISyntaxElement; - public fullWidth(): number; - public width(): number; - public text(): string; - public fullText(): string; - public value(): any; - public valueText(): string; - public hasLeadingTrivia(): boolean; - public hasLeadingComment(): boolean; - public hasLeadingNewLine(): boolean; - public hasLeadingSkippedText(): boolean; - public leadingTriviaWidth(): number; - public leadingTrivia(): ISyntaxTriviaList; - public hasTrailingTrivia(): boolean; - public hasTrailingComment(): boolean; - public hasTrailingNewLine(): boolean; - public hasTrailingSkippedText(): boolean; - public trailingTriviaWidth(): number; - public trailingTrivia(): ISyntaxTriviaList; - public hasSkippedToken(): boolean; - public toJSON(key: any): any; - public firstToken(): ISyntaxToken; - public lastToken(): ISyntaxToken; - public isTypeScriptSpecific(): boolean; - public isIncrementallyUnusable(): boolean; - public accept(visitor: ISyntaxVisitor): any; - private realize(); - public collectTextElements(elements: string[]): void; - private findTokenInternal(parent, position, fullStart); - public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; - public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; - public isExpression(): boolean; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - } - class FixedWidthTokenWithLeadingAndTrailingTrivia implements ISyntaxToken { - private _fullText; - public tokenKind: SyntaxKind; - private _leadingTriviaInfo; - private _trailingTriviaInfo; - constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number, trailingTriviaInfo: number); - public clone(): ISyntaxToken; - public isNode(): boolean; - public isToken(): boolean; - public isList(): boolean; - public isSeparatedList(): boolean; - public kind(): SyntaxKind; - public childCount(): number; - public childAt(index: number): ISyntaxElement; - public fullWidth(): number; - public width(): number; - public text(): string; - public fullText(): string; - public value(): any; - public valueText(): string; - public hasLeadingTrivia(): boolean; - public hasLeadingComment(): boolean; - public hasLeadingNewLine(): boolean; - public hasLeadingSkippedText(): boolean; - public leadingTriviaWidth(): number; - public leadingTrivia(): ISyntaxTriviaList; - public hasTrailingTrivia(): boolean; - public hasTrailingComment(): boolean; - public hasTrailingNewLine(): boolean; - public hasTrailingSkippedText(): boolean; - public trailingTriviaWidth(): number; - public trailingTrivia(): ISyntaxTriviaList; - public hasSkippedToken(): boolean; - public toJSON(key: any): any; - public firstToken(): ISyntaxToken; - public lastToken(): ISyntaxToken; - public isTypeScriptSpecific(): boolean; - public isIncrementallyUnusable(): boolean; - public accept(visitor: ISyntaxVisitor): any; - private realize(); - public collectTextElements(elements: string[]): void; - private findTokenInternal(parent, position, fullStart); - public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; - public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; - public isExpression(): boolean; - public isPrimaryExpression(): boolean; - public isMemberExpression(): boolean; - public isPostfixExpression(): boolean; - public isUnaryExpression(): boolean; - } -} -declare module TypeScript { - interface ISyntaxToken extends ISyntaxNodeOrToken, INameSyntax, IPrimaryExpressionSyntax { - tokenKind: SyntaxKind; - text(): string; - value(): any; - valueText(): string; - hasLeadingTrivia(): boolean; - hasLeadingComment(): boolean; - hasLeadingNewLine(): boolean; - hasLeadingSkippedText(): boolean; - hasTrailingTrivia(): boolean; - hasTrailingComment(): boolean; - hasTrailingNewLine(): boolean; - hasTrailingSkippedText(): boolean; - hasSkippedToken(): boolean; - leadingTrivia(): ISyntaxTriviaList; - trailingTrivia(): ISyntaxTriviaList; - withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken; - withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken; - clone(): ISyntaxToken; - } - interface ITokenInfo { - leadingTrivia?: ISyntaxTrivia[]; - text?: string; - trailingTrivia?: ISyntaxTrivia[]; - } -} -declare module TypeScript.Syntax { - function isExpression(token: ISyntaxToken): boolean; - function realizeToken(token: ISyntaxToken): ISyntaxToken; - function convertToIdentifierName(token: ISyntaxToken): ISyntaxToken; - function tokenToJSON(token: ISyntaxToken): any; - function value(token: ISyntaxToken): any; - function massageEscapes(text: string): string; - function valueText(token: ISyntaxToken): string; - function emptyToken(kind: SyntaxKind): ISyntaxToken; - function token(kind: SyntaxKind, info?: ITokenInfo): ISyntaxToken; - function identifier(text: string, info?: ITokenInfo): ISyntaxToken; -} -declare module TypeScript { - class SyntaxTokenReplacer extends SyntaxRewriter { - private token1; - private token2; - constructor(token1: ISyntaxToken, token2: ISyntaxToken); - public visitToken(token: ISyntaxToken): ISyntaxToken; - public visitNode(node: SyntaxNode): SyntaxNode; - public visitList(list: ISyntaxList): ISyntaxList; - public visitSeparatedList(list: ISeparatedSyntaxList): ISeparatedSyntaxList; - } -} -declare module TypeScript { - interface ISyntaxTrivia { - kind(): SyntaxKind; - isWhitespace(): boolean; - isComment(): boolean; - isNewLine(): boolean; - isSkippedToken(): boolean; - fullWidth(): number; - fullText(): string; - skippedToken(): ISyntaxToken; - } -} -declare module TypeScript.Syntax { - function deferredTrivia(kind: SyntaxKind, text: ISimpleText, fullStart: number, fullWidth: number): ISyntaxTrivia; - function trivia(kind: SyntaxKind, text: string): ISyntaxTrivia; - function skippedTokenTrivia(token: ISyntaxToken): ISyntaxTrivia; - function spaces(count: number): ISyntaxTrivia; - function whitespace(text: string): ISyntaxTrivia; - function multiLineComment(text: string): ISyntaxTrivia; - function singleLineComment(text: string): ISyntaxTrivia; - var spaceTrivia: ISyntaxTrivia; - var lineFeedTrivia: ISyntaxTrivia; - var carriageReturnTrivia: ISyntaxTrivia; - var carriageReturnLineFeedTrivia: ISyntaxTrivia; - function splitMultiLineCommentTriviaIntoMultipleLines(trivia: ISyntaxTrivia): string[]; -} -declare module TypeScript { - interface ISyntaxTriviaList { - count(): number; - syntaxTriviaAt(index: number): ISyntaxTrivia; - fullWidth(): number; - fullText(): string; - hasComment(): boolean; - hasNewLine(): boolean; - hasSkippedToken(): boolean; - last(): ISyntaxTrivia; - toArray(): ISyntaxTrivia[]; - concat(trivia: ISyntaxTriviaList): ISyntaxTriviaList; - collectTextElements(elements: string[]): void; - } -} -declare module TypeScript.Syntax { - var emptyTriviaList: ISyntaxTriviaList; - function triviaList(trivia: ISyntaxTrivia[]): ISyntaxTriviaList; - var spaceTriviaList: ISyntaxTriviaList; -} -declare module TypeScript { - class SyntaxUtilities { - static isAngleBracket(positionedElement: PositionedElement): boolean; - static getToken(list: ISyntaxList, kind: SyntaxKind): ISyntaxToken; - static containsToken(list: ISyntaxList, kind: SyntaxKind): boolean; - static hasExportKeyword(moduleElement: IModuleElementSyntax): boolean; - static getExportKeyword(moduleElement: IModuleElementSyntax): ISyntaxToken; - static isAmbientDeclarationSyntax(positionNode: PositionedNode): boolean; - } -} -declare module TypeScript { - interface ISyntaxVisitor { - visitToken(token: ISyntaxToken): any; - visitSourceUnit(node: SourceUnitSyntax): any; - visitExternalModuleReference(node: ExternalModuleReferenceSyntax): any; - visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): any; - visitImportDeclaration(node: ImportDeclarationSyntax): any; - visitExportAssignment(node: ExportAssignmentSyntax): any; - visitClassDeclaration(node: ClassDeclarationSyntax): any; - visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): any; - visitHeritageClause(node: HeritageClauseSyntax): any; - visitModuleDeclaration(node: ModuleDeclarationSyntax): any; - visitFunctionDeclaration(node: FunctionDeclarationSyntax): any; - visitVariableStatement(node: VariableStatementSyntax): any; - visitVariableDeclaration(node: VariableDeclarationSyntax): any; - visitVariableDeclarator(node: VariableDeclaratorSyntax): any; - visitEqualsValueClause(node: EqualsValueClauseSyntax): any; - visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): any; - visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): any; - visitOmittedExpression(node: OmittedExpressionSyntax): any; - visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): any; - visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): any; - visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): any; - visitQualifiedName(node: QualifiedNameSyntax): any; - visitTypeArgumentList(node: TypeArgumentListSyntax): any; - visitConstructorType(node: ConstructorTypeSyntax): any; - visitFunctionType(node: FunctionTypeSyntax): any; - visitObjectType(node: ObjectTypeSyntax): any; - visitArrayType(node: ArrayTypeSyntax): any; - visitGenericType(node: GenericTypeSyntax): any; - visitTypeQuery(node: TypeQuerySyntax): any; - visitTypeAnnotation(node: TypeAnnotationSyntax): any; - visitBlock(node: BlockSyntax): any; - visitParameter(node: ParameterSyntax): any; - visitMemberAccessExpression(node: MemberAccessExpressionSyntax): any; - visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): any; - visitElementAccessExpression(node: ElementAccessExpressionSyntax): any; - visitInvocationExpression(node: InvocationExpressionSyntax): any; - visitArgumentList(node: ArgumentListSyntax): any; - visitBinaryExpression(node: BinaryExpressionSyntax): any; - visitConditionalExpression(node: ConditionalExpressionSyntax): any; - visitConstructSignature(node: ConstructSignatureSyntax): any; - visitMethodSignature(node: MethodSignatureSyntax): any; - visitIndexSignature(node: IndexSignatureSyntax): any; - visitPropertySignature(node: PropertySignatureSyntax): any; - visitCallSignature(node: CallSignatureSyntax): any; - visitParameterList(node: ParameterListSyntax): any; - visitTypeParameterList(node: TypeParameterListSyntax): any; - visitTypeParameter(node: TypeParameterSyntax): any; - visitConstraint(node: ConstraintSyntax): any; - visitElseClause(node: ElseClauseSyntax): any; - visitIfStatement(node: IfStatementSyntax): any; - visitExpressionStatement(node: ExpressionStatementSyntax): any; - visitConstructorDeclaration(node: ConstructorDeclarationSyntax): any; - visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): any; - visitGetAccessor(node: GetAccessorSyntax): any; - visitSetAccessor(node: SetAccessorSyntax): any; - visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): any; - visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): any; - visitThrowStatement(node: ThrowStatementSyntax): any; - visitReturnStatement(node: ReturnStatementSyntax): any; - visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): any; - visitSwitchStatement(node: SwitchStatementSyntax): any; - visitCaseSwitchClause(node: CaseSwitchClauseSyntax): any; - visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): any; - visitBreakStatement(node: BreakStatementSyntax): any; - visitContinueStatement(node: ContinueStatementSyntax): any; - visitForStatement(node: ForStatementSyntax): any; - visitForInStatement(node: ForInStatementSyntax): any; - visitWhileStatement(node: WhileStatementSyntax): any; - visitWithStatement(node: WithStatementSyntax): any; - visitEnumDeclaration(node: EnumDeclarationSyntax): any; - visitEnumElement(node: EnumElementSyntax): any; - visitCastExpression(node: CastExpressionSyntax): any; - visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): any; - visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): any; - visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): any; - visitFunctionExpression(node: FunctionExpressionSyntax): any; - visitEmptyStatement(node: EmptyStatementSyntax): any; - visitTryStatement(node: TryStatementSyntax): any; - visitCatchClause(node: CatchClauseSyntax): any; - visitFinallyClause(node: FinallyClauseSyntax): any; - visitLabeledStatement(node: LabeledStatementSyntax): any; - visitDoStatement(node: DoStatementSyntax): any; - visitTypeOfExpression(node: TypeOfExpressionSyntax): any; - visitDeleteExpression(node: DeleteExpressionSyntax): any; - visitVoidExpression(node: VoidExpressionSyntax): any; - visitDebuggerStatement(node: DebuggerStatementSyntax): any; - } - class SyntaxVisitor implements ISyntaxVisitor { - public defaultVisit(node: ISyntaxNodeOrToken): any; - public visitToken(token: ISyntaxToken): any; - public visitSourceUnit(node: SourceUnitSyntax): any; - public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): any; - public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): any; - public visitImportDeclaration(node: ImportDeclarationSyntax): any; - public visitExportAssignment(node: ExportAssignmentSyntax): any; - public visitClassDeclaration(node: ClassDeclarationSyntax): any; - public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): any; - public visitHeritageClause(node: HeritageClauseSyntax): any; - public visitModuleDeclaration(node: ModuleDeclarationSyntax): any; - public visitFunctionDeclaration(node: FunctionDeclarationSyntax): any; - public visitVariableStatement(node: VariableStatementSyntax): any; - public visitVariableDeclaration(node: VariableDeclarationSyntax): any; - public visitVariableDeclarator(node: VariableDeclaratorSyntax): any; - public visitEqualsValueClause(node: EqualsValueClauseSyntax): any; - public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): any; - public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): any; - public visitOmittedExpression(node: OmittedExpressionSyntax): any; - public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): any; - public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): any; - public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): any; - public visitQualifiedName(node: QualifiedNameSyntax): any; - public visitTypeArgumentList(node: TypeArgumentListSyntax): any; - public visitConstructorType(node: ConstructorTypeSyntax): any; - public visitFunctionType(node: FunctionTypeSyntax): any; - public visitObjectType(node: ObjectTypeSyntax): any; - public visitArrayType(node: ArrayTypeSyntax): any; - public visitGenericType(node: GenericTypeSyntax): any; - public visitTypeQuery(node: TypeQuerySyntax): any; - public visitTypeAnnotation(node: TypeAnnotationSyntax): any; - public visitBlock(node: BlockSyntax): any; - public visitParameter(node: ParameterSyntax): any; - public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): any; - public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): any; - public visitElementAccessExpression(node: ElementAccessExpressionSyntax): any; - public visitInvocationExpression(node: InvocationExpressionSyntax): any; - public visitArgumentList(node: ArgumentListSyntax): any; - public visitBinaryExpression(node: BinaryExpressionSyntax): any; - public visitConditionalExpression(node: ConditionalExpressionSyntax): any; - public visitConstructSignature(node: ConstructSignatureSyntax): any; - public visitMethodSignature(node: MethodSignatureSyntax): any; - public visitIndexSignature(node: IndexSignatureSyntax): any; - public visitPropertySignature(node: PropertySignatureSyntax): any; - public visitCallSignature(node: CallSignatureSyntax): any; - public visitParameterList(node: ParameterListSyntax): any; - public visitTypeParameterList(node: TypeParameterListSyntax): any; - public visitTypeParameter(node: TypeParameterSyntax): any; - public visitConstraint(node: ConstraintSyntax): any; - public visitElseClause(node: ElseClauseSyntax): any; - public visitIfStatement(node: IfStatementSyntax): any; - public visitExpressionStatement(node: ExpressionStatementSyntax): any; - public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): any; - public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): any; - public visitGetAccessor(node: GetAccessorSyntax): any; - public visitSetAccessor(node: SetAccessorSyntax): any; - public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): any; - public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): any; - public visitThrowStatement(node: ThrowStatementSyntax): any; - public visitReturnStatement(node: ReturnStatementSyntax): any; - public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): any; - public visitSwitchStatement(node: SwitchStatementSyntax): any; - public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): any; - public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): any; - public visitBreakStatement(node: BreakStatementSyntax): any; - public visitContinueStatement(node: ContinueStatementSyntax): any; - public visitForStatement(node: ForStatementSyntax): any; - public visitForInStatement(node: ForInStatementSyntax): any; - public visitWhileStatement(node: WhileStatementSyntax): any; - public visitWithStatement(node: WithStatementSyntax): any; - public visitEnumDeclaration(node: EnumDeclarationSyntax): any; - public visitEnumElement(node: EnumElementSyntax): any; - public visitCastExpression(node: CastExpressionSyntax): any; - public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): any; - public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): any; - public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): any; - public visitFunctionExpression(node: FunctionExpressionSyntax): any; - public visitEmptyStatement(node: EmptyStatementSyntax): any; - public visitTryStatement(node: TryStatementSyntax): any; - public visitCatchClause(node: CatchClauseSyntax): any; - public visitFinallyClause(node: FinallyClauseSyntax): any; - public visitLabeledStatement(node: LabeledStatementSyntax): any; - public visitDoStatement(node: DoStatementSyntax): any; - public visitTypeOfExpression(node: TypeOfExpressionSyntax): any; - public visitDeleteExpression(node: DeleteExpressionSyntax): any; - public visitVoidExpression(node: VoidExpressionSyntax): any; - public visitDebuggerStatement(node: DebuggerStatementSyntax): any; - } -} -declare module TypeScript { - class SyntaxWalker implements ISyntaxVisitor { - public visitToken(token: ISyntaxToken): void; - public visitNode(node: SyntaxNode): void; - public visitNodeOrToken(nodeOrToken: ISyntaxNodeOrToken): void; - private visitOptionalToken(token); - public visitOptionalNode(node: SyntaxNode): void; - public visitOptionalNodeOrToken(nodeOrToken: ISyntaxNodeOrToken): void; - public visitList(list: ISyntaxList): void; - public visitSeparatedList(list: ISeparatedSyntaxList): void; - public visitSourceUnit(node: SourceUnitSyntax): void; - public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): void; - public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): void; - public visitImportDeclaration(node: ImportDeclarationSyntax): void; - public visitExportAssignment(node: ExportAssignmentSyntax): void; - public visitClassDeclaration(node: ClassDeclarationSyntax): void; - public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): void; - public visitHeritageClause(node: HeritageClauseSyntax): void; - public visitModuleDeclaration(node: ModuleDeclarationSyntax): void; - public visitFunctionDeclaration(node: FunctionDeclarationSyntax): void; - public visitVariableStatement(node: VariableStatementSyntax): void; - public visitVariableDeclaration(node: VariableDeclarationSyntax): void; - public visitVariableDeclarator(node: VariableDeclaratorSyntax): void; - public visitEqualsValueClause(node: EqualsValueClauseSyntax): void; - public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): void; - public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): void; - public visitOmittedExpression(node: OmittedExpressionSyntax): void; - public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): void; - public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): void; - public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): void; - public visitQualifiedName(node: QualifiedNameSyntax): void; - public visitTypeArgumentList(node: TypeArgumentListSyntax): void; - public visitConstructorType(node: ConstructorTypeSyntax): void; - public visitFunctionType(node: FunctionTypeSyntax): void; - public visitObjectType(node: ObjectTypeSyntax): void; - public visitArrayType(node: ArrayTypeSyntax): void; - public visitGenericType(node: GenericTypeSyntax): void; - public visitTypeQuery(node: TypeQuerySyntax): void; - public visitTypeAnnotation(node: TypeAnnotationSyntax): void; - public visitBlock(node: BlockSyntax): void; - public visitParameter(node: ParameterSyntax): void; - public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): void; - public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): void; - public visitElementAccessExpression(node: ElementAccessExpressionSyntax): void; - public visitInvocationExpression(node: InvocationExpressionSyntax): void; - public visitArgumentList(node: ArgumentListSyntax): void; - public visitBinaryExpression(node: BinaryExpressionSyntax): void; - public visitConditionalExpression(node: ConditionalExpressionSyntax): void; - public visitConstructSignature(node: ConstructSignatureSyntax): void; - public visitMethodSignature(node: MethodSignatureSyntax): void; - public visitIndexSignature(node: IndexSignatureSyntax): void; - public visitPropertySignature(node: PropertySignatureSyntax): void; - public visitCallSignature(node: CallSignatureSyntax): void; - public visitParameterList(node: ParameterListSyntax): void; - public visitTypeParameterList(node: TypeParameterListSyntax): void; - public visitTypeParameter(node: TypeParameterSyntax): void; - public visitConstraint(node: ConstraintSyntax): void; - public visitElseClause(node: ElseClauseSyntax): void; - public visitIfStatement(node: IfStatementSyntax): void; - public visitExpressionStatement(node: ExpressionStatementSyntax): void; - public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): void; - public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): void; - public visitGetAccessor(node: GetAccessorSyntax): void; - public visitSetAccessor(node: SetAccessorSyntax): void; - public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): void; - public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): void; - public visitThrowStatement(node: ThrowStatementSyntax): void; - public visitReturnStatement(node: ReturnStatementSyntax): void; - public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): void; - public visitSwitchStatement(node: SwitchStatementSyntax): void; - public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): void; - public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): void; - public visitBreakStatement(node: BreakStatementSyntax): void; - public visitContinueStatement(node: ContinueStatementSyntax): void; - public visitForStatement(node: ForStatementSyntax): void; - public visitForInStatement(node: ForInStatementSyntax): void; - public visitWhileStatement(node: WhileStatementSyntax): void; - public visitWithStatement(node: WithStatementSyntax): void; - public visitEnumDeclaration(node: EnumDeclarationSyntax): void; - public visitEnumElement(node: EnumElementSyntax): void; - public visitCastExpression(node: CastExpressionSyntax): void; - public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): void; - public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): void; - public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): void; - public visitFunctionExpression(node: FunctionExpressionSyntax): void; - public visitEmptyStatement(node: EmptyStatementSyntax): void; - public visitTryStatement(node: TryStatementSyntax): void; - public visitCatchClause(node: CatchClauseSyntax): void; - public visitFinallyClause(node: FinallyClauseSyntax): void; - public visitLabeledStatement(node: LabeledStatementSyntax): void; - public visitDoStatement(node: DoStatementSyntax): void; - public visitTypeOfExpression(node: TypeOfExpressionSyntax): void; - public visitDeleteExpression(node: DeleteExpressionSyntax): void; - public visitVoidExpression(node: VoidExpressionSyntax): void; - public visitDebuggerStatement(node: DebuggerStatementSyntax): void; - } -} -declare module TypeScript { - class PositionTrackingWalker extends SyntaxWalker { - private _position; - public visitToken(token: ISyntaxToken): void; - public position(): number; - public skip(element: ISyntaxElement): void; - } -} -declare module TypeScript { - interface ITokenInformation { - previousToken: ISyntaxToken; - nextToken: ISyntaxToken; - } - class SyntaxInformationMap extends SyntaxWalker { - private trackParents; - private trackPreviousToken; - private tokenToInformation; - private elementToPosition; - private _previousToken; - private _previousTokenInformation; - private _currentPosition; - private _elementToParent; - private _parentStack; - constructor(trackParents: boolean, trackPreviousToken: boolean); - static create(node: SyntaxNode, trackParents: boolean, trackPreviousToken: boolean): SyntaxInformationMap; - public visitNode(node: SyntaxNode): void; - public visitToken(token: ISyntaxToken): void; - public parent(element: ISyntaxElement): SyntaxNode; - public fullStart(element: ISyntaxElement): number; - public start(element: ISyntaxElement): number; - public end(element: ISyntaxElement): number; - public previousToken(token: ISyntaxToken): ISyntaxToken; - public tokenInformation(token: ISyntaxToken): ITokenInformation; - public firstTokenInLineContainingToken(token: ISyntaxToken): ISyntaxToken; - public isFirstTokenInLine(token: ISyntaxToken): boolean; - private isFirstTokenInLineWorker(information); - } -} -declare module TypeScript { - class SyntaxNodeInvariantsChecker extends SyntaxWalker { - private tokenTable; - static checkInvariants(node: SyntaxNode): void; - public visitToken(token: ISyntaxToken): void; - } -} -declare module TypeScript { - class DepthLimitedWalker extends PositionTrackingWalker { - private _depth; - private _maximumDepth; - constructor(maximumDepth: number); - public visitNode(node: SyntaxNode): void; - } -} -declare module TypeScript.Parser { - function parse(fileName: string, text: ISimpleText, isDeclaration: boolean, options: ParseOptions): SyntaxTree; - function incrementalParse(oldSyntaxTree: SyntaxTree, textChangeRange: TextChangeRange, newText: ISimpleText): SyntaxTree; -} -declare module TypeScript { - class SyntaxTree { - private _sourceUnit; - private _isDeclaration; - private _parserDiagnostics; - private _allDiagnostics; - private _fileName; - private _lineMap; - private _parseOptions; - constructor(sourceUnit: SourceUnitSyntax, isDeclaration: boolean, diagnostics: Diagnostic[], fileName: string, lineMap: LineMap, parseOtions: ParseOptions); - public toJSON(key: any): any; - public sourceUnit(): SourceUnitSyntax; - public isDeclaration(): boolean; - private computeDiagnostics(); - public diagnostics(): Diagnostic[]; - public fileName(): string; - public lineMap(): LineMap; - public parseOptions(): ParseOptions; - public structuralEquals(tree: SyntaxTree): boolean; - } -} -declare module TypeScript { - class Unicode { - static unicodeES3IdentifierStart: number[]; - static unicodeES3IdentifierPart: number[]; - static unicodeES5IdentifierStart: number[]; - static unicodeES5IdentifierPart: number[]; - static lookupInUnicodeMap(code: number, map: number[]): boolean; - static isIdentifierStart(code: number, languageVersion: LanguageVersion): boolean; - static isIdentifierPart(code: number, languageVersion: LanguageVersion): boolean; - } -} -declare module TypeScript { - module CompilerDiagnostics { - var debug: boolean; - interface IDiagnosticWriter { - Alert(output: string): void; - } - var diagnosticWriter: IDiagnosticWriter; - var analysisPass: number; - function Alert(output: string): void; - function debugPrint(s: string): void; - function assert(condition: boolean, s: string): void; - } - interface ILogger { - information(): boolean; - debug(): boolean; - warning(): boolean; - error(): boolean; - fatal(): boolean; - log(s: string): void; - } - class NullLogger implements ILogger { - public information(): boolean; - public debug(): boolean; - public warning(): boolean; - public error(): boolean; - public fatal(): boolean; - public log(s: string): void; - } - function timeFunction(logger: ILogger, funcDescription: string, func: () => any): any; -} -declare module TypeScript { - class Document { - private _compiler; - private _semanticInfoChain; - public fileName: string; - public referencedFiles: string[]; - private _scriptSnapshot; - public byteOrderMark: ByteOrderMark; - public version: number; - public isOpen: boolean; - private _syntaxTree; - private _topLevelDecl; - private _diagnostics; - private _bloomFilter; - private _sourceUnit; - private _lineMap; - private _declASTMap; - private _astDeclMap; - private _amdDependencies; - private _externalModuleIndicatorSpan; - constructor(_compiler: TypeScriptCompiler, _semanticInfoChain: SemanticInfoChain, fileName: string, referencedFiles: string[], _scriptSnapshot: IScriptSnapshot, byteOrderMark: ByteOrderMark, version: number, isOpen: boolean, _syntaxTree: SyntaxTree, _topLevelDecl: PullDecl); - public invalidate(): void; - public isDeclareFile(): boolean; - private cacheSyntaxTreeInfo(syntaxTree); - private getAmdDependency(comment); - private getImplicitImportSpan(sourceUnitLeadingTrivia); - private getImplicitImportSpanWorker(trivia, position); - private getTopLevelImportOrExportSpan(node); - public sourceUnit(): SourceUnit; - public diagnostics(): Diagnostic[]; - public lineMap(): LineMap; - public isExternalModule(): boolean; - public externalModuleIndicatorSpan(): TextSpan; - public amdDependencies(): string[]; - public syntaxTree(): SyntaxTree; - public bloomFilter(): BloomFilter; - public emitToOwnOutputFile(): boolean; - public update(scriptSnapshot: IScriptSnapshot, version: number, isOpen: boolean, textChangeRange: TextChangeRange): Document; - static create(compiler: TypeScriptCompiler, semanticInfoChain: SemanticInfoChain, fileName: string, scriptSnapshot: IScriptSnapshot, byteOrderMark: ByteOrderMark, version: number, isOpen: boolean, referencedFiles: string[]): Document; - public topLevelDecl(): PullDecl; - public _getDeclForAST(ast: AST): PullDecl; - public getEnclosingDecl(ast: AST): PullDecl; - public _setDeclForAST(ast: AST, decl: PullDecl): void; - public _getASTForDecl(decl: PullDecl): AST; - public _setASTForDecl(decl: PullDecl, ast: AST): void; - } -} -declare module TypeScript { - function hasFlag(val: number, flag: number): boolean; - enum TypeRelationshipFlags { - SuccessfulComparison = 0, - RequiredPropertyIsMissing = 2, - IncompatibleSignatures = 4, - SourceSignatureHasTooManyParameters = 3, - IncompatibleReturnTypes = 16, - IncompatiblePropertyTypes = 32, - IncompatibleParameterTypes = 64, - InconsistantPropertyAccesibility = 128, - } - enum ModuleGenTarget { - Unspecified = 0, - Synchronous = 1, - Asynchronous = 2, - } -} -declare module TypeScript { - function createIntrinsicsObject(): IIndexable; - interface IHashTable { - getAllKeys(): string[]; - add(key: string, data: T): boolean; - addOrUpdate(key: string, data: T): boolean; - map(fn: (k: string, value: T, context: any) => void, context: any): void; - every(fn: (k: string, value: T, context: any) => void, context: any): boolean; - some(fn: (k: string, value: T, context: any) => void, context: any): boolean; - count(): number; - lookup(key: string): T; - } - class StringHashTable implements IHashTable { - private itemCount; - private table; - public getAllKeys(): string[]; - public add(key: string, data: T): boolean; - public addOrUpdate(key: string, data: T): boolean; - public map(fn: (k: string, value: T, context: any) => void, context: any): void; - public every(fn: (k: string, value: T, context: any) => void, context: any): boolean; - public some(fn: (k: string, value: T, context: any) => void, context: any): boolean; - public count(): number; - public lookup(key: string): T; - public remove(key: string): void; - } - class IdentiferNameHashTable extends StringHashTable { - public getAllKeys(): string[]; - public add(key: string, data: T): boolean; - public addOrUpdate(key: string, data: T): boolean; - public map(fn: (k: string, value: T, context: any) => void, context: any): void; - public every(fn: (k: string, value: T, context: any) => void, context: any): boolean; - public some(fn: (k: string, value: any, context: any) => void, context: any): boolean; - public lookup(key: string): T; - } -} -declare module TypeScript { - interface IParameters { - length: number; - lastParameterIsRest(): boolean; - ast: AST; - astAt(index: number): AST; - identifierAt(index: number): Identifier; - typeAt(index: number): AST; - initializerAt(index: number): EqualsValueClause; - isOptionalAt(index: number): boolean; - } -} -declare module TypeScript.ASTHelpers { - function scriptIsElided(sourceUnit: SourceUnit): boolean; - function moduleIsElided(declaration: ModuleDeclaration): boolean; - function enumIsElided(declaration: EnumDeclaration): boolean; - function isValidAstNode(ast: IASTSpan): boolean; - function getAstAtPosition(script: AST, pos: number, useTrailingTriviaAsLimChar?: boolean, forceInclusive?: boolean): AST; - function getExtendsHeritageClause(clauses: ISyntaxList2): HeritageClause; - function getImplementsHeritageClause(clauses: ISyntaxList2): HeritageClause; - function isCallExpression(ast: AST): boolean; - function isCallExpressionTarget(ast: AST): boolean; - function isDeclarationASTOrDeclarationNameAST(ast: AST): boolean; - function getEnclosingParameterForInitializer(ast: AST): Parameter; - function getEnclosingMemberVariableDeclaration(ast: AST): MemberVariableDeclaration; - function isNameOfFunction(ast: AST): boolean; - function isNameOfMemberFunction(ast: AST): boolean; - function isNameOfMemberAccessExpression(ast: AST): boolean; - function isRightSideOfQualifiedName(ast: AST): boolean; - function parentIsModuleDeclaration(ast: AST): boolean; - function parametersFromIdentifier(id: Identifier): IParameters; - function parametersFromParameter(parameter: Parameter): IParameters; - function parametersFromParameterList(list: ParameterList): IParameters; - function isDeclarationAST(ast: AST): boolean; - function docComments(ast: AST): Comment[]; - function getParameterList(ast: AST): ParameterList; - function getType(ast: AST): AST; - function getVariableDeclaratorModifiers(variableDeclarator: VariableDeclarator): PullElementFlags[]; - function isIntegerLiteralAST(expression: AST): boolean; - function getEnclosingModuleDeclaration(ast: AST): ModuleDeclaration; - function getModuleDeclarationFromNameAST(ast: AST): ModuleDeclaration; - function isLastNameOfModule(ast: ModuleDeclaration, astName: AST): boolean; - function getNameOfIdenfierOrQualifiedName(name: AST): string; - function getModuleNames(name: AST, result?: Identifier[]): Identifier[]; -} -declare module TypeScript { - class AstWalkOptions { - public goChildren: boolean; - public stopWalking: boolean; - } - interface IAstWalker { - options: AstWalkOptions; - state: any; - } - class AstWalkerFactory { - public walk(ast: AST, pre: (ast: AST, walker: IAstWalker) => void, post?: (ast: AST, walker: IAstWalker) => void, state?: any): void; - public simpleWalk(ast: AST, pre: (ast: AST, state: any) => void, post?: (ast: AST, state: any) => void, state?: any): void; - } - function getAstWalkerFactory(): AstWalkerFactory; -} -declare module TypeScript { - class Base64VLQFormat { - static encode(inValue: number): string; - static decode(inString: string): { - value: number; - rest: string; - }; - } -} -declare module TypeScript { - class SourceMapPosition { - public sourceLine: number; - public sourceColumn: number; - public emittedLine: number; - public emittedColumn: number; - } - class SourceMapping { - public start: SourceMapPosition; - public end: SourceMapPosition; - public nameIndex: number; - public childMappings: SourceMapping[]; - } - class SourceMapEntry { - public emittedFile: string; - public emittedLine: number; - public emittedColumn: number; - public sourceFile: string; - public sourceLine: number; - public sourceColumn: number; - public sourceName: string; - constructor(emittedFile: string, emittedLine: number, emittedColumn: number, sourceFile: string, sourceLine: number, sourceColumn: number, sourceName: string); - } - class SourceMapper { - private jsFile; - private sourceMapOut; - static MapFileExtension: string; - private jsFileName; - private sourceMapPath; - private sourceMapDirectory; - private sourceRoot; - public names: string[]; - private mappingLevel; - private tsFilePaths; - private allSourceMappings; - public currentMappings: SourceMapping[][]; - public currentNameIndex: number[]; - private sourceMapEntries; - constructor(jsFile: TextWriter, sourceMapOut: TextWriter, document: Document, jsFilePath: string, emitOptions: EmitOptions, resolvePath: (path: string) => string); - public getOutputFile(): OutputFile; - public increaseMappingLevel(ast: IASTSpan): void; - public decreaseMappingLevel(ast: IASTSpan): void; - public setNewSourceFile(document: Document, emitOptions: EmitOptions): void; - private setSourceMapOptions(document, jsFilePath, emitOptions, resolvePath); - private setNewSourceFilePath(document, emitOptions); - public emitSourceMapping(): void; - } -} -declare module TypeScript { - enum EmitContainer { - Prog = 0, - Module = 1, - DynamicModule = 2, - Class = 3, - Constructor = 4, - Function = 5, - Args = 6, - Interface = 7, - } - class EmitState { - public column: number; - public line: number; - public container: EmitContainer; - constructor(); - } - class EmitOptions { - public resolvePath: (path: string) => string; - private _diagnostic; - private _settings; - private _commonDirectoryPath; - private _sharedOutputFile; - private _sourceRootDirectory; - private _sourceMapRootDirectory; - private _outputDirectory; - public diagnostic(): Diagnostic; - public commonDirectoryPath(): string; - public sharedOutputFile(): string; - public sourceRootDirectory(): string; - public sourceMapRootDirectory(): string; - public outputDirectory(): string; - public compilationSettings(): ImmutableCompilationSettings; - constructor(compiler: TypeScriptCompiler, resolvePath: (path: string) => string); - private determineCommonDirectoryPath(compiler); - } - class Indenter { - static indentStep: number; - static indentStepString: string; - static indentStrings: string[]; - public indentAmt: number; - public increaseIndent(): void; - public decreaseIndent(): void; - public getIndent(): string; - } - function lastParameterIsRest(parameterList: ParameterList): boolean; - class Emitter { - public emittingFileName: string; - public outfile: TextWriter; - public emitOptions: EmitOptions; - private semanticInfoChain; - public globalThisCapturePrologueEmitted: boolean; - public extendsPrologueEmitted: boolean; - public thisClassNode: ClassDeclaration; - public inArrowFunction: boolean; - public moduleName: string; - public emitState: EmitState; - public indenter: Indenter; - public sourceMapper: SourceMapper; - public captureThisStmtString: string; - private currentVariableDeclaration; - private declStack; - private exportAssignment; - private inWithBlock; - public document: Document; - private detachedCommentsElement; - constructor(emittingFileName: string, outfile: TextWriter, emitOptions: EmitOptions, semanticInfoChain: SemanticInfoChain); - private pushDecl(decl); - private popDecl(decl); - private getEnclosingDecl(); - public setExportAssignment(exportAssignment: ExportAssignment): void; - public getExportAssignment(): ExportAssignment; - public setDocument(document: Document): void; - public shouldEmitImportDeclaration(importDeclAST: ImportDeclaration): boolean; - public emitImportDeclaration(importDeclAST: ImportDeclaration): void; - public createSourceMapper(document: Document, jsFileName: string, jsFile: TextWriter, sourceMapOut: TextWriter, resolvePath: (path: string) => string): void; - public setSourceMapperNewSourceFile(document: Document): void; - private updateLineAndColumn(s); - public writeToOutputWithSourceMapRecord(s: string, astSpan: IASTSpan): void; - public writeToOutput(s: string): void; - public writeLineToOutput(s: string, force?: boolean): void; - public writeCaptureThisStatement(ast: AST): void; - public setContainer(c: number): number; - private getIndentString(); - public emitIndent(): void; - public emitComment(comment: Comment, trailing: boolean, first: boolean): void; - public emitComments(ast: AST, pre: boolean, onlyPinnedOrTripleSlashComments?: boolean): void; - private isPinnedOrTripleSlash(comment); - public emitCommentsArray(comments: Comment[], trailing: boolean): void; - public emitObjectLiteralExpression(objectLiteral: ObjectLiteralExpression): void; - public emitArrayLiteralExpression(arrayLiteral: ArrayLiteralExpression): void; - public emitObjectCreationExpression(objectCreationExpression: ObjectCreationExpression): void; - public getConstantDecl(dotExpr: MemberAccessExpression): PullEnumElementDecl; - public tryEmitConstant(dotExpr: MemberAccessExpression): boolean; - public emitInvocationExpression(callNode: InvocationExpression): void; - private emitParameterList(list); - private emitFunctionParameters(parameters); - private emitFunctionBodyStatements(name, funcDecl, parameterList, block, bodyExpression); - private emitDefaultValueAssignments(parameters); - private emitRestParameterInitializer(parameters); - private getImportDecls(fileName); - public getModuleImportAndDependencyList(sourceUnit: SourceUnit): { - importList: string; - dependencyList: string; - }; - public shouldCaptureThis(ast: AST): boolean; - public emitEnum(moduleDecl: EnumDeclaration): void; - private getModuleDeclToVerifyChildNameCollision(moduleDecl, changeNameIfAnyDeclarationInContext); - private hasChildNameCollision(moduleName, parentDecl); - private getModuleName(moduleDecl, changeNameIfAnyDeclarationInContext?); - private emitModuleDeclarationWorker(moduleDecl); - public emitSingleModuleDeclaration(moduleDecl: ModuleDeclaration, moduleName: IASTToken): void; - public emitEnumElement(varDecl: EnumElement): void; - public emitElementAccessExpression(expression: ElementAccessExpression): void; - public emitSimpleArrowFunctionExpression(arrowFunction: SimpleArrowFunctionExpression): void; - public emitParenthesizedArrowFunctionExpression(arrowFunction: ParenthesizedArrowFunctionExpression): void; - private emitAnyArrowFunctionExpression(arrowFunction, funcName, parameters, block, expression); - public emitConstructor(funcDecl: ConstructorDeclaration): void; - public emitGetAccessor(accessor: GetAccessor): void; - public emitSetAccessor(accessor: SetAccessor): void; - public emitFunctionExpression(funcDecl: FunctionExpression): void; - public emitFunction(funcDecl: FunctionDeclaration): void; - public emitAmbientVarDecl(varDecl: VariableDeclarator): void; - public emitVarDeclVar(): void; - public emitVariableDeclaration(declaration: VariableDeclaration): void; - private emitMemberVariableDeclaration(varDecl); - public emitVariableDeclarator(varDecl: VariableDeclarator): void; - private symbolIsUsedInItsEnclosingContainer(symbol, dynamic?); - private shouldQualifySymbolNameWithParentName(symbol); - private getSymbolForEmit(ast); - public emitName(name: Identifier, addThis: boolean): void; - public recordSourceMappingNameStart(name: string): void; - public recordSourceMappingNameEnd(): void; - public recordSourceMappingStart(ast: IASTSpan): void; - public recordSourceMappingEnd(ast: IASTSpan): void; - public getOutputFiles(): OutputFile[]; - private emitParameterPropertyAndMemberVariableAssignments(); - private isOnSameLine(pos1, pos2); - private emitCommaSeparatedList(parent, list, buffer, preserveNewLines); - public emitList(list: ISyntaxList2, useNewLineSeparator?: boolean, startInclusive?: number, endExclusive?: number): void; - public emitSeparatedList(list: ISeparatedSyntaxList2, useNewLineSeparator?: boolean, startInclusive?: number, endExclusive?: number): void; - private isDirectivePrologueElement(node); - public emitSpaceBetweenConstructs(node1: AST, node2: AST): void; - private getDetachedComments(element); - private emitPossibleCopyrightHeaders(script); - private emitDetachedComments(list); - public emitScriptElements(sourceUnit: SourceUnit): void; - public emitConstructorStatements(funcDecl: ConstructorDeclaration): void; - public emitJavascript(ast: AST, startLine: boolean): void; - public emitAccessorMemberDeclaration(funcDecl: AST, name: IASTToken, className: string, isProto: boolean): void; - private emitAccessorBody(funcDecl, parameterList, block); - public emitClass(classDecl: ClassDeclaration): void; - private emitClassMembers(classDecl); - private emitClassMemberFunctionDeclaration(classDecl, funcDecl); - private requiresExtendsBlock(moduleElements); - public emitPrologue(sourceUnit: SourceUnit): void; - public emitThis(): void; - public emitBlockOrStatement(node: AST): void; - public emitLiteralExpression(expression: LiteralExpression): void; - public emitThisExpression(expression: ThisExpression): void; - public emitSuperExpression(expression: SuperExpression): void; - public emitParenthesizedExpression(parenthesizedExpression: ParenthesizedExpression): void; - public emitCastExpression(expression: CastExpression): void; - public emitPrefixUnaryExpression(expression: PrefixUnaryExpression): void; - public emitPostfixUnaryExpression(expression: PostfixUnaryExpression): void; - public emitTypeOfExpression(expression: TypeOfExpression): void; - public emitDeleteExpression(expression: DeleteExpression): void; - public emitVoidExpression(expression: VoidExpression): void; - private canEmitDottedNameMemberAccessExpression(expression); - private emitDottedNameMemberAccessExpression(expression); - private emitDottedNameMemberAccessExpressionRecurse(expression); - public emitMemberAccessExpression(expression: MemberAccessExpression): void; - public emitQualifiedName(name: QualifiedName): void; - public emitBinaryExpression(expression: BinaryExpression): void; - public emitSimplePropertyAssignment(property: SimplePropertyAssignment): void; - public emitFunctionPropertyAssignment(funcProp: FunctionPropertyAssignment): void; - public emitConditionalExpression(expression: ConditionalExpression): void; - public emitThrowStatement(statement: ThrowStatement): void; - public emitExpressionStatement(statement: ExpressionStatement): void; - public emitLabeledStatement(statement: LabeledStatement): void; - public emitBlock(block: Block): void; - public emitBreakStatement(jump: BreakStatement): void; - public emitContinueStatement(jump: ContinueStatement): void; - public emitWhileStatement(statement: WhileStatement): void; - public emitDoStatement(statement: DoStatement): void; - public emitIfStatement(statement: IfStatement): void; - public emitElseClause(elseClause: ElseClause): void; - public emitReturnStatement(statement: ReturnStatement): void; - public emitForInStatement(statement: ForInStatement): void; - public emitForStatement(statement: ForStatement): void; - public emitWithStatement(statement: WithStatement): void; - public emitSwitchStatement(statement: SwitchStatement): void; - public emitCaseSwitchClause(clause: CaseSwitchClause): void; - private emitSwitchClauseBody(body); - public emitDefaultSwitchClause(clause: DefaultSwitchClause): void; - public emitTryStatement(statement: TryStatement): void; - public emitCatchClause(clause: CatchClause): void; - public emitFinallyClause(clause: FinallyClause): void; - public emitDebuggerStatement(statement: DebuggerStatement): void; - public emitNumericLiteral(literal: NumericLiteral): void; - public emitRegularExpressionLiteral(literal: RegularExpressionLiteral): void; - public emitStringLiteral(literal: StringLiteral): void; - public emitEqualsValueClause(clause: EqualsValueClause): void; - public emitParameter(parameter: Parameter): void; - public emitConstructorDeclaration(declaration: ConstructorDeclaration): void; - public shouldEmitFunctionDeclaration(declaration: FunctionDeclaration): boolean; - public emitFunctionDeclaration(declaration: FunctionDeclaration): void; - private emitSourceUnit(sourceUnit); - public shouldEmitEnumDeclaration(declaration: EnumDeclaration): boolean; - public emitEnumDeclaration(declaration: EnumDeclaration): void; - public shouldEmitModuleDeclaration(declaration: ModuleDeclaration): boolean; - private emitModuleDeclaration(declaration); - public shouldEmitClassDeclaration(declaration: ClassDeclaration): boolean; - public emitClassDeclaration(declaration: ClassDeclaration): void; - public shouldEmitInterfaceDeclaration(declaration: InterfaceDeclaration): boolean; - public emitInterfaceDeclaration(declaration: InterfaceDeclaration): void; - private firstVariableDeclarator(statement); - private isNotAmbientOrHasInitializer(variableStatement); - public shouldEmitVariableStatement(statement: VariableStatement): boolean; - public emitVariableStatement(statement: VariableStatement): void; - public emitGenericType(type: GenericType): void; - private shouldEmit(ast); - private emit(ast); - private emitWorker(ast); - } - function getLastConstructor(classDecl: ClassDeclaration): ConstructorDeclaration; - function getTrimmedTextLines(comment: Comment): string[]; -} -declare module TypeScript { - class MemberName { - public prefix: string; - public suffix: string; - public isString(): boolean; - public isArray(): boolean; - public isMarker(): boolean; - public toString(): string; - static memberNameToString(memberName: MemberName, markerInfo?: number[], markerBaseLength?: number): string; - static create(text: string): MemberName; - static create(entry: MemberName, prefix: string, suffix: string): MemberName; - } - class MemberNameString extends MemberName { - public text: string; - constructor(text: string); - public isString(): boolean; - } - class MemberNameArray extends MemberName { - public delim: string; - public entries: MemberName[]; - public isArray(): boolean; - public add(entry: MemberName): void; - public addAll(entries: MemberName[]): void; - constructor(); - } -} -declare module TypeScript { - function stripStartAndEndQuotes(str: string): string; - function isSingleQuoted(str: string): boolean; - function isDoubleQuoted(str: string): boolean; - function isQuoted(str: string): boolean; - function quoteStr(str: string): string; - function switchToForwardSlashes(path: string): string; - function trimModName(modName: string): string; - function getDeclareFilePath(fname: string): string; - function isTSFile(fname: string): boolean; - function isDTSFile(fname: string): boolean; - function getPrettyName(modPath: string, quote?: boolean, treatAsFileName?: boolean): any; - function getPathComponents(path: string): string[]; - function getRelativePathToFixedPath(fixedModFilePath: string, absoluteModPath: string, isAbsoultePathURL?: boolean): string; - function changePathToDTS(modPath: string): string; - function isRelative(path: string): boolean; - function isRooted(path: string): boolean; - function getRootFilePath(outFname: string): string; - function filePathComponents(fullPath: string): string[]; - function filePath(fullPath: string): string; - function convertToDirectoryPath(dirPath: string): string; - function normalizePath(path: string): string; -} -declare module TypeScript { - interface IFileReference extends ILineAndCharacter { - path: string; - isResident: boolean; - position: number; - length: number; - } -} -declare module TypeScript { - interface IPreProcessedFileInfo { - referencedFiles: IFileReference[]; - importedFiles: IFileReference[]; - diagnostics: Diagnostic[]; - isLibFile: boolean; - } - var tripleSlashReferenceRegExp: RegExp; - function preProcessFile(fileName: string, sourceText: IScriptSnapshot, readImportFiles?: boolean): IPreProcessedFileInfo; - function getParseOptions(settings: ImmutableCompilationSettings): ParseOptions; - function getReferencedFiles(fileName: string, sourceText: IScriptSnapshot): IFileReference[]; -} -declare module TypeScript { - interface IResolvedFile { - path: string; - referencedFiles: string[]; - importedFiles: string[]; - } - interface IReferenceResolverHost { - getScriptSnapshot(fileName: string): IScriptSnapshot; - resolveRelativePath(path: string, directory: string): string; - fileExists(path: string): boolean; - directoryExists(path: string): boolean; - getParentDirectory(path: string): string; - } - class ReferenceResolutionResult { - public resolvedFiles: IResolvedFile[]; - public diagnostics: Diagnostic[]; - public seenNoDefaultLibTag: boolean; - } - class ReferenceResolver { - private useCaseSensitiveFileResolution; - private inputFileNames; - private host; - private visited; - constructor(inputFileNames: string[], host: IReferenceResolverHost, useCaseSensitiveFileResolution: boolean); - static resolve(inputFileNames: string[], host: IReferenceResolverHost, useCaseSensitiveFileResolution: boolean): ReferenceResolutionResult; - public resolveInputFiles(): ReferenceResolutionResult; - private resolveIncludedFile(path, referenceLocation, resolutionResult); - private resolveImportedFile(path, referenceLocation, resolutionResult); - private resolveFile(normalizedPath, resolutionResult); - private getNormalizedFilePath(path, parentFilePath); - private getUniqueFileId(filePath); - private recordVisitedFile(filePath); - private isVisited(filePath); - private isSameFile(filePath1, filePath2); - } -} -declare module TypeScript { - class TextWriter { - private name; - private writeByteOrderMark; - private outputFileType; - private contents; - public onNewLine: boolean; - constructor(name: string, writeByteOrderMark: boolean, outputFileType: OutputFileType); - public Write(s: string): void; - public WriteLine(s: string): void; - public Close(): void; - public getOutputFile(): OutputFile; - } - class DeclarationEmitter { - private emittingFileName; - public document: Document; - private compiler; - private emitOptions; - private semanticInfoChain; - private declFile; - private indenter; - private emittedReferencePaths; - constructor(emittingFileName: string, document: Document, compiler: TypeScriptCompiler, emitOptions: EmitOptions, semanticInfoChain: SemanticInfoChain); - public getOutputFile(): OutputFile; - public emitDeclarations(sourceUnit: SourceUnit): void; - private emitDeclarationsForList(list); - private emitSeparatedList(list); - private emitDeclarationsForAST(ast); - private getIndentString(declIndent?); - private emitIndent(); - private canEmitDeclarations(declAST); - private getDeclFlagsString(pullDecl, typeString); - private emitDeclFlags(declarationAST, typeString); - private emitTypeNamesMember(memberName, emitIndent?); - private emitTypeSignature(ast, type); - private emitComment(comment); - private emitDeclarationComments(ast, endLine?); - private writeDeclarationComments(declComments, endLine?); - private emitTypeOfVariableDeclaratorOrParameter(boundDecl); - private emitPropertySignature(varDecl); - private emitVariableDeclarator(varDecl, isFirstVarInList, isLastVarInList); - private emitClassElementModifiers(modifiers); - private emitDeclarationsForMemberVariableDeclaration(varDecl); - private emitDeclarationsForVariableStatement(variableStatement); - private emitDeclarationsForVariableDeclaration(variableDeclaration); - private emitArgDecl(argDecl, id, isOptional, isPrivate); - private isOverloadedCallSignature(funcDecl); - private emitDeclarationsForConstructorDeclaration(funcDecl); - private emitParameterList(isPrivate, parameterList); - private emitParameters(isPrivate, parameterList); - private emitMemberFunctionDeclaration(funcDecl); - private emitCallSignature(funcDecl); - private emitConstructSignature(funcDecl); - private emitMethodSignature(funcDecl); - private emitDeclarationsForFunctionDeclaration(funcDecl); - private emitIndexMemberDeclaration(funcDecl); - private emitIndexSignature(funcDecl); - private emitBaseList(bases, useExtendsList); - private emitAccessorDeclarationComments(funcDecl); - private emitDeclarationsForGetAccessor(funcDecl); - private emitDeclarationsForSetAccessor(funcDecl); - private emitMemberAccessorDeclaration(funcDecl, modifiers, name); - private emitClassMembersFromConstructorDefinition(funcDecl); - private emitDeclarationsForClassDeclaration(classDecl); - private emitHeritageClauses(clauses); - private emitHeritageClause(clause); - static getEnclosingContainer(ast: AST): AST; - private emitTypeParameters(typeParams, funcSignature?); - private emitDeclarationsForInterfaceDeclaration(interfaceDecl); - private emitDeclarationsForImportDeclaration(importDeclAST); - private emitDeclarationsForEnumDeclaration(moduleDecl); - private emitDeclarationsForModuleDeclaration(moduleDecl); - private emitDeclarationsForExportAssignment(ast); - private resolveScriptReference(document, reference); - private emitReferencePaths(sourceUnit); - private emitDeclarationsForSourceUnit(sourceUnit); - } -} -declare module TypeScript { - class BloomFilter { - private bitArray; - private hashFunctionCount; - static falsePositiveProbability: number; - constructor(expectedCount: number); - static computeM(expectedCount: number): number; - static computeK(expectedCount: number): number; - private computeHash(key, seed); - public addKeys(keys: IIndexable): void; - public add(value: string): void; - public probablyContains(value: string): boolean; - public isEquivalent(filter: BloomFilter): boolean; - static isEquivalent(array1: boolean[], array2: boolean[]): boolean; - } -} -declare module TypeScript { - class IdentifierWalker extends SyntaxWalker { - public list: IIndexable; - constructor(list: IIndexable); - public visitToken(token: ISyntaxToken): void; - } -} -declare module TypeScript { - class CompilationSettings { - public propagateEnumConstants: boolean; - public removeComments: boolean; - public watch: boolean; - public noResolve: boolean; - public allowAutomaticSemicolonInsertion: boolean; - public noImplicitAny: boolean; - public noLib: boolean; - public codeGenTarget: LanguageVersion; - public moduleGenTarget: ModuleGenTarget; - public outFileOption: string; - public outDirOption: string; - public mapSourceFiles: boolean; - public mapRoot: string; - public sourceRoot: string; - public generateDeclarationFiles: boolean; - public useCaseSensitiveFileResolution: boolean; - public gatherDiagnostics: boolean; - public codepage: number; - public createFileLog: boolean; - } - class ImmutableCompilationSettings { - private static _defaultSettings; - private _propagateEnumConstants; - private _removeComments; - private _watch; - private _noResolve; - private _allowAutomaticSemicolonInsertion; - private _noImplicitAny; - private _noLib; - private _codeGenTarget; - private _moduleGenTarget; - private _outFileOption; - private _outDirOption; - private _mapSourceFiles; - private _mapRoot; - private _sourceRoot; - private _generateDeclarationFiles; - private _useCaseSensitiveFileResolution; - private _gatherDiagnostics; - private _codepage; - private _createFileLog; - public propagateEnumConstants(): boolean; - public removeComments(): boolean; - public watch(): boolean; - public noResolve(): boolean; - public allowAutomaticSemicolonInsertion(): boolean; - public noImplicitAny(): boolean; - public noLib(): boolean; - public codeGenTarget(): LanguageVersion; - public moduleGenTarget(): ModuleGenTarget; - public outFileOption(): string; - public outDirOption(): string; - public mapSourceFiles(): boolean; - public mapRoot(): string; - public sourceRoot(): string; - public generateDeclarationFiles(): boolean; - public useCaseSensitiveFileResolution(): boolean; - public gatherDiagnostics(): boolean; - public codepage(): number; - public createFileLog(): boolean; - constructor(propagateEnumConstants: boolean, removeComments: boolean, watch: boolean, noResolve: boolean, allowAutomaticSemicolonInsertion: boolean, noImplicitAny: boolean, noLib: boolean, codeGenTarget: LanguageVersion, moduleGenTarget: ModuleGenTarget, outFileOption: string, outDirOption: string, mapSourceFiles: boolean, mapRoot: string, sourceRoot: string, generateDeclarationFiles: boolean, useCaseSensitiveFileResolution: boolean, gatherDiagnostics: boolean, codepage: number, createFileLog: boolean); - static defaultSettings(): ImmutableCompilationSettings; - static fromCompilationSettings(settings: CompilationSettings): ImmutableCompilationSettings; - public toCompilationSettings(): any; - } -} -declare module TypeScript { - enum PullElementFlags { - None = 0, - Exported = 1, - Private = 2, - Public = 4, - Ambient = 8, - Static = 16, - Optional = 128, - Signature = 2048, - Enum = 4096, - ArrowFunction = 8192, - ClassConstructorVariable = 16384, - InitializedModule = 32768, - InitializedDynamicModule = 65536, - MustCaptureThis = 262144, - DeclaredInAWithBlock = 2097152, - HasReturnStatement = 4194304, - PropertyParameter = 8388608, - IsAnnotatedWithAny = 16777216, - HasDefaultArgs = 33554432, - ConstructorParameter = 67108864, - ImplicitVariable = 118784, - SomeInitializedModule = 102400, - } - function hasModifier(modifiers: PullElementFlags[], flag: PullElementFlags): boolean; - enum PullElementKind { - None = 0, - Global = 0, - Script = 1, - Primitive = 2, - Container = 4, - Class = 8, - Interface = 16, - DynamicModule = 32, - Enum = 64, - TypeAlias = 128, - ObjectLiteral = 256, - Variable = 512, - CatchVariable = 1024, - Parameter = 2048, - Property = 4096, - TypeParameter = 8192, - Function = 16384, - ConstructorMethod = 32768, - Method = 65536, - FunctionExpression = 131072, - GetAccessor = 262144, - SetAccessor = 524288, - CallSignature = 1048576, - ConstructSignature = 2097152, - IndexSignature = 4194304, - ObjectType = 8388608, - FunctionType = 16777216, - ConstructorType = 33554432, - EnumMember = 67108864, - WithBlock = 134217728, - CatchBlock = 268435456, - All = 536869887, - SomeFunction = 1032192, - SomeValue = 68147712, - SomeType = 58728795, - AcceptableAlias = 59753052, - SomeContainer = 164, - SomeSignature = 7340032, - SomeTypeReference = 58720272, - SomeInstantiatableType = 8216, - } -} -declare module TypeScript { - class PullDecl { - public kind: PullElementKind; - public name: string; - private declDisplayName; - public semanticInfoChain: SemanticInfoChain; - public declID: number; - public flags: PullElementFlags; - private declGroups; - private childDecls; - private typeParameters; - private synthesizedValDecl; - private containerDecl; - public childDeclTypeCache: IIndexable; - public childDeclValueCache: IIndexable; - public childDeclNamespaceCache: IIndexable; - public childDeclTypeParameterCache: IIndexable; - constructor(declName: string, displayName: string, kind: PullElementKind, declFlags: PullElementFlags, semanticInfoChain: SemanticInfoChain); - public fileName(): string; - public getParentPath(): PullDecl[]; - public getParentDecl(): PullDecl; - public isExternalModule(): boolean; - public getEnclosingDecl(): PullDecl; - public _getEnclosingDeclFromParentDecl(): PullDecl; - public getDisplayName(): string; - public setSymbol(symbol: PullSymbol): void; - public ensureSymbolIsBound(): void; - public getSymbol(): PullSymbol; - public hasSymbol(): boolean; - public setSignatureSymbol(signatureSymbol: PullSignatureSymbol): void; - public getSignatureSymbol(): PullSignatureSymbol; - public hasSignatureSymbol(): boolean; - public setFlags(flags: PullElementFlags): void; - public setFlag(flags: PullElementFlags): void; - public setValueDecl(valDecl: PullDecl): void; - public getValueDecl(): PullDecl; - public getContainerDecl(): PullDecl; - private getChildDeclCache(declKind); - public addChildDecl(childDecl: PullDecl): void; - public searchChildDecls(declName: string, searchKind: PullElementKind): PullDecl[]; - public getChildDecls(): PullDecl[]; - public getTypeParameters(): PullDecl[]; - public addVariableDeclToGroup(decl: PullDecl): void; - public getVariableDeclGroups(): PullDecl[][]; - public hasBeenBound(): boolean; - public isSynthesized(): boolean; - public ast(): AST; - public isRootDecl(): boolean; - } - class RootPullDecl extends PullDecl { - private _isExternalModule; - private _fileName; - constructor(name: string, fileName: string, kind: PullElementKind, declFlags: PullElementFlags, semanticInfoChain: SemanticInfoChain, isExternalModule: boolean); - public fileName(): string; - public getParentPath(): PullDecl[]; - public getParentDecl(): PullDecl; - public isExternalModule(): boolean; - public getEnclosingDecl(): RootPullDecl; - public isRootDecl(): boolean; - } - class NormalPullDecl extends PullDecl { - private parentDecl; - public _rootDecl: RootPullDecl; - private parentPath; - constructor(declName: string, displayName: string, kind: PullElementKind, declFlags: PullElementFlags, parentDecl: PullDecl, addToParent?: boolean); - public fileName(): string; - public getParentDecl(): PullDecl; - public getParentPath(): PullDecl[]; - public isExternalModule(): boolean; - public getEnclosingDecl(): PullDecl; - public isRootDecl(): boolean; - } - class PullEnumElementDecl extends NormalPullDecl { - public constantValue: number; - constructor(declName: string, displayName: string, parentDecl: PullDecl); - } - class PullFunctionExpressionDecl extends NormalPullDecl { - private functionExpressionName; - constructor(expressionName: string, declFlags: PullElementFlags, parentDecl: PullDecl, displayName?: string); - public getFunctionExpressionName(): string; - } - class PullSynthesizedDecl extends NormalPullDecl { - constructor(declName: string, displayName: string, kind: PullElementKind, declFlags: PullElementFlags, parentDecl: PullDecl, semanticInfoChain: SemanticInfoChain); - public isSynthesized(): boolean; - public fileName(): string; - } - class PullDeclGroup { - public name: string; - private _decls; - constructor(name: string); - public addDecl(decl: PullDecl): void; - public getDecls(): PullDecl[]; - } -} -declare module TypeScript { - var pullSymbolID: number; - var sentinelEmptyArray: any[]; - class PullSymbol { - public pullSymbolID: number; - public name: string; - public kind: PullElementKind; - private _container; - public type: PullTypeSymbol; - private _declarations; - public isResolved: boolean; - public isOptional: boolean; - public inResolution: boolean; - private isSynthesized; - public isVarArg: boolean; - private rootSymbol; - private _enclosingSignature; - private _docComments; - public isPrinting: boolean; - public isAny(): boolean; - public isType(): boolean; - public isTypeReference(): boolean; - public isSignature(): boolean; - public isArrayNamedTypeReference(): boolean; - public isPrimitive(): boolean; - public isAccessor(): boolean; - public isError(): boolean; - public isInterface(): boolean; - public isMethod(): boolean; - public isProperty(): boolean; - public isAlias(): boolean; - public isContainer(): boolean; - constructor(name: string, declKind: PullElementKind); - private findAliasedTypeSymbols(scopeSymbol, skipScopeSymbolAliasesLookIn?, lookIntoOnlyExportedAlias?, aliasSymbols?, visitedScopeDeclarations?); - public getExternalAliasedSymbols(scopeSymbol: PullSymbol): PullTypeAliasSymbol[]; - static _isExternalModuleReferenceAlias(aliasSymbol: PullTypeAliasSymbol): boolean; - private getExportedInternalAliasSymbol(scopeSymbol); - public getAliasSymbolName(scopeSymbol: PullSymbol, aliasNameGetter: (symbol: PullTypeAliasSymbol) => string, aliasPartsNameGetter: (symbol: PullTypeAliasSymbol) => string, skipInternalAlias?: boolean): string; - public _getResolver(): PullTypeResolver; - public _resolveDeclaredSymbol(): PullSymbol; - public getName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; - public getDisplayName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string; - public getIsSpecialized(): boolean; - public getRootSymbol(): PullSymbol; - public setRootSymbol(symbol: PullSymbol): void; - public setIsSynthesized(value?: boolean): void; - public getIsSynthesized(): any; - public setEnclosingSignature(signature: PullSignatureSymbol): void; - public getEnclosingSignature(): PullSignatureSymbol; - public addDeclaration(decl: PullDecl): void; - public getDeclarations(): PullDecl[]; - public hasDeclaration(decl: PullDecl): boolean; - public setContainer(containerSymbol: PullTypeSymbol): void; - public getContainer(): PullTypeSymbol; - public setResolved(): void; - public startResolving(): void; - public setUnresolved(): void; - public anyDeclHasFlag(flag: PullElementFlags): boolean; - public allDeclsHaveFlag(flag: PullElementFlags): boolean; - public pathToRoot(): PullSymbol[]; - private static unqualifiedNameReferencesDifferentSymbolInScope(symbol, scopePath, endScopePathIndex); - private findQualifyingSymbolPathInScopeSymbol(scopeSymbol); - public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; - public getNamePartForFullName(): string; - public fullName(scopeSymbol?: PullSymbol): string; - public getScopedName(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string; - public getScopedNameEx(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean, skipInternalAliasName?: boolean): MemberName; - public getTypeName(scopeSymbol?: PullSymbol, getPrettyTypeName?: boolean): string; - public getTypeNameEx(scopeSymbol?: PullSymbol, getPrettyTypeName?: boolean): MemberName; - private getTypeNameForFunctionSignature(prefix, scopeSymbol?, getPrettyTypeName?); - public getNameAndTypeName(scopeSymbol?: PullSymbol): string; - public getNameAndTypeNameEx(scopeSymbol?: PullSymbol): MemberName; - static getTypeParameterString(typars: PullTypeSymbol[], scopeSymbol?: PullSymbol, useContraintInName?: boolean): string; - static getTypeParameterStringEx(typeParameters: PullTypeSymbol[], scopeSymbol?: PullSymbol, getTypeParamMarkerInfo?: boolean, useContraintInName?: boolean): MemberNameArray; - static getIsExternallyVisible(symbol: PullSymbol, fromIsExternallyVisibleSymbol: PullSymbol, inIsExternallyVisibleSymbols: PullSymbol[]): boolean; - public isExternallyVisible(inIsExternallyVisibleSymbols?: PullSymbol[]): boolean; - private getDocCommentsOfDecl(decl); - private getDocCommentArray(symbol); - private static getDefaultConstructorSymbolForDocComments(classSymbol); - private getDocCommentText(comments); - private getDocCommentTextValue(comment); - public docComments(useConstructorAsClass?: boolean): string; - private getParameterDocCommentText(param, fncDocComments); - private cleanJSDocComment(content, spacesToRemove?); - private consumeLeadingSpace(line, startIndex, maxSpacesToRemove?); - private isSpaceChar(line, index); - private cleanDocCommentLine(line, jsDocStyleComment, jsDocLineSpaceToRemove?); - } - interface InstantiableSymbol { - getIsSpecialized(): boolean; - getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[]; - getTypeParameterArgumentMap(): TypeArgumentMap; - } - class PullSignatureSymbol extends PullSymbol implements InstantiableSymbol { - private _isDefinition; - private _memberTypeParameterNameCache; - private _stringConstantOverload; - public parameters: PullSymbol[]; - public _typeParameters: PullTypeParameterSymbol[]; - public returnType: PullTypeSymbol; - public functionType: PullTypeSymbol; - public hasOptionalParam: boolean; - public nonOptionalParamCount: number; - public hasVarArgs: boolean; - private _allowedToReferenceTypeParameters; - private _instantiationCache; - public hasBeenChecked: boolean; - public inWrapCheck: boolean; - public inWrapInfiniteExpandingReferenceCheck: boolean; - private _wrapsTypeParameterCache; - constructor(kind: PullElementKind, _isDefinition?: boolean); - public isDefinition(): boolean; - public isGeneric(): boolean; - public addParameter(parameter: PullSymbol, isOptional?: boolean): void; - public addTypeParameter(typeParameter: PullTypeParameterSymbol): void; - public addTypeParametersFromReturnType(): void; - public getTypeParameters(): PullTypeParameterSymbol[]; - public findTypeParameter(name: string): PullTypeParameterSymbol; - public getTypeParameterArgumentMap(): TypeArgumentMap; - public getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[]; - public addSpecialization(specializedVersionOfThisSignature: PullSignatureSymbol, typeArgumentMap: TypeArgumentMap): void; - public getSpecialization(typeArgumentMap: TypeArgumentMap): PullSignatureSymbol; - public isStringConstantOverloadSignature(): boolean; - public getParameterTypeAtIndex(iParam: number): PullTypeSymbol; - static getSignatureTypeMemberName(candidateSignature: PullSignatureSymbol, signatures: PullSignatureSymbol[], scopeSymbol: PullSymbol): MemberNameArray; - static getSignaturesTypeNameEx(signatures: PullSignatureSymbol[], prefix: string, shortform: boolean, brackets: boolean, scopeSymbol?: PullSymbol, getPrettyTypeName?: boolean, candidateSignature?: PullSignatureSymbol): MemberName[]; - public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; - public getSignatureTypeNameEx(prefix: string, shortform: boolean, brackets: boolean, scopeSymbol?: PullSymbol, getParamMarkerInfo?: boolean, getTypeParamMarkerInfo?: boolean): MemberNameArray; - public forAllParameterTypes(length: number, predicate: (parameterType: PullTypeSymbol, iterationIndex: number) => boolean): boolean; - public forAllCorrespondingParameterTypesInThisAndOtherSignature(otherSignature: PullSignatureSymbol, predicate: (thisSignatureParameterType: PullTypeSymbol, otherSignatureParameterType: PullTypeSymbol, iterationIndex: number) => boolean): boolean; - public wrapsSomeTypeParameter(typeParameterArgumentMap: TypeArgumentMap): boolean; - public getWrappingTypeParameterID(typeParameterArgumentMap: TypeArgumentMap): number; - public getWrappingTypeParameterIDWorker(typeParameterArgumentMap: TypeArgumentMap): number; - public _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReference(enclosingType: PullTypeSymbol, knownWrapMap: IBitMatrix): boolean; - public _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceWorker(enclosingType: PullTypeSymbol, knownWrapMap: IBitMatrix): boolean; - } - class PullTypeSymbol extends PullSymbol implements InstantiableSymbol { - private _members; - private _enclosedMemberTypes; - private _enclosedMemberContainers; - private _typeParameters; - private _allowedToReferenceTypeParameters; - private _specializedVersionsOfThisType; - private _arrayVersionOfThisType; - private _implementedTypes; - private _extendedTypes; - private _typesThatExplicitlyImplementThisType; - private _typesThatExtendThisType; - private _callSignatures; - private _allCallSignatures; - private _constructSignatures; - private _allConstructSignatures; - private _indexSignatures; - private _allIndexSignatures; - private _allIndexSignaturesOfAugmentedType; - private _memberNameCache; - private _enclosedTypeNameCache; - private _enclosedContainerCache; - private _typeParameterNameCache; - private _containedNonMemberNameCache; - private _containedNonMemberTypeNameCache; - private _containedNonMemberContainerCache; - private _simpleInstantiationCache; - private _complexInstantiationCache; - private _hasGenericSignature; - private _hasGenericMember; - private _hasBaseTypeConflict; - private _knownBaseTypeCount; - private _associatedContainerTypeSymbol; - private _constructorMethod; - private _hasDefaultConstructor; - private _functionSymbol; - private _inMemberTypeNameEx; - public inSymbolPrivacyCheck: boolean; - public inWrapCheck: boolean; - public inWrapInfiniteExpandingReferenceCheck: boolean; - public typeReference: PullTypeReferenceSymbol; - private _widenedType; - private _wrapsTypeParameterCache; - constructor(name: string, kind: PullElementKind); - private _isArrayNamedTypeReference; - public isArrayNamedTypeReference(): boolean; - private computeIsArrayNamedTypeReference(); - public isType(): boolean; - public isClass(): boolean; - public isFunction(): boolean; - public isConstructor(): boolean; - public isTypeParameter(): boolean; - public isTypeVariable(): boolean; - public isError(): boolean; - public isEnum(): boolean; - public getTypeParameterArgumentMap(): TypeArgumentMap; - public isObject(): boolean; - public isFunctionType(): boolean; - public getKnownBaseTypeCount(): number; - public resetKnownBaseTypeCount(): void; - public incrementKnownBaseCount(): void; - public setHasBaseTypeConflict(): void; - public hasBaseTypeConflict(): boolean; - public hasMembers(): boolean; - public setHasGenericSignature(): void; - public getHasGenericSignature(): boolean; - public setHasGenericMember(): void; - public getHasGenericMember(): boolean; - public setAssociatedContainerType(type: PullTypeSymbol): void; - public getAssociatedContainerType(): PullTypeSymbol; - public getArrayType(): PullTypeSymbol; - public getElementType(): PullTypeSymbol; - public setArrayType(arrayType: PullTypeSymbol): void; - public getFunctionSymbol(): PullSymbol; - public setFunctionSymbol(symbol: PullSymbol): void; - public findContainedNonMember(name: string): PullSymbol; - public findContainedNonMemberType(typeName: string, kind?: PullElementKind): PullTypeSymbol; - public findContainedNonMemberContainer(containerName: string, kind?: PullElementKind): PullTypeSymbol; - public addMember(memberSymbol: PullSymbol): void; - public addEnclosedMemberType(enclosedType: PullTypeSymbol): void; - public addEnclosedMemberContainer(enclosedContainer: PullTypeSymbol): void; - public addEnclosedNonMember(enclosedNonMember: PullSymbol): void; - public addEnclosedNonMemberType(enclosedNonMemberType: PullTypeSymbol): void; - public addEnclosedNonMemberContainer(enclosedNonMemberContainer: PullTypeSymbol): void; - public addTypeParameter(typeParameter: PullTypeParameterSymbol): void; - public getMembers(): PullSymbol[]; - public setHasDefaultConstructor(hasOne?: boolean): void; - public getHasDefaultConstructor(): boolean; - public getConstructorMethod(): PullSymbol; - public setConstructorMethod(constructorMethod: PullSymbol): void; - public getTypeParameters(): PullTypeParameterSymbol[]; - public getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[]; - public isGeneric(): boolean; - private canUseSimpleInstantiationCache(typeArgumentMap); - private getSimpleInstantiationCacheId(typeArgumentMap); - public addSpecialization(specializedVersionOfThisType: PullTypeSymbol, typeArgumentMap: TypeArgumentMap): void; - public getSpecialization(typeArgumentMap: TypeArgumentMap): PullTypeSymbol; - public getKnownSpecializations(): PullTypeSymbol[]; - public getTypeArguments(): PullTypeSymbol[]; - public getTypeArgumentsOrTypeParameters(): PullTypeSymbol[]; - private addCallOrConstructSignaturePrerequisiteBase(signature); - private addCallSignaturePrerequisite(callSignature); - public appendCallSignature(callSignature: PullSignatureSymbol): void; - public insertCallSignatureAtIndex(callSignature: PullSignatureSymbol, index: number): void; - private addConstructSignaturePrerequisite(constructSignature); - public appendConstructSignature(constructSignature: PullSignatureSymbol): void; - public insertConstructSignatureAtIndex(constructSignature: PullSignatureSymbol, index: number): void; - public addIndexSignature(indexSignature: PullSignatureSymbol): void; - public hasOwnCallSignatures(): boolean; - public getOwnCallSignatures(): PullSignatureSymbol[]; - public getCallSignatures(): PullSignatureSymbol[]; - public hasOwnConstructSignatures(): boolean; - public getOwnDeclaredConstructSignatures(): PullSignatureSymbol[]; - public getConstructSignatures(): PullSignatureSymbol[]; - public hasOwnIndexSignatures(): boolean; - public getOwnIndexSignatures(): PullSignatureSymbol[]; - public getIndexSignatures(): PullSignatureSymbol[]; - public getIndexSignaturesOfAugmentedType(resolver: PullTypeResolver, globalFunctionInterface: PullTypeSymbol, globalObjectInterface: PullTypeSymbol): PullSignatureSymbol[]; - private getBaseClassConstructSignatures(baseType); - private getDefaultClassConstructSignature(); - public addImplementedType(implementedType: PullTypeSymbol): void; - public getImplementedTypes(): PullTypeSymbol[]; - public addExtendedType(extendedType: PullTypeSymbol): void; - public getExtendedTypes(): PullTypeSymbol[]; - public addTypeThatExtendsThisType(type: PullTypeSymbol): void; - public getTypesThatExtendThisType(): PullTypeSymbol[]; - public addTypeThatExplicitlyImplementsThisType(type: PullTypeSymbol): void; - public getTypesThatExplicitlyImplementThisType(): PullTypeSymbol[]; - public hasBase(potentialBase: PullTypeSymbol, visited?: PullSymbol[]): boolean; - public isValidBaseKind(baseType: PullTypeSymbol, isExtendedType: boolean): boolean; - public findMember(name: string, lookInParent: boolean): PullSymbol; - public findNestedType(name: string, kind?: PullElementKind): PullTypeSymbol; - public findNestedContainer(name: string, kind?: PullElementKind): PullTypeSymbol; - public getAllMembers(searchDeclKind: PullElementKind, memberVisiblity: GetAllMembersVisiblity): PullSymbol[]; - public findTypeParameter(name: string): PullTypeParameterSymbol; - public setResolved(): void; - public getNamePartForFullName(): string; - public getScopedName(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string; - public isNamedTypeSymbol(): boolean; - public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; - public getScopedNameEx(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean, skipInternalAliasName?: boolean, shouldAllowArrayType?: boolean): MemberName; - public hasOnlyOverloadCallSignatures(): boolean; - public getTypeOfSymbol(): PullSymbol; - private getMemberTypeNameEx(topLevel, scopeSymbol?, getPrettyTypeName?); - public getGenerativeTypeClassification(enclosingType: PullTypeSymbol): GenerativeTypeClassification; - public wrapsSomeTypeParameter(typeParameterArgumentMap: CandidateInferenceInfo[]): boolean; - public wrapsSomeTypeParameter(typeParameterArgumentMap: TypeArgumentMap, skipTypeArgumentCheck?: boolean): boolean; - public getWrappingTypeParameterID(typeParameterArgumentMap: TypeArgumentMap, skipTypeArgumentCheck?: boolean): number; - private getWrappingTypeParameterIDFromSignatures(signatures, typeParameterArgumentMap); - private getWrappingTypeParameterIDWorker(typeParameterArgumentMap, skipTypeArgumentCheck); - public wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReference(enclosingType: PullTypeSymbol): boolean; - public _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceRecurse(enclosingType: PullTypeSymbol, knownWrapMap: IBitMatrix): boolean; - private _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceWorker(enclosingType, knownWrapMap); - private _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceStructure(enclosingType, knownWrapMap); - public widenedType(resolver: PullTypeResolver, ast: AST, context: PullTypeResolutionContext): PullTypeSymbol; - } - class PullPrimitiveTypeSymbol extends PullTypeSymbol { - constructor(name: string); - public isAny(): boolean; - public isNull(): boolean; - public isUndefined(): boolean; - public isStringConstant(): boolean; - public setUnresolved(): void; - public getDisplayName(): string; - } - class PullStringConstantTypeSymbol extends PullPrimitiveTypeSymbol { - constructor(name: string); - public isStringConstant(): boolean; - } - class PullErrorTypeSymbol extends PullPrimitiveTypeSymbol { - public _anyType: PullTypeSymbol; - constructor(_anyType: PullTypeSymbol, name: string); - public isError(): boolean; - public _getResolver(): PullTypeResolver; - public getName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; - public getDisplayName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string; - public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; - } - class PullContainerSymbol extends PullTypeSymbol { - public instanceSymbol: PullSymbol; - private assignedValue; - private assignedType; - private assignedContainer; - constructor(name: string, kind: PullElementKind); - public isContainer(): boolean; - public setInstanceSymbol(symbol: PullSymbol): void; - public getInstanceSymbol(): PullSymbol; - public setExportAssignedValueSymbol(symbol: PullSymbol): void; - public getExportAssignedValueSymbol(): PullSymbol; - public setExportAssignedTypeSymbol(type: PullTypeSymbol): void; - public getExportAssignedTypeSymbol(): PullTypeSymbol; - public setExportAssignedContainerSymbol(container: PullContainerSymbol): void; - public getExportAssignedContainerSymbol(): PullContainerSymbol; - public hasExportAssignment(): boolean; - static usedAsSymbol(containerSymbol: PullSymbol, symbol: PullSymbol): boolean; - public getInstanceType(): PullTypeSymbol; - } - class PullTypeAliasSymbol extends PullTypeSymbol { - private _assignedValue; - private _assignedType; - private _assignedContainer; - private _isUsedAsValue; - private _typeUsedExternally; - private _isUsedInExportAlias; - private retrievingExportAssignment; - private linkedAliasSymbols; - constructor(name: string); - public isUsedInExportedAlias(): boolean; - public typeUsedExternally(): boolean; - public isUsedAsValue(): boolean; - public setTypeUsedExternally(): void; - public setIsUsedInExportedAlias(): void; - public addLinkedAliasSymbol(contingentValueSymbol: PullTypeAliasSymbol): void; - public setIsUsedAsValue(): void; - public assignedValue(): PullSymbol; - public assignedType(): PullTypeSymbol; - public assignedContainer(): PullContainerSymbol; - public isAlias(): boolean; - public isContainer(): boolean; - public setAssignedValueSymbol(symbol: PullSymbol): void; - public getExportAssignedValueSymbol(): PullSymbol; - public setAssignedTypeSymbol(type: PullTypeSymbol): void; - public getExportAssignedTypeSymbol(): PullTypeSymbol; - public setAssignedContainerSymbol(container: PullContainerSymbol): void; - public getExportAssignedContainerSymbol(): PullContainerSymbol; - public getMembers(): PullSymbol[]; - public getCallSignatures(): PullSignatureSymbol[]; - public getConstructSignatures(): PullSignatureSymbol[]; - public getIndexSignatures(): PullSignatureSymbol[]; - public findMember(name: string): PullSymbol; - public findNestedType(name: string): PullTypeSymbol; - public findNestedContainer(name: string): PullTypeSymbol; - public getAllMembers(searchDeclKind: PullElementKind, memberVisibility: GetAllMembersVisiblity): PullSymbol[]; - } - class PullTypeParameterSymbol extends PullTypeSymbol { - private _constraint; - constructor(name: string); - public isTypeParameter(): boolean; - public setConstraint(constraintType: PullTypeSymbol): void; - public getConstraint(): PullTypeSymbol; - public getBaseConstraint(semanticInfoChain: SemanticInfoChain): PullTypeSymbol; - private getConstraintRecursively(visitedTypeParameters); - public getDefaultConstraint(semanticInfoChain: SemanticInfoChain): PullTypeSymbol; - public getCallSignatures(): PullSignatureSymbol[]; - public getConstructSignatures(): PullSignatureSymbol[]; - public getIndexSignatures(): PullSignatureSymbol[]; - public isGeneric(): boolean; - public fullName(scopeSymbol?: PullSymbol): string; - public getName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string; - public getDisplayName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string; - public isExternallyVisible(inIsExternallyVisibleSymbols?: PullSymbol[]): boolean; - } - class PullAccessorSymbol extends PullSymbol { - private _getterSymbol; - private _setterSymbol; - constructor(name: string); - public isAccessor(): boolean; - public setSetter(setter: PullSymbol): void; - public getSetter(): PullSymbol; - public setGetter(getter: PullSymbol): void; - public getGetter(): PullSymbol; - } - function getIDForTypeSubstitutions(instantiatingType: PullTypeSymbol, typeArgumentMap: TypeArgumentMap): string; - function getIDForTypeSubstitutions(instantiatingSignature: PullSignatureSymbol, typeArgumentMap: TypeArgumentMap): string; - enum GetAllMembersVisiblity { - all = 0, - internallyVisible = 1, - externallyVisible = 2, - } -} -declare module TypeScript { - class EnclosingTypeWalkerState { - public _hasSetEnclosingType: boolean; - public _currentSymbols: PullSymbol[]; - static getDefaultEnclosingTypeWalkerState(): EnclosingTypeWalkerState; - static getNonGenericEnclosingTypeWalkerState(): EnclosingTypeWalkerState; - static getGenericEnclosingTypeWalkerState(genericEnclosingType: PullTypeSymbol): EnclosingTypeWalkerState; - } - class PullTypeEnclosingTypeWalker { - private static _defaultEnclosingTypeWalkerState; - private static _nonGenericEnclosingTypeWalkerState; - private enclosingTypeWalkerState; - constructor(); - private setDefaultTypeWalkerState(); - private setNonGenericEnclosingTypeWalkerState(); - private canSymbolOrDeclBeUsedAsEnclosingTypeHelper(name, kind); - private canDeclBeUsedAsEnclosingType(decl); - private canSymbolBeUsedAsEnclosingType(symbol); - public getEnclosingType(): PullTypeSymbol; - public _canWalkStructure(): boolean; - public _getCurrentSymbol(): PullSymbol; - public getGenerativeClassification(): GenerativeTypeClassification; - private _pushSymbol(symbol); - private _popSymbol(); - private setSymbolAsEnclosingType(type); - private _setEnclosingTypeOfParentDecl(decl, setSignature); - public setEnclosingTypeForSymbol(symbol: PullSymbol): EnclosingTypeWalkerState; - public startWalkingType(symbol: PullTypeSymbol): EnclosingTypeWalkerState; - public endWalkingType(stateWhenStartedWalkingTypes: EnclosingTypeWalkerState): void; - public walkMemberType(memberName: string, resolver: PullTypeResolver): void; - public postWalkMemberType(): void; - public walkSignature(kind: PullElementKind, index: number): void; - public postWalkSignature(): void; - public walkTypeArgument(index: number): void; - public postWalkTypeArgument(): void; - public walkTypeParameterConstraint(index: number): void; - public postWalkTypeParameterConstraint(): void; - public walkReturnType(): void; - public postWalkReturnType(): void; - public walkParameterType(iParam: number): void; - public postWalkParameterType(): void; - public getBothKindOfIndexSignatures(resolver: PullTypeResolver, context: PullTypeResolutionContext, includeAugmentedType: boolean): IndexSignatureInfo; - public walkIndexSignatureReturnType(indexSigInfo: IndexSignatureInfo, useStringIndexSignature: boolean, onlySignature?: boolean): void; - public postWalkIndexSignatureReturnType(onlySignature?: boolean): void; - public resetEnclosingTypeWalkerState(): EnclosingTypeWalkerState; - public setEnclosingTypeWalkerState(enclosingTypeWalkerState: EnclosingTypeWalkerState): void; - } -} -declare module TypeScript { - class CandidateInferenceInfo { - public typeParameter: PullTypeParameterSymbol; - public _inferredTypeAfterFixing: PullTypeSymbol; - public inferenceCandidates: PullTypeSymbol[]; - public addCandidate(candidate: PullTypeSymbol): void; - public isFixed(): boolean; - public fixTypeParameter(resolver: PullTypeResolver, context: PullTypeResolutionContext): void; - } - class TypeArgumentInferenceContext { - public resolver: PullTypeResolver; - public context: PullTypeResolutionContext; - public signatureBeingInferred: PullSignatureSymbol; - public inferenceCache: IBitMatrix; - public candidateCache: CandidateInferenceInfo[]; - constructor(resolver: PullTypeResolver, context: PullTypeResolutionContext, signatureBeingInferred: PullSignatureSymbol); - public alreadyRelatingTypes(objectType: PullTypeSymbol, parameterType: PullTypeSymbol): boolean; - public resetRelationshipCache(): void; - public addInferenceRoot(param: PullTypeParameterSymbol): void; - public getInferenceInfo(param: PullTypeParameterSymbol): CandidateInferenceInfo; - public addCandidateForInference(param: PullTypeParameterSymbol, candidate: PullTypeSymbol): void; - public inferTypeArguments(): PullTypeSymbol[]; - public fixTypeParameter(typeParameter: PullTypeParameterSymbol): void; - public _finalizeInferredTypeArguments(): PullTypeSymbol[]; - public isInvocationInferenceContext(): boolean; - } - class InvocationTypeArgumentInferenceContext extends TypeArgumentInferenceContext { - public argumentASTs: ISeparatedSyntaxList2; - constructor(resolver: PullTypeResolver, context: PullTypeResolutionContext, signatureBeingInferred: PullSignatureSymbol, argumentASTs: ISeparatedSyntaxList2); - public isInvocationInferenceContext(): boolean; - public inferTypeArguments(): PullTypeSymbol[]; - } - class ContextualSignatureInstantiationTypeArgumentInferenceContext extends TypeArgumentInferenceContext { - private contextualSignature; - private shouldFixContextualSignatureParameterTypes; - constructor(resolver: PullTypeResolver, context: PullTypeResolutionContext, signatureBeingInferred: PullSignatureSymbol, contextualSignature: PullSignatureSymbol, shouldFixContextualSignatureParameterTypes: boolean); - public isInvocationInferenceContext(): boolean; - public inferTypeArguments(): PullTypeSymbol[]; - } - class PullContextualTypeContext { - public contextualType: PullTypeSymbol; - public provisional: boolean; - public isInferentiallyTyping: boolean; - public typeArgumentInferenceContext: TypeArgumentInferenceContext; - public provisionallyTypedSymbols: PullSymbol[]; - public hasProvisionalErrors: boolean; - private astSymbolMap; - constructor(contextualType: PullTypeSymbol, provisional: boolean, isInferentiallyTyping: boolean, typeArgumentInferenceContext: TypeArgumentInferenceContext); - public recordProvisionallyTypedSymbol(symbol: PullSymbol): void; - public invalidateProvisionallyTypedSymbols(): void; - public setSymbolForAST(ast: AST, symbol: PullSymbol): void; - public getSymbolForAST(ast: AST): PullSymbol; - } - class PullTypeResolutionContext { - private resolver; - public inTypeCheck: boolean; - public fileName: string; - private contextStack; - private typeCheckedNodes; - private enclosingTypeWalker1; - private enclosingTypeWalker2; - constructor(resolver: PullTypeResolver, inTypeCheck?: boolean, fileName?: string); - public setTypeChecked(ast: AST): void; - public canTypeCheckAST(ast: AST): boolean; - private _pushAnyContextualType(type, provisional, isInferentiallyTyping, argContext); - public pushNewContextualType(type: PullTypeSymbol): void; - public propagateContextualType(type: PullTypeSymbol): void; - public pushInferentialType(type: PullTypeSymbol, typeArgumentInferenceContext: TypeArgumentInferenceContext): void; - public pushProvisionalType(type: PullTypeSymbol): void; - public popAnyContextualType(): PullContextualTypeContext; - public hasProvisionalErrors(): boolean; - public getContextualType(): PullTypeSymbol; - public fixAllTypeParametersReferencedByType(type: PullTypeSymbol, resolver: PullTypeResolver, argContext?: TypeArgumentInferenceContext): PullTypeSymbol; - private getCurrentTypeArgumentInferenceContext(); - public isInferentiallyTyping(): boolean; - public inProvisionalResolution(): boolean; - private inBaseTypeResolution; - public isInBaseTypeResolution(): boolean; - public startBaseTypeResolution(): boolean; - public doneBaseTypeResolution(wasInBaseTypeResolution: boolean): void; - public setTypeInContext(symbol: PullSymbol, type: PullTypeSymbol): void; - public postDiagnostic(diagnostic: Diagnostic): void; - public typeCheck(): boolean; - public setSymbolForAST(ast: AST, symbol: PullSymbol): void; - public getSymbolForAST(ast: AST): PullSymbol; - public startWalkingTypes(symbol1: PullTypeSymbol, symbol2: PullTypeSymbol): { - stateWhenStartedWalkingTypes1: EnclosingTypeWalkerState; - stateWhenStartedWalkingTypes2: EnclosingTypeWalkerState; - }; - public endWalkingTypes(statesWhenStartedWalkingTypes: { - stateWhenStartedWalkingTypes1: EnclosingTypeWalkerState; - stateWhenStartedWalkingTypes2: EnclosingTypeWalkerState; - }): void; - public setEnclosingTypeForSymbols(symbol1: PullSymbol, symbol2: PullSymbol): { - enclosingTypeWalkerState1: EnclosingTypeWalkerState; - enclosingTypeWalkerState2: EnclosingTypeWalkerState; - }; - public walkMemberTypes(memberName: string): void; - public postWalkMemberTypes(): void; - public walkSignatures(kind: PullElementKind, index: number, index2?: number): void; - public postWalkSignatures(): void; - public walkTypeParameterConstraints(index: number): void; - public postWalkTypeParameterConstraints(): void; - public walkTypeArgument(index: number): void; - public postWalkTypeArgument(): void; - public walkReturnTypes(): void; - public postWalkReturnTypes(): void; - public walkParameterTypes(iParam: number): void; - public postWalkParameterTypes(): void; - public getBothKindOfIndexSignatures(includeAugmentedType1: boolean, includeAugmentedType2: boolean): { - indexSigs1: IndexSignatureInfo; - indexSigs2: IndexSignatureInfo; - }; - public walkIndexSignatureReturnTypes(indexSigs: { - indexSigs1: IndexSignatureInfo; - indexSigs2: IndexSignatureInfo; - }, useStringIndexSignature1: boolean, useStringIndexSignature2: boolean, onlySignature?: boolean): void; - public postWalkIndexSignatureReturnTypes(onlySignature?: boolean): void; - public swapEnclosingTypeWalkers(): void; - public oneOfClassificationsIsInfinitelyExpanding(): boolean; - public resetEnclosingTypeWalkerStates(): { - enclosingTypeWalkerState1: EnclosingTypeWalkerState; - enclosingTypeWalkerState2: EnclosingTypeWalkerState; - }; - public setEnclosingTypeWalkerStates(enclosingTypeWalkerStates: { - enclosingTypeWalkerState1: EnclosingTypeWalkerState; - enclosingTypeWalkerState2: EnclosingTypeWalkerState; - }): void; - } -} -declare module TypeScript { - interface IPullTypeCollection { - getLength(): number; - getTypeAtIndex(index: number): PullTypeSymbol; - } - class PullAdditionalCallResolutionData { - public targetSymbol: PullSymbol; - public resolvedSignatures: PullSignatureSymbol[]; - public candidateSignature: PullSignatureSymbol; - public actualParametersContextTypeSymbols: PullTypeSymbol[]; - public diagnosticsFromOverloadResolution: Diagnostic[]; - } - class PullAdditionalObjectLiteralResolutionData { - public membersContextTypeSymbols: PullTypeSymbol[]; - } - interface IndexSignatureInfo { - numericSignature: PullSignatureSymbol; - stringSignature: PullSignatureSymbol; - } - class PullTypeResolver { - private compilationSettings; - public semanticInfoChain: SemanticInfoChain; - private _cachedArrayInterfaceType; - private _cachedNumberInterfaceType; - private _cachedStringInterfaceType; - private _cachedBooleanInterfaceType; - private _cachedObjectInterfaceType; - private _cachedFunctionInterfaceType; - private _cachedIArgumentsInterfaceType; - private _cachedRegExpInterfaceType; - private _cachedAnyTypeArgs; - private typeCheckCallBacks; - private postTypeCheckWorkitems; - private _cachedFunctionArgumentsSymbol; - private assignableCache; - private subtypeCache; - private identicalCache; - private inResolvingOtherDeclsWalker; - constructor(compilationSettings: ImmutableCompilationSettings, semanticInfoChain: SemanticInfoChain); - private cachedArrayInterfaceType(); - public getArrayNamedType(): PullTypeSymbol; - private cachedNumberInterfaceType(); - private cachedStringInterfaceType(); - private cachedBooleanInterfaceType(); - private cachedObjectInterfaceType(); - private cachedFunctionInterfaceType(); - private cachedIArgumentsInterfaceType(); - private cachedRegExpInterfaceType(); - private cachedFunctionArgumentsSymbol(); - private getApparentType(type); - private setTypeChecked(ast, context); - private canTypeCheckAST(ast, context); - private setSymbolForAST(ast, symbol, context); - private getSymbolForAST(ast, context); - public getASTForDecl(decl: PullDecl): AST; - public getNewErrorTypeSymbol(name?: string): PullErrorTypeSymbol; - public getEnclosingDecl(decl: PullDecl): PullDecl; - private getExportedMemberSymbol(symbol, parent); - public _getNamedPropertySymbolOfAugmentedType(symbolName: string, parent: PullTypeSymbol): PullSymbol; - private getNamedPropertySymbol(symbolName, declSearchKind, parent); - private getSymbolFromDeclPath(symbolName, declPath, declSearchKind); - private getVisibleDeclsFromDeclPath(declPath, declSearchKind); - private addFilteredDecls(decls, declSearchKind, result); - public getVisibleDecls(enclosingDecl: PullDecl): PullDecl[]; - public getVisibleContextSymbols(enclosingDecl: PullDecl, context: PullTypeResolutionContext): PullSymbol[]; - public getVisibleMembersFromExpression(expression: AST, enclosingDecl: PullDecl, context: PullTypeResolutionContext): PullSymbol[]; - private isAnyOrEquivalent(type); - private resolveExternalModuleReference(idText, currentFileName); - public resolveDeclaredSymbol(symbol: TSymbol, context?: PullTypeResolutionContext): TSymbol; - private resolveDeclaredSymbolWorker(symbol, context); - private resolveOtherDecl(otherDecl, context); - private resolveOtherDeclarations(astName, context); - private resolveSourceUnit(sourceUnit, context); - private typeCheckSourceUnit(sourceUnit, context); - private verifyUniquenessOfImportNamesInSourceUnit(sourceUnit); - private resolveEnumDeclaration(ast, context); - private typeCheckEnumDeclaration(ast, context); - private postTypeCheckEnumDeclaration(ast, context); - private checkInitializersInEnumDeclarations(decl, context); - private resolveModuleDeclaration(ast, context); - private ensureAllSymbolsAreBound(containerSymbol); - private resolveModuleSymbol(containerSymbol, context, moduleDeclAST, moduleDeclNameAST, sourceUnitAST); - private resolveFirstExportAssignmentStatement(moduleElements, context); - private resolveSingleModuleDeclaration(ast, astName, context); - private typeCheckModuleDeclaration(ast, context); - private typeCheckSingleModuleDeclaration(ast, astName, context); - private verifyUniquenessOfImportNamesInModule(decl); - private checkUniquenessOfImportNames(decls, doesNameExistOutside?); - private scanVariableDeclarationGroups(enclosingDecl, firstDeclHandler, subsequentDeclHandler?); - private postTypeCheckModuleDeclaration(ast, context); - private isTypeRefWithoutTypeArgs(term); - public createInstantiatedType(type: PullTypeSymbol, typeArguments: PullTypeSymbol[]): PullTypeSymbol; - private resolveReferenceTypeDeclaration(classOrInterface, name, heritageClauses, context); - private resolveClassDeclaration(classDeclAST, context); - private typeCheckTypeParametersOfTypeDeclaration(classOrInterface, context); - private typeCheckClassDeclaration(classDeclAST, context); - private postTypeCheckClassDeclaration(classDeclAST, context); - private resolveTypeSymbolSignatures(typeSymbol, context); - private resolveInterfaceDeclaration(interfaceDeclAST, context); - private typeCheckInterfaceDeclaration(interfaceDeclAST, context); - private checkInterfaceDeclForIdenticalTypeParameters(interfaceDeclAST, context); - private checkTypeForDuplicateIndexSignatures(enclosingTypeSymbol); - private filterSymbol(symbol, kind, enclosingDecl, context); - private getMemberSymbolOfKind(symbolName, kind, pullTypeSymbol, enclosingDecl, context); - private resolveIdentifierOfInternalModuleReference(importDecl, identifier, moduleSymbol, enclosingDecl, context); - private resolveModuleReference(importDecl, moduleNameExpr, enclosingDecl, context, declPath); - private resolveInternalModuleReference(importStatementAST, context); - private resolveImportDeclaration(importStatementAST, context); - private typeCheckImportDeclaration(importStatementAST, context); - private postTypeCheckImportDeclaration(importStatementAST, context); - private resolveExportAssignmentStatement(exportAssignmentAST, context); - private resolveAnyFunctionTypeSignature(funcDeclAST, typeParameters, parameterList, returnTypeAnnotation, context); - private resolveFunctionTypeSignatureParameter(argDeclAST, signature, enclosingDecl, context); - private resolveFunctionExpressionParameter(argDeclAST, id, typeExpr, equalsValueClause, contextParam, enclosingDecl, context); - private checkNameForCompilerGeneratedDeclarationCollision(astWithName, isDeclaration, name, context); - private hasRestParameterCodeGen(someFunctionDecl); - private checkArgumentsCollides(ast, context); - private checkIndexOfRestArgumentInitializationCollides(ast, isDeclaration, context); - private checkExternalModuleRequireExportsCollides(ast, name, context); - private resolveObjectTypeTypeReference(objectType, context); - private typeCheckObjectTypeTypeReference(objectType, context); - private resolveTypeAnnotation(typeAnnotation, context); - public resolveTypeReference(typeRef: AST, context: PullTypeResolutionContext): PullTypeSymbol; - private getArrayType(elementType); - private computeTypeReferenceSymbol(term, context); - private genericTypeIsUsedWithoutRequiredTypeArguments(typeSymbol, term, context); - private resolveMemberVariableDeclaration(varDecl, context); - private resolvePropertySignature(varDecl, context); - private resolveVariableDeclarator(varDecl, context); - private resolveParameterList(list, context); - private resolveParameter(parameter, context); - private getEnumTypeSymbol(enumElement, context); - private resolveEnumElement(enumElement, context); - private typeCheckEnumElement(enumElement, context); - private resolveEqualsValueClause(clause, isContextuallyTyped, context); - private resolveVariableDeclaratorOrParameterOrEnumElement(varDeclOrParameter, modifiers, name, typeExpr, init, context); - private resolveAndTypeCheckVariableDeclarationTypeExpr(varDeclOrParameter, name, typeExpr, context); - private resolveAndTypeCheckVariableDeclaratorOrParameterInitExpr(varDeclOrParameter, name, typeExpr, init, context, typeExprSymbol); - private typeCheckPropertySignature(varDecl, context); - private typeCheckMemberVariableDeclaration(varDecl, context); - private typeCheckVariableDeclarator(varDecl, context); - private typeCheckParameter(parameter, context); - private typeCheckVariableDeclaratorOrParameterOrEnumElement(varDeclOrParameter, modifiers, name, typeExpr, init, context); - private isForInVariableDeclarator(ast); - private checkSuperCaptureVariableCollides(superAST, isDeclaration, context); - private checkThisCaptureVariableCollides(_thisAST, isDeclaration, context); - private postTypeCheckVariableDeclaratorOrParameter(varDeclOrParameter, context); - private resolveTypeParameterDeclaration(typeParameterAST, context); - private resolveFirstTypeParameterDeclaration(typeParameterSymbol, context); - private typeCheckTypeParameterDeclaration(typeParameterAST, context); - private resolveConstraint(constraint, context); - private resolveFunctionBodyReturnTypes(funcDeclAST, block, bodyExpression, signature, useContextualType, enclosingDecl, context); - private typeCheckConstructorDeclaration(funcDeclAST, context); - private constructorHasSuperCall(constructorDecl); - private typeCheckFunctionExpression(funcDecl, isContextuallyTyped, context); - private typeCheckCallSignature(funcDecl, context); - private typeCheckConstructSignature(funcDecl, context); - private typeCheckMethodSignature(funcDecl, context); - private typeCheckMemberFunctionDeclaration(funcDecl, context); - private containsSingleThrowStatement(block); - private typeCheckAnyFunctionDeclaration(funcDeclAST, isStatic, name, typeParameters, parameters, returnTypeAnnotation, block, context); - private checkThatNonVoidFunctionHasReturnExpressionOrThrowStatement(functionDecl, returnTypeAnnotation, returnTypeSymbol, block, context); - private typeCheckIndexSignature(funcDeclAST, context); - private postTypeCheckFunctionDeclaration(funcDeclAST, context); - private resolveReturnTypeAnnotationOfFunctionDeclaration(funcDeclAST, returnTypeAnnotation, context); - private resolveMemberFunctionDeclaration(funcDecl, context); - private resolveCallSignature(funcDecl, context); - private resolveConstructSignature(funcDecl, context); - private resolveMethodSignature(funcDecl, context); - private resolveAnyFunctionDeclaration(funcDecl, context); - private resolveFunctionExpression(funcDecl, isContextuallyTyped, context); - private resolveSimpleArrowFunctionExpression(funcDecl, isContextuallyTyped, context); - private resolveParenthesizedArrowFunctionExpression(funcDecl, isContextuallyTyped, context); - private getEnclosingClassDeclaration(ast); - private resolveConstructorDeclaration(funcDeclAST, context); - private resolveIndexMemberDeclaration(ast, context); - private resolveIndexSignature(funcDeclAST, context); - private resolveFunctionDeclaration(funcDeclAST, isStatic, name, typeParameters, parameterList, returnTypeAnnotation, block, context); - private resolveGetterReturnTypeAnnotation(getterFunctionDeclarationAst, enclosingDecl, context); - private resolveSetterArgumentTypeAnnotation(setterFunctionDeclarationAst, enclosingDecl, context); - private resolveAccessorDeclaration(funcDeclAst, context); - private typeCheckAccessorDeclaration(funcDeclAst, context); - private resolveGetAccessorDeclaration(funcDeclAST, parameters, returnTypeAnnotation, block, setterAnnotatedType, context); - private checkIfGetterAndSetterTypeMatch(funcDeclAST, context); - private typeCheckGetAccessorDeclaration(funcDeclAST, context); - static hasSetAccessorParameterTypeAnnotation(setAccessor: SetAccessor): boolean; - private resolveSetAccessorDeclaration(funcDeclAST, parameterList, context); - private typeCheckSetAccessorDeclaration(funcDeclAST, context); - private resolveList(list, context); - private resolveSeparatedList(list, context); - private resolveVoidExpression(ast, context); - private resolveLogicalOperation(ast, context); - private typeCheckLogicalOperation(binex, context); - private resolveLogicalNotExpression(ast, context); - private resolveUnaryArithmeticOperation(ast, context); - private resolvePostfixUnaryExpression(ast, context); - private isAnyOrNumberOrEnum(type); - private typeCheckUnaryArithmeticOperation(unaryExpression, context); - private typeCheckPostfixUnaryExpression(unaryExpression, context); - private resolveBinaryArithmeticExpression(binaryExpression, context); - private typeCheckBinaryArithmeticExpression(binaryExpression, context); - private resolveTypeOfExpression(ast, context); - private resolveThrowStatement(ast, context); - private resolveDeleteExpression(ast, context); - private resolveInstanceOfExpression(ast, context); - private typeCheckInstanceOfExpression(binaryExpression, context); - private resolveCommaExpression(commaExpression, context); - private resolveInExpression(ast, context); - private typeCheckInExpression(binaryExpression, context); - private resolveForStatement(ast, context); - private resolveForInStatement(forInStatement, context); - private typeCheckForInStatement(forInStatement, context); - private resolveWhileStatement(ast, context); - private typeCheckWhileStatement(ast, context); - private resolveDoStatement(ast, context); - private typeCheckDoStatement(ast, context); - private resolveIfStatement(ast, context); - private typeCheckIfStatement(ast, context); - private resolveElseClause(ast, context); - private typeCheckElseClause(ast, context); - private resolveBlock(ast, context); - private resolveVariableStatement(ast, context); - private resolveVariableDeclarationList(ast, context); - private resolveWithStatement(ast, context); - private typeCheckWithStatement(ast, context); - private resolveTryStatement(ast, context); - private typeCheckTryStatement(ast, context); - private resolveCatchClause(ast, context); - private typeCheckCatchClause(ast, context); - private resolveFinallyClause(ast, context); - private typeCheckFinallyClause(ast, context); - private getEnclosingFunctionDeclaration(ast); - private resolveReturnExpression(expression, enclosingFunction, context); - private typeCheckReturnExpression(expression, expressionType, enclosingFunction, context); - private resolveReturnStatement(returnAST, context); - private resolveSwitchStatement(ast, context); - private typeCheckSwitchStatement(ast, context); - private resolveLabeledStatement(ast, context); - private typeCheckLabeledStatement(ast, context); - private labelIsOnContinuableConstruct(statement); - private resolveContinueStatement(ast, context); - private isIterationStatement(ast); - private isAnyFunctionExpressionOrDeclaration(ast); - private inSwitchStatement(ast); - private inIterationStatement(ast, crossFunctions); - private getEnclosingLabels(ast, breakable, crossFunctions); - private typeCheckContinueStatement(ast, context); - private resolveBreakStatement(ast, context); - private typeCheckBreakStatement(ast, context); - public resolveAST(ast: AST, isContextuallyTyped: boolean, context: PullTypeResolutionContext): PullSymbol; - private resolveExpressionAST(ast, isContextuallyOrInferentiallyTyped, context); - private resolveExpressionWorker(ast, isContextuallyTyped, context); - private typeCheckAST(ast, isContextuallyTyped, context); - private processPostTypeCheckWorkItems(context); - private postTypeCheck(ast, context); - private resolveRegularExpressionLiteral(); - private postTypeCheckNameExpression(nameAST, context); - private typeCheckNameExpression(nameAST, context); - private resolveNameExpression(nameAST, context); - private isInEnumDecl(decl); - private getSomeInnermostFunctionScopeDecl(declPath); - private isFromFunctionScope(nameSymbol, functionScopeDecl); - private findConstructorDeclOfEnclosingType(decl); - private checkNameAsPartOfInitializerExpressionForInstanceMemberVariable(nameAST, nameSymbol, context); - private computeNameExpression(nameAST, context); - private getCurrentParameterIndexForFunction(parameter, funcDecl); - private resolveMemberAccessExpression(dottedNameAST, context); - private resolveDottedNameExpression(dottedNameAST, expression, name, context); - private computeDottedNameExpression(expression, name, context, checkSuperPrivateAndStaticAccess); - private computeDottedNameExpressionFromLHS(lhs, expression, name, context, checkSuperPrivateAndStaticAccess); - private resolveTypeNameExpression(nameAST, context); - private computeTypeNameExpression(nameAST, context); - private isInStaticMemberContext(decl); - private isLeftSideOfQualifiedName(ast); - private resolveGenericTypeReference(genericTypeAST, context); - private resolveQualifiedName(dottedNameAST, context); - private isLastNameOfModuleNameModuleReference(ast); - private computeQualifiedName(dottedNameAST, context); - private shouldContextuallyTypeAnyFunctionExpression(functionExpressionAST, typeParameters, parameters, returnTypeAnnotation, context); - private resolveAnyFunctionExpression(funcDeclAST, typeParameters, parameters, returnTypeAnnotation, block, bodyExpression, isContextuallyTyped, context); - private resolveAnyFunctionExpressionParameters(funcDeclAST, typeParameters, parameters, returnTypeAnnotation, isContextuallyTyped, context); - private typeCheckSimpleArrowFunctionExpression(arrowFunction, isContextuallyTyped, context); - private typeCheckParenthesizedArrowFunctionExpression(arrowFunction, isContextuallyTyped, context); - private typeCheckAnyFunctionExpression(funcDeclAST, typeParameters, parameters, returnTypeAnnotation, block, bodyExpression, isContextuallyTyped, context); - private resolveThisExpression(thisExpression, context); - private inTypeArgumentList(ast); - private inClassExtendsHeritageClause(ast); - private inTypeQuery(ast); - private inArgumentListOfSuperInvocation(ast); - private inConstructorParameterList(ast); - private isFunctionAccessorOrNonArrowFunctionExpression(decl); - private isFunctionOrNonArrowFunctionExpression(decl); - private typeCheckThisExpression(thisExpression, context, enclosingDecl); - private getContextualClassSymbolForEnclosingDecl(ast, enclosingDecl); - private inStaticMemberVariableDeclaration(ast); - private resolveSuperExpression(ast, context); - private typeCheckSuperExpression(ast, context, enclosingDecl); - private resolveSimplePropertyAssignment(propertyAssignment, isContextuallyTyped, context); - private resolveFunctionPropertyAssignment(funcProp, isContextuallyTyped, context); - private typeCheckFunctionPropertyAssignment(funcProp, isContextuallyTyped, context); - public resolveObjectLiteralExpression(expressionAST: ObjectLiteralExpression, isContextuallyTyped: boolean, context: PullTypeResolutionContext, additionalResults?: PullAdditionalObjectLiteralResolutionData): PullSymbol; - private bindObjectLiteralMembers(objectLiteralDeclaration, objectLiteralTypeSymbol, objectLiteralMembers, isUsingExistingSymbol, pullTypeContext); - private resolveObjectLiteralMembers(objectLiteralDeclaration, objectLiteralTypeSymbol, objectLiteralContextualType, objectLiteralMembers, stringIndexerSignature, numericIndexerSignature, allMemberTypes, allNumericMemberTypes, boundMemberSymbols, isUsingExistingSymbol, pullTypeContext, additionalResults?); - private computeObjectLiteralExpression(objectLitAST, isContextuallyTyped, context, additionalResults?); - private getPropertyAssignmentName(propertyAssignment); - private stampObjectLiteralWithIndexSignature(objectLiteralSymbol, indexerTypeCandidates, contextualIndexSignature, context); - private resolveArrayLiteralExpression(arrayLit, isContextuallyTyped, context); - private computeArrayLiteralExpressionSymbol(arrayLit, isContextuallyTyped, context); - private resolveElementAccessExpression(callEx, context); - private typeCheckElementAccessExpression(callEx, context, symbolAndDiagnostic); - private computeElementAccessExpressionSymbolAndDiagnostic(callEx, context); - private getBothKindsOfIndexSignaturesIncludingAugmentedType(enclosingType, context); - private getBothKindsOfIndexSignaturesExcludingAugmentedType(enclosingType, context); - public _getBothKindsOfIndexSignatures(enclosingType: PullTypeSymbol, context: PullTypeResolutionContext, includeAugmentedType: boolean): IndexSignatureInfo; - public _addUnhiddenSignaturesFromBaseType(derivedTypeSignatures: PullSignatureSymbol[], baseTypeSignatures: PullSignatureSymbol[], signaturesBeingAggregated: PullSignatureSymbol[]): void; - private resolveBinaryAdditionOperation(binaryExpression, context); - private bestCommonTypeOfTwoTypes(type1, type2, context); - private bestCommonTypeOfThreeTypes(type1, type2, type3, context); - private resolveLogicalOrExpression(binex, isContextuallyTyped, context); - private resolveLogicalAndExpression(binex, context); - private computeTypeOfConditionalExpression(leftType, rightType, isContextuallyTyped, context); - private resolveConditionalExpression(trinex, isContextuallyTyped, context); - private conditionExpressionTypesAreValid(leftType, rightType, expressionType, isContextuallyTyped, context); - private resolveParenthesizedExpression(ast, context); - private resolveExpressionStatement(ast, context); - public resolveInvocationExpression(callEx: InvocationExpression, context: PullTypeResolutionContext, additionalResults?: PullAdditionalCallResolutionData): PullSymbol; - private typeCheckInvocationExpression(callEx, context); - private computeInvocationExpressionSymbol(callEx, context, additionalResults); - public resolveObjectCreationExpression(callEx: ObjectCreationExpression, context: PullTypeResolutionContext, additionalResults?: PullAdditionalCallResolutionData): PullSymbol; - private typeCheckObjectCreationExpression(callEx, context); - private postOverloadResolutionDiagnostics(diagnostic, additionalResults, context); - private computeObjectCreationExpressionSymbol(callEx, context, additionalResults); - private instantiateSignatureInContext(signatureAToInstantiate, contextualSignatureB, context, shouldFixContextualSignatureParameterTypes); - private resolveCastExpression(assertionExpression, context); - private typeCheckCastExpression(assertionExpression, context, typeAssertionType); - private resolveAssignmentExpression(binaryExpression, context); - private getInstanceTypeForAssignment(lhs, type, context); - public widenType(type: PullTypeSymbol, ast: AST, context: PullTypeResolutionContext): PullTypeSymbol; - private widenArrayType(type, ast, context); - private widenObjectLiteralType(type, ast, context); - private needsToWidenObjectLiteralType(type, ast, context); - public findBestCommonType(collection: IPullTypeCollection, context: PullTypeResolutionContext, comparisonInfo?: TypeComparisonInfo): PullTypeSymbol; - private typeIsBestCommonTypeCandidate(candidateType, collection, context); - private typesAreIdenticalInEnclosingTypes(t1, t2, context); - private typesAreIdenticalWithNewEnclosingTypes(t1, t2, context); - public typesAreIdentical(t1: PullTypeSymbol, t2: PullTypeSymbol, context: PullTypeResolutionContext): boolean; - private typesAreIdenticalWorker(t1, t2, context); - private propertiesAreIdentical(propertySymbol1, propertySymbol2, context); - private propertiesAreIdenticalWithNewEnclosingTypes(type1, type2, property1, property2, context); - private signatureGroupsAreIdentical(sg1, sg2, context); - private typeParametersAreIdentical(tp1, tp2, context); - private typeParametersAreIdenticalWorker(tp1, tp2, context); - private setTypeParameterIdentity(tp1, tp2, val); - public signaturesAreIdenticalWithNewEnclosingTypes(s1: PullSignatureSymbol, s2: PullSignatureSymbol, context: PullTypeResolutionContext, includingReturnType?: boolean): boolean; - private signaturesAreIdentical(s1, s2, context, includingReturnType?); - public signaturesAreIdenticalWorker(s1: PullSignatureSymbol, s2: PullSignatureSymbol, context: PullTypeResolutionContext, includingReturnType?: boolean): boolean; - private signatureTypeParametersParametersAndReturnTypesAreIdentical(s1, s2, context, includingReturnType?); - public signatureReturnTypesAreIdentical(s1: PullSignatureSymbol, s2: PullSignatureSymbol, context: PullTypeResolutionContext): boolean; - private symbolsShareDeclaration(symbol1, symbol2); - private sourceIsSubtypeOfTarget(source, target, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?); - private sourceMembersAreAssignableToTargetMembers(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?); - private sourcePropertyIsAssignableToTargetProperty(source, target, sourceProp, targetProp, ast, context, comparisonInfo, isComparingInstantiatedSignatures?); - private sourceCallSignaturesAreAssignableToTargetCallSignatures(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?); - private sourceConstructSignaturesAreAssignableToTargetConstructSignatures(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?); - private sourceIndexSignaturesAreAssignableToTargetIndexSignatures(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?); - private typeIsAssignableToFunction(source, ast, context); - private signatureIsAssignableToTarget(s1, s2, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?); - private sourceIsAssignableToTarget(source, target, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?); - private sourceIsAssignableToTargetWithNewEnclosingTypes(source, target, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?); - private getSymbolForRelationshipCheck(symbol); - private sourceIsRelatableToTargetInEnclosingTypes(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private sourceIsRelatableToTargetWithNewEnclosingTypes(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private sourceIsRelatableToTargetInCache(source, target, comparisonCache, comparisonInfo); - private sourceIsRelatableToTarget(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private isSourceTypeParameterConstrainedToTargetTypeParameter(source, target); - private sourceIsRelatableToTargetWorker(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private sourceMembersAreRelatableToTargetMembers(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private infinitelyExpandingSourceTypeIsRelatableToTargetType(sourceType, targetType, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private infinitelyExpandingTypesAreIdentical(sourceType, targetType, context); - private sourcePropertyIsRelatableToTargetProperty(source, target, sourceProp, targetProp, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private sourceCallSignaturesAreRelatableToTargetCallSignatures(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private sourceConstructSignaturesAreRelatableToTargetConstructSignatures(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private sourceIndexSignaturesAreRelatableToTargetIndexSignatures(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private signatureGroupIsRelatableToTarget(source, target, sourceSG, targetSG, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private signatureIsRelatableToTarget(sourceSig, targetSig, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private signatureIsRelatableToTargetWorker(sourceSig, targetSig, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures); - private resolveOverloads(application, group, haveTypeArgumentsAtCallSite, context, diagnostics); - private getCallTargetErrorSpanAST(callEx); - private overloadHasCorrectArity(signature, args); - private overloadIsApplicable(signature, args, context, comparisonInfo); - private overloadIsApplicableForArgument(paramType, arg, argIndex, context, comparisonInfo); - private overloadIsApplicableForAnyFunctionExpressionArgument(paramType, arg, typeParameters, parameters, returnTypeAnnotation, block, bodyExpression, argIndex, context, comparisonInfo); - private overloadIsApplicableForObjectLiteralArgument(paramType, arg, argIndex, context, comparisonInfo); - private overloadIsApplicableForArrayLiteralArgument(paramType, arg, argIndex, context, comparisonInfo); - private overloadIsApplicableForOtherArgument(paramType, arg, argIndex, context, comparisonInfo); - private overloadIsApplicableForArgumentHelper(paramType, argSym, argumentIndex, comparisonInfo, arg, context); - private inferArgumentTypesForSignature(argContext, comparisonInfo, context); - private typeParametersAreInScopeAtArgumentList(typeParameters, args); - private relateTypeToTypeParametersInEnclosingType(expressionType, parameterType, argContext, context); - public relateTypeToTypeParametersWithNewEnclosingTypes(expressionType: PullTypeSymbol, parameterType: PullTypeSymbol, argContext: TypeArgumentInferenceContext, context: PullTypeResolutionContext): void; - public relateTypeToTypeParameters(expressionType: PullTypeSymbol, parameterType: PullTypeSymbol, argContext: TypeArgumentInferenceContext, context: PullTypeResolutionContext): void; - private relateTypeArgumentsOfTypeToTypeParameters(expressionType, parameterType, argContext, context); - private relateInifinitelyExpandingTypeToTypeParameters(expressionType, parameterType, argContext, context); - private relateFunctionSignatureToTypeParameters(expressionSignature, parameterSignature, argContext, context); - private relateObjectTypeToTypeParameters(objectType, parameterType, argContext, context); - private relateSignatureGroupToTypeParameters(argumentSignatures, parameterSignatures, signatureKind, argContext, context); - private alterPotentialGenericFunctionTypeToInstantiatedFunctionTypeForTypeArgumentInference(expressionSymbol, context); - private isFunctionTypeWithExactlyOneCallSignatureAndNoOtherMembers(type, callSignatureShouldBeGeneric); - public instantiateTypeToAny(typeToSpecialize: PullTypeSymbol, context: PullTypeResolutionContext): PullTypeSymbol; - public instantiateSignatureToAny(signature: PullSignatureSymbol): PullSignatureSymbol; - static globalTypeCheckPhase: number; - static typeCheck(compilationSettings: ImmutableCompilationSettings, semanticInfoChain: SemanticInfoChain, document: Document): void; - private validateVariableDeclarationGroups(enclosingDecl, context); - private typeCheckFunctionOverloads(funcDecl, context, signature?, allSignatures?); - private checkSymbolPrivacy(declSymbol, symbol, privacyErrorReporter); - private checkTypePrivacyOfSignatures(declSymbol, signatures, privacyErrorReporter); - private typeParameterOfTypeDeclarationPrivacyErrorReporter(classOrInterface, typeParameterAST, typeParameter, symbol, context); - private baseListPrivacyErrorReporter(classOrInterface, declSymbol, baseAst, isExtendedType, symbol, context); - private variablePrivacyErrorReporter(declAST, declSymbol, symbol, context); - private checkFunctionTypePrivacy(funcDeclAST, isStatic, typeParameters, parameters, returnTypeAnnotation, block, context); - private functionTypeArgumentArgumentTypePrivacyErrorReporter(declAST, isStatic, typeParameterAST, typeParameter, symbol, context); - private functionArgumentTypePrivacyErrorReporter(declAST, isStatic, parameters, argIndex, paramSymbol, symbol, context); - private functionReturnTypePrivacyErrorReporter(declAST, isStatic, returnTypeAnnotation, block, funcReturnType, symbol, context); - private enclosingClassIsDerived(classDecl); - private isSuperInvocationExpression(ast); - private isSuperInvocationExpressionStatement(node); - private getFirstStatementOfBlockOrNull(block); - private superCallMustBeFirstStatementInConstructor(constructorDecl); - private checkForThisCaptureInArrowFunction(expression); - private typeCheckMembersAgainstIndexer(containerType, containerTypeDecl, context); - private determineRelevantIndexerForMember(member, numberIndexSignature, stringIndexSignature); - private reportErrorThatMemberIsNotSubtypeOfIndexer(member, indexSignature, astForError, context, comparisonInfo); - private typeCheckIfTypeMemberPropertyOkToOverride(typeSymbol, extendedType, typeMember, extendedTypeMember, enclosingDecl, comparisonInfo); - private typeCheckIfTypeExtendsType(classOrInterface, name, typeSymbol, extendedType, enclosingDecl, context); - private typeCheckIfClassImplementsType(classDecl, classSymbol, implementedType, enclosingDecl, context); - private computeValueSymbolFromAST(valueDeclAST, context); - private hasClassTypeSymbolConflictAsValue(baseDeclAST, typeSymbol, enclosingDecl, context); - private typeCheckBase(classOrInterface, name, typeSymbol, baseDeclAST, isExtendedType, enclosingDecl, context); - private typeCheckBases(classOrInterface, name, heritageClauses, typeSymbol, enclosingDecl, context); - private checkTypeCompatibilityBetweenBases(name, typeSymbol, context); - private checkNamedPropertyIdentityBetweenBases(interfaceName, interfaceSymbol, baseTypeSymbol, inheritedMembersMap, context); - private checkIndexSignatureIdentityBetweenBases(interfaceName, interfaceSymbol, baseTypeSymbol, allInheritedSignatures, derivedTypeHasOwnNumberSignature, derivedTypeHasOwnStringSignature, context); - private checkInheritedMembersAgainstInheritedIndexSignatures(interfaceName, interfaceSymbol, inheritedIndexSignatures, inheritedMembers, context); - private checkThatInheritedNumberSignatureIsSubtypeOfInheritedStringSignature(interfaceName, interfaceSymbol, inheritedIndexSignatures, context); - private checkAssignability(ast, source, target, context); - private isReference(ast, astSymbol); - private checkForSuperMemberAccess(expression, name, resolvedName, context); - private getEnclosingDeclForAST(ast); - private getEnclosingSymbolForAST(ast); - private checkForPrivateMemberAccess(name, expressionType, resolvedName, context); - public instantiateType(type: PullTypeSymbol, typeParameterArgumentMap: TypeArgumentMap): PullTypeSymbol; - public instantiateTypeParameter(typeParameter: PullTypeParameterSymbol, typeParameterArgumentMap: TypeArgumentMap): PullTypeParameterSymbol; - public instantiateSignature(signature: PullSignatureSymbol, typeParameterArgumentMap: TypeArgumentMap): PullSignatureSymbol; - } - class TypeComparisonInfo { - public onlyCaptureFirstError: boolean; - public flags: TypeRelationshipFlags; - public message: string; - public stringConstantVal: AST; - private indent; - constructor(sourceComparisonInfo?: TypeComparisonInfo, useSameIndent?: boolean); - private indentString(); - public addMessage(message: string): void; - } - function getPropertyAssignmentNameTextFromIdentifier(identifier: AST): { - actualText: string; - memberName: string; - }; - function isTypesOnlyLocation(ast: AST): boolean; -} -declare module TypeScript { - var declCacheHit: number; - var declCacheMiss: number; - var symbolCacheHit: number; - var symbolCacheMiss: number; - class SemanticInfoChain { - private compiler; - private logger; - private documents; - private fileNameToDocument; - public anyTypeDecl: PullDecl; - public booleanTypeDecl: PullDecl; - public numberTypeDecl: PullDecl; - public stringTypeDecl: PullDecl; - public nullTypeDecl: PullDecl; - public undefinedTypeDecl: PullDecl; - public voidTypeDecl: PullDecl; - public undefinedValueDecl: PullDecl; - public anyTypeSymbol: PullPrimitiveTypeSymbol; - public booleanTypeSymbol: PullPrimitiveTypeSymbol; - public numberTypeSymbol: PullPrimitiveTypeSymbol; - public stringTypeSymbol: PullPrimitiveTypeSymbol; - public nullTypeSymbol: PullPrimitiveTypeSymbol; - public undefinedTypeSymbol: PullPrimitiveTypeSymbol; - public voidTypeSymbol: PullPrimitiveTypeSymbol; - public undefinedValueSymbol: PullSymbol; - public emptyTypeSymbol: PullTypeSymbol; - private astSymbolMap; - private astAliasSymbolMap; - private astCallResolutionDataMap; - private declSymbolMap; - private declSignatureSymbolMap; - private declCache; - private symbolCache; - private fileNameToDiagnostics; - private _binder; - private _resolver; - private _topLevelDecls; - private _fileNames; - constructor(compiler: TypeScriptCompiler, logger: ILogger); - public getDocument(fileName: string): Document; - public lineMap(fileName: string): LineMap; - public fileNames(): string[]; - private bindPrimitiveSymbol(decl, newSymbol); - private addPrimitiveTypeSymbol(decl); - private addPrimitiveValueSymbol(decl, type); - private resetGlobalSymbols(); - public addDocument(document: Document): void; - public removeDocument(fileName: string): void; - private getDeclPathCacheID(declPath, declKind); - public findTopLevelSymbol(name: string, kind: PullElementKind, doNotGoPastThisDecl: PullDecl): PullSymbol; - private findTopLevelSymbolInDecl(topLevelDecl, name, kind, doNotGoPastThisDecl); - public findExternalModule(id: string): PullContainerSymbol; - public findAmbientExternalModuleInGlobalContext(id: string): PullContainerSymbol; - public findDecls(declPath: string[], declKind: PullElementKind): PullDecl[]; - public findDeclsFromPath(declPath: PullDecl[], declKind: PullElementKind): PullDecl[]; - public findSymbol(declPath: string[], declType: PullElementKind): PullSymbol; - public cacheGlobalSymbol(symbol: PullSymbol, kind: PullElementKind): void; - public invalidate(oldSettings?: ImmutableCompilationSettings, newSettings?: ImmutableCompilationSettings): void; - private settingsChangeAffectsSyntax(before, after); - public setSymbolForAST(ast: AST, symbol: PullSymbol): void; - public getSymbolForAST(ast: AST): PullSymbol; - public setAliasSymbolForAST(ast: AST, symbol: PullTypeAliasSymbol): void; - public getAliasSymbolForAST(ast: AST): PullTypeAliasSymbol; - public getCallResolutionDataForAST(ast: AST): PullAdditionalCallResolutionData; - public setCallResolutionDataForAST(ast: AST, callResolutionData: PullAdditionalCallResolutionData): void; - public setSymbolForDecl(decl: PullDecl, symbol: PullSymbol): void; - public getSymbolForDecl(decl: PullDecl): PullSymbol; - public setSignatureSymbolForDecl(decl: PullDecl, signatureSymbol: PullSignatureSymbol): void; - public getSignatureSymbolForDecl(decl: PullDecl): PullSignatureSymbol; - public addDiagnostic(diagnostic: Diagnostic): void; - public getDiagnostics(fileName: string): Diagnostic[]; - public getBinder(): PullSymbolBinder; - public getResolver(): PullTypeResolver; - public addSyntheticIndexSignature(containingDecl: PullDecl, containingSymbol: PullTypeSymbol, ast: AST, indexParamName: string, indexParamType: PullTypeSymbol, returnType: PullTypeSymbol): void; - public getDeclForAST(ast: AST): PullDecl; - public getEnclosingDecl(ast: AST): PullDecl; - public setDeclForAST(ast: AST, decl: PullDecl): void; - public getASTForDecl(decl: PullDecl): AST; - public setASTForDecl(decl: PullDecl, ast: AST): void; - public topLevelDecl(fileName: string): PullDecl; - public topLevelDecls(): PullDecl[]; - public addDiagnosticFromAST(ast: AST, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]): void; - public diagnosticFromAST(ast: AST, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]): Diagnostic; - public locationFromAST(ast: AST): Location; - public duplicateIdentifierDiagnosticFromAST(ast: AST, identifier: string, additionalLocationAST: AST): Diagnostic; - public addDuplicateIdentifierDiagnosticFromAST(ast: AST, identifier: string, additionalLocationAST: AST): void; - } -} -declare module TypeScript { - module DeclarationCreator { - function create(document: Document, semanticInfoChain: SemanticInfoChain, compilationSettings: ImmutableCompilationSettings): PullDecl; - } -} -declare module TypeScript { - class PullSymbolBinder { - private semanticInfoChain; - private declsBeingBound; - private inBindingOtherDeclsWalker; - constructor(semanticInfoChain: SemanticInfoChain); - private getParent(decl, returnInstanceType?); - private findDeclsInContext(startingDecl, declKind, searchGlobally); - private getExistingSymbol(decl, searchKind, parent); - private checkThatExportsMatch(decl, prevSymbol, reportError?); - private getIndexForInsertingSignatureAtEndOfEnclosingDeclInSignatureList(signature, currentSignatures); - private bindEnumDeclarationToPullSymbol(enumContainerDecl); - private bindEnumIndexerDeclsToPullSymbols(enumContainerSymbol); - private findExistingVariableSymbolForModuleValueDecl(decl); - private bindModuleDeclarationToPullSymbol(moduleContainerDecl); - private bindImportDeclaration(importDeclaration); - private ensurePriorDeclarationsAreBound(container, currentDecl); - private bindClassDeclarationToPullSymbol(classDecl); - private bindInterfaceDeclarationToPullSymbol(interfaceDecl); - private bindObjectTypeDeclarationToPullSymbol(objectDecl); - private bindConstructorTypeDeclarationToPullSymbol(constructorTypeDeclaration); - private bindVariableDeclarationToPullSymbol(variableDeclaration); - private bindCatchVariableToPullSymbol(variableDeclaration); - private bindEnumMemberDeclarationToPullSymbol(propertyDeclaration); - private bindPropertyDeclarationToPullSymbol(propertyDeclaration); - private bindParameterSymbols(functionDeclaration, parameterList, funcType, signatureSymbol); - private bindFunctionDeclarationToPullSymbol(functionDeclaration); - private bindFunctionExpressionToPullSymbol(functionExpressionDeclaration); - private bindFunctionTypeDeclarationToPullSymbol(functionTypeDeclaration); - private bindMethodDeclarationToPullSymbol(methodDeclaration); - private bindStaticPrototypePropertyOfClass(classAST, classTypeSymbol, constructorTypeSymbol); - private bindConstructorDeclarationToPullSymbol(constructorDeclaration); - private bindConstructSignatureDeclarationToPullSymbol(constructSignatureDeclaration); - private bindCallSignatureDeclarationToPullSymbol(callSignatureDeclaration); - private bindIndexSignatureDeclarationToPullSymbol(indexSignatureDeclaration); - private bindGetAccessorDeclarationToPullSymbol(getAccessorDeclaration); - private bindSetAccessorDeclarationToPullSymbol(setAccessorDeclaration); - private getDeclsToBind(decl); - private shouldBindDeclaration(decl); - public bindDeclToPullSymbol(decl: PullDecl): void; - private bindAllDeclsToPullSymbol(askedDecl); - private bindSingleDeclToPullSymbol(decl); - } -} -declare module TypeScript { - module PullHelpers { - function diagnosticFromDecl(decl: PullDecl, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]): Diagnostic; - function resolveDeclaredSymbolToUseType(symbol: PullSymbol): void; - interface SignatureInfoForFuncDecl { - signature: PullSignatureSymbol; - allSignatures: PullSignatureSymbol[]; - } - function getSignatureForFuncDecl(functionDecl: PullDecl): { - signature: PullSignatureSymbol; - allSignatures: PullSignatureSymbol[]; - }; - function getAccessorSymbol(getterOrSetter: AST, semanticInfoChain: SemanticInfoChain): PullAccessorSymbol; - function getGetterAndSetterFunction(funcDecl: AST, semanticInfoChain: SemanticInfoChain): { - getter: GetAccessor; - setter: SetAccessor; - }; - function symbolIsEnum(source: PullSymbol): boolean; - function symbolIsModule(symbol: PullSymbol): boolean; - function isNameNumeric(name: string): boolean; - function typeSymbolsAreIdentical(a: PullTypeSymbol, b: PullTypeSymbol): boolean; - function getRootType(type: PullTypeSymbol): PullTypeSymbol; - function isSymbolLocal(symbol: PullSymbol): boolean; - function isExportedSymbolInClodule(symbol: PullSymbol): boolean; - function isSymbolDeclaredInScopeChain(symbol: PullSymbol, scopeSymbol: PullSymbol): boolean; - interface PullTypeSymbolStructureWalker { - memberSymbolWalk(memberSymbol: PullSymbol): boolean; - callSignatureWalk(signatureSymbol: PullSignatureSymbol): boolean; - constructSignatureWalk(signatureSymbol: PullSignatureSymbol): boolean; - indexSignatureWalk(signatureSymbol: PullSignatureSymbol): boolean; - signatureParameterWalk(parameterSymbol: PullSymbol): boolean; - signatureReturnTypeWalk(returnType: PullTypeSymbol): boolean; - } - function walkPullTypeSymbolStructure(typeSymbol: PullTypeSymbol, walker: PullTypeSymbolStructureWalker): void; - class OtherPullDeclsWalker { - private currentlyWalkingOtherDecls; - public walkOtherPullDecls(currentDecl: PullDecl, otherDecls: PullDecl[], callBack: (otherDecl: PullDecl) => void): void; - } - } -} -declare module TypeScript { - class WrapsTypeParameterCache { - private _wrapsTypeParameterCache; - public getWrapsTypeParameter(typeParameterArgumentMap: TypeArgumentMap): number; - public setWrapsTypeParameter(typeParameterArgumentMap: TypeArgumentMap, wrappingTypeParameterID: number): void; - } - module PullInstantiationHelpers { - class MutableTypeArgumentMap { - public typeParameterArgumentMap: TypeArgumentMap; - public createdDuplicateTypeArgumentMap: boolean; - constructor(typeParameterArgumentMap: TypeArgumentMap); - public ensureTypeArgumentCopy(): void; - } - function instantiateTypeArgument(resolver: PullTypeResolver, symbol: InstantiableSymbol, mutableTypeParameterMap: MutableTypeArgumentMap): void; - function cleanUpTypeArgumentMap(symbol: InstantiableSymbol, mutableTypeArgumentMap: MutableTypeArgumentMap): void; - function getAllowedToReferenceTypeParametersFromDecl(decl: PullDecl): PullTypeParameterSymbol[]; - function createTypeParameterArgumentMap(typeParameters: PullTypeParameterSymbol[], typeArguments: PullTypeSymbol[]): TypeArgumentMap; - function updateTypeParameterArgumentMap(typeParameters: PullTypeParameterSymbol[], typeArguments: PullTypeSymbol[], typeParameterArgumentMap: TypeArgumentMap): TypeArgumentMap; - function updateMutableTypeParameterArgumentMap(typeParameters: PullTypeParameterSymbol[], typeArguments: PullTypeSymbol[], mutableMap: MutableTypeArgumentMap): void; - function twoTypesAreInstantiationsOfSameNamedGenericType(type1: PullTypeSymbol, type2: PullTypeSymbol): boolean; - } -} -declare module TypeScript { - var fileResolutionTime: number; - var fileResolutionIOTime: number; - var fileResolutionScanImportsTime: number; - var fileResolutionImportFileSearchTime: number; - var fileResolutionGetDefaultLibraryTime: number; - var sourceCharactersCompiled: number; - var syntaxTreeParseTime: number; - var syntaxDiagnosticsTime: number; - var astTranslationTime: number; - var typeCheckTime: number; - var compilerResolvePathTime: number; - var compilerDirectoryNameTime: number; - var compilerDirectoryExistsTime: number; - var compilerFileExistsTime: number; - var emitTime: number; - var emitWriteFileTime: number; - var declarationEmitTime: number; - var declarationEmitIsExternallyVisibleTime: number; - var declarationEmitTypeSignatureTime: number; - var declarationEmitGetBoundDeclTypeTime: number; - var declarationEmitIsOverloadedCallSignatureTime: number; - var declarationEmitFunctionDeclarationGetSymbolTime: number; - var declarationEmitGetBaseTypeTime: number; - var declarationEmitGetAccessorFunctionTime: number; - var declarationEmitGetTypeParameterSymbolTime: number; - var declarationEmitGetImportDeclarationSymbolTime: number; - var ioHostResolvePathTime: number; - var ioHostDirectoryNameTime: number; - var ioHostCreateDirectoryStructureTime: number; - var ioHostWriteFileTime: number; - interface PullSymbolInfo { - symbol: PullSymbol; - aliasSymbol: PullTypeAliasSymbol; - ast: AST; - enclosingScopeSymbol: PullSymbol; - } - interface PullCallSymbolInfo { - targetSymbol: PullSymbol; - resolvedSignatures: PullSignatureSymbol[]; - candidateSignature: PullSignatureSymbol; - isConstructorCall: boolean; - ast: AST; - enclosingScopeSymbol: PullSymbol; - } - interface PullVisibleSymbolsInfo { - symbols: PullSymbol[]; - enclosingScopeSymbol: PullSymbol; - } - enum EmitOutputResult { - Succeeded = 0, - FailedBecauseOfSyntaxErrors = 1, - FailedBecauseOfCompilerOptionsErrors = 2, - FailedToGenerateDeclarationsBecauseOfSemanticErrors = 3, - } - class EmitOutput { - public outputFiles: OutputFile[]; - public emitOutputResult: EmitOutputResult; - constructor(emitOutputResult?: EmitOutputResult); - } - enum OutputFileType { - JavaScript = 0, - SourceMap = 1, - Declaration = 2, - } - class OutputFile { - public name: string; - public writeByteOrderMark: boolean; - public text: string; - public fileType: OutputFileType; - public sourceMapEntries: SourceMapEntry[]; - constructor(name: string, writeByteOrderMark: boolean, text: string, fileType: OutputFileType, sourceMapEntries?: SourceMapEntry[]); - } - class CompileResult { - public diagnostics: Diagnostic[]; - public outputFiles: OutputFile[]; - static fromDiagnostics(diagnostics: Diagnostic[]): CompileResult; - static fromOutputFiles(outputFiles: OutputFile[]): CompileResult; - } - class TypeScriptCompiler { - public logger: ILogger; - private _settings; - private semanticInfoChain; - constructor(logger?: ILogger, _settings?: ImmutableCompilationSettings); - public compilationSettings(): ImmutableCompilationSettings; - public setCompilationSettings(newSettings: ImmutableCompilationSettings): void; - public getDocument(fileName: string): Document; - public cleanupSemanticCache(): void; - public addFile(fileName: string, scriptSnapshot: IScriptSnapshot, byteOrderMark: ByteOrderMark, version: number, isOpen: boolean, referencedFiles?: string[]): void; - public updateFile(fileName: string, scriptSnapshot: IScriptSnapshot, version: number, isOpen: boolean, textChangeRange: TextChangeRange): void; - public removeFile(fileName: string): void; - public mapOutputFileName(document: Document, emitOptions: EmitOptions, extensionChanger: (fname: string, wholeFileNameReplaced: boolean) => string): string; - private writeByteOrderMarkForDocument(document); - static mapToDTSFileName(fileName: string, wholeFileNameReplaced: boolean): string; - public _shouldEmit(document: Document): boolean; - public _shouldEmitDeclarations(document: Document): boolean; - private emitDocumentDeclarationsWorker(document, emitOptions, declarationEmitter?); - public _emitDocumentDeclarations(document: Document, emitOptions: EmitOptions, onSingleFileEmitComplete: (files: OutputFile) => void, sharedEmitter: DeclarationEmitter): DeclarationEmitter; - public emitAllDeclarations(resolvePath: (path: string) => string): EmitOutput; - public emitDeclarations(fileName: string, resolvePath: (path: string) => string): EmitOutput; - public canEmitDeclarations(fileName: string): boolean; - static mapToFileNameExtension(extension: string, fileName: string, wholeFileNameReplaced: boolean): string; - static mapToJSFileName(fileName: string, wholeFileNameReplaced: boolean): string; - private emitDocumentWorker(document, emitOptions, emitter?); - public _emitDocument(document: Document, emitOptions: EmitOptions, onSingleFileEmitComplete: (files: OutputFile[]) => void, sharedEmitter: Emitter): Emitter; - public emitAll(resolvePath: (path: string) => string): EmitOutput; - public emit(fileName: string, resolvePath: (path: string) => string): EmitOutput; - public compile(resolvePath: (path: string) => string, continueOnDiagnostics?: boolean): Iterator; - public getSyntacticDiagnostics(fileName: string): Diagnostic[]; - private getSyntaxTree(fileName); - private getSourceUnit(fileName); - public getSemanticDiagnostics(fileName: string): Diagnostic[]; - public getCompilerOptionsDiagnostics(resolvePath: (path: string) => string): Diagnostic[]; - public resolveAllFiles(): void; - public getSymbolOfDeclaration(decl: PullDecl): PullSymbol; - private extractResolutionContextFromAST(resolver, ast, document, propagateContextualTypes); - private extractResolutionContextForVariable(inContextuallyTypedAssignment, propagateContextualTypes, resolver, resolutionContext, enclosingDecl, assigningAST, init); - private getASTPath(ast); - public pullGetSymbolInformationFromAST(ast: AST, document: Document): PullSymbolInfo; - public pullGetCallInformationFromAST(ast: AST, document: Document): PullCallSymbolInfo; - public pullGetVisibleMemberSymbolsFromAST(ast: AST, document: Document): PullVisibleSymbolsInfo; - public pullGetVisibleDeclsFromAST(ast: AST, document: Document): PullDecl[]; - public pullGetContextualMembersFromAST(ast: AST, document: Document): PullVisibleSymbolsInfo; - public pullGetDeclInformation(decl: PullDecl, ast: AST, document: Document): PullSymbolInfo; - public topLevelDeclaration(fileName: string): PullDecl; - public getDeclForAST(ast: AST): PullDecl; - public fileNames(): string[]; - public topLevelDecl(fileName: string): PullDecl; - private static getLocationText(location, resolvePath); - static getFullDiagnosticText(diagnostic: Diagnostic, resolvePath: (path: string) => string): string; - } - function compareDataObjects(dst: any, src: any): boolean; -} -declare module TypeScript { - enum GenerativeTypeClassification { - Unknown = 0, - Open = 1, - Closed = 2, - InfinitelyExpanding = 3, - } - interface TypeArgumentMap { - [n: number]: PullTypeSymbol; - } - class PullTypeReferenceSymbol extends PullTypeSymbol { - public referencedTypeSymbol: PullTypeSymbol; - static createTypeReference(type: PullTypeSymbol): PullTypeReferenceSymbol; - constructor(referencedTypeSymbol: PullTypeSymbol); - public isTypeReference(): boolean; - public isResolved: boolean; - public setResolved(): void; - public setUnresolved(): void; - public invalidate(): void; - public ensureReferencedTypeIsResolved(): void; - public getReferencedTypeSymbol(): PullTypeSymbol; - public _getResolver(): PullTypeResolver; - public hasMembers(): boolean; - public setAssociatedContainerType(type: PullTypeSymbol): void; - public getAssociatedContainerType(): PullTypeSymbol; - public getFunctionSymbol(): PullSymbol; - public setFunctionSymbol(symbol: PullSymbol): void; - public addContainedNonMember(nonMember: PullSymbol): void; - public findContainedNonMemberContainer(containerName: string, kind?: PullElementKind): PullTypeSymbol; - public addMember(memberSymbol: PullSymbol): void; - public addEnclosedMemberType(enclosedType: PullTypeSymbol): void; - public addEnclosedMemberContainer(enclosedContainer: PullTypeSymbol): void; - public addEnclosedNonMember(enclosedNonMember: PullSymbol): void; - public addEnclosedNonMemberType(enclosedNonMemberType: PullTypeSymbol): void; - public addEnclosedNonMemberContainer(enclosedNonMemberContainer: PullTypeSymbol): void; - public addTypeParameter(typeParameter: PullTypeParameterSymbol): void; - public addConstructorTypeParameter(typeParameter: PullTypeParameterSymbol): void; - public findContainedNonMember(name: string): PullSymbol; - public findContainedNonMemberType(typeName: string, kind?: PullElementKind): PullTypeSymbol; - public getMembers(): PullSymbol[]; - public setHasDefaultConstructor(hasOne?: boolean): void; - public getHasDefaultConstructor(): boolean; - public getConstructorMethod(): PullSymbol; - public setConstructorMethod(constructorMethod: PullSymbol): void; - public getTypeParameters(): PullTypeParameterSymbol[]; - public isGeneric(): boolean; - public addSpecialization(specializedVersionOfThisType: PullTypeSymbol, substitutingTypes: PullTypeSymbol[]): void; - public getSpecialization(substitutingTypes: PullTypeSymbol[]): PullTypeSymbol; - public getKnownSpecializations(): PullTypeSymbol[]; - public getTypeArguments(): PullTypeSymbol[]; - public getTypeArgumentsOrTypeParameters(): PullTypeSymbol[]; - public appendCallSignature(callSignature: PullSignatureSymbol): void; - public insertCallSignatureAtIndex(callSignature: PullSignatureSymbol, index: number): void; - public appendConstructSignature(callSignature: PullSignatureSymbol): void; - public insertConstructSignatureAtIndex(callSignature: PullSignatureSymbol, index: number): void; - public addIndexSignature(indexSignature: PullSignatureSymbol): void; - public hasOwnCallSignatures(): boolean; - public getCallSignatures(): PullSignatureSymbol[]; - public hasOwnConstructSignatures(): boolean; - public getConstructSignatures(): PullSignatureSymbol[]; - public hasOwnIndexSignatures(): boolean; - public getIndexSignatures(): PullSignatureSymbol[]; - public addImplementedType(implementedType: PullTypeSymbol): void; - public getImplementedTypes(): PullTypeSymbol[]; - public addExtendedType(extendedType: PullTypeSymbol): void; - public getExtendedTypes(): PullTypeSymbol[]; - public addTypeThatExtendsThisType(type: PullTypeSymbol): void; - public getTypesThatExtendThisType(): PullTypeSymbol[]; - public addTypeThatExplicitlyImplementsThisType(type: PullTypeSymbol): void; - public getTypesThatExplicitlyImplementThisType(): PullTypeSymbol[]; - public isValidBaseKind(baseType: PullTypeSymbol, isExtendedType: boolean): boolean; - public findMember(name: string, lookInParent?: boolean): PullSymbol; - public findNestedType(name: string, kind?: PullElementKind): PullTypeSymbol; - public findNestedContainer(name: string, kind?: PullElementKind): PullTypeSymbol; - public getAllMembers(searchDeclKind: PullElementKind, memberVisiblity: GetAllMembersVisiblity): PullSymbol[]; - public findTypeParameter(name: string): PullTypeParameterSymbol; - public hasOnlyOverloadCallSignatures(): boolean; - } - var nSpecializationsCreated: number; - var nSpecializedSignaturesCreated: number; - var nSpecializedTypeParameterCreated: number; - class PullInstantiatedTypeReferenceSymbol extends PullTypeReferenceSymbol { - public referencedTypeSymbol: PullTypeSymbol; - private _typeParameterArgumentMap; - public isInstanceReferenceType: boolean; - private _instantiatedMembers; - private _allInstantiatedMemberNameCache; - private _instantiatedMemberNameCache; - private _instantiatedCallSignatures; - private _instantiatedConstructSignatures; - private _instantiatedIndexSignatures; - private _typeArgumentReferences; - private _instantiatedConstructorMethod; - private _instantiatedAssociatedContainerType; - private _isArray; - public getIsSpecialized(): boolean; - private _generativeTypeClassification; - public getGenerativeTypeClassification(enclosingType: PullTypeSymbol): GenerativeTypeClassification; - public isArrayNamedTypeReference(): boolean; - public getElementType(): PullTypeSymbol; - public getReferencedTypeSymbol(): PullTypeSymbol; - static create(resolver: PullTypeResolver, type: PullTypeSymbol, typeParameterArgumentMap: TypeArgumentMap): PullInstantiatedTypeReferenceSymbol; - constructor(referencedTypeSymbol: PullTypeSymbol, _typeParameterArgumentMap: TypeArgumentMap, isInstanceReferenceType: boolean); - public isGeneric(): boolean; - public getTypeParameterArgumentMap(): TypeArgumentMap; - public getTypeArguments(): PullTypeSymbol[]; - public getTypeArgumentsOrTypeParameters(): PullTypeSymbol[]; - private populateInstantiatedMemberFromReferencedMember(referencedMember); - public getMembers(): PullSymbol[]; - public findMember(name: string, lookInParent?: boolean): PullSymbol; - public getAllMembers(searchDeclKind: PullElementKind, memberVisiblity: GetAllMembersVisiblity): PullSymbol[]; - public getConstructorMethod(): PullSymbol; - public getAssociatedContainerType(): PullTypeSymbol; - public getCallSignatures(): PullSignatureSymbol[]; - public getConstructSignatures(): PullSignatureSymbol[]; - public getIndexSignatures(): PullSignatureSymbol[]; - } - class PullInstantiatedSignatureSymbol extends PullSignatureSymbol { - private _typeParameterArgumentMap; - public getTypeParameterArgumentMap(): TypeArgumentMap; - constructor(rootSignature: PullSignatureSymbol, _typeParameterArgumentMap: TypeArgumentMap); - public getIsSpecialized(): boolean; - public _getResolver(): PullTypeResolver; - public getTypeParameters(): PullTypeParameterSymbol[]; - public getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[]; - } - class PullInstantiatedTypeParameterSymbol extends PullTypeParameterSymbol { - constructor(rootTypeParameter: PullTypeSymbol, constraintType: PullTypeSymbol); - public _getResolver(): PullTypeResolver; - } -} -declare module TypeScript { - class SyntaxTreeToAstVisitor implements ISyntaxVisitor { - private fileName; - public lineMap: LineMap; - private compilationSettings; - public position: number; - public previousTokenTrailingComments: Comment[]; - constructor(fileName: string, lineMap: LineMap, compilationSettings: ImmutableCompilationSettings); - static visit(syntaxTree: SyntaxTree, fileName: string, compilationSettings: ImmutableCompilationSettings, incrementalAST: boolean): SourceUnit; - public movePast(element: ISyntaxElement): void; - private moveTo(element1, element2); - private setCommentsAndSpan(ast, fullStart, node); - public createTokenSpan(fullStart: number, element: ISyntaxToken): ASTSpan; - public setSpan(span: AST, fullStart: number, element: ISyntaxElement, firstToken?: ISyntaxToken, lastToken?: ISyntaxToken): void; - public setSpanExplicit(span: IASTSpan, start: number, end: number): void; - public visitSyntaxList(node: ISyntaxList): ISyntaxList2; - public visitSeparatedSyntaxList(list: ISeparatedSyntaxList): ISeparatedSyntaxList2; - private convertComment(trivia, commentStartPosition, hasTrailingNewLine); - private convertComments(triviaList, commentStartPosition); - private mergeComments(comments1, comments2); - private convertTokenLeadingComments(token, commentStartPosition); - private convertTokenTrailingComments(token, commentStartPosition); - private convertNodeTrailingComments(node, lastToken, nodeStart); - private visitIdentifier(token); - public visitToken(token: ISyntaxToken): IASTToken; - public visitTokenWorker(token: ISyntaxToken): IASTToken; - public visitSourceUnit(node: SourceUnitSyntax): SourceUnit; - public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): ExternalModuleReference; - public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): ModuleNameModuleReference; - public visitClassDeclaration(node: ClassDeclarationSyntax): ClassDeclaration; - private visitModifiers(modifiers); - public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): InterfaceDeclaration; - public visitHeritageClause(node: HeritageClauseSyntax): HeritageClause; - public visitModuleDeclaration(node: ModuleDeclarationSyntax): ModuleDeclaration; - public visitFunctionDeclaration(node: FunctionDeclarationSyntax): FunctionDeclaration; - public visitEnumDeclaration(node: EnumDeclarationSyntax): EnumDeclaration; - public visitEnumElement(node: EnumElementSyntax): EnumElement; - public visitImportDeclaration(node: ImportDeclarationSyntax): ImportDeclaration; - public visitExportAssignment(node: ExportAssignmentSyntax): ExportAssignment; - public visitVariableStatement(node: VariableStatementSyntax): VariableStatement; - public visitVariableDeclaration(node: VariableDeclarationSyntax): VariableDeclaration; - public visitVariableDeclarator(node: VariableDeclaratorSyntax): VariableDeclarator; - public visitEqualsValueClause(node: EqualsValueClauseSyntax): EqualsValueClause; - public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): PrefixUnaryExpression; - public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): ArrayLiteralExpression; - public visitOmittedExpression(node: OmittedExpressionSyntax): OmittedExpression; - public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): ParenthesizedExpression; - public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): SimpleArrowFunctionExpression; - public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): ParenthesizedArrowFunctionExpression; - public visitType(type: ITypeSyntax): AST; - public visitTypeQuery(node: TypeQuerySyntax): TypeQuery; - public visitQualifiedName(node: QualifiedNameSyntax): QualifiedName; - public visitTypeArgumentList(node: TypeArgumentListSyntax): TypeArgumentList; - public visitConstructorType(node: ConstructorTypeSyntax): ConstructorType; - public visitFunctionType(node: FunctionTypeSyntax): FunctionType; - public visitObjectType(node: ObjectTypeSyntax): ObjectType; - public visitArrayType(node: ArrayTypeSyntax): ArrayType; - public visitGenericType(node: GenericTypeSyntax): GenericType; - public visitTypeAnnotation(node: TypeAnnotationSyntax): TypeAnnotation; - public visitBlock(node: BlockSyntax): Block; - public visitParameter(node: ParameterSyntax): Parameter; - public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): MemberAccessExpression; - public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): PostfixUnaryExpression; - public visitElementAccessExpression(node: ElementAccessExpressionSyntax): ElementAccessExpression; - public visitInvocationExpression(node: InvocationExpressionSyntax): InvocationExpression; - public visitArgumentList(node: ArgumentListSyntax): ArgumentList; - public visitBinaryExpression(node: BinaryExpressionSyntax): BinaryExpression; - public visitConditionalExpression(node: ConditionalExpressionSyntax): ConditionalExpression; - public visitConstructSignature(node: ConstructSignatureSyntax): ConstructSignature; - public visitMethodSignature(node: MethodSignatureSyntax): MethodSignature; - public visitIndexSignature(node: IndexSignatureSyntax): IndexSignature; - public visitPropertySignature(node: PropertySignatureSyntax): PropertySignature; - public visitParameterList(node: ParameterListSyntax): ParameterList; - public visitCallSignature(node: CallSignatureSyntax): CallSignature; - public visitTypeParameterList(node: TypeParameterListSyntax): TypeParameterList; - public visitTypeParameter(node: TypeParameterSyntax): TypeParameter; - public visitConstraint(node: ConstraintSyntax): Constraint; - public visitIfStatement(node: IfStatementSyntax): IfStatement; - public visitElseClause(node: ElseClauseSyntax): ElseClause; - public visitExpressionStatement(node: ExpressionStatementSyntax): ExpressionStatement; - public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): ConstructorDeclaration; - public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): IndexMemberDeclaration; - public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): MemberFunctionDeclaration; - public visitGetAccessor(node: GetAccessorSyntax): GetAccessor; - public visitSetAccessor(node: SetAccessorSyntax): SetAccessor; - public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): MemberVariableDeclaration; - public visitThrowStatement(node: ThrowStatementSyntax): ThrowStatement; - public visitReturnStatement(node: ReturnStatementSyntax): ReturnStatement; - public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): ObjectCreationExpression; - public visitSwitchStatement(node: SwitchStatementSyntax): SwitchStatement; - public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): CaseSwitchClause; - public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): DefaultSwitchClause; - public visitBreakStatement(node: BreakStatementSyntax): BreakStatement; - public visitContinueStatement(node: ContinueStatementSyntax): ContinueStatement; - public visitForStatement(node: ForStatementSyntax): ForStatement; - public visitForInStatement(node: ForInStatementSyntax): ForInStatement; - public visitWhileStatement(node: WhileStatementSyntax): WhileStatement; - public visitWithStatement(node: WithStatementSyntax): WithStatement; - public visitCastExpression(node: CastExpressionSyntax): CastExpression; - public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): ObjectLiteralExpression; - public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): SimplePropertyAssignment; - public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): FunctionPropertyAssignment; - public visitFunctionExpression(node: FunctionExpressionSyntax): FunctionExpression; - public visitEmptyStatement(node: EmptyStatementSyntax): EmptyStatement; - public visitTryStatement(node: TryStatementSyntax): TryStatement; - public visitCatchClause(node: CatchClauseSyntax): CatchClause; - public visitFinallyClause(node: FinallyClauseSyntax): FinallyClause; - public visitLabeledStatement(node: LabeledStatementSyntax): LabeledStatement; - public visitDoStatement(node: DoStatementSyntax): DoStatement; - public visitTypeOfExpression(node: TypeOfExpressionSyntax): TypeOfExpression; - public visitDeleteExpression(node: DeleteExpressionSyntax): DeleteExpression; - public visitVoidExpression(node: VoidExpressionSyntax): VoidExpression; - public visitDebuggerStatement(node: DebuggerStatementSyntax): DebuggerStatement; - } -} -declare module TypeScript { - interface IASTSpan { - _start: number; - _end: number; - start(): number; - end(): number; - } - class ASTSpan implements IASTSpan { - public _start: number; - public _end: number; - constructor(_start: number, _end: number); - public start(): number; - public end(): number; - } - function structuralEqualsNotIncludingPosition(ast1: AST, ast2: AST): boolean; - function structuralEqualsIncludingPosition(ast1: AST, ast2: AST): boolean; - class AST implements IASTSpan { - public parent: AST; - public _start: number; - public _end: number; - public _trailingTriviaWidth: number; - private _astID; - private _preComments; - private _postComments; - constructor(); - public syntaxID(): number; - public start(): number; - public end(): number; - public trailingTriviaWidth(): number; - public fileName(): string; - public kind(): SyntaxKind; - public preComments(): Comment[]; - public postComments(): Comment[]; - public setPreComments(comments: Comment[]): void; - public setPostComments(comments: Comment[]): void; - public width(): number; - public structuralEquals(ast: AST, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - interface IASTToken extends AST { - text(): string; - valueText(): string; - } - class ISyntaxList2 extends AST { - private _fileName; - private members; - constructor(_fileName: string, members: AST[]); - public childCount(): number; - public childAt(index: number): AST; - public fileName(): string; - public kind(): SyntaxKind; - public firstOrDefault(func: (v: AST, index: number) => boolean): AST; - public lastOrDefault(func: (v: AST, index: number) => boolean): AST; - public any(func: (v: AST) => boolean): boolean; - public structuralEquals(ast: ISyntaxList2, includingPosition: boolean): boolean; - } - class ISeparatedSyntaxList2 extends AST { - private _fileName; - private members; - private _separatorCount; - constructor(_fileName: string, members: AST[], _separatorCount: number); - public nonSeparatorCount(): number; - public separatorCount(): number; - public nonSeparatorAt(index: number): AST; - public nonSeparatorIndexOf(ast: AST): number; - public fileName(): string; - public kind(): SyntaxKind; - public structuralEquals(ast: ISeparatedSyntaxList2, includingPosition: boolean): boolean; - } - class SourceUnit extends AST { - public moduleElements: ISyntaxList2; - public endOfFileTokenLeadingComments: Comment[]; - private _fileName; - constructor(moduleElements: ISyntaxList2, endOfFileTokenLeadingComments: Comment[], _fileName: string); - public fileName(): string; - public kind(): SyntaxKind; - public structuralEquals(ast: SourceUnit, includingPosition: boolean): boolean; - } - class Identifier extends AST implements IASTToken { - private _text; - private _valueText; - constructor(_text: string); - public text(): string; - public valueText(): string; - public kind(): SyntaxKind; - public structuralEquals(ast: Identifier, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class LiteralExpression extends AST { - private _nodeType; - private _text; - private _valueText; - constructor(_nodeType: SyntaxKind, _text: string, _valueText: string); - public text(): string; - public valueText(): string; - public kind(): SyntaxKind; - public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class ThisExpression extends AST implements IASTToken { - private _text; - private _valueText; - constructor(_text: string, _valueText: string); - public text(): string; - public valueText(): string; - public kind(): SyntaxKind; - public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class SuperExpression extends AST implements IASTToken { - private _text; - private _valueText; - constructor(_text: string, _valueText: string); - public text(): string; - public valueText(): string; - public kind(): SyntaxKind; - public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class NumericLiteral extends AST implements IASTToken { - private _value; - private _text; - private _valueText; - constructor(_value: number, _text: string, _valueText: string); - public text(): string; - public valueText(): string; - public value(): any; - public kind(): SyntaxKind; - public structuralEquals(ast: NumericLiteral, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class RegularExpressionLiteral extends AST implements IASTToken { - private _text; - private _valueText; - constructor(_text: string, _valueText: string); - public text(): string; - public valueText(): string; - public kind(): SyntaxKind; - public isExpression(): boolean; - } - class StringLiteral extends AST implements IASTToken { - private _text; - private _valueText; - constructor(_text: string, _valueText: string); - public text(): string; - public valueText(): string; - public kind(): SyntaxKind; - public structuralEquals(ast: StringLiteral, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class TypeAnnotation extends AST { - public type: AST; - constructor(type: AST); - public kind(): SyntaxKind; - } - class BuiltInType extends AST implements IASTToken { - private _nodeType; - private _text; - private _valueText; - constructor(_nodeType: SyntaxKind, _text: string, _valueText: string); - public text(): string; - public valueText(): string; - public kind(): SyntaxKind; - } - class ExternalModuleReference extends AST { - public stringLiteral: StringLiteral; - constructor(stringLiteral: StringLiteral); - public kind(): SyntaxKind; - } - class ModuleNameModuleReference extends AST { - public moduleName: AST; - constructor(moduleName: AST); - public kind(): SyntaxKind; - } - class ImportDeclaration extends AST { - public modifiers: PullElementFlags[]; - public identifier: Identifier; - public moduleReference: AST; - constructor(modifiers: PullElementFlags[], identifier: Identifier, moduleReference: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: ImportDeclaration, includingPosition: boolean): boolean; - } - class ExportAssignment extends AST { - public identifier: Identifier; - constructor(identifier: Identifier); - public kind(): SyntaxKind; - public structuralEquals(ast: ExportAssignment, includingPosition: boolean): boolean; - } - class TypeParameterList extends AST { - public typeParameters: ISeparatedSyntaxList2; - constructor(typeParameters: ISeparatedSyntaxList2); - public kind(): SyntaxKind; - } - class ClassDeclaration extends AST { - public modifiers: PullElementFlags[]; - public identifier: Identifier; - public typeParameterList: TypeParameterList; - public heritageClauses: ISyntaxList2; - public classElements: ISyntaxList2; - public closeBraceToken: ASTSpan; - constructor(modifiers: PullElementFlags[], identifier: Identifier, typeParameterList: TypeParameterList, heritageClauses: ISyntaxList2, classElements: ISyntaxList2, closeBraceToken: ASTSpan); - public kind(): SyntaxKind; - public structuralEquals(ast: ClassDeclaration, includingPosition: boolean): boolean; - } - class InterfaceDeclaration extends AST { - public modifiers: PullElementFlags[]; - public identifier: Identifier; - public typeParameterList: TypeParameterList; - public heritageClauses: ISyntaxList2; - public body: ObjectType; - constructor(modifiers: PullElementFlags[], identifier: Identifier, typeParameterList: TypeParameterList, heritageClauses: ISyntaxList2, body: ObjectType); - public kind(): SyntaxKind; - public structuralEquals(ast: InterfaceDeclaration, includingPosition: boolean): boolean; - } - class HeritageClause extends AST { - private _nodeType; - public typeNames: ISeparatedSyntaxList2; - constructor(_nodeType: SyntaxKind, typeNames: ISeparatedSyntaxList2); - public kind(): SyntaxKind; - public structuralEquals(ast: HeritageClause, includingPosition: boolean): boolean; - } - class ModuleDeclaration extends AST { - public modifiers: PullElementFlags[]; - public name: AST; - public stringLiteral: StringLiteral; - public moduleElements: ISyntaxList2; - public endingToken: ASTSpan; - constructor(modifiers: PullElementFlags[], name: AST, stringLiteral: StringLiteral, moduleElements: ISyntaxList2, endingToken: ASTSpan); - public kind(): SyntaxKind; - public structuralEquals(ast: ModuleDeclaration, includingPosition: boolean): boolean; - } - class FunctionDeclaration extends AST { - public modifiers: PullElementFlags[]; - public identifier: Identifier; - public callSignature: CallSignature; - public block: Block; - constructor(modifiers: PullElementFlags[], identifier: Identifier, callSignature: CallSignature, block: Block); - public kind(): SyntaxKind; - public structuralEquals(ast: FunctionDeclaration, includingPosition: boolean): boolean; - } - class VariableStatement extends AST { - public modifiers: PullElementFlags[]; - public declaration: VariableDeclaration; - constructor(modifiers: PullElementFlags[], declaration: VariableDeclaration); - public kind(): SyntaxKind; - public structuralEquals(ast: VariableStatement, includingPosition: boolean): boolean; - } - class VariableDeclaration extends AST { - public declarators: ISeparatedSyntaxList2; - constructor(declarators: ISeparatedSyntaxList2); - public kind(): SyntaxKind; - public structuralEquals(ast: VariableDeclaration, includingPosition: boolean): boolean; - } - class VariableDeclarator extends AST { - public propertyName: IASTToken; - public typeAnnotation: TypeAnnotation; - public equalsValueClause: EqualsValueClause; - constructor(propertyName: IASTToken, typeAnnotation: TypeAnnotation, equalsValueClause: EqualsValueClause); - public kind(): SyntaxKind; - } - class EqualsValueClause extends AST { - public value: AST; - constructor(value: AST); - public kind(): SyntaxKind; - } - class PrefixUnaryExpression extends AST { - private _nodeType; - public operand: AST; - constructor(_nodeType: SyntaxKind, operand: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: PrefixUnaryExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class ArrayLiteralExpression extends AST { - public expressions: ISeparatedSyntaxList2; - constructor(expressions: ISeparatedSyntaxList2); - public kind(): SyntaxKind; - public structuralEquals(ast: ArrayLiteralExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class OmittedExpression extends AST { - public kind(): SyntaxKind; - public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class ParenthesizedExpression extends AST { - public openParenTrailingComments: Comment[]; - public expression: AST; - constructor(openParenTrailingComments: Comment[], expression: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - interface ICallExpression extends IASTSpan { - expression: AST; - argumentList: ArgumentList; - } - class SimpleArrowFunctionExpression extends AST { - public identifier: Identifier; - public block: Block; - public expression: AST; - constructor(identifier: Identifier, block: Block, expression: AST); - public kind(): SyntaxKind; - public isExpression(): boolean; - } - class ParenthesizedArrowFunctionExpression extends AST { - public callSignature: CallSignature; - public block: Block; - public expression: AST; - constructor(callSignature: CallSignature, block: Block, expression: AST); - public kind(): SyntaxKind; - public isExpression(): boolean; - } - class QualifiedName extends AST { - public left: AST; - public right: Identifier; - constructor(left: AST, right: Identifier); - public kind(): SyntaxKind; - public structuralEquals(ast: QualifiedName, includingPosition: boolean): boolean; - } - class ParameterList extends AST { - public openParenTrailingComments: Comment[]; - public parameters: ISeparatedSyntaxList2; - constructor(openParenTrailingComments: Comment[], parameters: ISeparatedSyntaxList2); - public kind(): SyntaxKind; - } - class ConstructorType extends AST { - public typeParameterList: TypeParameterList; - public parameterList: ParameterList; - public type: AST; - constructor(typeParameterList: TypeParameterList, parameterList: ParameterList, type: AST); - public kind(): SyntaxKind; - } - class FunctionType extends AST { - public typeParameterList: TypeParameterList; - public parameterList: ParameterList; - public type: AST; - constructor(typeParameterList: TypeParameterList, parameterList: ParameterList, type: AST); - public kind(): SyntaxKind; - } - class ObjectType extends AST { - public typeMembers: ISeparatedSyntaxList2; - constructor(typeMembers: ISeparatedSyntaxList2); - public kind(): SyntaxKind; - public structuralEquals(ast: ObjectType, includingPosition: boolean): boolean; - } - class ArrayType extends AST { - public type: AST; - constructor(type: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: ArrayType, includingPosition: boolean): boolean; - } - class TypeArgumentList extends AST { - public typeArguments: ISeparatedSyntaxList2; - constructor(typeArguments: ISeparatedSyntaxList2); - public kind(): SyntaxKind; - } - class GenericType extends AST { - public name: AST; - public typeArgumentList: TypeArgumentList; - constructor(name: AST, typeArgumentList: TypeArgumentList); - public kind(): SyntaxKind; - public structuralEquals(ast: GenericType, includingPosition: boolean): boolean; - } - class TypeQuery extends AST { - public name: AST; - constructor(name: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: TypeQuery, includingPosition: boolean): boolean; - } - class Block extends AST { - public statements: ISyntaxList2; - public closeBraceLeadingComments: Comment[]; - public closeBraceToken: IASTSpan; - constructor(statements: ISyntaxList2, closeBraceLeadingComments: Comment[], closeBraceToken: IASTSpan); - public kind(): SyntaxKind; - public structuralEquals(ast: Block, includingPosition: boolean): boolean; - } - class Parameter extends AST { - public dotDotDotToken: ASTSpan; - public modifiers: PullElementFlags[]; - public identifier: Identifier; - public questionToken: ASTSpan; - public typeAnnotation: TypeAnnotation; - public equalsValueClause: EqualsValueClause; - constructor(dotDotDotToken: ASTSpan, modifiers: PullElementFlags[], identifier: Identifier, questionToken: ASTSpan, typeAnnotation: TypeAnnotation, equalsValueClause: EqualsValueClause); - public kind(): SyntaxKind; - } - class MemberAccessExpression extends AST { - public expression: AST; - public name: Identifier; - constructor(expression: AST, name: Identifier); - public kind(): SyntaxKind; - public structuralEquals(ast: MemberAccessExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class PostfixUnaryExpression extends AST { - private _nodeType; - public operand: AST; - constructor(_nodeType: SyntaxKind, operand: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: PostfixUnaryExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class ElementAccessExpression extends AST { - public expression: AST; - public argumentExpression: AST; - constructor(expression: AST, argumentExpression: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: ElementAccessExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class InvocationExpression extends AST implements ICallExpression { - public expression: AST; - public argumentList: ArgumentList; - constructor(expression: AST, argumentList: ArgumentList); - public kind(): SyntaxKind; - public structuralEquals(ast: InvocationExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class ArgumentList extends AST { - public typeArgumentList: TypeArgumentList; - public closeParenToken: ASTSpan; - public arguments: ISeparatedSyntaxList2; - constructor(typeArgumentList: TypeArgumentList, _arguments: ISeparatedSyntaxList2, closeParenToken: ASTSpan); - public kind(): SyntaxKind; - } - class BinaryExpression extends AST { - private _nodeType; - public left: AST; - public right: AST; - constructor(_nodeType: SyntaxKind, left: AST, right: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: BinaryExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class ConditionalExpression extends AST { - public condition: AST; - public whenTrue: AST; - public whenFalse: AST; - constructor(condition: AST, whenTrue: AST, whenFalse: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: ConditionalExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class ConstructSignature extends AST { - public callSignature: CallSignature; - constructor(callSignature: CallSignature); - public kind(): SyntaxKind; - } - class MethodSignature extends AST { - public propertyName: IASTToken; - public questionToken: ASTSpan; - public callSignature: CallSignature; - constructor(propertyName: IASTToken, questionToken: ASTSpan, callSignature: CallSignature); - public kind(): SyntaxKind; - } - class IndexSignature extends AST { - public parameter: Parameter; - public typeAnnotation: TypeAnnotation; - constructor(parameter: Parameter, typeAnnotation: TypeAnnotation); - public kind(): SyntaxKind; - } - class PropertySignature extends AST { - public propertyName: IASTToken; - public questionToken: ASTSpan; - public typeAnnotation: TypeAnnotation; - constructor(propertyName: IASTToken, questionToken: ASTSpan, typeAnnotation: TypeAnnotation); - public kind(): SyntaxKind; - } - class CallSignature extends AST { - public typeParameterList: TypeParameterList; - public parameterList: ParameterList; - public typeAnnotation: TypeAnnotation; - constructor(typeParameterList: TypeParameterList, parameterList: ParameterList, typeAnnotation: TypeAnnotation); - public kind(): SyntaxKind; - } - class TypeParameter extends AST { - public identifier: Identifier; - public constraint: Constraint; - constructor(identifier: Identifier, constraint: Constraint); - public kind(): SyntaxKind; - public structuralEquals(ast: TypeParameter, includingPosition: boolean): boolean; - } - class Constraint extends AST { - public type: AST; - constructor(type: AST); - public kind(): SyntaxKind; - } - class ElseClause extends AST { - public statement: AST; - constructor(statement: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: ElseClause, includingPosition: boolean): boolean; - } - class IfStatement extends AST { - public condition: AST; - public statement: AST; - public elseClause: ElseClause; - constructor(condition: AST, statement: AST, elseClause: ElseClause); - public kind(): SyntaxKind; - public structuralEquals(ast: IfStatement, includingPosition: boolean): boolean; - } - class ExpressionStatement extends AST { - public expression: AST; - constructor(expression: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: ExpressionStatement, includingPosition: boolean): boolean; - } - class ConstructorDeclaration extends AST { - public callSignature: CallSignature; - public block: Block; - constructor(callSignature: CallSignature, block: Block); - public kind(): SyntaxKind; - } - class MemberFunctionDeclaration extends AST { - public modifiers: PullElementFlags[]; - public propertyName: IASTToken; - public callSignature: CallSignature; - public block: Block; - constructor(modifiers: PullElementFlags[], propertyName: IASTToken, callSignature: CallSignature, block: Block); - public kind(): SyntaxKind; - } - class GetAccessor extends AST { - public modifiers: PullElementFlags[]; - public propertyName: IASTToken; - public parameterList: ParameterList; - public typeAnnotation: TypeAnnotation; - public block: Block; - constructor(modifiers: PullElementFlags[], propertyName: IASTToken, parameterList: ParameterList, typeAnnotation: TypeAnnotation, block: Block); - public kind(): SyntaxKind; - } - class SetAccessor extends AST { - public modifiers: PullElementFlags[]; - public propertyName: IASTToken; - public parameterList: ParameterList; - public block: Block; - constructor(modifiers: PullElementFlags[], propertyName: IASTToken, parameterList: ParameterList, block: Block); - public kind(): SyntaxKind; - } - class MemberVariableDeclaration extends AST { - public modifiers: PullElementFlags[]; - public variableDeclarator: VariableDeclarator; - constructor(modifiers: PullElementFlags[], variableDeclarator: VariableDeclarator); - public kind(): SyntaxKind; - } - class IndexMemberDeclaration extends AST { - public indexSignature: IndexSignature; - constructor(indexSignature: IndexSignature); - public kind(): SyntaxKind; - } - class ThrowStatement extends AST { - public expression: AST; - constructor(expression: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: ThrowStatement, includingPosition: boolean): boolean; - } - class ReturnStatement extends AST { - public expression: AST; - constructor(expression: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: ReturnStatement, includingPosition: boolean): boolean; - } - class ObjectCreationExpression extends AST implements ICallExpression { - public expression: AST; - public argumentList: ArgumentList; - constructor(expression: AST, argumentList: ArgumentList); - public kind(): SyntaxKind; - public structuralEquals(ast: ObjectCreationExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class SwitchStatement extends AST { - public expression: AST; - public closeParenToken: ASTSpan; - public switchClauses: ISyntaxList2; - constructor(expression: AST, closeParenToken: ASTSpan, switchClauses: ISyntaxList2); - public kind(): SyntaxKind; - public structuralEquals(ast: SwitchStatement, includingPosition: boolean): boolean; - } - class CaseSwitchClause extends AST { - public expression: AST; - public statements: ISyntaxList2; - constructor(expression: AST, statements: ISyntaxList2); - public kind(): SyntaxKind; - public structuralEquals(ast: CaseSwitchClause, includingPosition: boolean): boolean; - } - class DefaultSwitchClause extends AST { - public statements: ISyntaxList2; - constructor(statements: ISyntaxList2); - public kind(): SyntaxKind; - public structuralEquals(ast: DefaultSwitchClause, includingPosition: boolean): boolean; - } - class BreakStatement extends AST { - public identifier: Identifier; - constructor(identifier: Identifier); - public kind(): SyntaxKind; - public structuralEquals(ast: BreakStatement, includingPosition: boolean): boolean; - } - class ContinueStatement extends AST { - public identifier: Identifier; - constructor(identifier: Identifier); - public kind(): SyntaxKind; - public structuralEquals(ast: ContinueStatement, includingPosition: boolean): boolean; - } - class ForStatement extends AST { - public variableDeclaration: VariableDeclaration; - public initializer: AST; - public condition: AST; - public incrementor: AST; - public statement: AST; - constructor(variableDeclaration: VariableDeclaration, initializer: AST, condition: AST, incrementor: AST, statement: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: ForStatement, includingPosition: boolean): boolean; - } - class ForInStatement extends AST { - public variableDeclaration: VariableDeclaration; - public left: AST; - public expression: AST; - public statement: AST; - constructor(variableDeclaration: VariableDeclaration, left: AST, expression: AST, statement: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: ForInStatement, includingPosition: boolean): boolean; - } - class WhileStatement extends AST { - public condition: AST; - public statement: AST; - constructor(condition: AST, statement: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: WhileStatement, includingPosition: boolean): boolean; - } - class WithStatement extends AST { - public condition: AST; - public statement: AST; - constructor(condition: AST, statement: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: WithStatement, includingPosition: boolean): boolean; - } - class EnumDeclaration extends AST { - public modifiers: PullElementFlags[]; - public identifier: Identifier; - public enumElements: ISeparatedSyntaxList2; - constructor(modifiers: PullElementFlags[], identifier: Identifier, enumElements: ISeparatedSyntaxList2); - public kind(): SyntaxKind; - } - class EnumElement extends AST { - public propertyName: IASTToken; - public equalsValueClause: EqualsValueClause; - constructor(propertyName: IASTToken, equalsValueClause: EqualsValueClause); - public kind(): SyntaxKind; - } - class CastExpression extends AST { - public type: AST; - public expression: AST; - constructor(type: AST, expression: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: CastExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class ObjectLiteralExpression extends AST { - public propertyAssignments: ISeparatedSyntaxList2; - constructor(propertyAssignments: ISeparatedSyntaxList2); - public kind(): SyntaxKind; - public structuralEquals(ast: ObjectLiteralExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class SimplePropertyAssignment extends AST { - public propertyName: Identifier; - public expression: AST; - constructor(propertyName: Identifier, expression: AST); - public kind(): SyntaxKind; - } - class FunctionPropertyAssignment extends AST { - public propertyName: Identifier; - public callSignature: CallSignature; - public block: Block; - constructor(propertyName: Identifier, callSignature: CallSignature, block: Block); - public kind(): SyntaxKind; - } - class FunctionExpression extends AST { - public identifier: Identifier; - public callSignature: CallSignature; - public block: Block; - constructor(identifier: Identifier, callSignature: CallSignature, block: Block); - public kind(): SyntaxKind; - public isExpression(): boolean; - } - class EmptyStatement extends AST { - public kind(): SyntaxKind; - public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean; - } - class TryStatement extends AST { - public block: Block; - public catchClause: CatchClause; - public finallyClause: FinallyClause; - constructor(block: Block, catchClause: CatchClause, finallyClause: FinallyClause); - public kind(): SyntaxKind; - public structuralEquals(ast: TryStatement, includingPosition: boolean): boolean; - } - class CatchClause extends AST { - public identifier: Identifier; - public typeAnnotation: TypeAnnotation; - public block: Block; - constructor(identifier: Identifier, typeAnnotation: TypeAnnotation, block: Block); - public kind(): SyntaxKind; - public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean; - } - class FinallyClause extends AST { - public block: Block; - constructor(block: Block); - public kind(): SyntaxKind; - public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean; - } - class LabeledStatement extends AST { - public identifier: Identifier; - public statement: AST; - constructor(identifier: Identifier, statement: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: LabeledStatement, includingPosition: boolean): boolean; - } - class DoStatement extends AST { - public statement: AST; - public whileKeyword: ASTSpan; - public condition: AST; - constructor(statement: AST, whileKeyword: ASTSpan, condition: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: DoStatement, includingPosition: boolean): boolean; - } - class TypeOfExpression extends AST { - public expression: AST; - constructor(expression: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: TypeOfExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class DeleteExpression extends AST { - public expression: AST; - constructor(expression: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: DeleteExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class VoidExpression extends AST { - public expression: AST; - constructor(expression: AST); - public kind(): SyntaxKind; - public structuralEquals(ast: VoidExpression, includingPosition: boolean): boolean; - public isExpression(): boolean; - } - class DebuggerStatement extends AST { - public kind(): SyntaxKind; - } - class Comment { - private _trivia; - public endsLine: boolean; - public _start: number; - public _end: number; - constructor(_trivia: ISyntaxTrivia, endsLine: boolean, _start: number, _end: number); - public start(): number; - public end(): number; - public fullText(): string; - public kind(): SyntaxKind; - public structuralEquals(ast: Comment, includingPosition: boolean): boolean; - } -} -declare module TypeScript.Services { - enum EndOfLineState { - Start = 0, - InMultiLineCommentTrivia = 1, - InSingleQuoteStringLiteral = 2, - InDoubleQuoteStringLiteral = 3, - } - enum TokenClass { - Punctuation = 0, - Keyword = 1, - Operator = 2, - Comment = 3, - Whitespace = 4, - Identifier = 5, - NumberLiteral = 6, - StringLiteral = 7, - RegExpLiteral = 8, - } - class Classifier { - public host: IClassifierHost; - private scanner; - private characterWindow; - private diagnostics; - constructor(host: IClassifierHost); - public getClassificationsForLine(text: string, lexState: EndOfLineState): ClassificationResult; - private processToken(text, offset, token, result); - private processTriviaList(text, offset, triviaList, result); - private addResult(text, offset, result, length, kind); - private classFromKind(kind); - } - interface IClassifierHost extends ILogger { - } - class ClassificationResult { - public finalLexState: EndOfLineState; - public entries: ClassificationInfo[]; - constructor(); - } - class ClassificationInfo { - public length: number; - public classification: TokenClass; - constructor(length: number, classification: TokenClass); - } -} -declare module TypeScript.Services { - interface ILanguageServicesDiagnostics { - log(content: string): void; - } -} -declare module TypeScript.Services { - interface ILanguageServiceHost extends ILogger, IReferenceResolverHost { - getCompilationSettings(): CompilationSettings; - getScriptFileNames(): string[]; - getScriptVersion(fileName: string): number; - getScriptIsOpen(fileName: string): boolean; - getScriptByteOrderMark(fileName: string): ByteOrderMark; - getScriptSnapshot(fileName: string): IScriptSnapshot; - getDiagnosticsObject(): ILanguageServicesDiagnostics; - getLocalizedDiagnosticMessages(): any; - } - interface ILanguageService { - refresh(): void; - cleanupSemanticCache(): void; - getSyntacticDiagnostics(fileName: string): Diagnostic[]; - getSemanticDiagnostics(fileName: string): Diagnostic[]; - getCompilerOptionsDiagnostics(): Diagnostic[]; - getCompletionsAtPosition(fileName: string, position: number, isMemberCompletion: boolean): CompletionInfo; - getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails; - getTypeAtPosition(fileName: string, position: number): TypeInfo; - getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): SpanInfo; - getBreakpointStatementAtPosition(fileName: string, position: number): SpanInfo; - getSignatureAtPosition(fileName: string, position: number): SignatureInfo; - getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; - getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[]; - getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[]; - getImplementorsAtPosition(fileName: string, position: number): ReferenceEntry[]; - getNavigateToItems(searchValue: string): NavigateToItem[]; - getScriptLexicalStructure(fileName: string): NavigateToItem[]; - getOutliningRegions(fileName: string): TextSpan[]; - getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; - getIndentationAtPosition(fileName: string, position: number, options: EditorOptions): number; - getFormattingEditsForRange(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; - getFormattingEditsForDocument(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; - getFormattingEditsOnPaste(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; - getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextEdit[]; - getEmitOutput(fileName: string): EmitOutput; - getSyntaxTree(fileName: string): SyntaxTree; - } - function logInternalError(logger: ILogger, err: Error): void; - class ReferenceEntry { - public fileName: string; - public minChar: number; - public limChar: number; - public isWriteAccess: boolean; - constructor(fileName: string, minChar: number, limChar: number, isWriteAccess: boolean); - } - class NavigateToItem { - public name: string; - public kind: string; - public kindModifiers: string; - public matchKind: string; - public fileName: string; - public minChar: number; - public limChar: number; - public additionalSpans: SpanInfo[]; - public containerName: string; - public containerKind: string; - } - class TextEdit { - public minChar: number; - public limChar: number; - public text: string; - constructor(minChar: number, limChar: number, text: string); - static createInsert(pos: number, text: string): TextEdit; - static createDelete(minChar: number, limChar: number): TextEdit; - static createReplace(minChar: number, limChar: number, text: string): TextEdit; - } - class EditorOptions { - public IndentSize: number; - public TabSize: number; - public NewLineCharacter: string; - public ConvertTabsToSpaces: boolean; - static clone(objectToClone: EditorOptions): EditorOptions; - } - class FormatCodeOptions extends EditorOptions { - public InsertSpaceAfterCommaDelimiter: boolean; - public InsertSpaceAfterSemicolonInForStatements: boolean; - public InsertSpaceBeforeAndAfterBinaryOperators: boolean; - public InsertSpaceAfterKeywordsInControlFlowStatements: boolean; - public InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; - public InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; - public PlaceOpenBraceOnNewLineForFunctions: boolean; - public PlaceOpenBraceOnNewLineForControlBlocks: boolean; - static clone(objectToClone: FormatCodeOptions): FormatCodeOptions; - } - class DefinitionInfo { - public fileName: string; - public minChar: number; - public limChar: number; - public kind: string; - public name: string; - public containerKind: string; - public containerName: string; - constructor(fileName: string, minChar: number, limChar: number, kind: string, name: string, containerKind: string, containerName: string); - } - class TypeInfo { - public memberName: MemberName; - public docComment: string; - public fullSymbolName: string; - public kind: string; - public minChar: number; - public limChar: number; - constructor(memberName: MemberName, docComment: string, fullSymbolName: string, kind: string, minChar: number, limChar: number); - } - class SpanInfo { - public minChar: number; - public limChar: number; - public text: string; - constructor(minChar: number, limChar: number, text?: string); - } - class SignatureInfo { - public actual: ActualSignatureInfo; - public formal: FormalSignatureItemInfo[]; - public activeFormal: number; - } - class FormalSignatureItemInfo { - public signatureInfo: string; - public typeParameters: FormalTypeParameterInfo[]; - public parameters: FormalParameterInfo[]; - public docComment: string; - } - class FormalTypeParameterInfo { - public name: string; - public docComment: string; - public minChar: number; - public limChar: number; - } - class FormalParameterInfo { - public name: string; - public isVariable: boolean; - public docComment: string; - public minChar: number; - public limChar: number; - } - class ActualSignatureInfo { - public parameterMinChar: number; - public parameterLimChar: number; - public currentParameterIsTypeParameter: boolean; - public currentParameter: number; - } - class CompletionInfo { - public maybeInaccurate: boolean; - public isMemberCompletion: boolean; - public entries: CompletionEntry[]; - } - interface CompletionEntry { - name: string; - kind: string; - kindModifiers: string; - } - interface CompletionEntryDetails { - name: string; - kind: string; - kindModifiers: string; - type: string; - fullSymbolName: string; - docComment: string; - } - class ScriptElementKind { - static unknown: string; - static keyword: string; - static scriptElement: string; - static moduleElement: string; - static classElement: string; - static interfaceElement: string; - static enumElement: string; - static variableElement: string; - static localVariableElement: string; - static functionElement: string; - static localFunctionElement: string; - static memberFunctionElement: string; - static memberGetAccessorElement: string; - static memberSetAccessorElement: string; - static memberVariableElement: string; - static constructorImplementationElement: string; - static callSignatureElement: string; - static indexSignatureElement: string; - static constructSignatureElement: string; - static parameterElement: string; - static typeParameterElement: string; - static primitiveType: string; - } - class ScriptElementKindModifier { - static none: string; - static publicMemberModifier: string; - static privateMemberModifier: string; - static exportedModifier: string; - static ambientModifier: string; - static staticModifier: string; - } - class MatchKind { - static none: string; - static exact: string; - static subString: string; - static prefix: string; - } - class DiagnosticCategory { - static none: string; - static error: string; - static warning: string; - static message: string; - } -} -declare module TypeScript.Services.Formatting { - interface ITextSnapshot { - getText(span: TextSpan): string; - getLineNumberFromPosition(position: number): number; - getLineFromPosition(position: number): ITextSnapshotLine; - getLineFromLineNumber(lineNumber: number): ITextSnapshotLine; - } - class TextSnapshot implements ITextSnapshot { - private snapshot; - private lines; - constructor(snapshot: ISimpleText); - public getText(span: TextSpan): string; - public getLineNumberFromPosition(position: number): number; - public getLineFromPosition(position: number): ITextSnapshotLine; - public getLineFromLineNumber(lineNumber: number): ITextSnapshotLine; - private getLineFromLineNumberWorker(lineNumber); - } -} -declare module TypeScript.Services.Formatting { - interface ITextSnapshotLine { - snapshot(): ITextSnapshot; - start(): SnapshotPoint; - startPosition(): number; - end(): SnapshotPoint; - endPosition(): number; - endIncludingLineBreak(): SnapshotPoint; - endIncludingLineBreakPosition(): number; - length(): number; - lineNumber(): number; - getText(): string; - } - class TextSnapshotLine implements ITextSnapshotLine { - private _snapshot; - private _lineNumber; - private _start; - private _end; - private _lineBreak; - constructor(_snapshot: ITextSnapshot, _lineNumber: number, _start: number, _end: number, _lineBreak: string); - public snapshot(): ITextSnapshot; - public start(): SnapshotPoint; - public startPosition(): number; - public end(): SnapshotPoint; - public endPosition(): number; - public endIncludingLineBreak(): SnapshotPoint; - public endIncludingLineBreakPosition(): number; - public length(): number; - public lineNumber(): number; - public getText(): string; - } -} -declare module TypeScript.Services.Formatting { - class SnapshotPoint { - public snapshot: ITextSnapshot; - public position: number; - constructor(snapshot: ITextSnapshot, position: number); - public getContainingLine(): ITextSnapshotLine; - public add(offset: number): SnapshotPoint; - } -} -declare module TypeScript.Services.Formatting { - class FormattingContext { - private snapshot; - public formattingRequestKind: FormattingRequestKind; - public currentTokenSpan: TokenSpan; - public nextTokenSpan: TokenSpan; - public contextNode: IndentationNodeContext; - public currentTokenParent: IndentationNodeContext; - public nextTokenParent: IndentationNodeContext; - private contextNodeAllOnSameLine; - private nextNodeAllOnSameLine; - private tokensAreOnSameLine; - private contextNodeBlockIsOnOneLine; - private nextNodeBlockIsOnOneLine; - constructor(snapshot: ITextSnapshot, formattingRequestKind: FormattingRequestKind); - public updateContext(currentTokenSpan: TokenSpan, currentTokenParent: IndentationNodeContext, nextTokenSpan: TokenSpan, nextTokenParent: IndentationNodeContext, commonParent: IndentationNodeContext): void; - public ContextNodeAllOnSameLine(): boolean; - public NextNodeAllOnSameLine(): boolean; - public TokensAreOnSameLine(): boolean; - public ContextNodeBlockIsOnOneLine(): boolean; - public NextNodeBlockIsOnOneLine(): boolean; - public NodeIsOnOneLine(node: IndentationNodeContext): boolean; - public BlockIsOnOneLine(node: IndentationNodeContext): boolean; - } -} -declare module TypeScript.Services.Formatting { - class FormattingManager { - private syntaxTree; - private snapshot; - private rulesProvider; - private options; - constructor(syntaxTree: SyntaxTree, snapshot: ITextSnapshot, rulesProvider: RulesProvider, editorOptions: EditorOptions); - public formatSelection(minChar: number, limChar: number): TextEdit[]; - public formatDocument(minChar: number, limChar: number): TextEdit[]; - public formatOnPaste(minChar: number, limChar: number): TextEdit[]; - public formatOnSemicolon(caretPosition: number): TextEdit[]; - public formatOnClosingCurlyBrace(caretPosition: number): TextEdit[]; - public formatOnEnter(caretPosition: number): TextEdit[]; - private formatSpan(span, formattingRequestKind); - } -} -declare module TypeScript.Services.Formatting { - enum FormattingRequestKind { - FormatDocument = 0, - FormatSelection = 1, - FormatOnEnter = 2, - FormatOnSemicolon = 3, - FormatOnClosingCurlyBrace = 4, - FormatOnPaste = 5, - } -} -declare module TypeScript.Services.Formatting { - class Rule { - public Descriptor: RuleDescriptor; - public Operation: RuleOperation; - public Flag: RuleFlags; - constructor(Descriptor: RuleDescriptor, Operation: RuleOperation, Flag?: RuleFlags); - public toString(): string; - } -} -declare module TypeScript.Services.Formatting { - enum RuleAction { - Ignore = 0, - Space = 1, - NewLine = 2, - Delete = 3, - } -} -declare module TypeScript.Services.Formatting { - class RuleDescriptor { - public LeftTokenRange: Shared.TokenRange; - public RightTokenRange: Shared.TokenRange; - constructor(LeftTokenRange: Shared.TokenRange, RightTokenRange: Shared.TokenRange); - public toString(): string; - static create1(left: SyntaxKind, right: SyntaxKind): RuleDescriptor; - static create2(left: Shared.TokenRange, right: SyntaxKind): RuleDescriptor; - static create3(left: SyntaxKind, right: Shared.TokenRange): RuleDescriptor; - static create4(left: Shared.TokenRange, right: Shared.TokenRange): RuleDescriptor; - } -} -declare module TypeScript.Services.Formatting { - enum RuleFlags { - None = 0, - CanDeleteNewLines = 1, - } -} -declare module TypeScript.Services.Formatting { - class RuleOperation { - public Context: RuleOperationContext; - public Action: RuleAction; - constructor(); - public toString(): string; - static create1(action: RuleAction): RuleOperation; - static create2(context: RuleOperationContext, action: RuleAction): RuleOperation; - } -} -declare module TypeScript.Services.Formatting { - class RuleOperationContext { - private customContextChecks; - constructor(...funcs: { - (context: FormattingContext): boolean; - }[]); - static Any: RuleOperationContext; - public IsAny(): boolean; - public InContext(context: FormattingContext): boolean; - } -} -declare module TypeScript.Services.Formatting { - class Rules { - public getRuleName(rule: Rule): any; - [name: string]: any; - public IgnoreBeforeComment: Rule; - public IgnoreAfterLineComment: Rule; - public NoSpaceBeforeSemicolon: Rule; - public NoSpaceBeforeColon: Rule; - public NoSpaceBeforeQMark: Rule; - public SpaceAfterColon: Rule; - public SpaceAfterQMark: Rule; - public SpaceAfterSemicolon: Rule; - public SpaceAfterCloseBrace: Rule; - public SpaceBetweenCloseBraceAndElse: Rule; - public SpaceBetweenCloseBraceAndWhile: Rule; - public NoSpaceAfterCloseBrace: Rule; - public NoSpaceBeforeDot: Rule; - public NoSpaceAfterDot: Rule; - public NoSpaceBeforeOpenBracket: Rule; - public NoSpaceAfterOpenBracket: Rule; - public NoSpaceBeforeCloseBracket: Rule; - public NoSpaceAfterCloseBracket: Rule; - public SpaceAfterOpenBrace: Rule; - public SpaceBeforeCloseBrace: Rule; - public NoSpaceBetweenEmptyBraceBrackets: Rule; - public NewLineAfterOpenBraceInBlockContext: Rule; - public NewLineBeforeCloseBraceInBlockContext: Rule; - public NoSpaceAfterUnaryPrefixOperator: Rule; - public NoSpaceAfterUnaryPreincrementOperator: Rule; - public NoSpaceAfterUnaryPredecrementOperator: Rule; - public NoSpaceBeforeUnaryPostincrementOperator: Rule; - public NoSpaceBeforeUnaryPostdecrementOperator: Rule; - public SpaceAfterPostincrementWhenFollowedByAdd: Rule; - public SpaceAfterAddWhenFollowedByUnaryPlus: Rule; - public SpaceAfterAddWhenFollowedByPreincrement: Rule; - public SpaceAfterPostdecrementWhenFollowedBySubtract: Rule; - public SpaceAfterSubtractWhenFollowedByUnaryMinus: Rule; - public SpaceAfterSubtractWhenFollowedByPredecrement: Rule; - public NoSpaceBeforeComma: Rule; - public SpaceAfterCertainKeywords: Rule; - public NoSpaceBeforeOpenParenInFuncCall: Rule; - public SpaceAfterFunctionInFuncDecl: Rule; - public NoSpaceBeforeOpenParenInFuncDecl: Rule; - public SpaceAfterVoidOperator: Rule; - public NoSpaceBetweenReturnAndSemicolon: Rule; - public SpaceBetweenStatements: Rule; - public SpaceAfterTryFinally: Rule; - public SpaceAfterGetSetInMember: Rule; - public SpaceBeforeBinaryKeywordOperator: Rule; - public SpaceAfterBinaryKeywordOperator: Rule; - public NoSpaceAfterConstructor: Rule; - public NoSpaceAfterModuleImport: Rule; - public SpaceAfterCertainTypeScriptKeywords: Rule; - public SpaceBeforeCertainTypeScriptKeywords: Rule; - public SpaceAfterModuleName: Rule; - public SpaceAfterArrow: Rule; - public NoSpaceAfterEllipsis: Rule; - public NoSpaceAfterOptionalParameters: Rule; - public NoSpaceBeforeOpenAngularBracket: Rule; - public NoSpaceBetweenCloseParenAndAngularBracket: Rule; - public NoSpaceAfterOpenAngularBracket: Rule; - public NoSpaceBeforeCloseAngularBracket: Rule; - public NoSpaceAfterCloseAngularBracket: Rule; - public NoSpaceBetweenEmptyInterfaceBraceBrackets: Rule; - public HighPriorityCommonRules: Rule[]; - public LowPriorityCommonRules: Rule[]; - public SpaceAfterComma: Rule; - public NoSpaceAfterComma: Rule; - public SpaceBeforeBinaryOperator: Rule; - public SpaceAfterBinaryOperator: Rule; - public NoSpaceBeforeBinaryOperator: Rule; - public NoSpaceAfterBinaryOperator: Rule; - public SpaceAfterKeywordInControl: Rule; - public NoSpaceAfterKeywordInControl: Rule; - public FunctionOpenBraceLeftTokenRange: Shared.TokenRange; - public SpaceBeforeOpenBraceInFunction: Rule; - public NewLineBeforeOpenBraceInFunction: Rule; - public TypeScriptOpenBraceLeftTokenRange: Shared.TokenRange; - public SpaceBeforeOpenBraceInTypeScriptDeclWithBlock: Rule; - public NewLineBeforeOpenBraceInTypeScriptDeclWithBlock: Rule; - public ControlOpenBraceLeftTokenRange: Shared.TokenRange; - public SpaceBeforeOpenBraceInControl: Rule; - public NewLineBeforeOpenBraceInControl: Rule; - public SpaceAfterSemicolonInFor: Rule; - public NoSpaceAfterSemicolonInFor: Rule; - public SpaceAfterOpenParen: Rule; - public SpaceBeforeCloseParen: Rule; - public NoSpaceBetweenParens: Rule; - public NoSpaceAfterOpenParen: Rule; - public NoSpaceBeforeCloseParen: Rule; - public SpaceAfterAnonymousFunctionKeyword: Rule; - public NoSpaceAfterAnonymousFunctionKeyword: Rule; - constructor(); - static IsForContext(context: FormattingContext): boolean; - static IsNotForContext(context: FormattingContext): boolean; - static IsBinaryOpContext(context: FormattingContext): boolean; - static IsNotBinaryOpContext(context: FormattingContext): boolean; - static IsSameLineTokenOrBeforeMultilineBlockContext(context: FormattingContext): boolean; - static IsBeforeMultilineBlockContext(context: FormattingContext): boolean; - static IsMultilineBlockContext(context: FormattingContext): boolean; - static IsSingleLineBlockContext(context: FormattingContext): boolean; - static IsBlockContext(context: FormattingContext): boolean; - static IsBeforeBlockContext(context: FormattingContext): boolean; - static NodeIsBlockContext(node: IndentationNodeContext): boolean; - static IsFunctionDeclContext(context: FormattingContext): boolean; - static IsTypeScriptDeclWithBlockContext(context: FormattingContext): boolean; - static NodeIsTypeScriptDeclWithBlockContext(node: IndentationNodeContext): boolean; - static IsAfterCodeBlockContext(context: FormattingContext): boolean; - static IsControlDeclContext(context: FormattingContext): boolean; - static IsObjectContext(context: FormattingContext): boolean; - static IsFunctionCallContext(context: FormattingContext): boolean; - static IsNewContext(context: FormattingContext): boolean; - static IsFunctionCallOrNewContext(context: FormattingContext): boolean; - static IsSameLineTokenContext(context: FormattingContext): boolean; - static IsNotFormatOnEnter(context: FormattingContext): boolean; - static IsModuleDeclContext(context: FormattingContext): boolean; - static IsObjectTypeContext(context: FormattingContext): boolean; - static IsTypeArgumentOrParameter(tokenKind: SyntaxKind, parentKind: SyntaxKind): boolean; - static IsTypeArgumentOrParameterContext(context: FormattingContext): boolean; - static IsVoidOpContext(context: FormattingContext): boolean; - } -} -declare module TypeScript.Services.Formatting { - class RulesMap { - public map: RulesBucket[]; - public mapRowLength: number; - constructor(); - static create(rules: Rule[]): RulesMap; - public Initialize(rules: Rule[]): RulesBucket[]; - public FillRules(rules: Rule[], rulesBucketConstructionStateList: RulesBucketConstructionState[]): void; - private GetRuleBucketIndex(row, column); - private FillRule(rule, rulesBucketConstructionStateList); - public GetRule(context: FormattingContext): Rule; - } - enum RulesPosition { - IgnoreRulesSpecific = 0, - IgnoreRulesAny, - ContextRulesSpecific, - ContextRulesAny, - NoContextRulesSpecific, - NoContextRulesAny, - } - class RulesBucketConstructionState { - private rulesInsertionIndexBitmap; - constructor(); - public GetInsertionIndex(maskPosition: RulesPosition): number; - public IncreaseInsertionIndex(maskPosition: RulesPosition): void; - } - class RulesBucket { - private rules; - constructor(); - public Rules(): Rule[]; - public AddRule(rule: Rule, specificTokens: boolean, constructionState: RulesBucketConstructionState[], rulesBucketIndex: number): void; - } -} -declare module TypeScript.Services.Formatting { - class RulesProvider { - private logger; - private globalRules; - private options; - private activeRules; - private rulesMap; - constructor(logger: ILogger); - public getRuleName(rule: Rule): string; - public getRuleByName(name: string): Rule; - public getRulesMap(): RulesMap; - public ensureUpToDate(options: FormatCodeOptions): void; - private createActiveRules(options); - } -} -declare module TypeScript.Services.Formatting { - class TextEditInfo { - public position: number; - public length: number; - public replaceWith: string; - constructor(position: number, length: number, replaceWith: string); - public toString(): string; - } -} -declare module TypeScript.Services.Formatting { - module Shared { - interface ITokenAccess { - GetTokens(): SyntaxKind[]; - Contains(token: SyntaxKind): boolean; - } - class TokenRangeAccess implements ITokenAccess { - private tokens; - constructor(from: SyntaxKind, to: SyntaxKind, except: SyntaxKind[]); - public GetTokens(): SyntaxKind[]; - public Contains(token: SyntaxKind): boolean; - public toString(): string; - } - class TokenValuesAccess implements ITokenAccess { - private tokens; - constructor(tks: SyntaxKind[]); - public GetTokens(): SyntaxKind[]; - public Contains(token: SyntaxKind): boolean; - } - class TokenSingleValueAccess implements ITokenAccess { - public token: SyntaxKind; - constructor(token: SyntaxKind); - public GetTokens(): SyntaxKind[]; - public Contains(tokenValue: SyntaxKind): boolean; - public toString(): string; - } - class TokenAllAccess implements ITokenAccess { - public GetTokens(): SyntaxKind[]; - public Contains(tokenValue: SyntaxKind): boolean; - public toString(): string; - } - class TokenRange { - public tokenAccess: ITokenAccess; - constructor(tokenAccess: ITokenAccess); - static FromToken(token: SyntaxKind): TokenRange; - static FromTokens(tokens: SyntaxKind[]): TokenRange; - static FromRange(f: SyntaxKind, to: SyntaxKind, except?: SyntaxKind[]): TokenRange; - static AllTokens(): TokenRange; - public GetTokens(): SyntaxKind[]; - public Contains(token: SyntaxKind): boolean; - public toString(): string; - static Any: TokenRange; - static AnyIncludingMultilineComments: TokenRange; - static Keywords: TokenRange; - static Operators: TokenRange; - static BinaryOperators: TokenRange; - static BinaryKeywordOperators: TokenRange; - static ReservedKeywords: TokenRange; - static UnaryPrefixOperators: TokenRange; - static UnaryPrefixExpressions: TokenRange; - static UnaryPreincrementExpressions: TokenRange; - static UnaryPostincrementExpressions: TokenRange; - static UnaryPredecrementExpressions: TokenRange; - static UnaryPostdecrementExpressions: TokenRange; - static Comments: TokenRange; - static TypeNames: TokenRange; - } - } -} -declare module TypeScript.Services.Formatting { - class TokenSpan extends TextSpan { - private _kind; - constructor(kind: SyntaxKind, start: number, length: number); - public kind(): SyntaxKind; - } -} -declare module TypeScript.Services.Formatting { - class IndentationNodeContext { - private _node; - private _parent; - private _fullStart; - private _indentationAmount; - private _childIndentationAmountDelta; - private _depth; - private _hasSkippedOrMissingTokenChild; - constructor(parent: IndentationNodeContext, node: SyntaxNode, fullStart: number, indentationAmount: number, childIndentationAmountDelta: number); - public parent(): IndentationNodeContext; - public node(): SyntaxNode; - public fullStart(): number; - public fullWidth(): number; - public start(): number; - public end(): number; - public indentationAmount(): number; - public childIndentationAmountDelta(): number; - public depth(): number; - public kind(): SyntaxKind; - public hasSkippedOrMissingTokenChild(): boolean; - public clone(pool: IndentationNodeContextPool): IndentationNodeContext; - public update(parent: IndentationNodeContext, node: SyntaxNode, fullStart: number, indentationAmount: number, childIndentationAmountDelta: number): void; - } -} -declare module TypeScript.Services.Formatting { - class IndentationNodeContextPool { - private nodes; - public getNode(parent: IndentationNodeContext, node: SyntaxNode, fullStart: number, indentationLevel: number, childIndentationLevelDelta: number): IndentationNodeContext; - public releaseNode(node: IndentationNodeContext, recursive?: boolean): void; - } -} -declare module TypeScript.Services.Formatting { - class IndentationTrackingWalker extends SyntaxWalker { - public options: FormattingOptions; - private _position; - private _parent; - private _textSpan; - private _snapshot; - private _lastTriviaWasNewLine; - private _indentationNodeContextPool; - constructor(textSpan: TextSpan, sourceUnit: SourceUnitSyntax, snapshot: ITextSnapshot, indentFirstToken: boolean, options: FormattingOptions); - public position(): number; - public parent(): IndentationNodeContext; - public textSpan(): TextSpan; - public snapshot(): ITextSnapshot; - public indentationNodeContextPool(): IndentationNodeContextPool; - public forceIndentNextToken(tokenStart: number): void; - public forceSkipIndentingNextToken(tokenStart: number): void; - public indentToken(token: ISyntaxToken, indentationAmount: number, commentIndentationAmount: number): void; - public visitTokenInSpan(token: ISyntaxToken): void; - public visitToken(token: ISyntaxToken): void; - public visitNode(node: SyntaxNode): void; - private getTokenIndentationAmount(token); - private getCommentIndentationAmount(token); - private getNodeIndentation(node, newLineInsertedByFormatting?); - private shouldIndentBlockInParent(parent); - private forceRecomputeIndentationOfParent(tokenStart, newLineAdded); - } -} -declare module TypeScript.Services.Formatting { - class MultipleTokenIndenter extends IndentationTrackingWalker { - private _edits; - constructor(textSpan: TextSpan, sourceUnit: SourceUnitSyntax, snapshot: ITextSnapshot, indentFirstToken: boolean, options: FormattingOptions); - public indentToken(token: ISyntaxToken, indentationAmount: number, commentIndentationAmount: number): void; - public edits(): TextEditInfo[]; - public recordEdit(position: number, length: number, replaceWith: string): void; - private recordIndentationEditsForToken(token, indentationString, commentIndentationString); - private recordIndentationEditsForSingleLineOrSkippedText(trivia, fullStart, indentationString); - private recordIndentationEditsForWhitespace(trivia, fullStart, indentationString); - private recordIndentationEditsForMultiLineComment(trivia, fullStart, indentationString, leadingWhiteSpace, firstLineAlreadyIndented); - private recordIndentationEditsForSegment(segment, fullStart, indentationColumns, whiteSpaceColumnsInFirstSegment); - } -} -declare module TypeScript.Services.Formatting { - class SingleTokenIndenter extends IndentationTrackingWalker { - private indentationAmount; - private indentationPosition; - constructor(indentationPosition: number, sourceUnit: SourceUnitSyntax, snapshot: ITextSnapshot, indentFirstToken: boolean, options: FormattingOptions); - static getIndentationAmount(position: number, sourceUnit: SourceUnitSyntax, snapshot: ITextSnapshot, options: FormattingOptions): number; - public indentToken(token: ISyntaxToken, indentationAmount: number, commentIndentationAmount: number): void; - } -} -declare module TypeScript.Services.Formatting { - class Formatter extends MultipleTokenIndenter { - private previousTokenSpan; - private previousTokenParent; - private scriptHasErrors; - private rulesProvider; - private formattingRequestKind; - private formattingContext; - constructor(textSpan: TextSpan, sourceUnit: SourceUnitSyntax, indentFirstToken: boolean, options: FormattingOptions, snapshot: ITextSnapshot, rulesProvider: RulesProvider, formattingRequestKind: FormattingRequestKind); - static getEdits(textSpan: TextSpan, sourceUnit: SourceUnitSyntax, options: FormattingOptions, indentFirstToken: boolean, snapshot: ITextSnapshot, rulesProvider: RulesProvider, formattingRequestKind: FormattingRequestKind): TextEditInfo[]; - public visitTokenInSpan(token: ISyntaxToken): void; - private processToken(token); - private processTrivia(triviaList, fullStart); - private findCommonParents(parent1, parent2); - private formatPair(t1, t1Parent, t2, t2Parent); - private getLineNumber(span); - private trimWhitespaceInLineRange(startLine, endLine, token?); - private trimWhitespace(line, token?); - private RecordRuleEdits(rule, t1, t2); - } -} -declare var debugObjectHost: any; -declare module TypeScript.Services { - interface ICoreServicesHost { - logger: ILogger; - } - class CoreServices { - public host: ICoreServicesHost; - constructor(host: ICoreServicesHost); - public getPreProcessedFileInfo(fileName: string, sourceText: IScriptSnapshot): IPreProcessedFileInfo; - public getDefaultCompilationSettings(): CompilationSettings; - public dumpMemory(): string; - public getMemoryInfo(): any[]; - public collectGarbage(): void; - } -} -declare module TypeScript.Services { - class SyntaxTreeCache { - private _host; - private _hostCache; - private _currentFileName; - private _currentFileVersion; - private _currentFileSyntaxTree; - private _currentFileScriptSnapshot; - constructor(_host: ILanguageServiceHost); - public getCurrentFileSyntaxTree(fileName: string): SyntaxTree; - private createSyntaxTree(fileName, scriptSnapshot); - private updateSyntaxTree(fileName, scriptSnapshot, previousSyntaxTree, previousFileVersion); - private ensureInvariants(fileName, editRange, incrementalTree, oldScriptSnapshot, newScriptSnapshot); - } - class LanguageServiceCompiler { - private host; - private logger; - private compiler; - private hostCache; - constructor(host: ILanguageServiceHost); - private synchronizeHostData(); - private synchronizeHostDataWorker(); - private tryUpdateFile(compiler, fileName); - public getScriptSnapshot(fileName: string): IScriptSnapshot; - public getCachedHostFileName(fileName: string): string; - public getCachedTopLevelDeclaration(fileName: string): PullDecl; - public compilationSettings(): ImmutableCompilationSettings; - public fileNames(): string[]; - public cleanupSemanticCache(): void; - public getDocument(fileName: string): Document; - public getSyntacticDiagnostics(fileName: string): Diagnostic[]; - public getSemanticDiagnostics(fileName: string): Diagnostic[]; - public getCompilerOptionsDiagnostics(resolvePath: (path: string) => string): Diagnostic[]; - public getSymbolInformationFromAST(ast: AST, document: Document): PullSymbolInfo; - public getCallInformationFromAST(ast: AST, document: Document): PullCallSymbolInfo; - public getVisibleMemberSymbolsFromAST(ast: AST, document: Document): PullVisibleSymbolsInfo; - public getVisibleDeclsFromAST(ast: AST, document: Document): PullDecl[]; - public getContextualMembersFromAST(ast: AST, document: Document): PullVisibleSymbolsInfo; - public pullGetDeclInformation(decl: PullDecl, ast: AST, document: Document): PullSymbolInfo; - public topLevelDeclaration(fileName: string): PullDecl; - public getDeclForAST(ast: AST): PullDecl; - public emit(fileName: string, resolvePath: (path: string) => string): EmitOutput; - public emitDeclarations(fileName: string, resolvePath: (path: string) => string): EmitOutput; - public canEmitDeclarations(fileName: string): boolean; - } -} -declare module TypeScript.Services { - class CompletionHelpers { - private static getSpan(ast); - private static symbolDeclarationIntersectsPosition(symbol, fileName, position); - static filterContextualMembersList(contextualMemberSymbols: PullSymbol[], existingMembers: PullVisibleSymbolsInfo, fileName: string, position: number): PullSymbol[]; - static isCompletionListBlocker(sourceUnit: SourceUnitSyntax, position: number): boolean; - static getContainingObjectLiteralApplicableForCompletion(sourceUnit: SourceUnitSyntax, position: number): PositionedElement; - static isIdentifierDefinitionLocation(sourceUnit: SourceUnitSyntax, position: number): boolean; - static getNonIdentifierCompleteTokenOnLeft(sourceUnit: SourceUnitSyntax, position: number): PositionedToken; - static isRightOfIllegalDot(sourceUnit: SourceUnitSyntax, position: number): boolean; - static getValidCompletionEntryDisplayName(displayName: string): string; - } -} -declare module TypeScript.Services { - class KeywordCompletions { - private static keywords; - private static keywordCompletions; - static getKeywordCompltions(): ResolvedCompletionEntry[]; - } -} -declare module TypeScript.Services { - interface IPartiallyWrittenTypeArgumentListInformation { - genericIdentifer: PositionedToken; - lessThanToken: PositionedToken; - argumentIndex: number; - } - class SignatureInfoHelpers { - static isInPartiallyWrittenTypeArgumentList(syntaxTree: SyntaxTree, position: number): IPartiallyWrittenTypeArgumentListInformation; - static getSignatureInfoFromSignatureSymbol(symbol: PullSymbol, signatures: PullSignatureSymbol[], enclosingScopeSymbol: PullSymbol, compilerState: LanguageServiceCompiler): FormalSignatureItemInfo[]; - static getSignatureInfoFromGenericSymbol(symbol: PullSymbol, enclosingScopeSymbol: PullSymbol, compilerState: LanguageServiceCompiler): FormalSignatureItemInfo[]; - static getActualSignatureInfoFromCallExpression(ast: ICallExpression, caretPosition: number, typeParameterInformation: IPartiallyWrittenTypeArgumentListInformation): ActualSignatureInfo; - static getActualSignatureInfoFromPartiallyWritenGenericExpression(caretPosition: number, typeParameterInformation: IPartiallyWrittenTypeArgumentListInformation): ActualSignatureInfo; - static isSignatureHelpBlocker(sourceUnit: SourceUnitSyntax, position: number): boolean; - static isTargetOfObjectCreationExpression(positionedToken: PositionedToken): boolean; - private static moveBackUpTillMatchingTokenKind(token, tokenKind, matchingTokenKind); - } -} -declare module TypeScript.Services { - interface CachedCompletionEntryDetails extends CompletionEntryDetails { - isResolved(): boolean; - } - class ResolvedCompletionEntry implements CachedCompletionEntryDetails { - public name: string; - public kind: string; - public kindModifiers: string; - public type: string; - public fullSymbolName: string; - public docComment: string; - constructor(name: string, kind: string, kindModifiers: string, type: string, fullSymbolName: string, docComment: string); - public isResolved(): boolean; - } - class DeclReferenceCompletionEntry implements CachedCompletionEntryDetails { - public name: string; - public kind: string; - public kindModifiers: string; - public decl: PullDecl; - public type: string; - public fullSymbolName: string; - public docComment: string; - private hasBeenResolved; - constructor(name: string, kind: string, kindModifiers: string, decl: PullDecl); - public isResolved(): boolean; - public resolve(type: string, fullSymbolName: string, docComments: string): void; - } - class CompletionSession { - public fileName: string; - public position: number; - public entries: IdentiferNameHashTable; - constructor(fileName: string, position: number, entries: IdentiferNameHashTable); - } -} -declare module TypeScript.Services { - class LanguageService implements ILanguageService { - public host: ILanguageServiceHost; - private logger; - private compiler; - private _syntaxTreeCache; - private formattingRulesProvider; - private activeCompletionSession; - constructor(host: ILanguageServiceHost); - public cleanupSemanticCache(): void; - public refresh(): void; - private getSymbolInfoAtPosition(fileName, pos, requireName); - public getReferencesAtPosition(fileName: string, pos: number): ReferenceEntry[]; - private getSymbolScopeAST(symbol, ast); - public getOccurrencesAtPosition(fileName: string, pos: number): ReferenceEntry[]; - private getSingleNodeReferenceAtPosition(fileName, position); - public getImplementorsAtPosition(fileName: string, pos: number): ReferenceEntry[]; - public getOverrides(container: PullTypeSymbol, memberSym: PullSymbol): PullTypeSymbol[]; - private getImplementorsInFile(fileName, symbol); - private getReferencesInFile(fileName, symbol, containingASTOpt); - private isWriteAccess(current); - private isLetterOrDigit(char); - private getPossibleSymbolReferencePositions(fileName, symbolName); - public getSignatureAtPosition(fileName: string, position: number): SignatureInfo; - private getTypeParameterSignatureFromPartiallyWrittenExpression(document, position, genericTypeArgumentListInfo); - public getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; - private addDeclarations(symbolKind, symbolName, containerKind, containerName, declarations, result); - private addDeclaration(symbolKind, symbolName, containerKind, containerName, declaration, result); - private tryAddDefinition(symbolKind, symbolName, containerKind, containerName, declarations, result); - private tryAddSignatures(symbolKind, symbolName, containerKind, containerName, declarations, result); - private tryAddConstructor(symbolKind, symbolName, containerKind, containerName, declarations, result); - public getNavigateToItems(searchValue: string): NavigateToItem[]; - private hasAnyUpperCaseCharacter(s); - private findSearchValueInPullDecl(fileName, declarations, results, searchTerms, parentName?, parentkindName?); - private getScriptElementKindModifiersFromDecl(decl); - private isContainerDeclaration(declaration); - private shouldIncludeDeclarationInNavigationItems(declaration); - public getSyntacticDiagnostics(fileName: string): Diagnostic[]; - public getSemanticDiagnostics(fileName: string): Diagnostic[]; - private _getHostSpecificDiagnosticWithFileName(diagnostic); - public getCompilerOptionsDiagnostics(): Diagnostic[]; - private _getHostFileName(fileName); - public getEmitOutput(fileName: string): EmitOutput; - private getAllSyntacticDiagnostics(); - private getAllSemanticDiagnostics(); - private containErrors(diagnostics); - private getFullNameOfSymbol(symbol, enclosingScopeSymbol); - private getTypeInfoEligiblePath(fileName, position, isConstructorValidPosition); - public getTypeAtPosition(fileName: string, position: number): TypeInfo; - public getCompletionsAtPosition(fileName: string, position: number, isMemberCompletion: boolean): CompletionInfo; - private getCompletionEntriesFromSymbols(symbolInfo, result); - private getCompletionEntriesFromDecls(decls, result); - private getResolvedCompletionEntryDetailsFromSymbol(symbol, enclosingScopeSymbol); - private getCompletionEntriesForKeywords(keywords, result); - public getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails; - private tryFindDeclFromPreviousCompilerVersion(invalidatedDecl); - private getModuleOrEnumKind(symbol); - private mapPullElementKind(kind, symbol?, useConstructorAsClass?, varIsFunction?, functionIsConstructor?); - private getScriptElementKindModifiers(symbol); - private getScriptElementKindModifiersFromFlags(flags); - public getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): SpanInfo; - public getBreakpointStatementAtPosition(fileName: string, pos: number): SpanInfo; - public getFormattingEditsForRange(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; - public getFormattingEditsForDocument(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; - public getFormattingEditsOnPaste(fileName: string, minChar: number, limChar: number, options: FormatCodeOptions): TextEdit[]; - public getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextEdit[]; - private getFormattingManager(fileName, options); - public getOutliningRegions(fileName: string): TextSpan[]; - public getIndentationAtPosition(fileName: string, position: number, editorOptions: EditorOptions): number; - public getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; - public getScriptLexicalStructure(fileName: string): NavigateToItem[]; - public getSyntaxTree(fileName: string): SyntaxTree; - } -} -declare module TypeScript.Services { - class FindReferenceHelpers { - static compareSymbolsForLexicalIdentity(firstSymbol: PullSymbol, secondSymbol: PullSymbol): boolean; - private static checkSymbolsForDeclarationEquality(firstSymbol, secondSymbol); - private static declarationsAreSameOrParents(firstDecl, secondDecl); - } -} -declare module TypeScript.Services { - interface IScriptSnapshotShim { - getText(start: number, end: number): string; - getLength(): number; - getLineStartPositions(): string; - getTextChangeRangeSinceVersion(scriptVersion: number): string; - } - interface ILanguageServiceShimHost extends ILogger { - getCompilationSettings(): string; - getScriptFileNames(): string; - getScriptVersion(fileName: string): number; - getScriptIsOpen(fileName: string): boolean; - getScriptByteOrderMark(fileName: string): number; - getScriptSnapshot(fileName: string): IScriptSnapshotShim; - resolveRelativePath(path: string, directory: string): string; - fileExists(path: string): boolean; - directoryExists(path: string): boolean; - getParentDirectory(path: string): string; - getDiagnosticsObject(): ILanguageServicesDiagnostics; - getLocalizedDiagnosticMessages(): string; - } - interface IShimFactory { - registerShim(shim: IShim): void; - unregisterShim(shim: IShim): void; - } - interface IShim { - dispose(dummy: any): void; - } - class ShimBase implements IShim { - private factory; - constructor(factory: IShimFactory); - public dispose(dummy: any): void; - } - interface ILanguageServiceShim extends IShim { - languageService: ILanguageService; - dispose(dummy: any): void; - refresh(throwOnError: boolean): void; - cleanupSemanticCache(): void; - getSyntacticDiagnostics(fileName: string): string; - getSemanticDiagnostics(fileName: string): string; - getCompilerOptionsDiagnostics(): string; - getCompletionsAtPosition(fileName: string, position: number, isMemberCompletion: boolean): string; - getCompletionEntryDetails(fileName: string, position: number, entryName: string): string; - getTypeAtPosition(fileName: string, position: number): string; - getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): string; - getBreakpointStatementAtPosition(fileName: string, position: number): string; - getSignatureAtPosition(fileName: string, position: number): string; - getDefinitionAtPosition(fileName: string, position: number): string; - getReferencesAtPosition(fileName: string, position: number): string; - getOccurrencesAtPosition(fileName: string, position: number): string; - getImplementorsAtPosition(fileName: string, position: number): string; - getNavigateToItems(searchValue: string): string; - getScriptLexicalStructure(fileName: string): string; - getOutliningRegions(fileName: string): string; - getBraceMatchingAtPosition(fileName: string, position: number): string; - getIndentationAtPosition(fileName: string, position: number, options: string): string; - getFormattingEditsForRange(fileName: string, minChar: number, limChar: number, options: string): string; - getFormattingEditsForDocument(fileName: string, minChar: number, limChar: number, options: string): string; - getFormattingEditsOnPaste(fileName: string, minChar: number, limChar: number, options: string): string; - getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: string): string; - getEmitOutput(fileName: string): string; - } - class LanguageServiceShimHostAdapter implements ILanguageServiceHost { - private shimHost; - constructor(shimHost: ILanguageServiceShimHost); - public information(): boolean; - public debug(): boolean; - public warning(): boolean; - public error(): boolean; - public fatal(): boolean; - public log(s: string): void; - public getCompilationSettings(): CompilationSettings; - public getScriptFileNames(): string[]; - public getScriptSnapshot(fileName: string): IScriptSnapshot; - public getScriptVersion(fileName: string): number; - public getScriptIsOpen(fileName: string): boolean; - public getScriptByteOrderMark(fileName: string): ByteOrderMark; - public getDiagnosticsObject(): ILanguageServicesDiagnostics; - public getLocalizedDiagnosticMessages(): any; - public resolveRelativePath(path: string, directory: string): string; - public fileExists(path: string): boolean; - public directoryExists(path: string): boolean; - public getParentDirectory(path: string): string; - } - function simpleForwardCall(logger: ILogger, actionDescription: string, action: () => any): any; - function forwardJSONCall(logger: ILogger, actionDescription: string, action: () => any): string; - class LanguageServiceShim extends ShimBase implements ILanguageServiceShim { - private host; - public languageService: ILanguageService; - private logger; - constructor(factory: IShimFactory, host: ILanguageServiceShimHost, languageService: ILanguageService); - public forwardJSONCall(actionDescription: string, action: () => any): string; - public dispose(dummy: any): void; - public refresh(throwOnError: boolean): void; - public cleanupSemanticCache(): void; - private static realizeDiagnosticCategory(category); - private static realizeDiagnostic(diagnostic); - private realizeDiagnosticWithFileName(diagnostic); - public getSyntacticDiagnostics(fileName: string): string; - public getSemanticDiagnostics(fileName: string): string; - public getCompilerOptionsDiagnostics(): string; - public getTypeAtPosition(fileName: string, position: number): string; - public getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): string; - public getBreakpointStatementAtPosition(fileName: string, position: number): string; - public getSignatureAtPosition(fileName: string, position: number): string; - public getDefinitionAtPosition(fileName: string, position: number): string; - public getBraceMatchingAtPosition(fileName: string, position: number): string; - public getIndentationAtPosition(fileName: string, position: number, options: string): string; - public getReferencesAtPosition(fileName: string, position: number): string; - public getOccurrencesAtPosition(fileName: string, position: number): string; - public getImplementorsAtPosition(fileName: string, position: number): string; - public getCompletionsAtPosition(fileName: string, position: number, isMemberCompletion: boolean): string; - public getCompletionEntryDetails(fileName: string, position: number, entryName: string): string; - public getFormattingEditsForRange(fileName: string, minChar: number, limChar: number, options: string): string; - public getFormattingEditsForDocument(fileName: string, minChar: number, limChar: number, options: string): string; - public getFormattingEditsOnPaste(fileName: string, minChar: number, limChar: number, options: string): string; - public getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: string): string; - public getNavigateToItems(searchValue: string): string; - public getScriptLexicalStructure(fileName: string): string; - public getOutliningRegions(fileName: string): string; - public getEmitOutput(fileName: string): string; - private _navigateToItemsToString(items); - } - class ClassifierShim extends ShimBase { - public host: IClassifierHost; - public classifier: Classifier; - constructor(factory: IShimFactory, host: IClassifierHost); - public getClassificationsForLine(text: string, lexState: EndOfLineState): string; - } - class CoreServicesShim extends ShimBase { - public host: ICoreServicesHost; - public logger: ILogger; - public services: CoreServices; - constructor(factory: IShimFactory, host: ICoreServicesHost); - private forwardJSONCall(actionDescription, action); - public getPreProcessedFileInfo(fileName: string, sourceText: IScriptSnapshot): string; - public getDefaultCompilationSettings(): string; - public dumpMemory(dummy: any): string; - public getMemoryInfo(dummy: any): string; - } -} -declare module TypeScript.Services { - class OutliningElementsCollector extends DepthLimitedWalker { - private static MaximumDepth; - private inObjectLiteralExpression; - private elements; - constructor(); - public visitClassDeclaration(node: ClassDeclarationSyntax): void; - public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): void; - public visitModuleDeclaration(node: ModuleDeclarationSyntax): void; - public visitEnumDeclaration(node: EnumDeclarationSyntax): void; - public visitFunctionDeclaration(node: FunctionDeclarationSyntax): void; - public visitFunctionExpression(node: FunctionExpressionSyntax): void; - public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): void; - public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): void; - public visitGetAccessor(node: GetAccessorSyntax): void; - public visitSetAccessor(node: SetAccessorSyntax): void; - public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): void; - private addOutlineRange(node, startElement, endElement); - static collectElements(node: SourceUnitSyntax): TextSpan[]; - } -} -declare module TypeScript.Services { - class Indenter { - static getIndentation(node: SourceUnitSyntax, soruceText: IScriptSnapshot, position: number, editorOptions: EditorOptions): number; - private static belongsToBracket(sourceText, token, position); - private static isInContainerNode(parent, element); - private static getCustomListIndentation(list, element); - private static getListItemIndentation(list, elementIndex); - } -} -declare module TypeScript.Services.Breakpoints { - function getBreakpointLocation(syntaxTree: SyntaxTree, askedPos: number): SpanInfo; -} -declare module TypeScript.Services { - class GetScriptLexicalStructureWalker extends PositionTrackingWalker { - private fileName; - private nameStack; - private kindStack; - private currentMemberVariableDeclaration; - private currentVariableStatement; - private currentInterfaceDeclaration; - private parentScopes; - private currentScope; - private createScope(); - private pushNewContainerScope(containerName, kind); - private popScope(); - constructor(fileName: string); - private collectItems(items, scope?); - static getListsOfAllScriptLexicalStructure(items: NavigateToItem[], fileName: string, unit: SourceUnitSyntax): void; - private createItem(node, modifiers, kind, name); - private addAdditionalSpan(node, key); - private getKindModifiers(modifiers); - public visitModuleDeclaration(node: ModuleDeclarationSyntax): void; - private visitModuleDeclarationWorker(node, names, nameIndex); - private getModuleNames(node); - private getModuleNamesHelper(name, result); - public visitClassDeclaration(node: ClassDeclarationSyntax): void; - public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): void; - public visitObjectType(node: ObjectTypeSyntax): void; - public visitEnumDeclaration(node: EnumDeclarationSyntax): void; - public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): void; - public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): void; - public visitGetAccessor(node: GetAccessorSyntax): void; - public visitSetAccessor(node: SetAccessorSyntax): void; - public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): void; - public visitVariableStatement(node: VariableStatementSyntax): void; - public visitVariableDeclarator(node: VariableDeclaratorSyntax): void; - public visitIndexSignature(node: IndexSignatureSyntax): void; - public visitEnumElement(node: EnumElementSyntax): void; - public visitCallSignature(node: CallSignatureSyntax): void; - public visitConstructSignature(node: ConstructSignatureSyntax): void; - public visitMethodSignature(node: MethodSignatureSyntax): void; - public visitPropertySignature(node: PropertySignatureSyntax): void; - public visitFunctionDeclaration(node: FunctionDeclarationSyntax): void; - public visitBlock(node: BlockSyntax): void; - public visitIfStatement(node: IfStatementSyntax): void; - public visitExpressionStatement(node: ExpressionStatementSyntax): void; - public visitThrowStatement(node: ThrowStatementSyntax): void; - public visitReturnStatement(node: ReturnStatementSyntax): void; - public visitSwitchStatement(node: SwitchStatementSyntax): void; - public visitWithStatement(node: WithStatementSyntax): void; - public visitTryStatement(node: TryStatementSyntax): void; - public visitLabeledStatement(node: LabeledStatementSyntax): void; - } -} -declare module TypeScript.Services { - function copyDataObject(dst: any, src: any): any; - class TypeScriptServicesFactory implements IShimFactory { - private _shims; - public createPullLanguageService(host: ILanguageServiceHost): ILanguageService; - public createLanguageServiceShim(host: ILanguageServiceShimHost): ILanguageServiceShim; - public createClassifier(host: IClassifierHost): Classifier; - public createClassifierShim(host: IClassifierHost): ClassifierShim; - public createCoreServices(host: ICoreServicesHost): CoreServices; - public createCoreServicesShim(host: ICoreServicesHost): CoreServicesShim; - public close(): void; - public registerShim(shim: IShim): void; - public unregisterShim(shim: IShim): void; - } -} -declare module TypeScript.Services { - class BraceMatcher { - static getMatchSpans(syntaxTree: SyntaxTree, position: number): TextSpan[]; - private static getMatchingCloseBrace(currentToken, position, result); - private static getMatchingOpenBrace(currentToken, position, result); - private static getMatchingCloseBraceTokenKind(positionedElement); - private static getMatchingOpenBraceTokenKind(positionedElement); - } -} - -declare module 'typescript-services' { - export = TypeScript; -} +// Type definitions for TypeScript API v0.4.0 +// Project: http://www.typescriptlang.org/ +// Definitions by: Microsoft TypeScript +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/*! ***************************************************************************** +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. +***************************************************************************** */ + +declare namespace ts { + interface Map { + [index: string]: T; + } + interface FileMap { + get(fileName: string): T; + set(fileName: string, value: T): void; + contains(fileName: string): boolean; + remove(fileName: string): void; + forEachValue(f: (v: T) => void): void; + clear(): void; + } + interface TextRange { + pos: number; + end: number; + } + const enum SyntaxKind { + Unknown = 0, + EndOfFileToken = 1, + SingleLineCommentTrivia = 2, + MultiLineCommentTrivia = 3, + NewLineTrivia = 4, + WhitespaceTrivia = 5, + ShebangTrivia = 6, + ConflictMarkerTrivia = 7, + NumericLiteral = 8, + StringLiteral = 9, + RegularExpressionLiteral = 10, + NoSubstitutionTemplateLiteral = 11, + TemplateHead = 12, + TemplateMiddle = 13, + TemplateTail = 14, + OpenBraceToken = 15, + CloseBraceToken = 16, + OpenParenToken = 17, + CloseParenToken = 18, + OpenBracketToken = 19, + CloseBracketToken = 20, + DotToken = 21, + DotDotDotToken = 22, + SemicolonToken = 23, + CommaToken = 24, + LessThanToken = 25, + LessThanSlashToken = 26, + GreaterThanToken = 27, + LessThanEqualsToken = 28, + GreaterThanEqualsToken = 29, + EqualsEqualsToken = 30, + ExclamationEqualsToken = 31, + EqualsEqualsEqualsToken = 32, + ExclamationEqualsEqualsToken = 33, + EqualsGreaterThanToken = 34, + PlusToken = 35, + MinusToken = 36, + AsteriskToken = 37, + SlashToken = 38, + PercentToken = 39, + PlusPlusToken = 40, + MinusMinusToken = 41, + LessThanLessThanToken = 42, + GreaterThanGreaterThanToken = 43, + GreaterThanGreaterThanGreaterThanToken = 44, + AmpersandToken = 45, + BarToken = 46, + CaretToken = 47, + ExclamationToken = 48, + TildeToken = 49, + AmpersandAmpersandToken = 50, + BarBarToken = 51, + QuestionToken = 52, + ColonToken = 53, + AtToken = 54, + EqualsToken = 55, + PlusEqualsToken = 56, + MinusEqualsToken = 57, + AsteriskEqualsToken = 58, + SlashEqualsToken = 59, + PercentEqualsToken = 60, + LessThanLessThanEqualsToken = 61, + GreaterThanGreaterThanEqualsToken = 62, + GreaterThanGreaterThanGreaterThanEqualsToken = 63, + AmpersandEqualsToken = 64, + BarEqualsToken = 65, + CaretEqualsToken = 66, + Identifier = 67, + BreakKeyword = 68, + CaseKeyword = 69, + CatchKeyword = 70, + ClassKeyword = 71, + ConstKeyword = 72, + ContinueKeyword = 73, + DebuggerKeyword = 74, + DefaultKeyword = 75, + DeleteKeyword = 76, + DoKeyword = 77, + ElseKeyword = 78, + EnumKeyword = 79, + ExportKeyword = 80, + ExtendsKeyword = 81, + FalseKeyword = 82, + FinallyKeyword = 83, + ForKeyword = 84, + FunctionKeyword = 85, + IfKeyword = 86, + ImportKeyword = 87, + InKeyword = 88, + InstanceOfKeyword = 89, + NewKeyword = 90, + NullKeyword = 91, + ReturnKeyword = 92, + SuperKeyword = 93, + SwitchKeyword = 94, + ThisKeyword = 95, + ThrowKeyword = 96, + TrueKeyword = 97, + TryKeyword = 98, + TypeOfKeyword = 99, + VarKeyword = 100, + VoidKeyword = 101, + WhileKeyword = 102, + WithKeyword = 103, + ImplementsKeyword = 104, + InterfaceKeyword = 105, + LetKeyword = 106, + PackageKeyword = 107, + PrivateKeyword = 108, + ProtectedKeyword = 109, + PublicKeyword = 110, + StaticKeyword = 111, + YieldKeyword = 112, + AbstractKeyword = 113, + AsKeyword = 114, + AnyKeyword = 115, + AsyncKeyword = 116, + AwaitKeyword = 117, + BooleanKeyword = 118, + ConstructorKeyword = 119, + DeclareKeyword = 120, + GetKeyword = 121, + IsKeyword = 122, + ModuleKeyword = 123, + NamespaceKeyword = 124, + RequireKeyword = 125, + NumberKeyword = 126, + SetKeyword = 127, + StringKeyword = 128, + SymbolKeyword = 129, + TypeKeyword = 130, + FromKeyword = 131, + OfKeyword = 132, + QualifiedName = 133, + ComputedPropertyName = 134, + TypeParameter = 135, + Parameter = 136, + Decorator = 137, + PropertySignature = 138, + PropertyDeclaration = 139, + MethodSignature = 140, + MethodDeclaration = 141, + Constructor = 142, + GetAccessor = 143, + SetAccessor = 144, + CallSignature = 145, + ConstructSignature = 146, + IndexSignature = 147, + TypePredicate = 148, + TypeReference = 149, + FunctionType = 150, + ConstructorType = 151, + TypeQuery = 152, + TypeLiteral = 153, + ArrayType = 154, + TupleType = 155, + UnionType = 156, + IntersectionType = 157, + ParenthesizedType = 158, + ObjectBindingPattern = 159, + ArrayBindingPattern = 160, + BindingElement = 161, + ArrayLiteralExpression = 162, + ObjectLiteralExpression = 163, + PropertyAccessExpression = 164, + ElementAccessExpression = 165, + CallExpression = 166, + NewExpression = 167, + TaggedTemplateExpression = 168, + TypeAssertionExpression = 169, + ParenthesizedExpression = 170, + FunctionExpression = 171, + ArrowFunction = 172, + DeleteExpression = 173, + TypeOfExpression = 174, + VoidExpression = 175, + AwaitExpression = 176, + PrefixUnaryExpression = 177, + PostfixUnaryExpression = 178, + BinaryExpression = 179, + ConditionalExpression = 180, + TemplateExpression = 181, + YieldExpression = 182, + SpreadElementExpression = 183, + ClassExpression = 184, + OmittedExpression = 185, + ExpressionWithTypeArguments = 186, + AsExpression = 187, + TemplateSpan = 188, + SemicolonClassElement = 189, + Block = 190, + VariableStatement = 191, + EmptyStatement = 192, + ExpressionStatement = 193, + IfStatement = 194, + DoStatement = 195, + WhileStatement = 196, + ForStatement = 197, + ForInStatement = 198, + ForOfStatement = 199, + ContinueStatement = 200, + BreakStatement = 201, + ReturnStatement = 202, + WithStatement = 203, + SwitchStatement = 204, + LabeledStatement = 205, + ThrowStatement = 206, + TryStatement = 207, + DebuggerStatement = 208, + VariableDeclaration = 209, + VariableDeclarationList = 210, + FunctionDeclaration = 211, + ClassDeclaration = 212, + InterfaceDeclaration = 213, + TypeAliasDeclaration = 214, + EnumDeclaration = 215, + ModuleDeclaration = 216, + ModuleBlock = 217, + CaseBlock = 218, + ImportEqualsDeclaration = 219, + ImportDeclaration = 220, + ImportClause = 221, + NamespaceImport = 222, + NamedImports = 223, + ImportSpecifier = 224, + ExportAssignment = 225, + ExportDeclaration = 226, + NamedExports = 227, + ExportSpecifier = 228, + MissingDeclaration = 229, + ExternalModuleReference = 230, + JsxElement = 231, + JsxSelfClosingElement = 232, + JsxOpeningElement = 233, + JsxText = 234, + JsxClosingElement = 235, + JsxAttribute = 236, + JsxSpreadAttribute = 237, + JsxExpression = 238, + CaseClause = 239, + DefaultClause = 240, + HeritageClause = 241, + CatchClause = 242, + PropertyAssignment = 243, + ShorthandPropertyAssignment = 244, + EnumMember = 245, + SourceFile = 246, + JSDocTypeExpression = 247, + JSDocAllType = 248, + JSDocUnknownType = 249, + JSDocArrayType = 250, + JSDocUnionType = 251, + JSDocTupleType = 252, + JSDocNullableType = 253, + JSDocNonNullableType = 254, + JSDocRecordType = 255, + JSDocRecordMember = 256, + JSDocTypeReference = 257, + JSDocOptionalType = 258, + JSDocFunctionType = 259, + JSDocVariadicType = 260, + JSDocConstructorType = 261, + JSDocThisType = 262, + JSDocComment = 263, + JSDocTag = 264, + JSDocParameterTag = 265, + JSDocReturnTag = 266, + JSDocTypeTag = 267, + JSDocTemplateTag = 268, + SyntaxList = 269, + Count = 270, + FirstAssignment = 55, + LastAssignment = 66, + FirstReservedWord = 68, + LastReservedWord = 103, + FirstKeyword = 68, + LastKeyword = 132, + FirstFutureReservedWord = 104, + LastFutureReservedWord = 112, + FirstTypeNode = 149, + LastTypeNode = 158, + FirstPunctuation = 15, + LastPunctuation = 66, + FirstToken = 0, + LastToken = 132, + FirstTriviaToken = 2, + LastTriviaToken = 7, + FirstLiteralToken = 8, + LastLiteralToken = 11, + FirstTemplateToken = 11, + LastTemplateToken = 14, + FirstBinaryOperator = 25, + LastBinaryOperator = 66, + FirstNode = 133, + } + const enum NodeFlags { + Export = 1, + Ambient = 2, + Public = 16, + Private = 32, + Protected = 64, + Static = 128, + Abstract = 256, + Async = 512, + Default = 1024, + MultiLine = 2048, + Synthetic = 4096, + DeclarationFile = 8192, + Let = 16384, + Const = 32768, + OctalLiteral = 65536, + Namespace = 131072, + ExportContext = 262144, + Modifier = 2035, + AccessibilityModifier = 112, + BlockScoped = 49152, + } + const enum JsxFlags { + None = 0, + IntrinsicNamedElement = 1, + IntrinsicIndexedElement = 2, + ClassElement = 4, + UnknownElement = 8, + IntrinsicElement = 3, + } + interface Node extends TextRange { + kind: SyntaxKind; + flags: NodeFlags; + decorators?: NodeArray; + modifiers?: ModifiersArray; + parent?: Node; + } + interface NodeArray extends Array, TextRange { + hasTrailingComma?: boolean; + } + interface ModifiersArray extends NodeArray { + flags: number; + } + interface Identifier extends PrimaryExpression { + text: string; + originalKeywordKind?: SyntaxKind; + } + interface QualifiedName extends Node { + left: EntityName; + right: Identifier; + } + type EntityName = Identifier | QualifiedName; + type DeclarationName = Identifier | LiteralExpression | ComputedPropertyName | BindingPattern; + interface Declaration extends Node { + _declarationBrand: any; + name?: DeclarationName; + } + interface ComputedPropertyName extends Node { + expression: Expression; + } + interface Decorator extends Node { + expression: LeftHandSideExpression; + } + interface TypeParameterDeclaration extends Declaration { + name: Identifier; + constraint?: TypeNode; + expression?: Expression; + } + interface SignatureDeclaration extends Declaration { + typeParameters?: NodeArray; + parameters: NodeArray; + type?: TypeNode; + } + interface VariableDeclaration extends Declaration { + parent?: VariableDeclarationList; + name: Identifier | BindingPattern; + type?: TypeNode; + initializer?: Expression; + } + interface VariableDeclarationList extends Node { + declarations: NodeArray; + } + interface ParameterDeclaration extends Declaration { + dotDotDotToken?: Node; + name: Identifier | BindingPattern; + questionToken?: Node; + type?: TypeNode; + initializer?: Expression; + } + interface BindingElement extends Declaration { + propertyName?: Identifier; + dotDotDotToken?: Node; + name: Identifier | BindingPattern; + initializer?: Expression; + } + interface PropertyDeclaration extends Declaration, ClassElement { + name: DeclarationName; + questionToken?: Node; + type?: TypeNode; + initializer?: Expression; + } + interface ObjectLiteralElement extends Declaration { + _objectLiteralBrandBrand: any; + } + interface PropertyAssignment extends ObjectLiteralElement { + _propertyAssignmentBrand: any; + name: DeclarationName; + questionToken?: Node; + initializer: Expression; + } + interface ShorthandPropertyAssignment extends ObjectLiteralElement { + name: Identifier; + questionToken?: Node; + } + interface VariableLikeDeclaration extends Declaration { + propertyName?: Identifier; + dotDotDotToken?: Node; + name: DeclarationName; + questionToken?: Node; + type?: TypeNode; + initializer?: Expression; + } + interface BindingPattern extends Node { + elements: NodeArray; + } + /** + * Several node kinds share function-like features such as a signature, + * a name, and a body. These nodes should extend FunctionLikeDeclaration. + * Examples: + * - FunctionDeclaration + * - MethodDeclaration + * - AccessorDeclaration + */ + interface FunctionLikeDeclaration extends SignatureDeclaration { + _functionLikeDeclarationBrand: any; + asteriskToken?: Node; + questionToken?: Node; + body?: Block | Expression; + } + interface FunctionDeclaration extends FunctionLikeDeclaration, Statement { + name?: Identifier; + body?: Block; + } + interface MethodDeclaration extends FunctionLikeDeclaration, ClassElement, ObjectLiteralElement { + body?: Block; + } + interface ConstructorDeclaration extends FunctionLikeDeclaration, ClassElement { + body?: Block; + } + interface SemicolonClassElement extends ClassElement { + _semicolonClassElementBrand: any; + } + interface AccessorDeclaration extends FunctionLikeDeclaration, ClassElement, ObjectLiteralElement { + _accessorDeclarationBrand: any; + body: Block; + } + interface IndexSignatureDeclaration extends SignatureDeclaration, ClassElement { + _indexSignatureDeclarationBrand: any; + } + interface TypeNode extends Node { + _typeNodeBrand: any; + } + interface FunctionOrConstructorTypeNode extends TypeNode, SignatureDeclaration { + _functionOrConstructorTypeNodeBrand: any; + } + interface TypeReferenceNode extends TypeNode { + typeName: EntityName; + typeArguments?: NodeArray; + } + interface TypePredicateNode extends TypeNode { + parameterName: Identifier; + type: TypeNode; + } + interface TypeQueryNode extends TypeNode { + exprName: EntityName; + } + interface TypeLiteralNode extends TypeNode, Declaration { + members: NodeArray; + } + interface ArrayTypeNode extends TypeNode { + elementType: TypeNode; + } + interface TupleTypeNode extends TypeNode { + elementTypes: NodeArray; + } + interface UnionOrIntersectionTypeNode extends TypeNode { + types: NodeArray; + } + interface UnionTypeNode extends UnionOrIntersectionTypeNode { + } + interface IntersectionTypeNode extends UnionOrIntersectionTypeNode { + } + interface ParenthesizedTypeNode extends TypeNode { + type: TypeNode; + } + interface StringLiteral extends LiteralExpression, TypeNode { + _stringLiteralBrand: any; + } + interface Expression extends Node { + _expressionBrand: any; + contextualType?: Type; + } + interface UnaryExpression extends Expression { + _unaryExpressionBrand: any; + } + interface PrefixUnaryExpression extends UnaryExpression { + operator: SyntaxKind; + operand: UnaryExpression; + } + interface PostfixUnaryExpression extends PostfixExpression { + operand: LeftHandSideExpression; + operator: SyntaxKind; + } + interface PostfixExpression extends UnaryExpression { + _postfixExpressionBrand: any; + } + interface LeftHandSideExpression extends PostfixExpression { + _leftHandSideExpressionBrand: any; + } + interface MemberExpression extends LeftHandSideExpression { + _memberExpressionBrand: any; + } + interface PrimaryExpression extends MemberExpression { + _primaryExpressionBrand: any; + } + interface DeleteExpression extends UnaryExpression { + expression: UnaryExpression; + } + interface TypeOfExpression extends UnaryExpression { + expression: UnaryExpression; + } + interface VoidExpression extends UnaryExpression { + expression: UnaryExpression; + } + interface AwaitExpression extends UnaryExpression { + expression: UnaryExpression; + } + interface YieldExpression extends Expression { + asteriskToken?: Node; + expression?: Expression; + } + interface BinaryExpression extends Expression { + left: Expression; + operatorToken: Node; + right: Expression; + } + interface ConditionalExpression extends Expression { + condition: Expression; + questionToken: Node; + whenTrue: Expression; + colonToken: Node; + whenFalse: Expression; + } + interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclaration { + name?: Identifier; + body: Block | Expression; + } + interface ArrowFunction extends Expression, FunctionLikeDeclaration { + equalsGreaterThanToken: Node; + } + interface LiteralExpression extends PrimaryExpression { + text: string; + isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; + } + interface TemplateExpression extends PrimaryExpression { + head: LiteralExpression; + templateSpans: NodeArray; + } + interface TemplateSpan extends Node { + expression: Expression; + literal: LiteralExpression; + } + interface ParenthesizedExpression extends PrimaryExpression { + expression: Expression; + } + interface ArrayLiteralExpression extends PrimaryExpression { + elements: NodeArray; + } + interface SpreadElementExpression extends Expression { + expression: Expression; + } + interface ObjectLiteralExpression extends PrimaryExpression, Declaration { + properties: NodeArray; + } + interface PropertyAccessExpression extends MemberExpression { + expression: LeftHandSideExpression; + dotToken: Node; + name: Identifier; + } + interface ElementAccessExpression extends MemberExpression { + expression: LeftHandSideExpression; + argumentExpression?: Expression; + } + interface CallExpression extends LeftHandSideExpression { + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + arguments: NodeArray; + } + interface ExpressionWithTypeArguments extends TypeNode { + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + } + interface NewExpression extends CallExpression, PrimaryExpression { + } + interface TaggedTemplateExpression extends MemberExpression { + tag: LeftHandSideExpression; + template: LiteralExpression | TemplateExpression; + } + type CallLikeExpression = CallExpression | NewExpression | TaggedTemplateExpression | Decorator; + interface AsExpression extends Expression { + expression: Expression; + type: TypeNode; + } + interface TypeAssertion extends UnaryExpression { + type: TypeNode; + expression: UnaryExpression; + } + type AssertionExpression = TypeAssertion | AsExpression; + interface JsxElement extends PrimaryExpression { + openingElement: JsxOpeningElement; + children: NodeArray; + closingElement: JsxClosingElement; + } + interface JsxOpeningElement extends Expression { + _openingElementBrand?: any; + tagName: EntityName; + attributes: NodeArray; + } + interface JsxSelfClosingElement extends PrimaryExpression, JsxOpeningElement { + _selfClosingElementBrand?: any; + } + type JsxOpeningLikeElement = JsxSelfClosingElement | JsxOpeningElement; + interface JsxAttribute extends Node { + name: Identifier; + initializer?: Expression; + } + interface JsxSpreadAttribute extends Node { + expression: Expression; + } + interface JsxClosingElement extends Node { + tagName: EntityName; + } + interface JsxExpression extends Expression { + expression?: Expression; + } + interface JsxText extends Node { + _jsxTextExpressionBrand: any; + } + type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement; + interface Statement extends Node { + _statementBrand: any; + } + interface Block extends Statement { + statements: NodeArray; + } + interface VariableStatement extends Statement { + declarationList: VariableDeclarationList; + } + interface ExpressionStatement extends Statement { + expression: Expression; + } + interface IfStatement extends Statement { + expression: Expression; + thenStatement: Statement; + elseStatement?: Statement; + } + interface IterationStatement extends Statement { + statement: Statement; + } + interface DoStatement extends IterationStatement { + expression: Expression; + } + interface WhileStatement extends IterationStatement { + expression: Expression; + } + interface ForStatement extends IterationStatement { + initializer?: VariableDeclarationList | Expression; + condition?: Expression; + incrementor?: Expression; + } + interface ForInStatement extends IterationStatement { + initializer: VariableDeclarationList | Expression; + expression: Expression; + } + interface ForOfStatement extends IterationStatement { + initializer: VariableDeclarationList | Expression; + expression: Expression; + } + interface BreakOrContinueStatement extends Statement { + label?: Identifier; + } + interface ReturnStatement extends Statement { + expression?: Expression; + } + interface WithStatement extends Statement { + expression: Expression; + statement: Statement; + } + interface SwitchStatement extends Statement { + expression: Expression; + caseBlock: CaseBlock; + } + interface CaseBlock extends Node { + clauses: NodeArray; + } + interface CaseClause extends Node { + expression?: Expression; + statements: NodeArray; + } + interface DefaultClause extends Node { + statements: NodeArray; + } + type CaseOrDefaultClause = CaseClause | DefaultClause; + interface LabeledStatement extends Statement { + label: Identifier; + statement: Statement; + } + interface ThrowStatement extends Statement { + expression: Expression; + } + interface TryStatement extends Statement { + tryBlock: Block; + catchClause?: CatchClause; + finallyBlock?: Block; + } + interface CatchClause extends Node { + variableDeclaration: VariableDeclaration; + block: Block; + } + interface ClassLikeDeclaration extends Declaration { + name?: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface ClassDeclaration extends ClassLikeDeclaration, Statement { + } + interface ClassExpression extends ClassLikeDeclaration, PrimaryExpression { + } + interface ClassElement extends Declaration { + _classElementBrand: any; + } + interface InterfaceDeclaration extends Declaration, Statement { + name: Identifier; + typeParameters?: NodeArray; + heritageClauses?: NodeArray; + members: NodeArray; + } + interface HeritageClause extends Node { + token: SyntaxKind; + types?: NodeArray; + } + interface TypeAliasDeclaration extends Declaration, Statement { + name: Identifier; + typeParameters?: NodeArray; + type: TypeNode; + } + interface EnumMember extends Declaration { + name: DeclarationName; + initializer?: Expression; + } + interface EnumDeclaration extends Declaration, Statement { + name: Identifier; + members: NodeArray; + } + interface ModuleDeclaration extends Declaration, Statement { + name: Identifier | LiteralExpression; + body: ModuleBlock | ModuleDeclaration; + } + interface ModuleBlock extends Node, Statement { + statements: NodeArray; + } + interface ImportEqualsDeclaration extends Declaration, Statement { + name: Identifier; + moduleReference: EntityName | ExternalModuleReference; + } + interface ExternalModuleReference extends Node { + expression?: Expression; + } + interface ImportDeclaration extends Statement { + importClause?: ImportClause; + moduleSpecifier: Expression; + } + interface ImportClause extends Declaration { + name?: Identifier; + namedBindings?: NamespaceImport | NamedImports; + } + interface NamespaceImport extends Declaration { + name: Identifier; + } + interface ExportDeclaration extends Declaration, Statement { + exportClause?: NamedExports; + moduleSpecifier?: Expression; + } + interface NamedImportsOrExports extends Node { + elements: NodeArray; + } + type NamedImports = NamedImportsOrExports; + type NamedExports = NamedImportsOrExports; + interface ImportOrExportSpecifier extends Declaration { + propertyName?: Identifier; + name: Identifier; + } + type ImportSpecifier = ImportOrExportSpecifier; + type ExportSpecifier = ImportOrExportSpecifier; + interface ExportAssignment extends Declaration, Statement { + isExportEquals?: boolean; + expression: Expression; + } + interface FileReference extends TextRange { + fileName: string; + } + interface CommentRange extends TextRange { + hasTrailingNewLine?: boolean; + kind: SyntaxKind; + } + interface JSDocTypeExpression extends Node { + type: JSDocType; + } + interface JSDocType extends TypeNode { + _jsDocTypeBrand: any; + } + interface JSDocAllType extends JSDocType { + _JSDocAllTypeBrand: any; + } + interface JSDocUnknownType extends JSDocType { + _JSDocUnknownTypeBrand: any; + } + interface JSDocArrayType extends JSDocType { + elementType: JSDocType; + } + interface JSDocUnionType extends JSDocType { + types: NodeArray; + } + interface JSDocTupleType extends JSDocType { + types: NodeArray; + } + interface JSDocNonNullableType extends JSDocType { + type: JSDocType; + } + interface JSDocNullableType extends JSDocType { + type: JSDocType; + } + interface JSDocRecordType extends JSDocType, TypeLiteralNode { + members: NodeArray; + } + interface JSDocTypeReference extends JSDocType { + name: EntityName; + typeArguments: NodeArray; + } + interface JSDocOptionalType extends JSDocType { + type: JSDocType; + } + interface JSDocFunctionType extends JSDocType, SignatureDeclaration { + parameters: NodeArray; + type: JSDocType; + } + interface JSDocVariadicType extends JSDocType { + type: JSDocType; + } + interface JSDocConstructorType extends JSDocType { + type: JSDocType; + } + interface JSDocThisType extends JSDocType { + type: JSDocType; + } + interface JSDocRecordMember extends PropertyDeclaration { + name: Identifier | LiteralExpression; + type?: JSDocType; + } + interface JSDocComment extends Node { + tags: NodeArray; + } + interface JSDocTag extends Node { + atToken: Node; + tagName: Identifier; + } + interface JSDocTemplateTag extends JSDocTag { + typeParameters: NodeArray; + } + interface JSDocReturnTag extends JSDocTag { + typeExpression: JSDocTypeExpression; + } + interface JSDocTypeTag extends JSDocTag { + typeExpression: JSDocTypeExpression; + } + interface JSDocParameterTag extends JSDocTag { + preParameterName?: Identifier; + typeExpression?: JSDocTypeExpression; + postParameterName?: Identifier; + isBracketed: boolean; + } + interface SourceFile extends Declaration { + statements: NodeArray; + endOfFileToken: Node; + fileName: string; + text: string; + amdDependencies: { + path: string; + name: string; + }[]; + moduleName: string; + referencedFiles: FileReference[]; + languageVariant: LanguageVariant; + /** + * lib.d.ts should have a reference comment like + * + * /// + * + * If any other file has this comment, it signals not to include lib.d.ts + * because this containing file is intended to act as a default library. + */ + hasNoDefaultLib: boolean; + languageVersion: ScriptTarget; + } + interface ScriptReferenceHost { + getCompilerOptions(): CompilerOptions; + getSourceFile(fileName: string): SourceFile; + getCurrentDirectory(): string; + } + interface ParseConfigHost extends ModuleResolutionHost { + readDirectory(rootDir: string, extension: string, exclude: string[]): string[]; + } + interface WriteFileCallback { + (fileName: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void; + } + class OperationCanceledException { + } + interface CancellationToken { + isCancellationRequested(): boolean; + /** @throws OperationCanceledException if isCancellationRequested is true */ + throwIfCancellationRequested(): void; + } + interface Program extends ScriptReferenceHost { + /** + * Get a list of root file names that were passed to a 'createProgram' + */ + getRootFileNames(): string[]; + /** + * Get a list of files in the program + */ + getSourceFiles(): SourceFile[]; + /** + * Emits the JavaScript and declaration files. If targetSourceFile is not specified, then + * the JavaScript and declaration files will be produced for all the files in this program. + * If targetSourceFile is specified, then only the JavaScript and declaration for that + * specific file will be generated. + * + * If writeFile is not specified then the writeFile callback from the compiler host will be + * used for writing the JavaScript and declaration files. Otherwise, the writeFile parameter + * will be invoked when writing the JavaScript and declaration files. + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken): EmitResult; + getOptionsDiagnostics(cancellationToken?: CancellationToken): Diagnostic[]; + getGlobalDiagnostics(cancellationToken?: CancellationToken): Diagnostic[]; + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; + /** + * Gets a type checker that can be used to semantically analyze source fils in the program. + */ + getTypeChecker(): TypeChecker; + } + interface SourceMapSpan { + /** Line number in the .js file. */ + emittedLine: number; + /** Column number in the .js file. */ + emittedColumn: number; + /** Line number in the .ts file. */ + sourceLine: number; + /** Column number in the .ts file. */ + sourceColumn: number; + /** Optional name (index into names array) associated with this span. */ + nameIndex?: number; + /** .ts file (index into sources array) associated with this span */ + sourceIndex: number; + } + interface SourceMapData { + sourceMapFilePath: string; + jsSourceMappingURL: string; + sourceMapFile: string; + sourceMapSourceRoot: string; + sourceMapSources: string[]; + sourceMapSourcesContent?: string[]; + inputSourceFileNames: string[]; + sourceMapNames?: string[]; + sourceMapMappings: string; + sourceMapDecodedMappings: SourceMapSpan[]; + } + /** Return code used by getEmitOutput function to indicate status of the function */ + enum ExitStatus { + Success = 0, + DiagnosticsPresent_OutputsSkipped = 1, + DiagnosticsPresent_OutputsGenerated = 2, + } + interface EmitResult { + emitSkipped: boolean; + diagnostics: Diagnostic[]; + } + interface TypeChecker { + getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; + getDeclaredTypeOfSymbol(symbol: Symbol): Type; + getPropertiesOfType(type: Type): Symbol[]; + getPropertyOfType(type: Type, propertyName: string): Symbol; + getSignaturesOfType(type: Type, kind: SignatureKind): Signature[]; + getIndexTypeOfType(type: Type, kind: IndexKind): Type; + getBaseTypes(type: InterfaceType): ObjectType[]; + getReturnTypeOfSignature(signature: Signature): Type; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + getSymbolAtLocation(node: Node): Symbol; + getShorthandAssignmentValueSymbol(location: Node): Symbol; + getTypeAtLocation(node: Node): Type; + typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string; + symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags): string; + getSymbolDisplayBuilder(): SymbolDisplayBuilder; + getFullyQualifiedName(symbol: Symbol): string; + getAugmentedPropertiesOfType(type: Type): Symbol[]; + getRootSymbols(symbol: Symbol): Symbol[]; + getContextualType(node: Expression): Type; + getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[]): Signature; + getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature; + isImplementationOfOverload(node: FunctionLikeDeclaration): boolean; + isUndefinedSymbol(symbol: Symbol): boolean; + isArgumentsSymbol(symbol: Symbol): boolean; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; + isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean; + getAliasedSymbol(symbol: Symbol): Symbol; + getExportsOfModule(moduleSymbol: Symbol): Symbol[]; + getJsxElementAttributesType(elementNode: JsxOpeningLikeElement): Type; + getJsxIntrinsicTagNames(): Symbol[]; + isOptionalParameter(node: ParameterDeclaration): boolean; + } + interface SymbolDisplayBuilder { + buildTypeDisplay(type: Type, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; + buildSymbolDisplay(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): void; + buildSignatureDisplay(signatures: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; + buildParameterDisplay(parameter: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; + buildTypeParameterDisplay(tp: TypeParameter, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; + buildTypeParameterDisplayFromSymbol(symbol: Symbol, writer: SymbolWriter, enclosingDeclaraiton?: Node, flags?: TypeFormatFlags): void; + buildDisplayForParametersAndDelimiters(parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; + buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; + buildReturnTypeDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; + } + interface SymbolWriter { + writeKeyword(text: string): void; + writeOperator(text: string): void; + writePunctuation(text: string): void; + writeSpace(text: string): void; + writeStringLiteral(text: string): void; + writeParameter(text: string): void; + writeSymbol(text: string, symbol: Symbol): void; + writeLine(): void; + increaseIndent(): void; + decreaseIndent(): void; + clear(): void; + trackSymbol(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags): void; + } + const enum TypeFormatFlags { + None = 0, + WriteArrayAsGenericType = 1, + UseTypeOfFunction = 2, + NoTruncation = 4, + WriteArrowStyleSignature = 8, + WriteOwnNameForAnyLike = 16, + WriteTypeArgumentsOfSignature = 32, + InElementType = 64, + UseFullyQualifiedType = 128, + } + const enum SymbolFormatFlags { + None = 0, + WriteTypeParametersOrArguments = 1, + UseOnlyExternalAliasing = 2, + } + interface TypePredicate { + parameterName: string; + parameterIndex: number; + type: Type; + } + const enum SymbolFlags { + None = 0, + FunctionScopedVariable = 1, + BlockScopedVariable = 2, + Property = 4, + EnumMember = 8, + Function = 16, + Class = 32, + Interface = 64, + ConstEnum = 128, + RegularEnum = 256, + ValueModule = 512, + NamespaceModule = 1024, + TypeLiteral = 2048, + ObjectLiteral = 4096, + Method = 8192, + Constructor = 16384, + GetAccessor = 32768, + SetAccessor = 65536, + Signature = 131072, + TypeParameter = 262144, + TypeAlias = 524288, + ExportValue = 1048576, + ExportType = 2097152, + ExportNamespace = 4194304, + Alias = 8388608, + Instantiated = 16777216, + Merged = 33554432, + Transient = 67108864, + Prototype = 134217728, + SyntheticProperty = 268435456, + Optional = 536870912, + ExportStar = 1073741824, + Enum = 384, + Variable = 3, + Value = 107455, + Type = 793056, + Namespace = 1536, + Module = 1536, + Accessor = 98304, + FunctionScopedVariableExcludes = 107454, + BlockScopedVariableExcludes = 107455, + ParameterExcludes = 107455, + PropertyExcludes = 107455, + EnumMemberExcludes = 107455, + FunctionExcludes = 106927, + ClassExcludes = 899519, + InterfaceExcludes = 792960, + RegularEnumExcludes = 899327, + ConstEnumExcludes = 899967, + ValueModuleExcludes = 106639, + NamespaceModuleExcludes = 0, + MethodExcludes = 99263, + GetAccessorExcludes = 41919, + SetAccessorExcludes = 74687, + TypeParameterExcludes = 530912, + TypeAliasExcludes = 793056, + AliasExcludes = 8388608, + ModuleMember = 8914931, + ExportHasLocal = 944, + HasExports = 1952, + HasMembers = 6240, + BlockScoped = 418, + PropertyOrAccessor = 98308, + Export = 7340032, + } + interface Symbol { + flags: SymbolFlags; + name: string; + declarations?: Declaration[]; + valueDeclaration?: Declaration; + members?: SymbolTable; + exports?: SymbolTable; + } + interface SymbolTable { + [index: string]: Symbol; + } + const enum TypeFlags { + Any = 1, + String = 2, + Number = 4, + Boolean = 8, + Void = 16, + Undefined = 32, + Null = 64, + Enum = 128, + StringLiteral = 256, + TypeParameter = 512, + Class = 1024, + Interface = 2048, + Reference = 4096, + Tuple = 8192, + Union = 16384, + Intersection = 32768, + Anonymous = 65536, + Instantiated = 131072, + ObjectLiteral = 524288, + ESSymbol = 16777216, + StringLike = 258, + NumberLike = 132, + ObjectType = 80896, + UnionOrIntersection = 49152, + StructuredType = 130048, + } + interface Type { + flags: TypeFlags; + symbol?: Symbol; + } + interface StringLiteralType extends Type { + text: string; + } + interface ObjectType extends Type { + } + interface InterfaceType extends ObjectType { + typeParameters: TypeParameter[]; + outerTypeParameters: TypeParameter[]; + localTypeParameters: TypeParameter[]; + } + interface InterfaceTypeWithDeclaredMembers extends InterfaceType { + declaredProperties: Symbol[]; + declaredCallSignatures: Signature[]; + declaredConstructSignatures: Signature[]; + declaredStringIndexType: Type; + declaredNumberIndexType: Type; + } + interface TypeReference extends ObjectType { + target: GenericType; + typeArguments: Type[]; + } + interface GenericType extends InterfaceType, TypeReference { + } + interface TupleType extends ObjectType { + elementTypes: Type[]; + baseArrayType: TypeReference; + } + interface UnionOrIntersectionType extends Type { + types: Type[]; + } + interface UnionType extends UnionOrIntersectionType { + } + interface IntersectionType extends UnionOrIntersectionType { + } + interface TypeParameter extends Type { + constraint: Type; + } + const enum SignatureKind { + Call = 0, + Construct = 1, + } + interface Signature { + declaration: SignatureDeclaration; + typeParameters: TypeParameter[]; + parameters: Symbol[]; + typePredicate?: TypePredicate; + } + const enum IndexKind { + String = 0, + Number = 1, + } + interface DiagnosticMessage { + key: string; + category: DiagnosticCategory; + code: number; + } + /** + * A linked list of formatted diagnostic messages to be used as part of a multiline message. + * It is built from the bottom up, leaving the head to be the "main" diagnostic. + * While it seems that DiagnosticMessageChain is structurally similar to DiagnosticMessage, + * the difference is that messages are all preformatted in DMC. + */ + interface DiagnosticMessageChain { + messageText: string; + category: DiagnosticCategory; + code: number; + next?: DiagnosticMessageChain; + } + interface Diagnostic { + file: SourceFile; + start: number; + length: number; + messageText: string | DiagnosticMessageChain; + category: DiagnosticCategory; + code: number; + } + enum DiagnosticCategory { + Warning = 0, + Error = 1, + Message = 2, + } + const enum ModuleResolutionKind { + Classic = 1, + NodeJs = 2, + } + interface CompilerOptions { + allowNonTsExtensions?: boolean; + charset?: string; + declaration?: boolean; + diagnostics?: boolean; + emitBOM?: boolean; + help?: boolean; + init?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + jsx?: JsxEmit; + listFiles?: boolean; + locale?: string; + mapRoot?: string; + module?: ModuleKind; + newLine?: NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noImplicitAny?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outFile?: string; + outDir?: string; + preserveConstEnums?: boolean; + project?: string; + removeComments?: boolean; + rootDir?: string; + sourceMap?: boolean; + sourceRoot?: string; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget; + version?: boolean; + watch?: boolean; + isolatedModules?: boolean; + experimentalDecorators?: boolean; + experimentalAsyncFunctions?: boolean; + emitDecoratorMetadata?: boolean; + moduleResolution?: ModuleResolutionKind; + [option: string]: string | number | boolean; + } + const enum ModuleKind { + None = 0, + CommonJS = 1, + AMD = 2, + UMD = 3, + System = 4, + } + const enum JsxEmit { + None = 0, + Preserve = 1, + React = 2, + } + const enum NewLineKind { + CarriageReturnLineFeed = 0, + LineFeed = 1, + } + interface LineAndCharacter { + line: number; + character: number; + } + const enum ScriptTarget { + ES3 = 0, + ES5 = 1, + ES6 = 2, + Latest = 2, + } + const enum LanguageVariant { + Standard = 0, + JSX = 1, + } + interface ParsedCommandLine { + options: CompilerOptions; + fileNames: string[]; + errors: Diagnostic[]; + } + interface ModuleResolutionHost { + fileExists(fileName: string): boolean; + readFile(fileName: string): string; + } + interface ResolvedModule { + resolvedFileName: string; + isExternalLibraryImport?: boolean; + } + interface ResolvedModuleWithFailedLookupLocations { + resolvedModule: ResolvedModule; + failedLookupLocations: string[]; + } + interface CompilerHost extends ModuleResolutionHost { + getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile; + getCancellationToken?(): CancellationToken; + getDefaultLibFileName(options: CompilerOptions): string; + writeFile: WriteFileCallback; + getCurrentDirectory(): string; + getCanonicalFileName(fileName: string): string; + useCaseSensitiveFileNames(): boolean; + getNewLine(): string; + resolveModuleNames?(moduleNames: string[], containingFile: string): ResolvedModule[]; + } + interface TextSpan { + start: number; + length: number; + } + interface TextChangeRange { + span: TextSpan; + newLength: number; + } +} +declare namespace ts { + interface System { + args: string[]; + newLine: string; + useCaseSensitiveFileNames: boolean; + write(s: string): void; + readFile(path: string, encoding?: string): string; + writeFile(path: string, data: string, writeByteOrderMark?: boolean): void; + watchFile?(path: string, callback: (path: string) => void): FileWatcher; + resolvePath(path: string): string; + fileExists(path: string): boolean; + directoryExists(path: string): boolean; + createDirectory(path: string): void; + getExecutingFilePath(): string; + getCurrentDirectory(): string; + readDirectory(path: string, extension?: string, exclude?: string[]): string[]; + getMemoryUsage?(): number; + exit(exitCode?: number): void; + } + interface FileWatcher { + close(): void; + } + var sys: System; +} +declare namespace ts { + interface ErrorCallback { + (message: DiagnosticMessage, length: number): void; + } + interface Scanner { + getStartPos(): number; + getToken(): SyntaxKind; + getTextPos(): number; + getTokenPos(): number; + getTokenText(): string; + getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; + hasPrecedingLineBreak(): boolean; + isIdentifier(): boolean; + isReservedWord(): boolean; + isUnterminated(): boolean; + reScanGreaterToken(): SyntaxKind; + reScanSlashToken(): SyntaxKind; + reScanTemplateToken(): SyntaxKind; + scanJsxIdentifier(): SyntaxKind; + reScanJsxToken(): SyntaxKind; + scanJsxToken(): SyntaxKind; + scan(): SyntaxKind; + setText(text: string, start?: number, length?: number): void; + setOnError(onError: ErrorCallback): void; + setScriptTarget(scriptTarget: ScriptTarget): void; + setLanguageVariant(variant: LanguageVariant): void; + setTextPos(textPos: number): void; + lookAhead(callback: () => T): T; + tryScan(callback: () => T): T; + } + function tokenToString(t: SyntaxKind): string; + function getPositionOfLineAndCharacter(sourceFile: SourceFile, line: number, character: number): number; + function getLineAndCharacterOfPosition(sourceFile: SourceFile, position: number): LineAndCharacter; + function isWhiteSpace(ch: number): boolean; + function isLineBreak(ch: number): boolean; + function couldStartTrivia(text: string, pos: number): boolean; + function getLeadingCommentRanges(text: string, pos: number): CommentRange[]; + function getTrailingCommentRanges(text: string, pos: number): CommentRange[]; + /** Optionally, get the shebang */ + function getShebang(text: string): string; + function isIdentifierStart(ch: number, languageVersion: ScriptTarget): boolean; + function isIdentifierPart(ch: number, languageVersion: ScriptTarget): boolean; + function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, text?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; +} +declare namespace ts { + function getDefaultLibFileName(options: CompilerOptions): string; + function textSpanEnd(span: TextSpan): number; + function textSpanIsEmpty(span: TextSpan): boolean; + function textSpanContainsPosition(span: TextSpan, position: number): boolean; + function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan; + function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; + function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean; + function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; + function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan; + function createTextSpan(start: number, length: number): TextSpan; + function createTextSpanFromBounds(start: number, end: number): TextSpan; + function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; + function textChangeRangeIsUnchanged(range: TextChangeRange): boolean; + function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange; + let unchangedTextChangeRange: TextChangeRange; + /** + * Called to merge all the changes that occurred across several versions of a script snapshot + * into a single change. i.e. if a user keeps making successive edits to a script we will + * have a text change from V1 to V2, V2 to V3, ..., Vn. + * + * This function will then merge those changes into a single change range valid between V1 and + * Vn. + */ + function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange; + function getTypeParameterOwner(d: Declaration): Declaration; +} +declare namespace ts { + function getNodeConstructor(kind: SyntaxKind): new () => Node; + function createNode(kind: SyntaxKind): Node; + function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; + function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +} +declare namespace ts { + const version: string; + function findConfigFile(searchPath: string): string; + function resolveTripleslashReference(moduleName: string, containingFile: string): string; + function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations; + function nodeModuleNameResolver(moduleName: string, containingFile: string, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations; + function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations; + function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost; + function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; + function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost, oldProgram?: Program): Program; +} +declare namespace ts { + function parseCommandLine(commandLine: string[], readFile?: (path: string) => string): ParsedCommandLine; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readConfigFile(fileName: string): { + config?: any; + error?: Diagnostic; + }; + /** + * Parse the text of the tsconfig.json file + * @param fileName The path to the config file + * @param jsonText The text of the config file + */ + function parseConfigFileText(fileName: string, jsonText: string): { + config?: any; + error?: Diagnostic; + }; + /** + * Parse the contents of a config file (tsconfig.json). + * @param json The contents of the config file to parse + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseConfigFile(json: any, host: ParseConfigHost, basePath: string): ParsedCommandLine; +} +declare namespace ts { + /** The version of the language service API */ + let servicesVersion: string; + interface Node { + getSourceFile(): SourceFile; + getChildCount(sourceFile?: SourceFile): number; + getChildAt(index: number, sourceFile?: SourceFile): Node; + getChildren(sourceFile?: SourceFile): Node[]; + getStart(sourceFile?: SourceFile): number; + getFullStart(): number; + getEnd(): number; + getWidth(sourceFile?: SourceFile): number; + getFullWidth(): number; + getLeadingTriviaWidth(sourceFile?: SourceFile): number; + getFullText(sourceFile?: SourceFile): string; + getText(sourceFile?: SourceFile): string; + getFirstToken(sourceFile?: SourceFile): Node; + getLastToken(sourceFile?: SourceFile): Node; + } + interface Symbol { + getFlags(): SymbolFlags; + getName(): string; + getDeclarations(): Declaration[]; + getDocumentationComment(): SymbolDisplayPart[]; + } + interface Type { + getFlags(): TypeFlags; + getSymbol(): Symbol; + getProperties(): Symbol[]; + getProperty(propertyName: string): Symbol; + getApparentProperties(): Symbol[]; + getCallSignatures(): Signature[]; + getConstructSignatures(): Signature[]; + getStringIndexType(): Type; + getNumberIndexType(): Type; + getBaseTypes(): ObjectType[]; + } + interface Signature { + getDeclaration(): SignatureDeclaration; + getTypeParameters(): Type[]; + getParameters(): Symbol[]; + getReturnType(): Type; + getDocumentationComment(): SymbolDisplayPart[]; + } + interface SourceFile { + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + getLineStarts(): number[]; + getPositionOfLineAndCharacter(line: number, character: number): number; + update(newText: string, textChangeRange: TextChangeRange): SourceFile; + } + /** + * Represents an immutable snapshot of a script at a specified time.Once acquired, the + * snapshot is observably immutable. i.e. the same calls with the same parameters will return + * the same values. + */ + interface IScriptSnapshot { + /** Gets a portion of the script snapshot specified by [start, end). */ + getText(start: number, end: number): string; + /** Gets the length of this script snapshot. */ + getLength(): number; + /** + * Gets the TextChangeRange that describe how the text changed between this text and + * an older version. This information is used by the incremental parser to determine + * what sections of the script need to be re-parsed. 'undefined' can be returned if the + * change range cannot be determined. However, in that case, incremental parsing will + * not happen and the entire document will be re - parsed. + */ + getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange; + /** Releases all resources held by this script snapshot */ + dispose?(): void; + } + module ScriptSnapshot { + function fromString(text: string): IScriptSnapshot; + } + interface PreProcessedFileInfo { + referencedFiles: FileReference[]; + importedFiles: FileReference[]; + ambientExternalModules: string[]; + isLibFile: boolean; + } + interface HostCancellationToken { + isCancellationRequested(): boolean; + } + interface LanguageServiceHost { + getCompilationSettings(): CompilerOptions; + getNewLine?(): string; + getProjectVersion?(): string; + getScriptFileNames(): string[]; + getScriptVersion(fileName: string): string; + getScriptSnapshot(fileName: string): IScriptSnapshot; + getLocalizedDiagnosticMessages?(): any; + getCancellationToken?(): HostCancellationToken; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + log?(s: string): void; + trace?(s: string): void; + error?(s: string): void; + useCaseSensitiveFileNames?(): boolean; + resolveModuleNames?(moduleNames: string[], containingFile: string): ResolvedModule[]; + } + interface LanguageService { + cleanupSemanticCache(): void; + getSyntacticDiagnostics(fileName: string): Diagnostic[]; + getSemanticDiagnostics(fileName: string): Diagnostic[]; + getCompilerOptionsDiagnostics(): Diagnostic[]; + /** + * @deprecated Use getEncodedSyntacticClassifications instead. + */ + getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + /** + * @deprecated Use getEncodedSemanticClassifications instead. + */ + getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; + getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; + getCompletionsAtPosition(fileName: string, position: number): CompletionInfo; + getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails; + getQuickInfoAtPosition(fileName: string, position: number): QuickInfo; + getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan; + getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan; + getSignatureHelpItems(fileName: string, position: number): SignatureHelpItems; + getRenameInfo(fileName: string, position: number): RenameInfo; + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[]; + getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; + getTypeDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; + getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[]; + findReferences(fileName: string, position: number): ReferencedSymbol[]; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[]; + /** @deprecated */ + getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[]; + getNavigateToItems(searchValue: string, maxResultCount?: number): NavigateToItem[]; + getNavigationBarItems(fileName: string): NavigationBarItem[]; + getOutliningSpans(fileName: string): OutliningSpan[]; + getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[]; + getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; + getIndentationAtPosition(fileName: string, position: number, options: EditorOptions): number; + getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions): TextChange[]; + getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions): TextChange[]; + getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextChange[]; + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion; + getEmitOutput(fileName: string): EmitOutput; + getProgram(): Program; + getSourceFile(fileName: string): SourceFile; + dispose(): void; + } + interface Classifications { + spans: number[]; + endOfLineState: EndOfLineState; + } + interface ClassifiedSpan { + textSpan: TextSpan; + classificationType: string; + } + interface NavigationBarItem { + text: string; + kind: string; + kindModifiers: string; + spans: TextSpan[]; + childItems: NavigationBarItem[]; + indent: number; + bolded: boolean; + grayed: boolean; + } + interface TodoCommentDescriptor { + text: string; + priority: number; + } + interface TodoComment { + descriptor: TodoCommentDescriptor; + message: string; + position: number; + } + class TextChange { + span: TextSpan; + newText: string; + } + interface TextInsertion { + newText: string; + /** The position in newText the caret should point to after the insertion. */ + caretOffset: number; + } + interface RenameLocation { + textSpan: TextSpan; + fileName: string; + } + interface ReferenceEntry { + textSpan: TextSpan; + fileName: string; + isWriteAccess: boolean; + } + interface DocumentHighlights { + fileName: string; + highlightSpans: HighlightSpan[]; + } + module HighlightSpanKind { + const none: string; + const definition: string; + const reference: string; + const writtenReference: string; + } + interface HighlightSpan { + fileName?: string; + textSpan: TextSpan; + kind: string; + } + interface NavigateToItem { + name: string; + kind: string; + kindModifiers: string; + matchKind: string; + isCaseSensitive: boolean; + fileName: string; + textSpan: TextSpan; + containerName: string; + containerKind: string; + } + interface EditorOptions { + IndentSize: number; + TabSize: number; + NewLineCharacter: string; + ConvertTabsToSpaces: boolean; + } + interface FormatCodeOptions extends EditorOptions { + InsertSpaceAfterCommaDelimiter: boolean; + InsertSpaceAfterSemicolonInForStatements: boolean; + InsertSpaceBeforeAndAfterBinaryOperators: boolean; + InsertSpaceAfterKeywordsInControlFlowStatements: boolean; + InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean; + PlaceOpenBraceOnNewLineForFunctions: boolean; + PlaceOpenBraceOnNewLineForControlBlocks: boolean; + [s: string]: boolean | number | string; + } + interface DefinitionInfo { + fileName: string; + textSpan: TextSpan; + kind: string; + name: string; + containerKind: string; + containerName: string; + } + interface ReferencedSymbol { + definition: DefinitionInfo; + references: ReferenceEntry[]; + } + enum SymbolDisplayPartKind { + aliasName = 0, + className = 1, + enumName = 2, + fieldName = 3, + interfaceName = 4, + keyword = 5, + lineBreak = 6, + numericLiteral = 7, + stringLiteral = 8, + localName = 9, + methodName = 10, + moduleName = 11, + operator = 12, + parameterName = 13, + propertyName = 14, + punctuation = 15, + space = 16, + text = 17, + typeParameterName = 18, + enumMemberName = 19, + functionName = 20, + regularExpressionLiteral = 21, + } + interface SymbolDisplayPart { + text: string; + kind: string; + } + interface QuickInfo { + kind: string; + kindModifiers: string; + textSpan: TextSpan; + displayParts: SymbolDisplayPart[]; + documentation: SymbolDisplayPart[]; + } + interface RenameInfo { + canRename: boolean; + localizedErrorMessage: string; + displayName: string; + fullDisplayName: string; + kind: string; + kindModifiers: string; + triggerSpan: TextSpan; + } + interface SignatureHelpParameter { + name: string; + documentation: SymbolDisplayPart[]; + displayParts: SymbolDisplayPart[]; + isOptional: boolean; + } + /** + * Represents a single signature to show in signature help. + * The id is used for subsequent calls into the language service to ask questions about the + * signature help item in the context of any documents that have been updated. i.e. after + * an edit has happened, while signature help is still active, the host can ask important + * questions like 'what parameter is the user currently contained within?'. + */ + interface SignatureHelpItem { + isVariadic: boolean; + prefixDisplayParts: SymbolDisplayPart[]; + suffixDisplayParts: SymbolDisplayPart[]; + separatorDisplayParts: SymbolDisplayPart[]; + parameters: SignatureHelpParameter[]; + documentation: SymbolDisplayPart[]; + } + /** + * Represents a set of signature help items, and the preferred item that should be selected. + */ + interface SignatureHelpItems { + items: SignatureHelpItem[]; + applicableSpan: TextSpan; + selectedItemIndex: number; + argumentIndex: number; + argumentCount: number; + } + interface CompletionInfo { + isMemberCompletion: boolean; + isNewIdentifierLocation: boolean; + entries: CompletionEntry[]; + } + interface CompletionEntry { + name: string; + kind: string; + kindModifiers: string; + sortText: string; + } + interface CompletionEntryDetails { + name: string; + kind: string; + kindModifiers: string; + displayParts: SymbolDisplayPart[]; + documentation: SymbolDisplayPart[]; + } + interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + } + interface EmitOutput { + outputFiles: OutputFile[]; + emitSkipped: boolean; + } + const enum OutputFileType { + JavaScript = 0, + SourceMap = 1, + Declaration = 2, + } + interface OutputFile { + name: string; + writeByteOrderMark: boolean; + text: string; + } + const enum EndOfLineState { + None = 0, + InMultiLineCommentTrivia = 1, + InSingleQuoteStringLiteral = 2, + InDoubleQuoteStringLiteral = 3, + InTemplateHeadOrNoSubstitutionTemplate = 4, + InTemplateMiddleOrTail = 5, + InTemplateSubstitutionPosition = 6, + } + enum TokenClass { + Punctuation = 0, + Keyword = 1, + Operator = 2, + Comment = 3, + Whitespace = 4, + Identifier = 5, + NumberLiteral = 6, + StringLiteral = 7, + RegExpLiteral = 8, + } + interface ClassificationResult { + finalLexState: EndOfLineState; + entries: ClassificationInfo[]; + } + interface ClassificationInfo { + length: number; + classification: TokenClass; + } + interface Classifier { + /** + * Gives lexical classifications of tokens on a line without any syntactic context. + * For instance, a token consisting of the text 'string' can be either an identifier + * named 'string' or the keyword 'string', however, because this classifier is not aware, + * it relies on certain heuristics to give acceptable results. For classifications where + * speed trumps accuracy, this function is preferable; however, for true accuracy, the + * syntactic classifier is ideal. In fact, in certain editing scenarios, combining the + * lexical, syntactic, and semantic classifiers may issue the best user experience. + * + * @param text The text of a line to classify. + * @param lexState The state of the lexical classifier at the end of the previous line. + * @param syntacticClassifierAbsent Whether the client is *not* using a syntactic classifier. + * If there is no syntactic classifier (syntacticClassifierAbsent=true), + * certain heuristics may be used in its place; however, if there is a + * syntactic classifier (syntacticClassifierAbsent=false), certain + * classifications which may be incorrectly categorized will be given + * back as Identifiers in order to allow the syntactic classifier to + * subsume the classification. + * @deprecated Use getLexicalClassifications instead. + */ + getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult; + getEncodedLexicalClassifications(text: string, endOfLineState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications; + } + /** + * The document registry represents a store of SourceFile objects that can be shared between + * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) + * of files in the context. + * SourceFile objects account for most of the memory usage by the language service. Sharing + * the same DocumentRegistry instance between different instances of LanguageService allow + * for more efficient memory utilization since all projects will share at least the library + * file (lib.d.ts). + * + * A more advanced use of the document registry is to serialize sourceFile objects to disk + * and re-hydrate them when needed. + * + * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it + * to all subsequent createLanguageService calls. + */ + interface DocumentRegistry { + /** + * Request a stored SourceFile with a given fileName and compilationSettings. + * The first call to acquire will call createLanguageServiceSourceFile to generate + * the SourceFile if was not found in the registry. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @parm scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @parm version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + */ + acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string): SourceFile; + /** + * Request an updated version of an already existing SourceFile with a given fileName + * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile + * to get an updated SourceFile. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. + * @param version Current version of the file. + */ + updateDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string): SourceFile; + /** + * Informs the DocumentRegistry that a file is not needed any longer. + * + * Note: It is not allowed to call release on a SourceFile that was not acquired from + * this registry originally. + * + * @param fileName The name of the file to be released + * @param compilationSettings The compilation settings used to acquire the file + */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; + reportStats(): string; + } + module ScriptElementKind { + const unknown: string; + const warning: string; + const keyword: string; + const scriptElement: string; + const moduleElement: string; + const classElement: string; + const localClassElement: string; + const interfaceElement: string; + const typeElement: string; + const enumElement: string; + const variableElement: string; + const localVariableElement: string; + const functionElement: string; + const localFunctionElement: string; + const memberFunctionElement: string; + const memberGetAccessorElement: string; + const memberSetAccessorElement: string; + const memberVariableElement: string; + const constructorImplementationElement: string; + const callSignatureElement: string; + const indexSignatureElement: string; + const constructSignatureElement: string; + const parameterElement: string; + const typeParameterElement: string; + const primitiveType: string; + const label: string; + const alias: string; + const constElement: string; + const letElement: string; + } + module ScriptElementKindModifier { + const none: string; + const publicMemberModifier: string; + const privateMemberModifier: string; + const protectedMemberModifier: string; + const exportedModifier: string; + const ambientModifier: string; + const staticModifier: string; + const abstractModifier: string; + } + class ClassificationTypeNames { + static comment: string; + static identifier: string; + static keyword: string; + static numericLiteral: string; + static operator: string; + static stringLiteral: string; + static whiteSpace: string; + static text: string; + static punctuation: string; + static className: string; + static enumName: string; + static interfaceName: string; + static moduleName: string; + static typeParameterName: string; + static typeAliasName: string; + static parameterName: string; + static docCommentTagName: string; + } + const enum ClassificationType { + comment = 1, + identifier = 2, + keyword = 3, + numericLiteral = 4, + operator = 5, + stringLiteral = 6, + regularExpressionLiteral = 7, + whiteSpace = 8, + text = 9, + punctuation = 10, + className = 11, + enumName = 12, + interfaceName = 13, + moduleName = 14, + typeParameterName = 15, + typeAliasName = 16, + parameterName = 17, + docCommentTagName = 18, + } + interface DisplayPartsSymbolWriter extends SymbolWriter { + displayParts(): SymbolDisplayPart[]; + } + function displayPartsToString(displayParts: SymbolDisplayPart[]): string; + function getDefaultCompilerOptions(): CompilerOptions; + interface TranspileOptions { + compilerOptions?: CompilerOptions; + fileName?: string; + reportDiagnostics?: boolean; + moduleName?: string; + renamedDependencies?: Map; + } + interface TranspileOutput { + outputText: string; + diagnostics?: Diagnostic[]; + sourceMapText?: string; + } + function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; + function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean): SourceFile; + let disableIncrementalParsing: boolean; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; + function createGetCanonicalFileName(useCaseSensitivefileNames: boolean): (fileName: string) => string; + function createDocumentRegistry(useCaseSensitiveFileNames?: boolean): DocumentRegistry; + function preProcessFile(sourceText: string, readImportFiles?: boolean): PreProcessedFileInfo; + function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry): LanguageService; + function createClassifier(): Classifier; + /** + * Get the path of the default library files (lib.d.ts) as distributed with the typescript + * node package. + * The functionality is not supported if the ts module is consumed outside of a node module. + */ + function getDefaultLibFilePath(options: CompilerOptions): string; +} diff --git a/typescript/typescript.d.ts b/typescript/typescript.d.ts index 1139c46489..8078c6de27 100644 --- a/typescript/typescript.d.ts +++ b/typescript/typescript.d.ts @@ -22,6 +22,14 @@ declare module "typescript" { interface Map { [index: string]: T; } + interface FileMap { + get(fileName: string): T; + set(fileName: string, value: T): void; + contains(fileName: string): boolean; + remove(fileName: string): void; + forEachValue(f: (v: T) => void): void; + clear(): void; + } interface TextRange { pos: number; end: number; @@ -33,230 +41,294 @@ declare module "typescript" { MultiLineCommentTrivia = 3, NewLineTrivia = 4, WhitespaceTrivia = 5, - NumericLiteral = 6, - StringLiteral = 7, - RegularExpressionLiteral = 8, - NoSubstitutionTemplateLiteral = 9, - TemplateHead = 10, - TemplateMiddle = 11, - TemplateTail = 12, - OpenBraceToken = 13, - CloseBraceToken = 14, - OpenParenToken = 15, - CloseParenToken = 16, - OpenBracketToken = 17, - CloseBracketToken = 18, - DotToken = 19, - DotDotDotToken = 20, - SemicolonToken = 21, - CommaToken = 22, - LessThanToken = 23, - GreaterThanToken = 24, - LessThanEqualsToken = 25, - GreaterThanEqualsToken = 26, - EqualsEqualsToken = 27, - ExclamationEqualsToken = 28, - EqualsEqualsEqualsToken = 29, - ExclamationEqualsEqualsToken = 30, - EqualsGreaterThanToken = 31, - PlusToken = 32, - MinusToken = 33, - AsteriskToken = 34, - SlashToken = 35, - PercentToken = 36, - PlusPlusToken = 37, - MinusMinusToken = 38, - LessThanLessThanToken = 39, - GreaterThanGreaterThanToken = 40, - GreaterThanGreaterThanGreaterThanToken = 41, - AmpersandToken = 42, - BarToken = 43, - CaretToken = 44, - ExclamationToken = 45, - TildeToken = 46, - AmpersandAmpersandToken = 47, - BarBarToken = 48, - QuestionToken = 49, - ColonToken = 50, - EqualsToken = 51, - PlusEqualsToken = 52, - MinusEqualsToken = 53, - AsteriskEqualsToken = 54, - SlashEqualsToken = 55, - PercentEqualsToken = 56, - LessThanLessThanEqualsToken = 57, - GreaterThanGreaterThanEqualsToken = 58, - GreaterThanGreaterThanGreaterThanEqualsToken = 59, - AmpersandEqualsToken = 60, - BarEqualsToken = 61, - CaretEqualsToken = 62, - Identifier = 63, - BreakKeyword = 64, - CaseKeyword = 65, - CatchKeyword = 66, - ClassKeyword = 67, - ConstKeyword = 68, - ContinueKeyword = 69, - DebuggerKeyword = 70, - DefaultKeyword = 71, - DeleteKeyword = 72, - DoKeyword = 73, - ElseKeyword = 74, - EnumKeyword = 75, - ExportKeyword = 76, - ExtendsKeyword = 77, - FalseKeyword = 78, - FinallyKeyword = 79, - ForKeyword = 80, - FunctionKeyword = 81, - IfKeyword = 82, - ImportKeyword = 83, - InKeyword = 84, - InstanceOfKeyword = 85, - NewKeyword = 86, - NullKeyword = 87, - ReturnKeyword = 88, - SuperKeyword = 89, - SwitchKeyword = 90, - ThisKeyword = 91, - ThrowKeyword = 92, - TrueKeyword = 93, - TryKeyword = 94, - TypeOfKeyword = 95, - VarKeyword = 96, - VoidKeyword = 97, - WhileKeyword = 98, - WithKeyword = 99, - ImplementsKeyword = 100, - InterfaceKeyword = 101, - LetKeyword = 102, - PackageKeyword = 103, - PrivateKeyword = 104, - ProtectedKeyword = 105, - PublicKeyword = 106, - StaticKeyword = 107, - YieldKeyword = 108, - AnyKeyword = 109, - BooleanKeyword = 110, - ConstructorKeyword = 111, - DeclareKeyword = 112, - GetKeyword = 113, - ModuleKeyword = 114, - RequireKeyword = 115, - NumberKeyword = 116, - SetKeyword = 117, - StringKeyword = 118, - TypeKeyword = 119, - QualifiedName = 120, - ComputedPropertyName = 121, - TypeParameter = 122, - Parameter = 123, - Property = 124, - Method = 125, - Constructor = 126, - GetAccessor = 127, - SetAccessor = 128, - CallSignature = 129, - ConstructSignature = 130, - IndexSignature = 131, - TypeReference = 132, - FunctionType = 133, - ConstructorType = 134, - TypeQuery = 135, - TypeLiteral = 136, - ArrayType = 137, - TupleType = 138, - UnionType = 139, - ParenthesizedType = 140, - ArrayLiteralExpression = 141, - ObjectLiteralExpression = 142, - PropertyAccessExpression = 143, - ElementAccessExpression = 144, - CallExpression = 145, - NewExpression = 146, - TaggedTemplateExpression = 147, - TypeAssertionExpression = 148, - ParenthesizedExpression = 149, - FunctionExpression = 150, - ArrowFunction = 151, - DeleteExpression = 152, - TypeOfExpression = 153, - VoidExpression = 154, - PrefixUnaryExpression = 155, - PostfixUnaryExpression = 156, - BinaryExpression = 157, - ConditionalExpression = 158, - TemplateExpression = 159, - YieldExpression = 160, - OmittedExpression = 161, - TemplateSpan = 162, - Block = 163, - VariableStatement = 164, - EmptyStatement = 165, - ExpressionStatement = 166, - IfStatement = 167, - DoStatement = 168, - WhileStatement = 169, - ForStatement = 170, - ForInStatement = 171, - ContinueStatement = 172, - BreakStatement = 173, - ReturnStatement = 174, - WithStatement = 175, - SwitchStatement = 176, - LabeledStatement = 177, - ThrowStatement = 178, - TryStatement = 179, - TryBlock = 180, - FinallyBlock = 181, - DebuggerStatement = 182, - VariableDeclaration = 183, - FunctionDeclaration = 184, - ClassDeclaration = 185, - InterfaceDeclaration = 186, - TypeAliasDeclaration = 187, - EnumDeclaration = 188, - ModuleDeclaration = 189, - ModuleBlock = 190, - ImportDeclaration = 191, - ExportAssignment = 192, - ExternalModuleReference = 193, - CaseClause = 194, - DefaultClause = 195, - HeritageClause = 196, - CatchClause = 197, - PropertyAssignment = 198, - ShorthandPropertyAssignment = 199, - EnumMember = 200, - SourceFile = 201, - Program = 202, - SyntaxList = 203, - Count = 204, - FirstAssignment = 51, - LastAssignment = 62, - FirstReservedWord = 64, - LastReservedWord = 99, - FirstKeyword = 64, - LastKeyword = 119, - FirstFutureReservedWord = 100, - LastFutureReservedWord = 108, - FirstTypeNode = 132, - LastTypeNode = 140, - FirstPunctuation = 13, - LastPunctuation = 62, + ShebangTrivia = 6, + ConflictMarkerTrivia = 7, + NumericLiteral = 8, + StringLiteral = 9, + RegularExpressionLiteral = 10, + NoSubstitutionTemplateLiteral = 11, + TemplateHead = 12, + TemplateMiddle = 13, + TemplateTail = 14, + OpenBraceToken = 15, + CloseBraceToken = 16, + OpenParenToken = 17, + CloseParenToken = 18, + OpenBracketToken = 19, + CloseBracketToken = 20, + DotToken = 21, + DotDotDotToken = 22, + SemicolonToken = 23, + CommaToken = 24, + LessThanToken = 25, + LessThanSlashToken = 26, + GreaterThanToken = 27, + LessThanEqualsToken = 28, + GreaterThanEqualsToken = 29, + EqualsEqualsToken = 30, + ExclamationEqualsToken = 31, + EqualsEqualsEqualsToken = 32, + ExclamationEqualsEqualsToken = 33, + EqualsGreaterThanToken = 34, + PlusToken = 35, + MinusToken = 36, + AsteriskToken = 37, + SlashToken = 38, + PercentToken = 39, + PlusPlusToken = 40, + MinusMinusToken = 41, + LessThanLessThanToken = 42, + GreaterThanGreaterThanToken = 43, + GreaterThanGreaterThanGreaterThanToken = 44, + AmpersandToken = 45, + BarToken = 46, + CaretToken = 47, + ExclamationToken = 48, + TildeToken = 49, + AmpersandAmpersandToken = 50, + BarBarToken = 51, + QuestionToken = 52, + ColonToken = 53, + AtToken = 54, + EqualsToken = 55, + PlusEqualsToken = 56, + MinusEqualsToken = 57, + AsteriskEqualsToken = 58, + SlashEqualsToken = 59, + PercentEqualsToken = 60, + LessThanLessThanEqualsToken = 61, + GreaterThanGreaterThanEqualsToken = 62, + GreaterThanGreaterThanGreaterThanEqualsToken = 63, + AmpersandEqualsToken = 64, + BarEqualsToken = 65, + CaretEqualsToken = 66, + Identifier = 67, + BreakKeyword = 68, + CaseKeyword = 69, + CatchKeyword = 70, + ClassKeyword = 71, + ConstKeyword = 72, + ContinueKeyword = 73, + DebuggerKeyword = 74, + DefaultKeyword = 75, + DeleteKeyword = 76, + DoKeyword = 77, + ElseKeyword = 78, + EnumKeyword = 79, + ExportKeyword = 80, + ExtendsKeyword = 81, + FalseKeyword = 82, + FinallyKeyword = 83, + ForKeyword = 84, + FunctionKeyword = 85, + IfKeyword = 86, + ImportKeyword = 87, + InKeyword = 88, + InstanceOfKeyword = 89, + NewKeyword = 90, + NullKeyword = 91, + ReturnKeyword = 92, + SuperKeyword = 93, + SwitchKeyword = 94, + ThisKeyword = 95, + ThrowKeyword = 96, + TrueKeyword = 97, + TryKeyword = 98, + TypeOfKeyword = 99, + VarKeyword = 100, + VoidKeyword = 101, + WhileKeyword = 102, + WithKeyword = 103, + ImplementsKeyword = 104, + InterfaceKeyword = 105, + LetKeyword = 106, + PackageKeyword = 107, + PrivateKeyword = 108, + ProtectedKeyword = 109, + PublicKeyword = 110, + StaticKeyword = 111, + YieldKeyword = 112, + AbstractKeyword = 113, + AsKeyword = 114, + AnyKeyword = 115, + AsyncKeyword = 116, + AwaitKeyword = 117, + BooleanKeyword = 118, + ConstructorKeyword = 119, + DeclareKeyword = 120, + GetKeyword = 121, + IsKeyword = 122, + ModuleKeyword = 123, + NamespaceKeyword = 124, + RequireKeyword = 125, + NumberKeyword = 126, + SetKeyword = 127, + StringKeyword = 128, + SymbolKeyword = 129, + TypeKeyword = 130, + FromKeyword = 131, + OfKeyword = 132, + QualifiedName = 133, + ComputedPropertyName = 134, + TypeParameter = 135, + Parameter = 136, + Decorator = 137, + PropertySignature = 138, + PropertyDeclaration = 139, + MethodSignature = 140, + MethodDeclaration = 141, + Constructor = 142, + GetAccessor = 143, + SetAccessor = 144, + CallSignature = 145, + ConstructSignature = 146, + IndexSignature = 147, + TypePredicate = 148, + TypeReference = 149, + FunctionType = 150, + ConstructorType = 151, + TypeQuery = 152, + TypeLiteral = 153, + ArrayType = 154, + TupleType = 155, + UnionType = 156, + IntersectionType = 157, + ParenthesizedType = 158, + ObjectBindingPattern = 159, + ArrayBindingPattern = 160, + BindingElement = 161, + ArrayLiteralExpression = 162, + ObjectLiteralExpression = 163, + PropertyAccessExpression = 164, + ElementAccessExpression = 165, + CallExpression = 166, + NewExpression = 167, + TaggedTemplateExpression = 168, + TypeAssertionExpression = 169, + ParenthesizedExpression = 170, + FunctionExpression = 171, + ArrowFunction = 172, + DeleteExpression = 173, + TypeOfExpression = 174, + VoidExpression = 175, + AwaitExpression = 176, + PrefixUnaryExpression = 177, + PostfixUnaryExpression = 178, + BinaryExpression = 179, + ConditionalExpression = 180, + TemplateExpression = 181, + YieldExpression = 182, + SpreadElementExpression = 183, + ClassExpression = 184, + OmittedExpression = 185, + ExpressionWithTypeArguments = 186, + AsExpression = 187, + TemplateSpan = 188, + SemicolonClassElement = 189, + Block = 190, + VariableStatement = 191, + EmptyStatement = 192, + ExpressionStatement = 193, + IfStatement = 194, + DoStatement = 195, + WhileStatement = 196, + ForStatement = 197, + ForInStatement = 198, + ForOfStatement = 199, + ContinueStatement = 200, + BreakStatement = 201, + ReturnStatement = 202, + WithStatement = 203, + SwitchStatement = 204, + LabeledStatement = 205, + ThrowStatement = 206, + TryStatement = 207, + DebuggerStatement = 208, + VariableDeclaration = 209, + VariableDeclarationList = 210, + FunctionDeclaration = 211, + ClassDeclaration = 212, + InterfaceDeclaration = 213, + TypeAliasDeclaration = 214, + EnumDeclaration = 215, + ModuleDeclaration = 216, + ModuleBlock = 217, + CaseBlock = 218, + ImportEqualsDeclaration = 219, + ImportDeclaration = 220, + ImportClause = 221, + NamespaceImport = 222, + NamedImports = 223, + ImportSpecifier = 224, + ExportAssignment = 225, + ExportDeclaration = 226, + NamedExports = 227, + ExportSpecifier = 228, + MissingDeclaration = 229, + ExternalModuleReference = 230, + JsxElement = 231, + JsxSelfClosingElement = 232, + JsxOpeningElement = 233, + JsxText = 234, + JsxClosingElement = 235, + JsxAttribute = 236, + JsxSpreadAttribute = 237, + JsxExpression = 238, + CaseClause = 239, + DefaultClause = 240, + HeritageClause = 241, + CatchClause = 242, + PropertyAssignment = 243, + ShorthandPropertyAssignment = 244, + EnumMember = 245, + SourceFile = 246, + JSDocTypeExpression = 247, + JSDocAllType = 248, + JSDocUnknownType = 249, + JSDocArrayType = 250, + JSDocUnionType = 251, + JSDocTupleType = 252, + JSDocNullableType = 253, + JSDocNonNullableType = 254, + JSDocRecordType = 255, + JSDocRecordMember = 256, + JSDocTypeReference = 257, + JSDocOptionalType = 258, + JSDocFunctionType = 259, + JSDocVariadicType = 260, + JSDocConstructorType = 261, + JSDocThisType = 262, + JSDocComment = 263, + JSDocTag = 264, + JSDocParameterTag = 265, + JSDocReturnTag = 266, + JSDocTypeTag = 267, + JSDocTemplateTag = 268, + SyntaxList = 269, + Count = 270, + FirstAssignment = 55, + LastAssignment = 66, + FirstReservedWord = 68, + LastReservedWord = 103, + FirstKeyword = 68, + LastKeyword = 132, + FirstFutureReservedWord = 104, + LastFutureReservedWord = 112, + FirstTypeNode = 149, + LastTypeNode = 158, + FirstPunctuation = 15, + LastPunctuation = 66, FirstToken = 0, - LastToken = 119, + LastToken = 132, FirstTriviaToken = 2, - LastTriviaToken = 5, - FirstLiteralToken = 6, - LastLiteralToken = 9, - FirstTemplateToken = 9, - LastTemplateToken = 12, - FirstOperator = 21, - LastOperator = 62, - FirstBinaryOperator = 23, - LastBinaryOperator = 62, - FirstNode = 120, + LastTriviaToken = 7, + FirstLiteralToken = 8, + LastLiteralToken = 11, + FirstTemplateToken = 11, + LastTemplateToken = 14, + FirstBinaryOperator = 25, + LastBinaryOperator = 66, + FirstNode = 133, } const enum NodeFlags { Export = 1, @@ -265,35 +337,35 @@ declare module "typescript" { Private = 32, Protected = 64, Static = 128, - MultiLine = 256, - Synthetic = 512, - DeclarationFile = 1024, - Let = 2048, - Const = 4096, - OctalLiteral = 8192, - Modifier = 243, + Abstract = 256, + Async = 512, + Default = 1024, + MultiLine = 2048, + Synthetic = 4096, + DeclarationFile = 8192, + Let = 16384, + Const = 32768, + OctalLiteral = 65536, + Namespace = 131072, + ExportContext = 262144, + Modifier = 2035, AccessibilityModifier = 112, - BlockScoped = 6144, + BlockScoped = 49152, } - const enum ParserContextFlags { - StrictMode = 1, - DisallowIn = 2, - Yield = 4, - GeneratorParameter = 8, - ContainsError = 16, - HasPropagatedChildContainsErrorFlag = 32, + const enum JsxFlags { + None = 0, + IntrinsicNamedElement = 1, + IntrinsicIndexedElement = 2, + ClassElement = 4, + UnknownElement = 8, + IntrinsicElement = 3, } interface Node extends TextRange { kind: SyntaxKind; flags: NodeFlags; - parserContextFlags?: ParserContextFlags; - id?: number; - parent?: Node; - symbol?: Symbol; - locals?: SymbolTable; - nextContainer?: Node; - localSymbol?: Symbol; + decorators?: NodeArray; modifiers?: ModifiersArray; + parent?: Node; } interface NodeArray extends Array, TextRange { hasTrailingComma?: boolean; @@ -303,13 +375,14 @@ declare module "typescript" { } interface Identifier extends PrimaryExpression { text: string; + originalKeywordKind?: SyntaxKind; } interface QualifiedName extends Node { left: EntityName; right: Identifier; } type EntityName = Identifier | QualifiedName; - type DeclarationName = Identifier | LiteralExpression | ComputedPropertyName; + type DeclarationName = Identifier | LiteralExpression | ComputedPropertyName | BindingPattern; interface Declaration extends Node { _declarationBrand: any; name?: DeclarationName; @@ -317,6 +390,9 @@ declare module "typescript" { interface ComputedPropertyName extends Node { expression: Expression; } + interface Decorator extends Node { + expression: LeftHandSideExpression; + } interface TypeParameterDeclaration extends Declaration { name: Identifier; constraint?: TypeNode; @@ -328,45 +404,64 @@ declare module "typescript" { type?: TypeNode; } interface VariableDeclaration extends Declaration { - name: Identifier; + parent?: VariableDeclarationList; + name: Identifier | BindingPattern; type?: TypeNode; initializer?: Expression; } + interface VariableDeclarationList extends Node { + declarations: NodeArray; + } interface ParameterDeclaration extends Declaration { dotDotDotToken?: Node; - name: Identifier; - questionToken?: Node; - type?: TypeNode | StringLiteralExpression; - initializer?: Expression; - } - interface PropertyDeclaration extends Declaration, ClassElement { - _propertyDeclarationBrand: any; + name: Identifier | BindingPattern; + questionToken?: Node; + type?: TypeNode; + initializer?: Expression; + } + interface BindingElement extends Declaration { + propertyName?: Identifier; + dotDotDotToken?: Node; + name: Identifier | BindingPattern; + initializer?: Expression; + } + interface PropertyDeclaration extends Declaration, ClassElement { + name: DeclarationName; questionToken?: Node; type?: TypeNode; initializer?: Expression; } - type VariableOrParameterDeclaration = VariableDeclaration | ParameterDeclaration; - type VariableOrParameterOrPropertyDeclaration = VariableOrParameterDeclaration | PropertyDeclaration; interface ObjectLiteralElement extends Declaration { _objectLiteralBrandBrand: any; } - interface ShorthandPropertyAssignment extends ObjectLiteralElement { - name: Identifier; - questionToken?: Node; - } interface PropertyAssignment extends ObjectLiteralElement { _propertyAssignmentBrand: any; name: DeclarationName; questionToken?: Node; initializer: Expression; } + interface ShorthandPropertyAssignment extends ObjectLiteralElement { + name: Identifier; + questionToken?: Node; + } + interface VariableLikeDeclaration extends Declaration { + propertyName?: Identifier; + dotDotDotToken?: Node; + name: DeclarationName; + questionToken?: Node; + type?: TypeNode; + initializer?: Expression; + } + interface BindingPattern extends Node { + elements: NodeArray; + } /** * Several node kinds share function-like features such as a signature, * a name, and a body. These nodes should extend FunctionLikeDeclaration. * Examples: - * FunctionDeclaration - * MethodDeclaration - * AccessorDeclaration + * - FunctionDeclaration + * - MethodDeclaration + * - AccessorDeclaration */ interface FunctionLikeDeclaration extends SignatureDeclaration { _functionLikeDeclarationBrand: any; @@ -375,7 +470,7 @@ declare module "typescript" { body?: Block | Expression; } interface FunctionDeclaration extends FunctionLikeDeclaration, Statement { - name: Identifier; + name?: Identifier; body?: Block; } interface MethodDeclaration extends FunctionLikeDeclaration, ClassElement, ObjectLiteralElement { @@ -384,6 +479,9 @@ declare module "typescript" { interface ConstructorDeclaration extends FunctionLikeDeclaration, ClassElement { body?: Block; } + interface SemicolonClassElement extends ClassElement { + _semicolonClassElementBrand: any; + } interface AccessorDeclaration extends FunctionLikeDeclaration, ClassElement, ObjectLiteralElement { _accessorDeclarationBrand: any; body: Block; @@ -401,6 +499,10 @@ declare module "typescript" { typeName: EntityName; typeArguments?: NodeArray; } + interface TypePredicateNode extends TypeNode { + parameterName: Identifier; + type: TypeNode; + } interface TypeQueryNode extends TypeNode { exprName: EntityName; } @@ -413,12 +515,19 @@ declare module "typescript" { interface TupleTypeNode extends TypeNode { elementTypes: NodeArray; } - interface UnionTypeNode extends TypeNode { + interface UnionOrIntersectionTypeNode extends TypeNode { types: NodeArray; } + interface UnionTypeNode extends UnionOrIntersectionTypeNode { + } + interface IntersectionTypeNode extends UnionOrIntersectionTypeNode { + } interface ParenthesizedTypeNode extends TypeNode { type: TypeNode; } + interface StringLiteral extends LiteralExpression, TypeNode { + _stringLiteralBrand: any; + } interface Expression extends Node { _expressionBrand: any; contextualType?: Type; @@ -455,30 +564,36 @@ declare module "typescript" { interface VoidExpression extends UnaryExpression { expression: UnaryExpression; } + interface AwaitExpression extends UnaryExpression { + expression: UnaryExpression; + } interface YieldExpression extends Expression { asteriskToken?: Node; - expression: Expression; + expression?: Expression; } interface BinaryExpression extends Expression { left: Expression; - operator: SyntaxKind; + operatorToken: Node; right: Expression; } interface ConditionalExpression extends Expression { condition: Expression; + questionToken: Node; whenTrue: Expression; + colonToken: Node; whenFalse: Expression; } interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclaration { name?: Identifier; body: Block | Expression; } + interface ArrowFunction extends Expression, FunctionLikeDeclaration { + equalsGreaterThanToken: Node; + } interface LiteralExpression extends PrimaryExpression { text: string; isUnterminated?: boolean; - } - interface StringLiteralExpression extends LiteralExpression { - _stringLiteralExpressionBrand: any; + hasExtendedUnicodeEscape?: boolean; } interface TemplateExpression extends PrimaryExpression { head: LiteralExpression; @@ -494,11 +609,15 @@ declare module "typescript" { interface ArrayLiteralExpression extends PrimaryExpression { elements: NodeArray; } + interface SpreadElementExpression extends Expression { + expression: Expression; + } interface ObjectLiteralExpression extends PrimaryExpression, Declaration { properties: NodeArray; } interface PropertyAccessExpression extends MemberExpression { expression: LeftHandSideExpression; + dotToken: Node; name: Identifier; } interface ElementAccessExpression extends MemberExpression { @@ -510,25 +629,65 @@ declare module "typescript" { typeArguments?: NodeArray; arguments: NodeArray; } + interface ExpressionWithTypeArguments extends TypeNode { + expression: LeftHandSideExpression; + typeArguments?: NodeArray; + } interface NewExpression extends CallExpression, PrimaryExpression { } interface TaggedTemplateExpression extends MemberExpression { tag: LeftHandSideExpression; template: LiteralExpression | TemplateExpression; } - type CallLikeExpression = CallExpression | NewExpression | TaggedTemplateExpression; + type CallLikeExpression = CallExpression | NewExpression | TaggedTemplateExpression | Decorator; + interface AsExpression extends Expression { + expression: Expression; + type: TypeNode; + } interface TypeAssertion extends UnaryExpression { type: TypeNode; expression: UnaryExpression; } - interface Statement extends Node, ModuleElement { + type AssertionExpression = TypeAssertion | AsExpression; + interface JsxElement extends PrimaryExpression { + openingElement: JsxOpeningElement; + children: NodeArray; + closingElement: JsxClosingElement; + } + interface JsxOpeningElement extends Expression { + _openingElementBrand?: any; + tagName: EntityName; + attributes: NodeArray; + } + interface JsxSelfClosingElement extends PrimaryExpression, JsxOpeningElement { + _selfClosingElementBrand?: any; + } + type JsxOpeningLikeElement = JsxSelfClosingElement | JsxOpeningElement; + interface JsxAttribute extends Node { + name: Identifier; + initializer?: Expression; + } + interface JsxSpreadAttribute extends Node { + expression: Expression; + } + interface JsxClosingElement extends Node { + tagName: EntityName; + } + interface JsxExpression extends Expression { + expression?: Expression; + } + interface JsxText extends Node { + _jsxTextExpressionBrand: any; + } + type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement; + interface Statement extends Node { _statementBrand: any; } interface Block extends Statement { statements: NodeArray; } interface VariableStatement extends Statement { - declarations: NodeArray; + declarationList: VariableDeclarationList; } interface ExpressionStatement extends Statement { expression: Expression; @@ -548,14 +707,16 @@ declare module "typescript" { expression: Expression; } interface ForStatement extends IterationStatement { - declarations?: NodeArray; - initializer?: Expression; + initializer?: VariableDeclarationList | Expression; condition?: Expression; - iterator?: Expression; + incrementor?: Expression; } interface ForInStatement extends IterationStatement { - declarations?: NodeArray; - variable?: Expression; + initializer: VariableDeclarationList | Expression; + expression: Expression; + } + interface ForOfStatement extends IterationStatement { + initializer: VariableDeclarationList | Expression; expression: Expression; } interface BreakOrContinueStatement extends Statement { @@ -570,6 +731,9 @@ declare module "typescript" { } interface SwitchStatement extends Statement { expression: Expression; + caseBlock: CaseBlock; + } + interface CaseBlock extends Node { clauses: NodeArray; } interface CaseClause extends Node { @@ -592,24 +756,24 @@ declare module "typescript" { catchClause?: CatchClause; finallyBlock?: Block; } - interface CatchClause extends Declaration { - name: Identifier; - type?: TypeNode; + interface CatchClause extends Node { + variableDeclaration: VariableDeclaration; block: Block; } - interface ModuleElement extends Node { - _moduleElementBrand: any; - } - interface ClassDeclaration extends Declaration, ModuleElement { - name: Identifier; + interface ClassLikeDeclaration extends Declaration { + name?: Identifier; typeParameters?: NodeArray; heritageClauses?: NodeArray; members: NodeArray; } + interface ClassDeclaration extends ClassLikeDeclaration, Statement { + } + interface ClassExpression extends ClassLikeDeclaration, PrimaryExpression { + } interface ClassElement extends Declaration { _classElementBrand: any; } - interface InterfaceDeclaration extends Declaration, ModuleElement { + interface InterfaceDeclaration extends Declaration, Statement { name: Identifier; typeParameters?: NodeArray; heritageClauses?: NodeArray; @@ -617,85 +781,231 @@ declare module "typescript" { } interface HeritageClause extends Node { token: SyntaxKind; - types?: NodeArray; + types?: NodeArray; } - interface TypeAliasDeclaration extends Declaration, ModuleElement { + interface TypeAliasDeclaration extends Declaration, Statement { name: Identifier; + typeParameters?: NodeArray; type: TypeNode; } interface EnumMember extends Declaration { name: DeclarationName; initializer?: Expression; } - interface EnumDeclaration extends Declaration, ModuleElement { + interface EnumDeclaration extends Declaration, Statement { name: Identifier; members: NodeArray; } - interface ModuleDeclaration extends Declaration, ModuleElement { + interface ModuleDeclaration extends Declaration, Statement { name: Identifier | LiteralExpression; body: ModuleBlock | ModuleDeclaration; } - interface ModuleBlock extends Node, ModuleElement { - statements: NodeArray; + interface ModuleBlock extends Node, Statement { + statements: NodeArray; } - interface ImportDeclaration extends Declaration, ModuleElement { + interface ImportEqualsDeclaration extends Declaration, Statement { name: Identifier; moduleReference: EntityName | ExternalModuleReference; } interface ExternalModuleReference extends Node { expression?: Expression; } - interface ExportAssignment extends Statement, ModuleElement { - exportName: Identifier; + interface ImportDeclaration extends Statement { + importClause?: ImportClause; + moduleSpecifier: Expression; + } + interface ImportClause extends Declaration { + name?: Identifier; + namedBindings?: NamespaceImport | NamedImports; + } + interface NamespaceImport extends Declaration { + name: Identifier; + } + interface ExportDeclaration extends Declaration, Statement { + exportClause?: NamedExports; + moduleSpecifier?: Expression; + } + interface NamedImportsOrExports extends Node { + elements: NodeArray; + } + type NamedImports = NamedImportsOrExports; + type NamedExports = NamedImportsOrExports; + interface ImportOrExportSpecifier extends Declaration { + propertyName?: Identifier; + name: Identifier; + } + type ImportSpecifier = ImportOrExportSpecifier; + type ExportSpecifier = ImportOrExportSpecifier; + interface ExportAssignment extends Declaration, Statement { + isExportEquals?: boolean; + expression: Expression; } interface FileReference extends TextRange { - filename: string; + fileName: string; } interface CommentRange extends TextRange { hasTrailingNewLine?: boolean; + kind: SyntaxKind; + } + interface JSDocTypeExpression extends Node { + type: JSDocType; + } + interface JSDocType extends TypeNode { + _jsDocTypeBrand: any; + } + interface JSDocAllType extends JSDocType { + _JSDocAllTypeBrand: any; + } + interface JSDocUnknownType extends JSDocType { + _JSDocUnknownTypeBrand: any; + } + interface JSDocArrayType extends JSDocType { + elementType: JSDocType; + } + interface JSDocUnionType extends JSDocType { + types: NodeArray; + } + interface JSDocTupleType extends JSDocType { + types: NodeArray; + } + interface JSDocNonNullableType extends JSDocType { + type: JSDocType; + } + interface JSDocNullableType extends JSDocType { + type: JSDocType; + } + interface JSDocRecordType extends JSDocType, TypeLiteralNode { + members: NodeArray; + } + interface JSDocTypeReference extends JSDocType { + name: EntityName; + typeArguments: NodeArray; + } + interface JSDocOptionalType extends JSDocType { + type: JSDocType; + } + interface JSDocFunctionType extends JSDocType, SignatureDeclaration { + parameters: NodeArray; + type: JSDocType; + } + interface JSDocVariadicType extends JSDocType { + type: JSDocType; + } + interface JSDocConstructorType extends JSDocType { + type: JSDocType; + } + interface JSDocThisType extends JSDocType { + type: JSDocType; + } + interface JSDocRecordMember extends PropertyDeclaration { + name: Identifier | LiteralExpression; + type?: JSDocType; + } + interface JSDocComment extends Node { + tags: NodeArray; + } + interface JSDocTag extends Node { + atToken: Node; + tagName: Identifier; + } + interface JSDocTemplateTag extends JSDocTag { + typeParameters: NodeArray; + } + interface JSDocReturnTag extends JSDocTag { + typeExpression: JSDocTypeExpression; + } + interface JSDocTypeTag extends JSDocTag { + typeExpression: JSDocTypeExpression; + } + interface JSDocParameterTag extends JSDocTag { + preParameterName?: Identifier; + typeExpression?: JSDocTypeExpression; + postParameterName?: Identifier; + isBracketed: boolean; } interface SourceFile extends Declaration { - statements: NodeArray; + statements: NodeArray; endOfFileToken: Node; - filename: string; + fileName: string; text: string; - getLineAndCharacterFromPosition(position: number): LineAndCharacter; - getPositionFromLineAndCharacter(line: number, character: number): number; - getLineStarts(): number[]; - amdDependencies: string[]; - amdModuleName: string; + amdDependencies: { + path: string; + name: string; + }[]; + moduleName: string; referencedFiles: FileReference[]; - referenceDiagnostics: Diagnostic[]; - parseDiagnostics: Diagnostic[]; - grammarDiagnostics: Diagnostic[]; - getSyntacticDiagnostics(): Diagnostic[]; - semanticDiagnostics: Diagnostic[]; + languageVariant: LanguageVariant; + /** + * lib.d.ts should have a reference comment like + * + * /// + * + * If any other file has this comment, it signals not to include lib.d.ts + * because this containing file is intended to act as a default library. + */ hasNoDefaultLib: boolean; - externalModuleIndicator: Node; - nodeCount: number; - identifierCount: number; - symbolCount: number; - isOpen: boolean; - version: string; languageVersion: ScriptTarget; - identifiers: Map; } - interface Program { - getSourceFile(filename: string): SourceFile; - getSourceFiles(): SourceFile[]; + interface ScriptReferenceHost { getCompilerOptions(): CompilerOptions; - getCompilerHost(): CompilerHost; - getDiagnostics(sourceFile?: SourceFile): Diagnostic[]; - getGlobalDiagnostics(): Diagnostic[]; - getTypeChecker(fullTypeCheckMode: boolean): TypeChecker; - getCommonSourceDirectory(): string; + getSourceFile(fileName: string): SourceFile; + getCurrentDirectory(): string; + } + interface ParseConfigHost extends ModuleResolutionHost { + readDirectory(rootDir: string, extension: string, exclude: string[]): string[]; + } + interface WriteFileCallback { + (fileName: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void; + } + class OperationCanceledException { + } + interface CancellationToken { + isCancellationRequested(): boolean; + /** @throws OperationCanceledException if isCancellationRequested is true */ + throwIfCancellationRequested(): void; + } + interface Program extends ScriptReferenceHost { + /** + * Get a list of root file names that were passed to a 'createProgram' + */ + getRootFileNames(): string[]; + /** + * Get a list of files in the program + */ + getSourceFiles(): SourceFile[]; + /** + * Emits the JavaScript and declaration files. If targetSourceFile is not specified, then + * the JavaScript and declaration files will be produced for all the files in this program. + * If targetSourceFile is specified, then only the JavaScript and declaration for that + * specific file will be generated. + * + * If writeFile is not specified then the writeFile callback from the compiler host will be + * used for writing the JavaScript and declaration files. Otherwise, the writeFile parameter + * will be invoked when writing the JavaScript and declaration files. + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken): EmitResult; + getOptionsDiagnostics(cancellationToken?: CancellationToken): Diagnostic[]; + getGlobalDiagnostics(cancellationToken?: CancellationToken): Diagnostic[]; + getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; + getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; + getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; + /** + * Gets a type checker that can be used to semantically analyze source fils in the program. + */ + getTypeChecker(): TypeChecker; } interface SourceMapSpan { + /** Line number in the .js file. */ emittedLine: number; + /** Column number in the .js file. */ emittedColumn: number; + /** Line number in the .ts file. */ sourceLine: number; + /** Column number in the .ts file. */ sourceColumn: number; + /** Optional name (index into names array) associated with this span. */ nameIndex?: number; + /** .ts file (index into sources array) associated with this span */ sourceIndex: number; } interface SourceMapData { @@ -704,40 +1014,30 @@ declare module "typescript" { sourceMapFile: string; sourceMapSourceRoot: string; sourceMapSources: string[]; + sourceMapSourcesContent?: string[]; inputSourceFileNames: string[]; sourceMapNames?: string[]; sourceMapMappings: string; sourceMapDecodedMappings: SourceMapSpan[]; } - enum EmitReturnStatus { - Succeeded = 0, - AllOutputGenerationSkipped = 1, - JSGeneratedWithSemanticErrors = 2, - DeclarationGenerationSkipped = 3, - EmitErrorsEncountered = 4, - CompilerOptionsErrors = 5, + /** Return code used by getEmitOutput function to indicate status of the function */ + enum ExitStatus { + Success = 0, + DiagnosticsPresent_OutputsSkipped = 1, + DiagnosticsPresent_OutputsGenerated = 2, } interface EmitResult { - emitResultStatus: EmitReturnStatus; + emitSkipped: boolean; diagnostics: Diagnostic[]; - sourceMaps: SourceMapData[]; } interface TypeChecker { - getProgram(): Program; - getDiagnostics(sourceFile?: SourceFile): Diagnostic[]; - getDeclarationDiagnostics(sourceFile: SourceFile): Diagnostic[]; - getGlobalDiagnostics(): Diagnostic[]; - getNodeCount(): number; - getIdentifierCount(): number; - getSymbolCount(): number; - getTypeCount(): number; - emitFiles(targetSourceFile?: SourceFile): EmitResult; getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; getDeclaredTypeOfSymbol(symbol: Symbol): Type; getPropertiesOfType(type: Type): Symbol[]; getPropertyOfType(type: Type, propertyName: string): Symbol; getSignaturesOfType(type: Type, kind: SignatureKind): Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type; + getBaseTypes(type: InterfaceType): ObjectType[]; getReturnTypeOfSignature(signature: Signature): Type; getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; getSymbolAtLocation(node: Node): Symbol; @@ -755,10 +1055,13 @@ declare module "typescript" { isImplementationOfOverload(node: FunctionLikeDeclaration): boolean; isUndefinedSymbol(symbol: Symbol): boolean; isArgumentsSymbol(symbol: Symbol): boolean; - isEmitBlocked(sourceFile?: SourceFile): boolean; - getEnumMemberValue(node: EnumMember): number; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean; getAliasedSymbol(symbol: Symbol): Symbol; + getExportsOfModule(moduleSymbol: Symbol): Symbol[]; + getJsxElementAttributesType(elementNode: JsxOpeningLikeElement): Type; + getJsxIntrinsicTagNames(): Symbol[]; + isOptionalParameter(node: ParameterDeclaration): boolean; } interface SymbolDisplayBuilder { buildTypeDisplay(type: Type, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void; @@ -794,46 +1097,20 @@ declare module "typescript" { WriteOwnNameForAnyLike = 16, WriteTypeArgumentsOfSignature = 32, InElementType = 64, + UseFullyQualifiedType = 128, } const enum SymbolFormatFlags { None = 0, WriteTypeParametersOrArguments = 1, UseOnlyExternalAliasing = 2, } - const enum SymbolAccessibility { - Accessible = 0, - NotAccessible = 1, - CannotBeNamed = 2, - } - interface SymbolVisibilityResult { - accessibility: SymbolAccessibility; - aliasesToMakeVisible?: ImportDeclaration[]; - errorSymbolName?: string; - errorNode?: Node; - } - interface SymbolAccessiblityResult extends SymbolVisibilityResult { - errorModuleName?: string; - } - interface EmitResolver { - getProgram(): Program; - getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string; - getExpressionNamePrefix(node: Identifier): string; - getExportAssignmentName(node: SourceFile): string; - isReferencedImportDeclaration(node: ImportDeclaration): boolean; - isTopLevelValueImportWithEntityName(node: ImportDeclaration): boolean; - getNodeCheckFlags(node: Node): NodeCheckFlags; - getEnumMemberValue(node: EnumMember): number; - hasSemanticErrors(sourceFile?: SourceFile): boolean; - isDeclarationVisible(node: Declaration): boolean; - isImplementationOfOverload(node: FunctionLikeDeclaration): boolean; - writeTypeOfDeclaration(declaration: AccessorDeclaration | VariableOrParameterDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; - writeReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; - isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessiblityResult; - isEntityNameVisible(entityName: EntityName, enclosingDeclaration: Node): SymbolVisibilityResult; - getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): number; - isEmitBlocked(sourceFile?: SourceFile): boolean; + interface TypePredicate { + parameterName: string; + parameterIndex: number; + type: Type; } const enum SymbolFlags { + None = 0, FunctionScopedVariable = 1, BlockScopedVariable = 2, Property = 4, @@ -851,103 +1128,64 @@ declare module "typescript" { Constructor = 16384, GetAccessor = 32768, SetAccessor = 65536, - CallSignature = 131072, - ConstructSignature = 262144, - IndexSignature = 524288, - TypeParameter = 1048576, - TypeAlias = 2097152, - ExportValue = 4194304, - ExportType = 8388608, - ExportNamespace = 16777216, - Import = 33554432, - Instantiated = 67108864, - Merged = 134217728, - Transient = 268435456, - Prototype = 536870912, - UnionProperty = 1073741824, + Signature = 131072, + TypeParameter = 262144, + TypeAlias = 524288, + ExportValue = 1048576, + ExportType = 2097152, + ExportNamespace = 4194304, + Alias = 8388608, + Instantiated = 16777216, + Merged = 33554432, + Transient = 67108864, + Prototype = 134217728, + SyntheticProperty = 268435456, + Optional = 536870912, + ExportStar = 1073741824, Enum = 384, Variable = 3, Value = 107455, - Type = 3152352, + Type = 793056, Namespace = 1536, Module = 1536, Accessor = 98304, - Signature = 917504, FunctionScopedVariableExcludes = 107454, BlockScopedVariableExcludes = 107455, ParameterExcludes = 107455, PropertyExcludes = 107455, EnumMemberExcludes = 107455, FunctionExcludes = 106927, - ClassExcludes = 3258879, - InterfaceExcludes = 3152288, - RegularEnumExcludes = 3258623, - ConstEnumExcludes = 3259263, + ClassExcludes = 899519, + InterfaceExcludes = 792960, + RegularEnumExcludes = 899327, + ConstEnumExcludes = 899967, ValueModuleExcludes = 106639, NamespaceModuleExcludes = 0, MethodExcludes = 99263, GetAccessorExcludes = 41919, SetAccessorExcludes = 74687, - TypeParameterExcludes = 2103776, - TypeAliasExcludes = 3152352, - ImportExcludes = 33554432, - ModuleMember = 35653619, + TypeParameterExcludes = 530912, + TypeAliasExcludes = 793056, + AliasExcludes = 8388608, + ModuleMember = 8914931, ExportHasLocal = 944, - HasLocals = 1041936, HasExports = 1952, HasMembers = 6240, - IsContainer = 1048560, + BlockScoped = 418, PropertyOrAccessor = 98308, - Export = 29360128, + Export = 7340032, } interface Symbol { flags: SymbolFlags; name: string; - id?: number; - mergeId?: number; declarations?: Declaration[]; - parent?: Symbol; + valueDeclaration?: Declaration; members?: SymbolTable; exports?: SymbolTable; - exportSymbol?: Symbol; - valueDeclaration?: Declaration; - constEnumOnlyModule?: boolean; - } - interface SymbolLinks { - target?: Symbol; - type?: Type; - declaredType?: Type; - mapper?: TypeMapper; - referenced?: boolean; - exportAssignSymbol?: Symbol; - unionType?: UnionType; - } - interface TransientSymbol extends Symbol, SymbolLinks { } interface SymbolTable { [index: string]: Symbol; } - const enum NodeCheckFlags { - TypeChecked = 1, - LexicalThis = 2, - CaptureThis = 4, - EmitExtends = 8, - SuperInstance = 16, - SuperStatic = 32, - ContextChecked = 64, - EnumValuesComputed = 128, - } - interface NodeLinks { - resolvedType?: Type; - resolvedSignature?: Signature; - resolvedSymbol?: Symbol; - flags?: NodeCheckFlags; - enumMemberValue?: number; - isIllegalTypeReferenceInConstraint?: boolean; - isVisible?: boolean; - localModuleName?: string; - assignmentChecks?: Map; - } const enum TypeFlags { Any = 1, String = 2, @@ -964,21 +1202,21 @@ declare module "typescript" { Reference = 4096, Tuple = 8192, Union = 16384, - Anonymous = 32768, - FromSignature = 65536, - Intrinsic = 127, + Intersection = 32768, + Anonymous = 65536, + Instantiated = 131072, + ObjectLiteral = 524288, + ESSymbol = 16777216, StringLike = 258, NumberLike = 132, - ObjectType = 48128, + ObjectType = 80896, + UnionOrIntersection = 49152, + StructuredType = 130048, } interface Type { flags: TypeFlags; - id: number; symbol?: Symbol; } - interface IntrinsicType extends Type { - intrinsicName: string; - } interface StringLiteralType extends Type { text: string; } @@ -986,7 +1224,10 @@ declare module "typescript" { } interface InterfaceType extends ObjectType { typeParameters: TypeParameter[]; - baseTypes: ObjectType[]; + outerTypeParameters: TypeParameter[]; + localTypeParameters: TypeParameter[]; + } + interface InterfaceTypeWithDeclaredMembers extends InterfaceType { declaredProperties: Symbol[]; declaredCallSignatures: Signature[]; declaredConstructSignatures: Signature[]; @@ -998,30 +1239,20 @@ declare module "typescript" { typeArguments: Type[]; } interface GenericType extends InterfaceType, TypeReference { - instantiations: Map; - openReferenceTargets: GenericType[]; - openReferenceChecks: Map; } interface TupleType extends ObjectType { elementTypes: Type[]; baseArrayType: TypeReference; } - interface UnionType extends Type { + interface UnionOrIntersectionType extends Type { types: Type[]; - resolvedProperties: SymbolTable; } - interface ResolvedType extends ObjectType, UnionType { - members: SymbolTable; - properties: Symbol[]; - callSignatures: Signature[]; - constructSignatures: Signature[]; - stringIndexType: Type; - numberIndexType: Type; + interface UnionType extends UnionOrIntersectionType { + } + interface IntersectionType extends UnionOrIntersectionType { } interface TypeParameter extends Type { constraint: Type; - target?: TypeParameter; - mapper?: TypeMapper; } const enum SignatureKind { Call = 0, @@ -1031,40 +1262,23 @@ declare module "typescript" { declaration: SignatureDeclaration; typeParameters: TypeParameter[]; parameters: Symbol[]; - resolvedReturnType: Type; - minArgumentCount: number; - hasRestParameter: boolean; - hasStringLiterals: boolean; - target?: Signature; - mapper?: TypeMapper; - unionSignatures?: Signature[]; - erasedSignatureCache?: Signature; - isolatedSignatureType?: ObjectType; + typePredicate?: TypePredicate; } const enum IndexKind { String = 0, Number = 1, } - interface TypeMapper { - (t: Type): Type; - } - interface TypeInferences { - primary: Type[]; - secondary: Type[]; - } - interface InferenceContext { - typeParameters: TypeParameter[]; - inferUnionTypes: boolean; - inferences: TypeInferences[]; - inferredTypes: Type[]; - failedTypeParameterIndex?: number; - } interface DiagnosticMessage { key: string; category: DiagnosticCategory; code: number; - isEarly?: boolean; } + /** + * A linked list of formatted diagnostic messages to be used as part of a multiline message. + * It is built from the bottom up, leaving the head to be the "main" diagnostic. + * While it seems that DiagnosticMessageChain is structurally similar to DiagnosticMessage, + * the difference is that messages are all preformatted in DMC. + */ interface DiagnosticMessageChain { messageText: string; category: DiagnosticCategory; @@ -1075,52 +1289,78 @@ declare module "typescript" { file: SourceFile; start: number; length: number; - messageText: string; + messageText: string | DiagnosticMessageChain; category: DiagnosticCategory; code: number; - /** - * Early error - any error (can be produced at parsing\binding\typechecking step) that blocks emit - */ - isEarly?: boolean; } enum DiagnosticCategory { Warning = 0, Error = 1, Message = 2, } + const enum ModuleResolutionKind { + Classic = 1, + NodeJs = 2, + } interface CompilerOptions { allowNonTsExtensions?: boolean; charset?: string; - codepage?: number; declaration?: boolean; diagnostics?: boolean; emitBOM?: boolean; help?: boolean; + init?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + jsx?: JsxEmit; + listFiles?: boolean; locale?: string; mapRoot?: string; module?: ModuleKind; + newLine?: NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; noEmitOnError?: boolean; noErrorTruncation?: boolean; noImplicitAny?: boolean; noLib?: boolean; - noLibCheck?: boolean; noResolve?: boolean; out?: string; + outFile?: string; outDir?: string; preserveConstEnums?: boolean; + project?: string; removeComments?: boolean; + rootDir?: string; sourceMap?: boolean; sourceRoot?: string; + suppressExcessPropertyErrors?: boolean; suppressImplicitAnyIndexErrors?: boolean; target?: ScriptTarget; version?: boolean; watch?: boolean; + isolatedModules?: boolean; + experimentalDecorators?: boolean; + experimentalAsyncFunctions?: boolean; + emitDecoratorMetadata?: boolean; + moduleResolution?: ModuleResolutionKind; [option: string]: string | number | boolean; } const enum ModuleKind { None = 0, CommonJS = 1, AMD = 2, + UMD = 3, + System = 4, + } + const enum JsxEmit { + None = 0, + Preserve = 1, + React = 2, + } + const enum NewLineKind { + CarriageReturnLineFeed = 0, + LineFeed = 1, } interface LineAndCharacter { line: number; @@ -1132,164 +1372,74 @@ declare module "typescript" { ES6 = 2, Latest = 2, } + const enum LanguageVariant { + Standard = 0, + JSX = 1, + } interface ParsedCommandLine { options: CompilerOptions; - filenames: string[]; + fileNames: string[]; errors: Diagnostic[]; } - interface CommandLineOption { - name: string; - type: string | Map; - shortName?: string; - description?: DiagnosticMessage; - paramType?: DiagnosticMessage; - error?: DiagnosticMessage; + interface ModuleResolutionHost { + fileExists(fileName: string): boolean; + readFile(fileName: string): string; } - const enum CharacterCodes { - nullCharacter = 0, - maxAsciiCharacter = 127, - lineFeed = 10, - carriageReturn = 13, - lineSeparator = 8232, - paragraphSeparator = 8233, - nextLine = 133, - space = 32, - nonBreakingSpace = 160, - enQuad = 8192, - emQuad = 8193, - enSpace = 8194, - emSpace = 8195, - threePerEmSpace = 8196, - fourPerEmSpace = 8197, - sixPerEmSpace = 8198, - figureSpace = 8199, - punctuationSpace = 8200, - thinSpace = 8201, - hairSpace = 8202, - zeroWidthSpace = 8203, - narrowNoBreakSpace = 8239, - ideographicSpace = 12288, - mathematicalSpace = 8287, - ogham = 5760, - _ = 95, - $ = 36, - _0 = 48, - _1 = 49, - _2 = 50, - _3 = 51, - _4 = 52, - _5 = 53, - _6 = 54, - _7 = 55, - _8 = 56, - _9 = 57, - a = 97, - b = 98, - c = 99, - d = 100, - e = 101, - f = 102, - g = 103, - h = 104, - i = 105, - j = 106, - k = 107, - l = 108, - m = 109, - n = 110, - o = 111, - p = 112, - q = 113, - r = 114, - s = 115, - t = 116, - u = 117, - v = 118, - w = 119, - x = 120, - y = 121, - z = 122, - A = 65, - B = 66, - C = 67, - D = 68, - E = 69, - F = 70, - G = 71, - H = 72, - I = 73, - J = 74, - K = 75, - L = 76, - M = 77, - N = 78, - O = 79, - P = 80, - Q = 81, - R = 82, - S = 83, - T = 84, - U = 85, - V = 86, - W = 87, - X = 88, - Y = 89, - Z = 90, - ampersand = 38, - asterisk = 42, - at = 64, - backslash = 92, - backtick = 96, - bar = 124, - caret = 94, - closeBrace = 125, - closeBracket = 93, - closeParen = 41, - colon = 58, - comma = 44, - dot = 46, - doubleQuote = 34, - equals = 61, - exclamation = 33, - greaterThan = 62, - lessThan = 60, - minus = 45, - openBrace = 123, - openBracket = 91, - openParen = 40, - percent = 37, - plus = 43, - question = 63, - semicolon = 59, - singleQuote = 39, - slash = 47, - tilde = 126, - backspace = 8, - formFeed = 12, - byteOrderMark = 65279, - tab = 9, - verticalTab = 11, + interface ResolvedModule { + resolvedFileName: string; + isExternalLibraryImport?: boolean; } - interface CancellationToken { - isCancellationRequested(): boolean; + interface ResolvedModuleWithFailedLookupLocations { + resolvedModule: ResolvedModule; + failedLookupLocations: string[]; } - interface CompilerHost { - getSourceFile(filename: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile; - getDefaultLibFilename(options: CompilerOptions): string; + interface CompilerHost extends ModuleResolutionHost { + getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile; getCancellationToken?(): CancellationToken; - writeFile(filename: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void; + getDefaultLibFileName(options: CompilerOptions): string; + writeFile: WriteFileCallback; getCurrentDirectory(): string; getCanonicalFileName(fileName: string): string; useCaseSensitiveFileNames(): boolean; getNewLine(): string; + resolveModuleNames?(moduleNames: string[], containingFile: string): ResolvedModule[]; + } + interface TextSpan { + start: number; + length: number; + } + interface TextChangeRange { + span: TextSpan; + newLength: number; } } declare module "typescript" { - interface ErrorCallback { - (message: DiagnosticMessage): void; + interface System { + args: string[]; + newLine: string; + useCaseSensitiveFileNames: boolean; + write(s: string): void; + readFile(path: string, encoding?: string): string; + writeFile(path: string, data: string, writeByteOrderMark?: boolean): void; + watchFile?(path: string, callback: (path: string) => void): FileWatcher; + resolvePath(path: string): string; + fileExists(path: string): boolean; + directoryExists(path: string): boolean; + createDirectory(path: string): void; + getExecutingFilePath(): string; + getCurrentDirectory(): string; + readDirectory(path: string, extension?: string, exclude?: string[]): string[]; + getMemoryUsage?(): number; + exit(exitCode?: number): void; } - interface CommentCallback { - (pos: number, end: number): void; + interface FileWatcher { + close(): void; + } + var sys: System; +} +declare module "typescript" { + interface ErrorCallback { + (message: DiagnosticMessage, length: number): void; } interface Scanner { getStartPos(): number; @@ -1298,6 +1448,7 @@ declare module "typescript" { getTokenPos(): number; getTokenText(): string; getTokenValue(): string; + hasExtendedUnicodeEscape(): boolean; hasPrecedingLineBreak(): boolean; isIdentifier(): boolean; isReservedWord(): boolean; @@ -1305,45 +1456,111 @@ declare module "typescript" { reScanGreaterToken(): SyntaxKind; reScanSlashToken(): SyntaxKind; reScanTemplateToken(): SyntaxKind; + scanJsxIdentifier(): SyntaxKind; + reScanJsxToken(): SyntaxKind; + scanJsxToken(): SyntaxKind; scan(): SyntaxKind; - setText(text: string): void; + setText(text: string, start?: number, length?: number): void; + setOnError(onError: ErrorCallback): void; + setScriptTarget(scriptTarget: ScriptTarget): void; + setLanguageVariant(variant: LanguageVariant): void; setTextPos(textPos: number): void; lookAhead(callback: () => T): T; tryScan(callback: () => T): T; } function tokenToString(t: SyntaxKind): string; - function computeLineStarts(text: string): number[]; - function getPositionFromLineAndCharacter(lineStarts: number[], line: number, character: number): number; - function getLineAndCharacterOfPosition(lineStarts: number[], position: number): { - line: number; - character: number; - }; - function positionToLineAndCharacter(text: string, pos: number): { - line: number; - character: number; - }; + function getPositionOfLineAndCharacter(sourceFile: SourceFile, line: number, character: number): number; + function getLineAndCharacterOfPosition(sourceFile: SourceFile, position: number): LineAndCharacter; function isWhiteSpace(ch: number): boolean; function isLineBreak(ch: number): boolean; - function isOctalDigit(ch: number): boolean; - function skipTrivia(text: string, pos: number, stopAfterLineBreak?: boolean): number; + function couldStartTrivia(text: string, pos: number): boolean; function getLeadingCommentRanges(text: string, pos: number): CommentRange[]; function getTrailingCommentRanges(text: string, pos: number): CommentRange[]; + /** Optionally, get the shebang */ + function getShebang(text: string): string; function isIdentifierStart(ch: number, languageVersion: ScriptTarget): boolean; function isIdentifierPart(ch: number, languageVersion: ScriptTarget): boolean; - function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, text?: string, onError?: ErrorCallback): Scanner; + function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, text?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner; +} +declare module "typescript" { + function getDefaultLibFileName(options: CompilerOptions): string; + function textSpanEnd(span: TextSpan): number; + function textSpanIsEmpty(span: TextSpan): boolean; + function textSpanContainsPosition(span: TextSpan, position: number): boolean; + function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; + function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan; + function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; + function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; + function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean; + function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; + function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan; + function createTextSpan(start: number, length: number): TextSpan; + function createTextSpanFromBounds(start: number, end: number): TextSpan; + function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; + function textChangeRangeIsUnchanged(range: TextChangeRange): boolean; + function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange; + let unchangedTextChangeRange: TextChangeRange; + /** + * Called to merge all the changes that occurred across several versions of a script snapshot + * into a single change. i.e. if a user keeps making successive edits to a script we will + * have a text change from V1 to V2, V2 to V3, ..., Vn. + * + * This function will then merge those changes into a single change range valid between V1 and + * Vn. + */ + function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange; + function getTypeParameterOwner(d: Declaration): Declaration; } declare module "typescript" { function getNodeConstructor(kind: SyntaxKind): new () => Node; - function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodes?: (nodes: Node[]) => T): T; - function createCompilerHost(options: CompilerOptions): CompilerHost; - function createSourceFile(filename: string, sourceText: string, languageVersion: ScriptTarget, version: string, isOpen?: boolean): SourceFile; - function createProgram(rootNames: string[], options: CompilerOptions, host: CompilerHost): Program; + function createNode(kind: SyntaxKind): Node; + function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; + function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; } declare module "typescript" { - function createTypeChecker(program: Program, fullTypeCheck: boolean): TypeChecker; + const version: string; + function findConfigFile(searchPath: string): string; + function resolveTripleslashReference(moduleName: string, containingFile: string): string; + function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations; + function nodeModuleNameResolver(moduleName: string, containingFile: string, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations; + function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations; + function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost; + function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; + function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost, oldProgram?: Program): Program; } declare module "typescript" { - var servicesVersion: string; + function parseCommandLine(commandLine: string[], readFile?: (path: string) => string): ParsedCommandLine; + /** + * Read tsconfig.json file + * @param fileName The path to the config file + */ + function readConfigFile(fileName: string): { + config?: any; + error?: Diagnostic; + }; + /** + * Parse the text of the tsconfig.json file + * @param fileName The path to the config file + * @param jsonText The text of the config file + */ + function parseConfigFileText(fileName: string, jsonText: string): { + config?: any; + error?: Diagnostic; + }; + /** + * Parse the contents of a config file (tsconfig.json). + * @param json The contents of the config file to parse + * @param basePath A root directory to resolve relative path entries in the config + * file to. e.g. outDir + */ + function parseConfigFile(json: any, host: ParseConfigHost, basePath: string): ParsedCommandLine; +} +declare module "typescript" { + /** The version of the language service API */ + let servicesVersion: string; interface Node { getSourceFile(): SourceFile; getChildCount(sourceFile?: SourceFile): number; @@ -1376,6 +1593,7 @@ declare module "typescript" { getConstructSignatures(): Signature[]; getStringIndexType(): Type; getNumberIndexType(): Type; + getBaseTypes(): ObjectType[]; } interface Signature { getDeclaration(): SignatureDeclaration; @@ -1385,9 +1603,10 @@ declare module "typescript" { getDocumentationComment(): SymbolDisplayPart[]; } interface SourceFile { - getScriptSnapshot(): IScriptSnapshot; - getNamedDeclarations(): Declaration[]; - update(scriptSnapshot: IScriptSnapshot, version: string, isOpen: boolean, textChangeRange: TextChangeRange): SourceFile; + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + getLineStarts(): number[]; + getPositionOfLineAndCharacter(line: number, character: number): number; + update(newText: string, textChangeRange: TextChangeRange): SourceFile; } /** * Represents an immutable snapshot of a script at a specified time.Once acquired, the @@ -1399,12 +1618,6 @@ declare module "typescript" { getText(start: number, end: number): string; /** Gets the length of this script snapshot. */ getLength(): number; - /** - * This call returns the array containing the start position of every line. - * i.e."[0, 10, 55]". TODO: consider making this optional. The language service could - * always determine this (albeit in a more expensive manner). - */ - getLineStartPositions(): number[]; /** * Gets the TextChangeRange that describe how the text changed between this text and * an older version. This information is used by the incremental parser to determine @@ -1413,6 +1626,8 @@ declare module "typescript" { * not happen and the entire document will be re - parsed. */ getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange; + /** Releases all resources held by this script snapshot */ + dispose?(): void; } module ScriptSnapshot { function fromString(text: string): IScriptSnapshot; @@ -1420,29 +1635,44 @@ declare module "typescript" { interface PreProcessedFileInfo { referencedFiles: FileReference[]; importedFiles: FileReference[]; + ambientExternalModules: string[]; isLibFile: boolean; } - interface Logger { - log(s: string): void; + interface HostCancellationToken { + isCancellationRequested(): boolean; } - interface LanguageServiceHost extends Logger { + interface LanguageServiceHost { getCompilationSettings(): CompilerOptions; + getNewLine?(): string; + getProjectVersion?(): string; getScriptFileNames(): string[]; getScriptVersion(fileName: string): string; - getScriptIsOpen(fileName: string): boolean; getScriptSnapshot(fileName: string): IScriptSnapshot; getLocalizedDiagnosticMessages?(): any; - getCancellationToken?(): CancellationToken; + getCancellationToken?(): HostCancellationToken; getCurrentDirectory(): string; - getDefaultLibFilename(options: CompilerOptions): string; + getDefaultLibFileName(options: CompilerOptions): string; + log?(s: string): void; + trace?(s: string): void; + error?(s: string): void; + useCaseSensitiveFileNames?(): boolean; + resolveModuleNames?(moduleNames: string[], containingFile: string): ResolvedModule[]; } interface LanguageService { cleanupSemanticCache(): void; getSyntacticDiagnostics(fileName: string): Diagnostic[]; getSemanticDiagnostics(fileName: string): Diagnostic[]; getCompilerOptionsDiagnostics(): Diagnostic[]; + /** + * @deprecated Use getEncodedSyntacticClassifications instead. + */ getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + /** + * @deprecated Use getEncodedSemanticClassifications instead. + */ getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; + getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; getCompletionsAtPosition(fileName: string, position: number): CompletionInfo; getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails; getQuickInfoAtPosition(fileName: string, position: number): QuickInfo; @@ -1452,9 +1682,13 @@ declare module "typescript" { getRenameInfo(fileName: string, position: number): RenameInfo; findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[]; getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; + getTypeDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[]; + findReferences(fileName: string, position: number): ReferencedSymbol[]; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[]; + /** @deprecated */ getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[]; - getNavigateToItems(searchValue: string): NavigateToItem[]; + getNavigateToItems(searchValue: string, maxResultCount?: number): NavigateToItem[]; getNavigationBarItems(fileName: string): NavigationBarItem[]; getOutliningSpans(fileName: string): OutliningSpan[]; getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[]; @@ -1463,99 +1697,15 @@ declare module "typescript" { getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions): TextChange[]; getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions): TextChange[]; getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextChange[]; + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion; getEmitOutput(fileName: string): EmitOutput; - getSourceFile(filename: string): SourceFile; + getProgram(): Program; + getSourceFile(fileName: string): SourceFile; dispose(): void; } - class TextSpan { - private _start; - private _length; - /** - * Creates a TextSpan instance beginning with the position Start and having the Length - * specified with length. - */ - constructor(start: number, length: number); - toJSON(key: any): any; - start(): number; - length(): number; - end(): number; - isEmpty(): boolean; - /** - * Determines whether the position lies within the span. Returns true if the position is greater than or equal to Start and strictly less - * than End, otherwise false. - * @param position The position to check. - */ - containsPosition(position: number): boolean; - /** - * Determines whether span falls completely within this span. Returns true if the specified span falls completely within this span, otherwise false. - * @param span The span to check. - */ - containsTextSpan(span: TextSpan): boolean; - /** - * Determines whether the given span overlaps this span. Two spans are considered to overlap - * if they have positions in common and neither is empty. Empty spans do not overlap with any - * other span. Returns true if the spans overlap, false otherwise. - * @param span The span to check. - */ - overlapsWith(span: TextSpan): boolean; - /** - * Returns the overlap with the given span, or undefined if there is no overlap. - * @param span The span to check. - */ - overlap(span: TextSpan): TextSpan; - /** - * Determines whether span intersects this span. Two spans are considered to - * intersect if they have positions in common or the end of one span - * coincides with the start of the other span. Returns true if the spans intersect, false otherwise. - * @param The span to check. - */ - intersectsWithTextSpan(span: TextSpan): boolean; - intersectsWith(start: number, length: number): boolean; - /** - * Determines whether the given position intersects this span. - * A position is considered to intersect if it is between the start and - * end positions (inclusive) of this span. Returns true if the position intersects, false otherwise. - * @param position The position to check. - */ - intersectsWithPosition(position: number): boolean; - /** - * Returns the intersection with the given span, or undefined if there is no intersection. - * @param span The span to check. - */ - intersection(span: TextSpan): TextSpan; - /** - * Creates a new TextSpan from the given start and end positions - * as opposed to a position and length. - */ - static fromBounds(start: number, end: number): TextSpan; - } - class TextChangeRange { - static unchanged: TextChangeRange; - private _span; - private _newLength; - /** - * Initializes a new instance of TextChangeRange. - */ - constructor(span: TextSpan, newLength: number); - /** - * The span of text before the edit which is being changed - */ - span(): TextSpan; - /** - * Width of the span after the edit. A 0 here would represent a delete - */ - newLength(): number; - newSpan(): TextSpan; - isUnchanged(): boolean; - /** - * Called to merge all the changes that occurred across several versions of a script snapshot - * into a single change. i.e. if a user keeps making successive edits to a script we will - * have a text change from V1 to V2, V2 to V3, ..., Vn. - * - * This function will then merge those changes into a single change range valid between V1 and - * Vn. - */ - static collapseChangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange; + interface Classifications { + spans: number[]; + endOfLineState: EndOfLineState; } interface ClassifiedSpan { textSpan: TextSpan; @@ -1584,6 +1734,11 @@ declare module "typescript" { span: TextSpan; newText: string; } + interface TextInsertion { + newText: string; + /** The position in newText the caret should point to after the insertion. */ + caretOffset: number; + } interface RenameLocation { textSpan: TextSpan; fileName: string; @@ -1593,11 +1748,27 @@ declare module "typescript" { fileName: string; isWriteAccess: boolean; } + interface DocumentHighlights { + fileName: string; + highlightSpans: HighlightSpan[]; + } + module HighlightSpanKind { + const none: string; + const definition: string; + const reference: string; + const writtenReference: string; + } + interface HighlightSpan { + fileName?: string; + textSpan: TextSpan; + kind: string; + } interface NavigateToItem { name: string; kind: string; kindModifiers: string; matchKind: string; + isCaseSensitive: boolean; fileName: string; textSpan: TextSpan; containerName: string; @@ -1616,8 +1787,10 @@ declare module "typescript" { InsertSpaceAfterKeywordsInControlFlowStatements: boolean; InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean; PlaceOpenBraceOnNewLineForFunctions: boolean; PlaceOpenBraceOnNewLineForControlBlocks: boolean; + [s: string]: boolean | number | string; } interface DefinitionInfo { fileName: string; @@ -1627,6 +1800,10 @@ declare module "typescript" { containerKind: string; containerName: string; } + interface ReferencedSymbol { + definition: DefinitionInfo; + references: ReferenceEntry[]; + } enum SymbolDisplayPartKind { aliasName = 0, className = 1, @@ -1704,12 +1881,14 @@ declare module "typescript" { } interface CompletionInfo { isMemberCompletion: boolean; + isNewIdentifierLocation: boolean; entries: CompletionEntry[]; } interface CompletionEntry { name: string; kind: string; kindModifiers: string; + sortText: string; } interface CompletionEntryDetails { name: string; @@ -1733,7 +1912,7 @@ declare module "typescript" { } interface EmitOutput { outputFiles: OutputFile[]; - emitOutputStatus: EmitReturnStatus; + emitSkipped: boolean; } const enum OutputFileType { JavaScript = 0, @@ -1746,10 +1925,13 @@ declare module "typescript" { text: string; } const enum EndOfLineState { - Start = 0, + None = 0, InMultiLineCommentTrivia = 1, InSingleQuoteStringLiteral = 2, InDoubleQuoteStringLiteral = 3, + InTemplateHeadOrNoSubstitutionTemplate = 4, + InTemplateMiddleOrTail = 5, + InTemplateSubstitutionPosition = 6, } enum TokenClass { Punctuation = 0, @@ -1771,50 +1953,125 @@ declare module "typescript" { classification: TokenClass; } interface Classifier { - getClassificationsForLine(text: string, lexState: EndOfLineState, classifyKeywordsInGenerics?: boolean): ClassificationResult; + /** + * Gives lexical classifications of tokens on a line without any syntactic context. + * For instance, a token consisting of the text 'string' can be either an identifier + * named 'string' or the keyword 'string', however, because this classifier is not aware, + * it relies on certain heuristics to give acceptable results. For classifications where + * speed trumps accuracy, this function is preferable; however, for true accuracy, the + * syntactic classifier is ideal. In fact, in certain editing scenarios, combining the + * lexical, syntactic, and semantic classifiers may issue the best user experience. + * + * @param text The text of a line to classify. + * @param lexState The state of the lexical classifier at the end of the previous line. + * @param syntacticClassifierAbsent Whether the client is *not* using a syntactic classifier. + * If there is no syntactic classifier (syntacticClassifierAbsent=true), + * certain heuristics may be used in its place; however, if there is a + * syntactic classifier (syntacticClassifierAbsent=false), certain + * classifications which may be incorrectly categorized will be given + * back as Identifiers in order to allow the syntactic classifier to + * subsume the classification. + * @deprecated Use getLexicalClassifications instead. + */ + getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult; + getEncodedLexicalClassifications(text: string, endOfLineState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications; } + /** + * The document registry represents a store of SourceFile objects that can be shared between + * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) + * of files in the context. + * SourceFile objects account for most of the memory usage by the language service. Sharing + * the same DocumentRegistry instance between different instances of LanguageService allow + * for more efficient memory utilization since all projects will share at least the library + * file (lib.d.ts). + * + * A more advanced use of the document registry is to serialize sourceFile objects to disk + * and re-hydrate them when needed. + * + * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it + * to all subsequent createLanguageService calls. + */ interface DocumentRegistry { - acquireDocument(filename: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, isOpen: boolean): SourceFile; - updateDocument(sourceFile: SourceFile, filename: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, isOpen: boolean, textChangeRange: TextChangeRange): SourceFile; - releaseDocument(filename: string, compilationSettings: CompilerOptions): void; + /** + * Request a stored SourceFile with a given fileName and compilationSettings. + * The first call to acquire will call createLanguageServiceSourceFile to generate + * the SourceFile if was not found in the registry. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @parm scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @parm version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + */ + acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string): SourceFile; + /** + * Request an updated version of an already existing SourceFile with a given fileName + * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile + * to get an updated SourceFile. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. + * @param version Current version of the file. + */ + updateDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string): SourceFile; + /** + * Informs the DocumentRegistry that a file is not needed any longer. + * + * Note: It is not allowed to call release on a SourceFile that was not acquired from + * this registry originally. + * + * @param fileName The name of the file to be released + * @param compilationSettings The compilation settings used to acquire the file + */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; + reportStats(): string; } - class ScriptElementKind { - static unknown: string; - static keyword: string; - static scriptElement: string; - static moduleElement: string; - static classElement: string; - static interfaceElement: string; - static typeElement: string; - static enumElement: string; - static variableElement: string; - static localVariableElement: string; - static functionElement: string; - static localFunctionElement: string; - static memberFunctionElement: string; - static memberGetAccessorElement: string; - static memberSetAccessorElement: string; - static memberVariableElement: string; - static constructorImplementationElement: string; - static callSignatureElement: string; - static indexSignatureElement: string; - static constructSignatureElement: string; - static parameterElement: string; - static typeParameterElement: string; - static primitiveType: string; - static label: string; - static alias: string; - static constElement: string; - static letElement: string; + module ScriptElementKind { + const unknown: string; + const warning: string; + const keyword: string; + const scriptElement: string; + const moduleElement: string; + const classElement: string; + const localClassElement: string; + const interfaceElement: string; + const typeElement: string; + const enumElement: string; + const variableElement: string; + const localVariableElement: string; + const functionElement: string; + const localFunctionElement: string; + const memberFunctionElement: string; + const memberGetAccessorElement: string; + const memberSetAccessorElement: string; + const memberVariableElement: string; + const constructorImplementationElement: string; + const callSignatureElement: string; + const indexSignatureElement: string; + const constructSignatureElement: string; + const parameterElement: string; + const typeParameterElement: string; + const primitiveType: string; + const label: string; + const alias: string; + const constElement: string; + const letElement: string; } - class ScriptElementKindModifier { - static none: string; - static publicMemberModifier: string; - static privateMemberModifier: string; - static protectedMemberModifier: string; - static exportedModifier: string; - static ambientModifier: string; - static staticModifier: string; + module ScriptElementKindModifier { + const none: string; + const publicMemberModifier: string; + const privateMemberModifier: string; + const protectedMemberModifier: string; + const exportedModifier: string; + const ambientModifier: string; + const staticModifier: string; + const abstractModifier: string; } class ClassificationTypeNames { static comment: string; @@ -1831,24 +2088,61 @@ declare module "typescript" { static interfaceName: string; static moduleName: string; static typeParameterName: string; - static typeAlias: string; + static typeAliasName: string; + static parameterName: string; + static docCommentTagName: string; + } + const enum ClassificationType { + comment = 1, + identifier = 2, + keyword = 3, + numericLiteral = 4, + operator = 5, + stringLiteral = 6, + regularExpressionLiteral = 7, + whiteSpace = 8, + text = 9, + punctuation = 10, + className = 11, + enumName = 12, + interfaceName = 13, + moduleName = 14, + typeParameterName = 15, + typeAliasName = 16, + parameterName = 17, + docCommentTagName = 18, } interface DisplayPartsSymbolWriter extends SymbolWriter { displayParts(): SymbolDisplayPart[]; } function displayPartsToString(displayParts: SymbolDisplayPart[]): string; function getDefaultCompilerOptions(): CompilerOptions; - class OperationCanceledException { + interface TranspileOptions { + compilerOptions?: CompilerOptions; + fileName?: string; + reportDiagnostics?: boolean; + moduleName?: string; + renamedDependencies?: Map; } - class CancellationTokenObject { - private cancellationToken; - static None: CancellationTokenObject; - constructor(cancellationToken: CancellationToken); - isCancellationRequested(): boolean; - throwIfCancellationRequested(): void; + interface TranspileOutput { + outputText: string; + diagnostics?: Diagnostic[]; + sourceMapText?: string; } - function createDocumentRegistry(): DocumentRegistry; + function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; + function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean): SourceFile; + let disableIncrementalParsing: boolean; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; + function createGetCanonicalFileName(useCaseSensitivefileNames: boolean): (fileName: string) => string; + function createDocumentRegistry(useCaseSensitiveFileNames?: boolean): DocumentRegistry; function preProcessFile(sourceText: string, readImportFiles?: boolean): PreProcessedFileInfo; - function createLanguageService(host: LanguageServiceHost, documentRegistry: DocumentRegistry): LanguageService; - function createClassifier(host: Logger): Classifier; + function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry): LanguageService; + function createClassifier(): Classifier; + /** + * Get the path of the default library files (lib.d.ts) as distributed with the typescript + * node package. + * The functionality is not supported if the ts module is consumed outside of a node module. + */ + function getDefaultLibFilePath(options: CompilerOptions): string; }