///
declare module "typescript-api" {
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;
};
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;
}
interface IBitVector {
valueAt(index: number): boolean;
setValueAt(index: number, value: boolean): void;
release(): void;
}
module BitVector {
function getBitVector(allowUndefinedValues: boolean): IBitVector;
}
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;
}
enum Constants {
Max31BitInteger = 1073741823,
Min31BitInteger = -1073741824,
}
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;
}
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[];
/**
* Get the text of the message in the given language.
*/
public text(): string;
/**
* Get the text of the message including the error code in the given language.
*/
public message(): string;
/**
* If a derived class has additional information about other referenced symbols, it can
* expose the locations of those symbols in a general way, so they can be reported along
* with the error.
*/
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;
interface DiagnosticInfo {
category: DiagnosticCategory;
message: string;
code: number;
}
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;
}
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;
}
module 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;
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;
}
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;
interface IIndexable {
[s: string]: T;
}
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;
}
interface Iterator {
moveNext(): boolean;
current(): T;
}
interface ILineAndCharacter {
line: number;
character: number;
}
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;
}
class LineAndCharacter {
private _line;
private _character;
/**
* Initializes a new instance of a LinePosition with the given line and character. ArgumentOutOfRangeException if "line" or "character" is less than zero.
* @param line The line of the line position. The first line in a file is defined as line 0 (zero based line numbering).
* @param character The character position in the line.
*/
constructor(line: number, character: number);
public line(): number;
public character(): number;
}
class MathPrototype {
static max(a: number, b: number): number;
static min(a: number, b: number): number;
}
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;
}
class Timer {
public startTime: number;
public time: number;
public start(): void;
public end(): void;
}
enum DiagnosticCategory {
Warning = 0,
Error = 1,
Message = 2,
NoPrefix = 3,
}
var diagnosticInformationMap: IIndexable;
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,
}
interface IScriptSnapshot {
getText(start: number, end: number): string;
getLength(): number;
getLineStartPositions(): number[];
getTextChangeRangeSinceVersion(scriptVersion: number): TextChangeRange;
}
module ScriptSnapshot {
function fromString(text: string): IScriptSnapshot;
}
/**
* Represents an immutable snapshot of text.
*/
interface ISimpleText {
/**
* Total number of characters in the text source.
*/
length(): number;
/**
* Copy the count contents of IText starting from sourceIndex to destination starting at
* destinationIndex.
*/
copyTo(sourceIndex: number, destination: number[], destinationIndex: number, count: number): void;
substr(start: number, length: number, intern: boolean): string;
/**
* Gets the a new IText that corresponds to the contents of this IText for the given span.
*/
subText(span: TextSpan): ISimpleText;
charCodeAt(index: number): number;
lineMap(): LineMap;
}
/**
* Represents an immutable snapshot of text.
*/
interface IText extends ISimpleText {
/**
* Total number of lines in the text.
*/
lineCount(): number;
/**
* Returns the collection of line information for the IText instance.
*/
lines(): ITextLine[];
/**
* Return the char at position in the IText.
*/
charCodeAt(position: number): number;
/**
* Gets the line corresponding to the provided line number.
*/
getLineFromLineNumber(lineNumber: number): ITextLine;
/**
* Gets the line which encompasses the provided position.
*/
getLineFromPosition(position: number): ITextLine;
/**
* Gets the number of the line that contains the character at the specified position.
*/
getLineNumberFromPosition(position: number): number;
/**
* Gets a line number, and position within that line, for the character at the
* specified position
*/
getLinePosition(position: number): LineAndCharacter;
/**
* Returns a string representation of the contents of this IText within the given span.
*/
toString(span?: TextSpan): string;
}
/**
* Immutable representation of a line in an IText instance.
*/
interface ITextLine {
/**
* Start of the line.
*/
start(): number;
/**
* End of the line not including the line break.
*/
end(): number;
/**
* End of the line including the line break.
*/
endIncludingLineBreak(): number;
/**
* Extent of the line not including the line break.
*/
extent(): TextSpan;
/**
* Extent of the line including the line break.
*/
extentIncludingLineBreak(): TextSpan;
/**
* Gets the text of the line excluding the line break.
*/
toString(): string;
/**
* Gets the line number for this line.
*/
lineNumber(): number;
}
module LineMap1 {
function fromSimpleText(text: ISimpleText): LineMap;
function fromScriptSnapshot(scriptSnapshot: IScriptSnapshot): LineMap;
function fromString(text: string): LineMap;
}
module TextFactory {
function createText(value: string): IText;
}
module SimpleText {
function fromString(value: string): ISimpleText;
function fromScriptSnapshot(scriptSnapshot: IScriptSnapshot): ISimpleText;
}
module 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;
}
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);
public start(): number;
public length(): number;
public end(): number;
public 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.
*/
public 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.
*/
public 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.
*/
public overlapsWith(span: TextSpan): boolean;
/**
* Returns the overlap with the given span, or null if there is no overlap.
* @param span The span to check.
*/
public 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.
*/
public intersectsWithTextSpan(span: TextSpan): boolean;
public 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.
*/
public intersectsWithPosition(position: number): boolean;
/**
* Returns the intersection with the given span, or null if there is no intersection.
* @param span The span to check.
*/
public 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
*/
public span(): TextSpan;
/**
* Width of the span after the edit. A 0 here would represent a delete
*/
public newLength(): number;
public newSpan(): TextSpan;
public isUnchanged(): boolean;
/**
* Called to merge all the changes that occurred between one version of a script snapshot to
* the next into a single change. i.e. say a user did a box selection and made an edit. That
* will show up as N text change ranges between version V of a script and version V+1. This
* function collapses those N changes into a single change range valid between V and V+1.
*/
static collapseChangesFromSingleVersion(changes: TextChangeRange[]): 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.
*/
static collapseChangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange;
}
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;
}
enum SyntaxConstants {
TriviaNewLineMask = 1,
TriviaCommentMask = 2,
TriviaFullWidthShift = 2,
NodeDataComputed = 1,
NodeIncrementallyUnusableMask = 2,
NodeParsedInStrictModeMask = 4,
NodeFullWidthShift = 3,
IsVariableWidthKeyword,
}
module 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;
}
enum LanguageVersion {
EcmaScript3 = 0,
EcmaScript5 = 1,
}
class ParseOptions {
private _languageVersion;
private _allowAutomaticSemicolonInsertion;
constructor(languageVersion: LanguageVersion, allowAutomaticSemicolonInsertion: boolean);
public toJSON(key: any): {
allowAutomaticSemicolonInsertion: boolean;
};
public languageVersion(): LanguageVersion;
public allowAutomaticSemicolonInsertion(): boolean;
}
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;
}
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,
FirstStandardKeyword,
LastStandardKeyword,
FirstFutureReservedKeyword,
LastFutureReservedKeyword,
FirstFutureReservedStrictKeyword,
LastFutureReservedStrictKeyword,
FirstTypeScriptKeyword,
LastTypeScriptKeyword,
FirstKeyword,
LastKeyword,
FirstToken,
LastToken,
FirstPunctuation,
LastPunctuation,
FirstFixedWidth,
LastFixedWidth,
FirstTrivia,
LastTrivia,
}
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;
}
class ScannerUtilities {
static identifierKind(array: number[], startIndex: number, length: number): SyntaxKind;
}
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;
}
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;
}
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 {
}
interface ISyntaxList extends ISyntaxElement {
childAt(index: number): ISyntaxNodeOrToken;
toArray(): ISyntaxNodeOrToken[];
insertChildrenInto(array: ISyntaxElement[], index: number): void;
}
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();
/**
* Finds a token according to the following rules:
* 1) If position matches the End of the node/s FullSpan and the node is SourceUnit,
* then the EOF token is returned.
*
* 2) If node.FullSpan.Contains(position) then the token that contains given position is
* returned.
*
* 3) Otherwise an ArgumentOutOfRangeException is thrown
*
* Note: findToken will always return a non-missing token with width greater than or equal to
* 1 (except for EOF). Empty tokens synthesized by the parser are never returned.
*/
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;
}
interface ISyntaxNodeOrToken extends ISyntaxElement {
withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxNodeOrToken;
withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxNodeOrToken;
accept(visitor: ISyntaxVisitor): any;
}
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;
}
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;
}
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;
}
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[];
}
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[];
}
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;
}
interface ISyntaxTrivia {
kind(): SyntaxKind;
isWhitespace(): boolean;
isComment(): boolean;
isNewLine(): boolean;
isSkippedToken(): boolean;
fullWidth(): number;
fullText(): string;
skippedToken(): ISyntaxToken;
}
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;
}
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;
}
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;
}
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;
}
class PositionTrackingWalker extends SyntaxWalker {
private _position;
public visitToken(token: ISyntaxToken): void;
public position(): number;
public skip(element: ISyntaxElement): void;
}
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);
}
class SyntaxNodeInvariantsChecker extends SyntaxWalker {
private tokenTable;
static checkInvariants(node: SyntaxNode): void;
public visitToken(token: ISyntaxToken): void;
}
class DepthLimitedWalker extends PositionTrackingWalker {
private _depth;
private _maximumDepth;
constructor(maximumDepth: number);
public visitNode(node: SyntaxNode): void;
}
module Parser {
function parse(fileName: string, text: ISimpleText, isDeclaration: boolean, options: ParseOptions): SyntaxTree;
function incrementalParse(oldSyntaxTree: SyntaxTree, textChangeRange: TextChangeRange, newText: ISimpleText): SyntaxTree;
}
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;
}
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;
}
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;
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;
}
function hasFlag(val: number, flag: number): boolean;
enum TypeRelationshipFlags {
SuccessfulComparison = 0,
RequiredPropertyIsMissing,
IncompatibleSignatures,
SourceSignatureHasTooManyParameters = 3,
IncompatibleReturnTypes,
IncompatiblePropertyTypes,
IncompatibleParameterTypes,
InconsistantPropertyAccesibility,
}
enum ModuleGenTarget {
Unspecified = 0,
Synchronous = 1,
Asynchronous = 2,
}
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;
}
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;
}
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;
}
module 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 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 isLastNameOfModule(ast: ModuleDeclaration, astName: AST): boolean;
function isAnyNameOfModule(ast: ModuleDeclaration, astName: AST): boolean;
function getNameOfIdenfierOrQualifiedName(name: AST): string;
function getModuleNames(name: AST, result?: Identifier[]): Identifier[];
}
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;
class Base64VLQFormat {
static encode(inValue: number): string;
static decode(inString: string): {
value: number;
rest: string;
};
}
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;
}
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[];
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();
}
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;
interface IFileReference extends ILineAndCharacter {
path: string;
isResident: boolean;
position: number;
length: number;
}
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[];
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);
}
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);
}
class BloomFilter {
private bitArray;
private hashFunctionCount;
static falsePositiveProbability: number;
constructor(expectedCount: number);
static computeM(expectedCount: number): number;
static computeK(expectedCount: number): number;
/** Modification of the murmurhash2 algorithm. Code is simpler because it operates over
* strings instead of byte arrays. Because each string character is two bytes, it is known
* that the input will be an even number of bytes (though not necessarily a multiple of 4).
*
* This is needed over the normal 'string.GetHashCode()' because we need to be able to generate
* 'k' different well distributed hashes for any given string s. Also, we want to be able to
* generate these hashes without allocating any memory. My ideal solution would be to use an
* MD5 hash. However, there appears to be no way to do MD5 in .Net where you can:
*
* a) feed it individual values instead of a byte[]
*
* b) have the hash computed into a byte[] you provide instead of a newly allocated one
*
* Generating 'k' pieces of garbage on each insert and lookup seems very wasteful. So,
* instead, we use murmur hash since it provides well distributed values, allows for a
* seed, and allocates no memory.
*
* Murmur hash is public domain. Actual code is included below as reference.
*/
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;
}
class IdentifierWalker extends SyntaxWalker {
public list: IIndexable;
constructor(list: IIndexable);
public visitToken(token: ISyntaxToken): void;
}
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;
}
enum PullElementFlags {
None = 0,
Exported = 1,
Private,
Public,
Ambient,
Static,
Optional,
Signature,
Enum,
ArrowFunction,
ClassConstructorVariable,
InitializedModule,
InitializedDynamicModule,
MustCaptureThis,
DeclaredInAWithBlock,
HasReturnStatement,
PropertyParameter,
IsAnnotatedWithAny,
HasDefaultArgs,
ConstructorParameter,
ImplicitVariable,
SomeInitializedModule,
}
function hasModifier(modifiers: PullElementFlags[], flag: PullElementFlags): boolean;
enum PullElementKind {
None = 0,
Global = 0,
Script,
Primitive,
Container,
Class,
Interface,
DynamicModule,
Enum,
TypeAlias,
ObjectLiteral,
Variable,
CatchVariable,
Parameter,
Property,
TypeParameter,
Function,
ConstructorMethod,
Method,
FunctionExpression,
GetAccessor,
SetAccessor,
CallSignature,
ConstructSignature,
IndexSignature,
ObjectType,
FunctionType,
ConstructorType,
EnumMember,
WithBlock,
CatchBlock,
All,
SomeFunction,
SomeValue,
SomeType,
AcceptableAlias,
SomeContainer,
SomeSignature,
SomeTypeReference,
SomeInstantiatableType,
}
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;
/** Use getName for type checking purposes, and getDisplayName to report an error or display info to the user.
* They will differ when the identifier is an escaped unicode character or the identifier "__proto__".
*/
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(): void;
}
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[];
}
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 findAliasedType(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;
/** Use getName for type checking purposes, and getDisplayName to report an error or display info to the user.
* They will differ when the identifier is an escaped unicode character or the identifier "__proto__".
*/
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,
}
class PullTypeEnclosingTypeWalker {
private currentSymbols;
public getEnclosingType(): PullTypeSymbol;
public _canWalkStructure(): boolean;
public _getCurrentSymbol(): PullSymbol;
public getGenerativeClassification(): GenerativeTypeClassification;
private _pushSymbol(symbol);
private _popSymbol();
private _setEnclosingTypeOfParentDecl(decl, setSignature);
private _setEnclosingTypeWorker(symbol, setSignature);
public setCurrentSymbol(symbol: PullSymbol): void;
public startWalkingType(symbol: PullTypeSymbol): PullSymbol[];
public endWalkingType(currentSymbolsWhenStartedWalkingTypes: PullSymbol[]): void;
public setEnclosingType(symbol: PullSymbol): 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;
}
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;
public enclosingTypeWalker1: PullTypeEnclosingTypeWalker;
public enclosingTypeWalker2: PullTypeEnclosingTypeWalker;
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): {
symbolsWhenStartedWalkingTypes1: PullSymbol[];
symbolsWhenStartedWalkingTypes2: PullSymbol[];
};
public endWalkingTypes(symbolsWhenStartedWalkingTypes: {
symbolsWhenStartedWalkingTypes1: PullSymbol[];
symbolsWhenStartedWalkingTypes2: PullSymbol[];
}): void;
public setEnclosingTypes(symbol1: PullSymbol, symbol2: PullSymbol): void;
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 resetEnclosingTypeWalkers(): {
enclosingTypeWalker1: PullTypeEnclosingTypeWalker;
enclosingTypeWalker2: PullTypeEnclosingTypeWalker;
};
public setEnclosingTypeWalkers(enclosingTypeWalkers: {
enclosingTypeWalker1: PullTypeEnclosingTypeWalker;
enclosingTypeWalker2: PullTypeEnclosingTypeWalker;
}): void;
}
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, sourceSubstitution, 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;
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;
}
module DeclarationCreator {
function create(document: Document, semanticInfoChain: SemanticInfoChain, compilationSettings: ImmutableCompilationSettings): PullDecl;
}
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);
}
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;
}
}
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;
}
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;
}
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;
}
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[];
/** Used for diagnostics in tests */
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);
static getFullDiagnosticText(diagnostic: Diagnostic): string;
}
function compareDataObjects(dst: any, src: any): boolean;
interface IFindFileResult {
fileInformation: FileInformation;
path: string;
}
interface IFileWatcher {
close(): void;
}
interface IIO {
readFile(path: string, codepage: number): FileInformation;
appendFile(path: string, contents: string): void;
writeFile(path: string, contents: string, writeByteOrderMark: boolean): void;
deleteFile(path: string): void;
dir(path: string, re?: RegExp, options?: {
recursive?: boolean;
}): string[];
fileExists(path: string): boolean;
directoryExists(path: string): boolean;
createDirectory(path: string): void;
resolvePath(path: string): string;
dirName(path: string): string;
findFile(rootPath: string, partialFilePath: string): IFindFileResult;
print(str: string): void;
printLine(str: string): void;
arguments: string[];
stderr: ITextWriter;
stdout: ITextWriter;
watchFile(fileName: string, callback: (x: string) => void): IFileWatcher;
run(source: string, fileName: string): void;
getExecutingFilePath(): string;
quit(exitCode?: number): void;
}
module IOUtils {
function writeFileAndFolderStructure(ioHost: IIO, fileName: string, contents: string, writeByteOrderMark: boolean): void;
function throwIOError(message: string, error: Error): void;
function combine(prefix: string, suffix: string): string;
class BufferedTextWriter implements ITextWriter {
public writer: {
Write: (str: string) => void;
Close: () => void;
};
public capacity: number;
public buffer: string;
constructor(writer: {
Write: (str: string) => void;
Close: () => void;
}, capacity?: number);
public Write(str: string): void;
public WriteLine(str: string): void;
public Close(): void;
}
}
var IO: IIO;
interface IOptions {
name?: string;
flag?: boolean;
short?: string;
usage?: {
locCode: string;
args: string[];
};
set?: (s: string) => void;
type?: string;
experimental?: boolean;
}
class OptionsParser {
public host: IIO;
public version: string;
private DEFAULT_SHORT_FLAG;
private DEFAULT_LONG_FLAG;
private printedVersion;
private findOption(arg);
public unnamed: string[];
public options: IOptions[];
constructor(host: IIO, version: string);
public printUsage(): void;
public printVersion(): void;
public option(name: string, config: IOptions, short?: string): void;
public flag(name: string, config: IOptions, short?: string): void;
public parseString(argString: string): void;
public parse(args: string[]): void;
}
class BatchCompiler implements IReferenceResolverHost {
private ioHost;
public compilerVersion: string;
private inputFiles;
private compilationSettings;
private resolvedFiles;
private fileNameToSourceFile;
private hasErrors;
private logger;
constructor(ioHost: IIO);
public batchCompile(): void;
private resolve();
private compile();
private parseOptions();
private setLocale(locale);
private setLanguageAndTerritory(language, territory);
private watchFiles();
private getSourceFile(fileName);
private getDefaultLibraryFilePath();
public getScriptSnapshot(fileName: string): IScriptSnapshot;
public resolveRelativePath(path: string, directory: string): string;
private fileExistsCache;
public fileExists(path: string): boolean;
public getParentDirectory(path: string): string;
private addDiagnostic(diagnostic);
private tryWriteOutputFiles(outputFiles);
public writeFile(fileName: string, contents: string, writeByteOrderMark: boolean): void;
public directoryExists(path: string): boolean;
private resolvePathCache;
public resolvePath(path: string): string;
}
module Syntax {
var emptySeparatedList: ISeparatedSyntaxList;
function separatedList(nodes: ISyntaxNodeOrToken[]): ISeparatedSyntaxList;
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;
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;
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;
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;
}
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;
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[];
var emptyTriviaList: ISyntaxTriviaList;
function triviaList(trivia: ISyntaxTrivia[]): ISyntaxTriviaList;
var spaceTriviaList: ISyntaxTriviaList;
}
module 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;
function isDirectivePrologueElement(node: ISyntaxNodeOrToken): boolean;
function isUseStrictDirective(node: ISyntaxNodeOrToken): boolean;
function isIdentifierNameOrAnyKeyword(token: ISyntaxToken): boolean;
}
}
declare class Enumerator {
public atEnd(): boolean;
public moveNext(): boolean;
public item(): any;
constructor(o: any);
}
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;
}