UNPKG

453 kBTypeScriptView Raw
1///<reference path='bower_components/dt-node/node.d.ts'/>
2declare module "typescript-api" {
3 var DiagnosticCode: {
4 error_TS_0_1: string;
5 warning_TS_0_1: string;
6 Unrecognized_escape_sequence: string;
7 Unexpected_character_0: string;
8 Missing_close_quote_character: string;
9 Identifier_expected: string;
10 _0_keyword_expected: string;
11 _0_expected: string;
12 Identifier_expected_0_is_a_keyword: string;
13 Automatic_semicolon_insertion_not_allowed: string;
14 Unexpected_token_0_expected: string;
15 Trailing_separator_not_allowed: string;
16 AsteriskSlash_expected: string;
17 public_or_private_modifier_must_precede_static: string;
18 Unexpected_token: string;
19 Catch_clause_parameter_cannot_have_a_type_annotation: string;
20 Rest_parameter_must_be_last_in_list: string;
21 Parameter_cannot_have_question_mark_and_initializer: string;
22 Required_parameter_cannot_follow_optional_parameter: string;
23 Index_signatures_cannot_have_rest_parameters: string;
24 Index_signature_parameter_cannot_have_accessibility_modifiers: string;
25 Index_signature_parameter_cannot_have_a_question_mark: string;
26 Index_signature_parameter_cannot_have_an_initializer: string;
27 Index_signature_must_have_a_type_annotation: string;
28 Index_signature_parameter_must_have_a_type_annotation: string;
29 Index_signature_parameter_type_must_be_string_or_number: string;
30 extends_clause_already_seen: string;
31 extends_clause_must_precede_implements_clause: string;
32 Classes_can_only_extend_a_single_class: string;
33 implements_clause_already_seen: string;
34 Accessibility_modifier_already_seen: string;
35 _0_modifier_must_precede_1_modifier: string;
36 _0_modifier_already_seen: string;
37 _0_modifier_cannot_appear_on_a_class_element: string;
38 Interface_declaration_cannot_have_implements_clause: string;
39 super_invocation_cannot_have_type_arguments: string;
40 Only_ambient_modules_can_use_quoted_names: string;
41 Statements_are_not_allowed_in_ambient_contexts: string;
42 Implementations_are_not_allowed_in_ambient_contexts: string;
43 declare_modifier_not_allowed_for_code_already_in_an_ambient_context: string;
44 Initializers_are_not_allowed_in_ambient_contexts: string;
45 Parameter_property_declarations_can_only_be_used_in_a_non_ambient_constructor_declaration: string;
46 Function_implementation_expected: string;
47 Constructor_implementation_expected: string;
48 Function_overload_name_must_be_0: string;
49 _0_modifier_cannot_appear_on_a_module_element: string;
50 declare_modifier_cannot_appear_on_an_interface_declaration: string;
51 declare_modifier_required_for_top_level_element: string;
52 Rest_parameter_cannot_be_optional: string;
53 Rest_parameter_cannot_have_an_initializer: string;
54 set_accessor_must_have_one_and_only_one_parameter: string;
55 set_accessor_parameter_cannot_be_optional: string;
56 set_accessor_parameter_cannot_have_an_initializer: string;
57 set_accessor_cannot_have_rest_parameter: string;
58 get_accessor_cannot_have_parameters: string;
59 Modifiers_cannot_appear_here: string;
60 Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: string;
61 Class_name_cannot_be_0: string;
62 Interface_name_cannot_be_0: string;
63 Enum_name_cannot_be_0: string;
64 Module_name_cannot_be_0: string;
65 Enum_member_must_have_initializer: string;
66 Export_assignment_cannot_be_used_in_internal_modules: string;
67 Export_assignment_not_allowed_in_module_with_exported_element: string;
68 Module_cannot_have_multiple_export_assignments: string;
69 Ambient_enum_elements_can_only_have_integer_literal_initializers: string;
70 module_class_interface_enum_import_or_statement: string;
71 constructor_function_accessor_or_variable: string;
72 statement: string;
73 case_or_default_clause: string;
74 identifier: string;
75 call_construct_index_property_or_function_signature: string;
76 expression: string;
77 type_name: string;
78 property_or_accessor: string;
79 parameter: string;
80 type: string;
81 type_parameter: string;
82 declare_modifier_not_allowed_on_import_declaration: string;
83 Function_overload_must_be_static: string;
84 Function_overload_must_not_be_static: string;
85 Parameter_property_declarations_cannot_be_used_in_a_constructor_overload: string;
86 Invalid_reference_directive_syntax: string;
87 Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher: string;
88 Accessors_are_not_allowed_in_ambient_contexts: string;
89 _0_modifier_cannot_appear_on_a_constructor_declaration: string;
90 _0_modifier_cannot_appear_on_a_parameter: string;
91 Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: string;
92 Type_parameters_cannot_appear_on_a_constructor_declaration: string;
93 Type_annotation_cannot_appear_on_a_constructor_declaration: string;
94 Duplicate_identifier_0: string;
95 The_name_0_does_not_exist_in_the_current_scope: string;
96 The_name_0_does_not_refer_to_a_value: string;
97 super_can_only_be_used_inside_a_class_instance_method: string;
98 The_left_hand_side_of_an_assignment_expression_must_be_a_variable_property_or_indexer: string;
99 Value_of_type_0_is_not_callable_Did_you_mean_to_include_new: string;
100 Value_of_type_0_is_not_callable: string;
101 Value_of_type_0_is_not_newable: string;
102 Value_of_type_0_is_not_indexable_by_type_1: string;
103 Operator_0_cannot_be_applied_to_types_1_and_2: string;
104 Operator_0_cannot_be_applied_to_types_1_and_2_3: string;
105 Cannot_convert_0_to_1: string;
106 Cannot_convert_0_to_1_NL_2: string;
107 Expected_var_class_interface_or_module: string;
108 Operator_0_cannot_be_applied_to_type_1: string;
109 Getter_0_already_declared: string;
110 Setter_0_already_declared: string;
111 Exported_class_0_extends_private_class_1: string;
112 Exported_class_0_implements_private_interface_1: string;
113 Exported_interface_0_extends_private_interface_1: string;
114 Exported_class_0_extends_class_from_inaccessible_module_1: string;
115 Exported_class_0_implements_interface_from_inaccessible_module_1: string;
116 Exported_interface_0_extends_interface_from_inaccessible_module_1: string;
117 Public_static_property_0_of_exported_class_has_or_is_using_private_type_1: string;
118 Public_property_0_of_exported_class_has_or_is_using_private_type_1: string;
119 Property_0_of_exported_interface_has_or_is_using_private_type_1: string;
120 Exported_variable_0_has_or_is_using_private_type_1: string;
121 Public_static_property_0_of_exported_class_is_using_inaccessible_module_1: string;
122 Public_property_0_of_exported_class_is_using_inaccessible_module_1: string;
123 Property_0_of_exported_interface_is_using_inaccessible_module_1: string;
124 Exported_variable_0_is_using_inaccessible_module_1: string;
125 Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_type_1: string;
126 Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_type_1: string;
127 Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_type_1: string;
128 Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_type_1: string;
129 Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_type_1: string;
130 Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_type_1: string;
131 Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_type_1: string;
132 Parameter_0_of_method_from_exported_interface_has_or_is_using_private_type_1: string;
133 Parameter_0_of_exported_function_has_or_is_using_private_type_1: string;
134 Parameter_0_of_constructor_from_exported_class_is_using_inaccessible_module_1: string;
135 Parameter_0_of_public_static_property_setter_from_exported_class_is_using_inaccessible_module_1: string;
136 Parameter_0_of_public_property_setter_from_exported_class_is_using_inaccessible_module_1: string;
137 Parameter_0_of_constructor_signature_from_exported_interface_is_using_inaccessible_module_1: string;
138 Parameter_0_of_call_signature_from_exported_interface_is_using_inaccessible_module_1: string;
139 Parameter_0_of_public_static_method_from_exported_class_is_using_inaccessible_module_1: string;
140 Parameter_0_of_public_method_from_exported_class_is_using_inaccessible_module_1: string;
141 Parameter_0_of_method_from_exported_interface_is_using_inaccessible_module_1: string;
142 Parameter_0_of_exported_function_is_using_inaccessible_module_1: string;
143 Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_type_0: string;
144 Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_type_0: string;
145 Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_type_0: string;
146 Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_type_0: string;
147 Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_type_0: string;
148 Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_type_0: string;
149 Return_type_of_public_method_from_exported_class_has_or_is_using_private_type_0: string;
150 Return_type_of_method_from_exported_interface_has_or_is_using_private_type_0: string;
151 Return_type_of_exported_function_has_or_is_using_private_type_0: string;
152 Return_type_of_public_static_property_getter_from_exported_class_is_using_inaccessible_module_0: string;
153 Return_type_of_public_property_getter_from_exported_class_is_using_inaccessible_module_0: string;
154 Return_type_of_constructor_signature_from_exported_interface_is_using_inaccessible_module_0: string;
155 Return_type_of_call_signature_from_exported_interface_is_using_inaccessible_module_0: string;
156 Return_type_of_index_signature_from_exported_interface_is_using_inaccessible_module_0: string;
157 Return_type_of_public_static_method_from_exported_class_is_using_inaccessible_module_0: string;
158 Return_type_of_public_method_from_exported_class_is_using_inaccessible_module_0: string;
159 Return_type_of_method_from_exported_interface_is_using_inaccessible_module_0: string;
160 Return_type_of_exported_function_is_using_inaccessible_module_0: string;
161 new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: string;
162 A_parameter_list_must_follow_a_generic_type_argument_list_expected: string;
163 Multiple_constructor_implementations_are_not_allowed: string;
164 Unable_to_resolve_external_module_0: string;
165 Module_cannot_be_aliased_to_a_non_module_type: string;
166 A_class_may_only_extend_another_class: string;
167 A_class_may_only_implement_another_class_or_interface: string;
168 An_interface_may_only_extend_another_class_or_interface: string;
169 Unable_to_resolve_type: string;
170 Unable_to_resolve_type_of_0: string;
171 Unable_to_resolve_type_parameter_constraint: string;
172 Type_parameter_constraint_cannot_be_a_primitive_type: string;
173 Supplied_parameters_do_not_match_any_signature_of_call_target: string;
174 Supplied_parameters_do_not_match_any_signature_of_call_target_NL_0: string;
175 Invalid_new_expression: string;
176 Call_signatures_used_in_a_new_expression_must_have_a_void_return_type: string;
177 Could_not_select_overload_for_new_expression: string;
178 Type_0_does_not_satisfy_the_constraint_1_for_type_parameter_2: string;
179 Could_not_select_overload_for_call_expression: string;
180 Cannot_invoke_an_expression_whose_type_lacks_a_call_signature: string;
181 Calls_to_super_are_only_valid_inside_a_class: string;
182 Generic_type_0_requires_1_type_argument_s: string;
183 Type_of_array_literal_cannot_be_determined_Best_common_type_could_not_be_found_for_array_elements: string;
184 Could_not_find_enclosing_symbol_for_dotted_name_0: string;
185 The_property_0_does_not_exist_on_value_of_type_1: string;
186 Could_not_find_symbol_0: string;
187 get_and_set_accessor_must_have_the_same_type: string;
188 this_cannot_be_referenced_in_current_location: string;
189 Static_members_cannot_reference_class_type_parameters: string;
190 Class_0_is_recursively_referenced_as_a_base_type_of_itself: string;
191 Interface_0_is_recursively_referenced_as_a_base_type_of_itself: string;
192 super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class: string;
193 super_cannot_be_referenced_in_non_derived_classes: string;
194 A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties: string;
195 Constructors_for_derived_classes_must_contain_a_super_call: string;
196 Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors: string;
197 _0_1_is_inaccessible: string;
198 this_cannot_be_referenced_within_module_bodies: string;
199 Invalid_expression_types_not_known_to_support_the_addition_operator: string;
200 The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: string;
201 The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: string;
202 The_type_of_a_unary_arithmetic_operation_operand_must_be_of_type_any_number_or_an_enum_type: string;
203 Variable_declarations_of_a_for_statement_cannot_use_a_type_annotation: string;
204 Variable_declarations_of_a_for_statement_must_be_of_types_string_or_any: string;
205 The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter: string;
206 The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number: string;
207 The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: string;
208 The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: string;
209 The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type: string;
210 Setters_cannot_return_a_value: string;
211 Tried_to_query_type_of_uninitialized_module_0: string;
212 Tried_to_set_variable_type_to_uninitialized_module_type_0: string;
213 Type_0_does_not_have_type_parameters: string;
214 Getters_must_return_a_value: string;
215 Getter_and_setter_accessors_do_not_agree_in_visibility: string;
216 Invalid_left_hand_side_of_assignment_expression: string;
217 Function_declared_a_non_void_return_type_but_has_no_return_expression: string;
218 Cannot_resolve_return_type_reference: string;
219 Constructors_cannot_have_a_return_type_of_void: string;
220 Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2: string;
221 All_symbols_within_a_with_block_will_be_resolved_to_any: string;
222 Import_declarations_in_an_internal_module_cannot_reference_an_external_module: string;
223 Class_0_declares_interface_1_but_does_not_implement_it_NL_2: string;
224 Class_0_declares_class_1_as_an_interface_but_does_not_implement_it_NL_2: string;
225 The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer: string;
226 this_cannot_be_referenced_in_static_initializers_in_a_class_body: string;
227 Class_0_cannot_extend_class_1_NL_2: string;
228 Interface_0_cannot_extend_class_1_NL_2: string;
229 Interface_0_cannot_extend_interface_1_NL_2: string;
230 Duplicate_overload_signature_for_0: string;
231 Duplicate_constructor_overload_signature: string;
232 Duplicate_overload_call_signature: string;
233 Duplicate_overload_construct_signature: string;
234 Overload_signature_is_not_compatible_with_function_definition: string;
235 Overload_signature_is_not_compatible_with_function_definition_NL_0: string;
236 Overload_signatures_must_all_be_public_or_private: string;
237 Overload_signatures_must_all_be_exported_or_not_exported: string;
238 Overload_signatures_must_all_be_ambient_or_non_ambient: string;
239 Overload_signatures_must_all_be_optional_or_required: string;
240 Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature: string;
241 this_cannot_be_referenced_in_constructor_arguments: string;
242 Instance_member_cannot_be_accessed_off_a_class: string;
243 Untyped_function_calls_may_not_accept_type_arguments: string;
244 Non_generic_functions_may_not_accept_type_arguments: string;
245 A_generic_type_may_not_reference_itself_with_a_wrapped_form_of_its_own_type_parameters: string;
246 Rest_parameters_must_be_array_types: string;
247 Overload_signature_implementation_cannot_use_specialized_type: string;
248 Export_assignments_may_only_be_used_at_the_top_level_of_external_modules: string;
249 Export_assignments_may_only_be_made_with_variables_functions_classes_interfaces_enums_and_internal_modules: string;
250 Only_public_methods_of_the_base_class_are_accessible_via_the_super_keyword: string;
251 Numeric_indexer_type_0_must_be_assignable_to_string_indexer_type_1: string;
252 Numeric_indexer_type_0_must_be_assignable_to_string_indexer_type_1_NL_2: string;
253 All_numerically_named_properties_must_be_assignable_to_numeric_indexer_type_0: string;
254 All_numerically_named_properties_must_be_assignable_to_numeric_indexer_type_0_NL_1: string;
255 All_named_properties_must_be_assignable_to_string_indexer_type_0: string;
256 All_named_properties_must_be_assignable_to_string_indexer_type_0_NL_1: string;
257 Generic_type_references_must_include_all_type_arguments: string;
258 Default_arguments_are_only_allowed_in_implementation: string;
259 Overloads_cannot_differ_only_by_return_type: string;
260 Function_expression_declared_a_non_void_return_type_but_has_no_return_expression: string;
261 Import_declaration_referencing_identifier_from_internal_module_can_only_be_made_with_variables_functions_classes_interfaces_enums_and_internal_modules: string;
262 Could_not_find_symbol_0_in_module_1: string;
263 Unable_to_resolve_module_reference_0: string;
264 Could_not_find_module_0_in_module_1: string;
265 Exported_import_declaration_0_is_assigned_value_with_type_that_has_or_is_using_private_type_1: string;
266 Exported_import_declaration_0_is_assigned_value_with_type_that_is_using_inaccessible_module_1: string;
267 Exported_import_declaration_0_is_assigned_type_that_has_or_is_using_private_type_1: string;
268 Exported_import_declaration_0_is_assigned_type_that_is_using_inaccessible_module_1: string;
269 Exported_import_declaration_0_is_assigned_container_that_is_or_is_using_inaccessible_module_1: string;
270 Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_1: string;
271 Internal_module_reference_0_in_import_declaration_does_not_reference_module_instance_for_1: string;
272 Module_0_cannot_merge_with_previous_declaration_of_1_in_a_different_file_2: string;
273 Interface_0_cannot_simultaneously_extend_types_1_and_2_NL_3: string;
274 Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it: string;
275 Ambient_external_module_declaration_cannot_be_reopened: string;
276 All_declarations_of_merged_declaration_0_must_be_exported_or_not_exported: string;
277 super_cannot_be_referenced_in_constructor_arguments: string;
278 Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class: string;
279 Ambient_external_module_declaration_must_be_defined_in_global_context: string;
280 Ambient_external_module_declaration_cannot_specify_relative_module_name: string;
281 Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name: string;
282 Could_not_find_the_best_common_type_of_types_of_all_return_statement_expressions: string;
283 Import_declaration_cannot_refer_to_external_module_reference_when_noResolve_option_is_set: string;
284 Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference: string;
285 continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: string;
286 break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: string;
287 Jump_target_not_found: string;
288 Jump_target_cannot_cross_function_boundary: string;
289 Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference: string;
290 Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference: string;
291 Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference: string;
292 TypeParameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_type_1: string;
293 TypeParameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_type_1: string;
294 TypeParameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_type_1: string;
295 TypeParameter_0_of_public_method_from_exported_class_has_or_is_using_private_type_1: string;
296 TypeParameter_0_of_method_from_exported_interface_has_or_is_using_private_type_1: string;
297 TypeParameter_0_of_exported_function_has_or_is_using_private_type_1: string;
298 TypeParameter_0_of_constructor_signature_from_exported_interface_is_using_inaccessible_module_1: string;
299 TypeParameter_0_of_call_signature_from_exported_interface_is_using_inaccessible_module_1: string;
300 TypeParameter_0_of_public_static_method_from_exported_class_is_using_inaccessible_module_1: string;
301 TypeParameter_0_of_public_method_from_exported_class_is_using_inaccessible_module_1: string;
302 TypeParameter_0_of_method_from_exported_interface_is_using_inaccessible_module_1: string;
303 TypeParameter_0_of_exported_function_is_using_inaccessible_module_1: string;
304 TypeParameter_0_of_exported_class_has_or_is_using_private_type_1: string;
305 TypeParameter_0_of_exported_interface_has_or_is_using_private_type_1: string;
306 TypeParameter_0_of_exported_class_is_using_inaccessible_module_1: string;
307 TypeParameter_0_of_exported_interface_is_using_inaccessible_module_1: string;
308 Duplicate_identifier_i_Compiler_uses_i_to_initialize_rest_parameter: string;
309 Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters: string;
310 Type_of_conditional_0_must_be_identical_to_1_or_2: string;
311 Type_of_conditional_0_must_be_identical_to_1_2_or_3: string;
312 Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_an_external_module: string;
313 Constraint_of_a_type_parameter_cannot_reference_any_type_parameter_from_the_same_type_parameter_list: string;
314 Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: string;
315 Parameter_0_cannot_be_referenced_in_its_initializer: string;
316 Duplicate_string_index_signature: string;
317 Duplicate_number_index_signature: string;
318 All_declarations_of_an_interface_must_have_identical_type_parameters: string;
319 Expression_resolves_to_variable_declaration_i_that_compiler_uses_to_initialize_rest_parameter: string;
320 Type_0_is_missing_property_1_from_type_2: string;
321 Types_of_property_0_of_types_1_and_2_are_incompatible: string;
322 Types_of_property_0_of_types_1_and_2_are_incompatible_NL_3: string;
323 Property_0_defined_as_private_in_type_1_is_defined_as_public_in_type_2: string;
324 Property_0_defined_as_public_in_type_1_is_defined_as_private_in_type_2: string;
325 Types_0_and_1_define_property_2_as_private: string;
326 Call_signatures_of_types_0_and_1_are_incompatible: string;
327 Call_signatures_of_types_0_and_1_are_incompatible_NL_2: string;
328 Type_0_requires_a_call_signature_but_type_1_lacks_one: string;
329 Construct_signatures_of_types_0_and_1_are_incompatible: string;
330 Construct_signatures_of_types_0_and_1_are_incompatible_NL_2: string;
331 Type_0_requires_a_construct_signature_but_type_1_lacks_one: string;
332 Index_signatures_of_types_0_and_1_are_incompatible: string;
333 Index_signatures_of_types_0_and_1_are_incompatible_NL_2: string;
334 Call_signature_expects_0_or_fewer_parameters: string;
335 Could_not_apply_type_0_to_argument_1_which_is_of_type_2: string;
336 Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function: string;
337 Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function: string;
338 Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor: string;
339 Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property: string;
340 Types_of_static_property_0_of_class_1_and_class_2_are_incompatible: string;
341 Types_of_static_property_0_of_class_1_and_class_2_are_incompatible_NL_3: string;
342 Type_reference_cannot_refer_to_container_0: string;
343 Type_reference_must_refer_to_type: string;
344 In_enums_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_the_first_enum_element: string;
345 _0_overload_s: string;
346 Variable_declaration_cannot_have_the_same_name_as_an_import_declaration: string;
347 Signature_expected_0_type_arguments_got_1_instead: string;
348 Property_0_defined_as_optional_in_type_1_but_is_required_in_type_2: string;
349 Types_0_and_1_originating_in_infinitely_expanding_type_reference_do_not_refer_to_same_named_type: string;
350 Types_0_and_1_originating_in_infinitely_expanding_type_reference_have_incompatible_type_arguments: string;
351 Types_0_and_1_originating_in_infinitely_expanding_type_reference_have_incompatible_type_arguments_NL_2: string;
352 Named_properties_0_of_types_1_and_2_are_not_identical: string;
353 Types_of_string_indexer_of_types_0_and_1_are_not_identical: string;
354 Types_of_number_indexer_of_types_0_and_1_are_not_identical: string;
355 Type_of_number_indexer_in_type_0_is_not_assignable_to_string_indexer_type_in_type_1_NL_2: string;
356 Type_of_property_0_in_type_1_is_not_assignable_to_string_indexer_type_in_type_2_NL_3: string;
357 Type_of_property_0_in_type_1_is_not_assignable_to_number_indexer_type_in_type_2_NL_3: string;
358 Static_property_0_defined_as_private_in_type_1_is_defined_as_public_in_type_2: string;
359 Static_property_0_defined_as_public_in_type_1_is_defined_as_private_in_type_2: string;
360 Types_0_and_1_define_static_property_2_as_private: string;
361 Current_host_does_not_support_0_option: string;
362 ECMAScript_target_version_0_not_supported_Specify_a_valid_target_version_1_default_or_2: string;
363 Module_code_generation_0_not_supported: string;
364 Could_not_find_file_0: string;
365 A_file_cannot_have_a_reference_to_itself: string;
366 Cannot_resolve_referenced_file_0: string;
367 Cannot_find_the_common_subdirectory_path_for_the_input_files: string;
368 Emit_Error_0: string;
369 Cannot_read_file_0_1: string;
370 Unsupported_file_encoding: string;
371 Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: string;
372 Unsupported_locale_0: string;
373 Execution_Failed_NL: string;
374 Invalid_call_to_up: string;
375 Invalid_call_to_down: string;
376 Base64_value_0_finished_with_a_continuation_bit: string;
377 Unknown_option_0: string;
378 Expected_0_arguments_to_message_got_1_instead: string;
379 Expected_the_message_0_to_have_1_arguments_but_it_had_2: string;
380 Could_not_delete_file_0: string;
381 Could_not_create_directory_0: string;
382 Error_while_executing_file_0: string;
383 Cannot_compile_external_modules_unless_the_module_flag_is_provided: string;
384 Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option: string;
385 Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: string;
386 Options_mapRoot_and_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: string;
387 Option_0_specified_without_1: string;
388 codepage_option_not_supported_on_current_platform: string;
389 Concatenate_and_emit_output_to_single_file: string;
390 Generates_corresponding_0_file: string;
391 Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: string;
392 Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations: string;
393 Watch_input_files: string;
394 Redirect_output_structure_to_the_directory: string;
395 Do_not_emit_comments_to_output: string;
396 Skip_resolution_and_preprocessing: string;
397 Specify_ECMAScript_target_version_0_default_or_1: string;
398 Specify_module_code_generation_0_or_1: string;
399 Print_this_message: string;
400 Print_the_compiler_s_version_0: string;
401 Allow_use_of_deprecated_0_keyword_when_referencing_an_external_module: string;
402 Specify_locale_for_errors_and_messages_For_example_0_or_1: string;
403 Syntax_0: string;
404 options: string;
405 file1: string;
406 Examples: string;
407 Options: string;
408 Insert_command_line_options_and_files_from_a_file: string;
409 Version_0: string;
410 Use_the_0_flag_to_see_options: string;
411 NL_Recompiling_0: string;
412 STRING: string;
413 KIND: string;
414 file2: string;
415 VERSION: string;
416 LOCATION: string;
417 DIRECTORY: string;
418 NUMBER: string;
419 Specify_the_codepage_to_use_when_opening_source_files: string;
420 Additional_locations: string;
421 This_version_of_the_Javascript_runtime_does_not_support_the_0_function: string;
422 Unknown_rule: string;
423 Invalid_line_number_0: string;
424 Warn_on_expressions_and_declarations_with_an_implied_any_type: string;
425 Variable_0_implicitly_has_an_any_type: string;
426 Parameter_0_of_1_implicitly_has_an_any_type: string;
427 Parameter_0_of_function_type_implicitly_has_an_any_type: string;
428 Member_0_of_object_type_implicitly_has_an_any_type: string;
429 new_expression_which_lacks_a_constructor_signature_implicitly_has_an_any_type: string;
430 _0_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string;
431 Function_expression_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string;
432 Parameter_0_of_lambda_function_implicitly_has_an_any_type: string;
433 Constructor_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string;
434 Lambda_Function_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: string;
435 Array_Literal_implicitly_has_an_any_type_from_widening: string;
436 _0_which_lacks_get_accessor_and_parameter_type_annotation_on_set_accessor_implicitly_has_an_any_type: string;
437 Index_signature_of_object_type_implicitly_has_an_any_type: string;
438 Object_literal_s_property_0_implicitly_has_an_any_type_from_widening: string;
439 };
440 class ArrayUtilities {
441 static isArray(value: any): boolean;
442 static sequenceEquals<T>(array1: T[], array2: T[], equals: (v1: T, v2: T) => boolean): boolean;
443 static contains<T>(array: T[], value: T): boolean;
444 static groupBy<T>(array: T[], func: (v: T) => string): any;
445 static distinct<T>(array: T[], equalsFn?: (a: T, b: T) => boolean): T[];
446 static min<T>(array: T[], func: (v: T) => number): number;
447 static max<T>(array: T[], func: (v: T) => number): number;
448 static last<T>(array: T[]): T;
449 static lastOrDefault<T>(array: T[], predicate: (v: T, index: number) => boolean): T;
450 static firstOrDefault<T>(array: T[], func: (v: T, index: number) => boolean): T;
451 static first<T>(array: T[], func?: (v: T, index: number) => boolean): T;
452 static sum<T>(array: T[], func: (v: T) => number): number;
453 static select<T, S>(values: T[], func: (v: T) => S): S[];
454 static where<T>(values: T[], func: (v: T) => boolean): T[];
455 static any<T>(array: T[], func: (v: T) => boolean): boolean;
456 static all<T>(array: T[], func: (v: T) => boolean): boolean;
457 static binarySearch(array: number[], value: number): number;
458 static createArray<T>(length: number, defaultValue: any): T[];
459 static grow<T>(array: T[], length: number, defaultValue: T): void;
460 static copy<T>(sourceArray: T[], sourceIndex: number, destinationArray: T[], destinationIndex: number, length: number): void;
461 static indexOf<T>(array: T[], predicate: (v: T) => boolean): number;
462 }
463 interface IBitVector {
464 valueAt(index: number): boolean;
465 setValueAt(index: number, value: boolean): void;
466 release(): void;
467 }
468 module BitVector {
469 function getBitVector(allowUndefinedValues: boolean): IBitVector;
470 }
471 interface IBitMatrix {
472 valueAt(x: number, y: number): boolean;
473 setValueAt(x: number, y: number, value: boolean): void;
474 release(): void;
475 }
476 module BitMatrix {
477 function getBitMatrix(allowUndefinedValues: boolean): IBitMatrix;
478 }
479 enum Constants {
480 Max31BitInteger = 1073741823,
481 Min31BitInteger = -1073741824,
482 }
483 enum AssertionLevel {
484 None = 0,
485 Normal = 1,
486 Aggressive = 2,
487 VeryAggressive = 3,
488 }
489 class Debug {
490 private static currentAssertionLevel;
491 static shouldAssert(level: AssertionLevel): boolean;
492 static assert(expression: any, message?: string, verboseDebugInfo?: () => string): void;
493 static fail(message?: string): void;
494 }
495 var LocalizedDiagnosticMessages: IIndexable<any>;
496 class Location {
497 private _fileName;
498 private _lineMap;
499 private _start;
500 private _length;
501 constructor(fileName: string, lineMap: LineMap, start: number, length: number);
502 public fileName(): string;
503 public lineMap(): LineMap;
504 public line(): number;
505 public character(): number;
506 public start(): number;
507 public length(): number;
508 static equals(location1: Location, location2: Location): boolean;
509 }
510 class Diagnostic extends Location {
511 private _diagnosticKey;
512 private _arguments;
513 private _additionalLocations;
514 constructor(fileName: string, lineMap: LineMap, start: number, length: number, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]);
515 public toJSON(key: any): any;
516 public diagnosticKey(): string;
517 public arguments(): any[];
518 /**
519 * Get the text of the message in the given language.
520 */
521 public text(): string;
522 /**
523 * Get the text of the message including the error code in the given language.
524 */
525 public message(): string;
526 /**
527 * If a derived class has additional information about other referenced symbols, it can
528 * expose the locations of those symbols in a general way, so they can be reported along
529 * with the error.
530 */
531 public additionalLocations(): Location[];
532 static equals(diagnostic1: Diagnostic, diagnostic2: Diagnostic): boolean;
533 public info(): DiagnosticInfo;
534 }
535 function newLine(): string;
536 function getLocalizedText(diagnosticKey: string, args: any[]): string;
537 function getDiagnosticMessage(diagnosticKey: string, args: any[]): string;
538 interface DiagnosticInfo {
539 category: DiagnosticCategory;
540 message: string;
541 code: number;
542 }
543 class Errors {
544 static argument(argument: string, message?: string): Error;
545 static argumentOutOfRange(argument: string): Error;
546 static argumentNull(argument: string): Error;
547 static abstract(): Error;
548 static notYetImplemented(): Error;
549 static invalidOperation(message?: string): Error;
550 }
551 class Hash {
552 private static FNV_BASE;
553 private static FNV_PRIME;
554 private static computeFnv1aCharArrayHashCode(text, start, len);
555 static computeSimple31BitCharArrayHashCode(key: number[], start: number, len: number): number;
556 static computeSimple31BitStringHashCode(key: string): number;
557 static computeMurmur2StringHashCode(key: string, seed: number): number;
558 private static primes;
559 static getPrime(min: number): number;
560 static expandPrime(oldSize: number): number;
561 static combine(value: number, currentHash: number): number;
562 }
563 module Collections {
564 var DefaultHashTableCapacity: number;
565 class HashTable<TKey, TValue> {
566 private hash;
567 private entries;
568 private count;
569 constructor(capacity: number, hash: (k: TKey) => number);
570 public set(key: TKey, value: TValue): void;
571 public add(key: TKey, value: TValue): void;
572 public containsKey(key: TKey): boolean;
573 public get(key: TKey): TValue;
574 private computeHashCode(key);
575 private addOrSet(key, value, throwOnExistingEntry);
576 private findEntry(key, hashCode);
577 private addEntry(key, value, hashCode);
578 private grow();
579 }
580 function createHashTable<TKey, TValue>(capacity?: number, hash?: (k: TKey) => number): HashTable<TKey, TValue>;
581 function identityHashCode(value: any): number;
582 var DefaultStringTableCapacity: number;
583 class StringTable {
584 private entries;
585 private count;
586 constructor(capacity: number);
587 public addCharArray(key: number[], start: number, len: number): string;
588 private findCharArrayEntry(key, start, len, hashCode);
589 private addEntry(text, hashCode);
590 private grow();
591 private static textCharArrayEquals(text, array, start, length);
592 }
593 var DefaultStringTable: StringTable;
594 }
595 var nodeMakeDirectoryTime: number;
596 var nodeCreateBufferTime: number;
597 var nodeWriteFileSyncTime: number;
598 enum ByteOrderMark {
599 None = 0,
600 Utf8 = 1,
601 Utf16BigEndian = 2,
602 Utf16LittleEndian = 3,
603 }
604 class FileInformation {
605 public contents: string;
606 public byteOrderMark: ByteOrderMark;
607 constructor(contents: string, byteOrderMark: ByteOrderMark);
608 }
609 interface IEnvironment {
610 supportsCodePage(): boolean;
611 readFile(path: string, codepage: number): FileInformation;
612 writeFile(path: string, contents: string, writeByteOrderMark: boolean): void;
613 deleteFile(path: string): void;
614 fileExists(path: string): boolean;
615 directoryExists(path: string): boolean;
616 listFiles(path: string, re?: RegExp, options?: {
617 recursive?: boolean;
618 }): string[];
619 arguments: string[];
620 standardOut: ITextWriter;
621 currentDirectory(): string;
622 newLine: string;
623 }
624 var Environment: IEnvironment;
625 interface IIndexable<T> {
626 [s: string]: T;
627 }
628 module IntegerUtilities {
629 function integerDivide(numerator: number, denominator: number): number;
630 function integerMultiplyLow32Bits(n1: number, n2: number): number;
631 function integerMultiplyHigh32Bits(n1: number, n2: number): number;
632 function isInteger(text: string): boolean;
633 function isHexInteger(text: string): boolean;
634 }
635 interface Iterator<T> {
636 moveNext(): boolean;
637 current(): T;
638 }
639 interface ILineAndCharacter {
640 line: number;
641 character: number;
642 }
643 class LineMap {
644 private _computeLineStarts;
645 private length;
646 static empty: LineMap;
647 private _lineStarts;
648 constructor(_computeLineStarts: () => number[], length: number);
649 public toJSON(key: any): {
650 lineStarts: number[];
651 length: number;
652 };
653 public equals(other: LineMap): boolean;
654 public lineStarts(): number[];
655 public lineCount(): number;
656 public getPosition(line: number, character: number): number;
657 public getLineNumberFromPosition(position: number): number;
658 public getLineStartPosition(lineNumber: number): number;
659 public fillLineAndCharacterFromPosition(position: number, lineAndCharacter: ILineAndCharacter): void;
660 public getLineAndCharacterFromPosition(position: number): LineAndCharacter;
661 }
662 class LineAndCharacter {
663 private _line;
664 private _character;
665 /**
666 * Initializes a new instance of a LinePosition with the given line and character. ArgumentOutOfRangeException if "line" or "character" is less than zero.
667 * @param line The line of the line position. The first line in a file is defined as line 0 (zero based line numbering).
668 * @param character The character position in the line.
669 */
670 constructor(line: number, character: number);
671 public line(): number;
672 public character(): number;
673 }
674 class MathPrototype {
675 static max(a: number, b: number): number;
676 static min(a: number, b: number): number;
677 }
678 class StringUtilities {
679 static isString(value: any): boolean;
680 static fromCharCodeArray(array: number[]): string;
681 static endsWith(string: string, value: string): boolean;
682 static startsWith(string: string, value: string): boolean;
683 static copyTo(source: string, sourceIndex: number, destination: number[], destinationIndex: number, count: number): void;
684 static repeat(value: string, count: number): string;
685 static stringEquals(val1: string, val2: string): boolean;
686 }
687 class Timer {
688 public startTime: number;
689 public time: number;
690 public start(): void;
691 public end(): void;
692 }
693 enum DiagnosticCategory {
694 Warning = 0,
695 Error = 1,
696 Message = 2,
697 NoPrefix = 3,
698 }
699 var diagnosticInformationMap: IIndexable<any>;
700 enum CharacterCodes {
701 nullCharacter = 0,
702 maxAsciiCharacter = 127,
703 lineFeed = 10,
704 carriageReturn = 13,
705 lineSeparator = 8232,
706 paragraphSeparator = 8233,
707 nextLine = 133,
708 space = 32,
709 nonBreakingSpace = 160,
710 enQuad = 8192,
711 emQuad = 8193,
712 enSpace = 8194,
713 emSpace = 8195,
714 threePerEmSpace = 8196,
715 fourPerEmSpace = 8197,
716 sixPerEmSpace = 8198,
717 figureSpace = 8199,
718 punctuationSpace = 8200,
719 thinSpace = 8201,
720 hairSpace = 8202,
721 zeroWidthSpace = 8203,
722 narrowNoBreakSpace = 8239,
723 ideographicSpace = 12288,
724 _ = 95,
725 $ = 36,
726 _0 = 48,
727 _7 = 55,
728 _9 = 57,
729 a = 97,
730 b = 98,
731 c = 99,
732 d = 100,
733 e = 101,
734 f = 102,
735 g = 103,
736 h = 104,
737 i = 105,
738 k = 107,
739 l = 108,
740 m = 109,
741 n = 110,
742 o = 111,
743 p = 112,
744 q = 113,
745 r = 114,
746 s = 115,
747 t = 116,
748 u = 117,
749 v = 118,
750 w = 119,
751 x = 120,
752 y = 121,
753 z = 122,
754 A = 65,
755 E = 69,
756 F = 70,
757 X = 88,
758 Z = 90,
759 ampersand = 38,
760 asterisk = 42,
761 at = 64,
762 backslash = 92,
763 bar = 124,
764 caret = 94,
765 closeBrace = 125,
766 closeBracket = 93,
767 closeParen = 41,
768 colon = 58,
769 comma = 44,
770 dot = 46,
771 doubleQuote = 34,
772 equals = 61,
773 exclamation = 33,
774 greaterThan = 62,
775 lessThan = 60,
776 minus = 45,
777 openBrace = 123,
778 openBracket = 91,
779 openParen = 40,
780 percent = 37,
781 plus = 43,
782 question = 63,
783 semicolon = 59,
784 singleQuote = 39,
785 slash = 47,
786 tilde = 126,
787 backspace = 8,
788 formFeed = 12,
789 byteOrderMark = 65279,
790 tab = 9,
791 verticalTab = 11,
792 }
793 interface IScriptSnapshot {
794 getText(start: number, end: number): string;
795 getLength(): number;
796 getLineStartPositions(): number[];
797 getTextChangeRangeSinceVersion(scriptVersion: number): TextChangeRange;
798 }
799 module ScriptSnapshot {
800 function fromString(text: string): IScriptSnapshot;
801 }
802 /**
803 * Represents an immutable snapshot of text.
804 */
805 interface ISimpleText {
806 /**
807 * Total number of characters in the text source.
808 */
809 length(): number;
810 /**
811 * Copy the count contents of IText starting from sourceIndex to destination starting at
812 * destinationIndex.
813 */
814 copyTo(sourceIndex: number, destination: number[], destinationIndex: number, count: number): void;
815 substr(start: number, length: number, intern: boolean): string;
816 /**
817 * Gets the a new IText that corresponds to the contents of this IText for the given span.
818 */
819 subText(span: TextSpan): ISimpleText;
820 charCodeAt(index: number): number;
821 lineMap(): LineMap;
822 }
823 /**
824 * Represents an immutable snapshot of text.
825 */
826 interface IText extends ISimpleText {
827 /**
828 * Total number of lines in the text.
829 */
830 lineCount(): number;
831 /**
832 * Returns the collection of line information for the IText instance.
833 */
834 lines(): ITextLine[];
835 /**
836 * Return the char at position in the IText.
837 */
838 charCodeAt(position: number): number;
839 /**
840 * Gets the line corresponding to the provided line number.
841 */
842 getLineFromLineNumber(lineNumber: number): ITextLine;
843 /**
844 * Gets the line which encompasses the provided position.
845 */
846 getLineFromPosition(position: number): ITextLine;
847 /**
848 * Gets the number of the line that contains the character at the specified position.
849 */
850 getLineNumberFromPosition(position: number): number;
851 /**
852 * Gets a line number, and position within that line, for the character at the
853 * specified position
854 */
855 getLinePosition(position: number): LineAndCharacter;
856 /**
857 * Returns a string representation of the contents of this IText within the given span.
858 */
859 toString(span?: TextSpan): string;
860 }
861 /**
862 * Immutable representation of a line in an IText instance.
863 */
864 interface ITextLine {
865 /**
866 * Start of the line.
867 */
868 start(): number;
869 /**
870 * End of the line not including the line break.
871 */
872 end(): number;
873 /**
874 * End of the line including the line break.
875 */
876 endIncludingLineBreak(): number;
877 /**
878 * Extent of the line not including the line break.
879 */
880 extent(): TextSpan;
881 /**
882 * Extent of the line including the line break.
883 */
884 extentIncludingLineBreak(): TextSpan;
885 /**
886 * Gets the text of the line excluding the line break.
887 */
888 toString(): string;
889 /**
890 * Gets the line number for this line.
891 */
892 lineNumber(): number;
893 }
894 module LineMap1 {
895 function fromSimpleText(text: ISimpleText): LineMap;
896 function fromScriptSnapshot(scriptSnapshot: IScriptSnapshot): LineMap;
897 function fromString(text: string): LineMap;
898 }
899 module TextFactory {
900 function createText(value: string): IText;
901 }
902 module SimpleText {
903 function fromString(value: string): ISimpleText;
904 function fromScriptSnapshot(scriptSnapshot: IScriptSnapshot): ISimpleText;
905 }
906 module TextUtilities {
907 interface ICharacterSequence {
908 charCodeAt(index: number): number;
909 length: number;
910 }
911 function parseLineStarts(text: ICharacterSequence): number[];
912 function getLengthOfLineBreakSlow(text: ICharacterSequence, index: number, c: number): number;
913 function getLengthOfLineBreak(text: ICharacterSequence, index: number): number;
914 function isAnyLineBreakCharacter(c: number): boolean;
915 }
916 class TextSpan {
917 private _start;
918 private _length;
919 /**
920 * Creates a TextSpan instance beginning with the position Start and having the Length
921 * specified with length.
922 */
923 constructor(start: number, length: number);
924 public start(): number;
925 public length(): number;
926 public end(): number;
927 public isEmpty(): boolean;
928 /**
929 * Determines whether the position lies within the span. Returns true if the position is greater than or equal to Start and strictly less
930 * than End, otherwise false.
931 * @param position The position to check.
932 */
933 public containsPosition(position: number): boolean;
934 /**
935 * Determines whether span falls completely within this span. Returns true if the specified span falls completely within this span, otherwise false.
936 * @param span The span to check.
937 */
938 public containsTextSpan(span: TextSpan): boolean;
939 /**
940 * Determines whether the given span overlaps this span. Two spans are considered to overlap
941 * if they have positions in common and neither is empty. Empty spans do not overlap with any
942 * other span. Returns true if the spans overlap, false otherwise.
943 * @param span The span to check.
944 */
945 public overlapsWith(span: TextSpan): boolean;
946 /**
947 * Returns the overlap with the given span, or null if there is no overlap.
948 * @param span The span to check.
949 */
950 public overlap(span: TextSpan): TextSpan;
951 /**
952 * Determines whether span intersects this span. Two spans are considered to
953 * intersect if they have positions in common or the end of one span
954 * coincides with the start of the other span. Returns true if the spans intersect, false otherwise.
955 * @param The span to check.
956 */
957 public intersectsWithTextSpan(span: TextSpan): boolean;
958 public intersectsWith(start: number, length: number): boolean;
959 /**
960 * Determines whether the given position intersects this span.
961 * A position is considered to intersect if it is between the start and
962 * end positions (inclusive) of this span. Returns true if the position intersects, false otherwise.
963 * @param position The position to check.
964 */
965 public intersectsWithPosition(position: number): boolean;
966 /**
967 * Returns the intersection with the given span, or null if there is no intersection.
968 * @param span The span to check.
969 */
970 public intersection(span: TextSpan): TextSpan;
971 /**
972 * Creates a new TextSpan from the given start and end positions
973 * as opposed to a position and length.
974 */
975 static fromBounds(start: number, end: number): TextSpan;
976 }
977 class TextChangeRange {
978 static unchanged: TextChangeRange;
979 private _span;
980 private _newLength;
981 /**
982 * Initializes a new instance of TextChangeRange.
983 */
984 constructor(span: TextSpan, newLength: number);
985 /**
986 * The span of text before the edit which is being changed
987 */
988 public span(): TextSpan;
989 /**
990 * Width of the span after the edit. A 0 here would represent a delete
991 */
992 public newLength(): number;
993 public newSpan(): TextSpan;
994 public isUnchanged(): boolean;
995 /**
996 * Called to merge all the changes that occurred between one version of a script snapshot to
997 * the next into a single change. i.e. say a user did a box selection and made an edit. That
998 * will show up as N text change ranges between version V of a script and version V+1. This
999 * function collapses those N changes into a single change range valid between V and V+1.
1000 */
1001 static collapseChangesFromSingleVersion(changes: TextChangeRange[]): TextChangeRange;
1002 /**
1003 * Called to merge all the changes that occurred across several versions of a script snapshot
1004 * into a single change. i.e. if a user keeps making successive edits to a script we will
1005 * have a text change from V1 to V2, V2 to V3, ..., Vn.
1006 *
1007 * This function will then merge those changes into a single change range valid between V1 and
1008 * Vn.
1009 */
1010 static collapseChangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange;
1011 }
1012 class CharacterInfo {
1013 static isDecimalDigit(c: number): boolean;
1014 static isOctalDigit(c: number): boolean;
1015 static isHexDigit(c: number): boolean;
1016 static hexValue(c: number): number;
1017 static isWhitespace(ch: number): boolean;
1018 static isLineTerminator(ch: number): boolean;
1019 }
1020 enum SyntaxConstants {
1021 TriviaNewLineMask = 1,
1022 TriviaCommentMask = 2,
1023 TriviaFullWidthShift = 2,
1024 NodeDataComputed = 1,
1025 NodeIncrementallyUnusableMask = 2,
1026 NodeParsedInStrictModeMask = 4,
1027 NodeFullWidthShift = 3,
1028 IsVariableWidthKeyword,
1029 }
1030 module Indentation {
1031 function columnForEndOfToken(token: ISyntaxToken, syntaxInformationMap: SyntaxInformationMap, options: FormattingOptions): number;
1032 function columnForStartOfToken(token: ISyntaxToken, syntaxInformationMap: SyntaxInformationMap, options: FormattingOptions): number;
1033 function columnForStartOfFirstTokenInLineContainingToken(token: ISyntaxToken, syntaxInformationMap: SyntaxInformationMap, options: FormattingOptions): number;
1034 function columnForPositionInString(input: string, position: number, options: FormattingOptions): number;
1035 function indentationString(column: number, options: FormattingOptions): string;
1036 function indentationTrivia(column: number, options: FormattingOptions): ISyntaxTrivia;
1037 function firstNonWhitespacePosition(value: string): number;
1038 }
1039 enum LanguageVersion {
1040 EcmaScript3 = 0,
1041 EcmaScript5 = 1,
1042 }
1043 class ParseOptions {
1044 private _languageVersion;
1045 private _allowAutomaticSemicolonInsertion;
1046 constructor(languageVersion: LanguageVersion, allowAutomaticSemicolonInsertion: boolean);
1047 public toJSON(key: any): {
1048 allowAutomaticSemicolonInsertion: boolean;
1049 };
1050 public languageVersion(): LanguageVersion;
1051 public allowAutomaticSemicolonInsertion(): boolean;
1052 }
1053 class PositionedElement {
1054 private _parent;
1055 private _element;
1056 private _fullStart;
1057 constructor(parent: PositionedElement, element: ISyntaxElement, fullStart: number);
1058 static create(parent: PositionedElement, element: ISyntaxElement, fullStart: number): PositionedElement;
1059 public parent(): PositionedElement;
1060 public parentElement(): ISyntaxElement;
1061 public element(): ISyntaxElement;
1062 public kind(): SyntaxKind;
1063 public childIndex(child: ISyntaxElement): number;
1064 public childCount(): number;
1065 public childAt(index: number): PositionedElement;
1066 public childStart(child: ISyntaxElement): number;
1067 public childEnd(child: ISyntaxElement): number;
1068 public childStartAt(index: number): number;
1069 public childEndAt(index: number): number;
1070 public getPositionedChild(child: ISyntaxElement): PositionedElement;
1071 public fullStart(): number;
1072 public fullEnd(): number;
1073 public fullWidth(): number;
1074 public start(): number;
1075 public end(): number;
1076 public root(): PositionedNode;
1077 public containingNode(): PositionedNode;
1078 }
1079 class PositionedNodeOrToken extends PositionedElement {
1080 constructor(parent: PositionedElement, nodeOrToken: ISyntaxNodeOrToken, fullStart: number);
1081 public nodeOrToken(): ISyntaxNodeOrToken;
1082 }
1083 class PositionedNode extends PositionedNodeOrToken {
1084 constructor(parent: PositionedElement, node: SyntaxNode, fullStart: number);
1085 public node(): SyntaxNode;
1086 }
1087 class PositionedToken extends PositionedNodeOrToken {
1088 constructor(parent: PositionedElement, token: ISyntaxToken, fullStart: number);
1089 public token(): ISyntaxToken;
1090 public previousToken(includeSkippedTokens?: boolean): PositionedToken;
1091 public nextToken(includeSkippedTokens?: boolean): PositionedToken;
1092 }
1093 class PositionedList extends PositionedElement {
1094 constructor(parent: PositionedElement, list: ISyntaxList, fullStart: number);
1095 public list(): ISyntaxList;
1096 }
1097 class PositionedSeparatedList extends PositionedElement {
1098 constructor(parent: PositionedElement, list: ISeparatedSyntaxList, fullStart: number);
1099 public list(): ISeparatedSyntaxList;
1100 }
1101 class PositionedSkippedToken extends PositionedToken {
1102 private _parentToken;
1103 constructor(parentToken: PositionedToken, token: ISyntaxToken, fullStart: number);
1104 public parentToken(): PositionedToken;
1105 public previousToken(includeSkippedTokens?: boolean): PositionedToken;
1106 public nextToken(includeSkippedTokens?: boolean): PositionedToken;
1107 }
1108 enum SyntaxKind {
1109 None = 0,
1110 List = 1,
1111 SeparatedList = 2,
1112 TriviaList = 3,
1113 WhitespaceTrivia = 4,
1114 NewLineTrivia = 5,
1115 MultiLineCommentTrivia = 6,
1116 SingleLineCommentTrivia = 7,
1117 SkippedTokenTrivia = 8,
1118 ErrorToken = 9,
1119 EndOfFileToken = 10,
1120 IdentifierName = 11,
1121 RegularExpressionLiteral = 12,
1122 NumericLiteral = 13,
1123 StringLiteral = 14,
1124 BreakKeyword = 15,
1125 CaseKeyword = 16,
1126 CatchKeyword = 17,
1127 ContinueKeyword = 18,
1128 DebuggerKeyword = 19,
1129 DefaultKeyword = 20,
1130 DeleteKeyword = 21,
1131 DoKeyword = 22,
1132 ElseKeyword = 23,
1133 FalseKeyword = 24,
1134 FinallyKeyword = 25,
1135 ForKeyword = 26,
1136 FunctionKeyword = 27,
1137 IfKeyword = 28,
1138 InKeyword = 29,
1139 InstanceOfKeyword = 30,
1140 NewKeyword = 31,
1141 NullKeyword = 32,
1142 ReturnKeyword = 33,
1143 SwitchKeyword = 34,
1144 ThisKeyword = 35,
1145 ThrowKeyword = 36,
1146 TrueKeyword = 37,
1147 TryKeyword = 38,
1148 TypeOfKeyword = 39,
1149 VarKeyword = 40,
1150 VoidKeyword = 41,
1151 WhileKeyword = 42,
1152 WithKeyword = 43,
1153 ClassKeyword = 44,
1154 ConstKeyword = 45,
1155 EnumKeyword = 46,
1156 ExportKeyword = 47,
1157 ExtendsKeyword = 48,
1158 ImportKeyword = 49,
1159 SuperKeyword = 50,
1160 ImplementsKeyword = 51,
1161 InterfaceKeyword = 52,
1162 LetKeyword = 53,
1163 PackageKeyword = 54,
1164 PrivateKeyword = 55,
1165 ProtectedKeyword = 56,
1166 PublicKeyword = 57,
1167 StaticKeyword = 58,
1168 YieldKeyword = 59,
1169 AnyKeyword = 60,
1170 BooleanKeyword = 61,
1171 ConstructorKeyword = 62,
1172 DeclareKeyword = 63,
1173 GetKeyword = 64,
1174 ModuleKeyword = 65,
1175 RequireKeyword = 66,
1176 NumberKeyword = 67,
1177 SetKeyword = 68,
1178 StringKeyword = 69,
1179 OpenBraceToken = 70,
1180 CloseBraceToken = 71,
1181 OpenParenToken = 72,
1182 CloseParenToken = 73,
1183 OpenBracketToken = 74,
1184 CloseBracketToken = 75,
1185 DotToken = 76,
1186 DotDotDotToken = 77,
1187 SemicolonToken = 78,
1188 CommaToken = 79,
1189 LessThanToken = 80,
1190 GreaterThanToken = 81,
1191 LessThanEqualsToken = 82,
1192 GreaterThanEqualsToken = 83,
1193 EqualsEqualsToken = 84,
1194 EqualsGreaterThanToken = 85,
1195 ExclamationEqualsToken = 86,
1196 EqualsEqualsEqualsToken = 87,
1197 ExclamationEqualsEqualsToken = 88,
1198 PlusToken = 89,
1199 MinusToken = 90,
1200 AsteriskToken = 91,
1201 PercentToken = 92,
1202 PlusPlusToken = 93,
1203 MinusMinusToken = 94,
1204 LessThanLessThanToken = 95,
1205 GreaterThanGreaterThanToken = 96,
1206 GreaterThanGreaterThanGreaterThanToken = 97,
1207 AmpersandToken = 98,
1208 BarToken = 99,
1209 CaretToken = 100,
1210 ExclamationToken = 101,
1211 TildeToken = 102,
1212 AmpersandAmpersandToken = 103,
1213 BarBarToken = 104,
1214 QuestionToken = 105,
1215 ColonToken = 106,
1216 EqualsToken = 107,
1217 PlusEqualsToken = 108,
1218 MinusEqualsToken = 109,
1219 AsteriskEqualsToken = 110,
1220 PercentEqualsToken = 111,
1221 LessThanLessThanEqualsToken = 112,
1222 GreaterThanGreaterThanEqualsToken = 113,
1223 GreaterThanGreaterThanGreaterThanEqualsToken = 114,
1224 AmpersandEqualsToken = 115,
1225 BarEqualsToken = 116,
1226 CaretEqualsToken = 117,
1227 SlashToken = 118,
1228 SlashEqualsToken = 119,
1229 SourceUnit = 120,
1230 QualifiedName = 121,
1231 ObjectType = 122,
1232 FunctionType = 123,
1233 ArrayType = 124,
1234 ConstructorType = 125,
1235 GenericType = 126,
1236 TypeQuery = 127,
1237 InterfaceDeclaration = 128,
1238 FunctionDeclaration = 129,
1239 ModuleDeclaration = 130,
1240 ClassDeclaration = 131,
1241 EnumDeclaration = 132,
1242 ImportDeclaration = 133,
1243 ExportAssignment = 134,
1244 MemberFunctionDeclaration = 135,
1245 MemberVariableDeclaration = 136,
1246 ConstructorDeclaration = 137,
1247 IndexMemberDeclaration = 138,
1248 GetAccessor = 139,
1249 SetAccessor = 140,
1250 PropertySignature = 141,
1251 CallSignature = 142,
1252 ConstructSignature = 143,
1253 IndexSignature = 144,
1254 MethodSignature = 145,
1255 Block = 146,
1256 IfStatement = 147,
1257 VariableStatement = 148,
1258 ExpressionStatement = 149,
1259 ReturnStatement = 150,
1260 SwitchStatement = 151,
1261 BreakStatement = 152,
1262 ContinueStatement = 153,
1263 ForStatement = 154,
1264 ForInStatement = 155,
1265 EmptyStatement = 156,
1266 ThrowStatement = 157,
1267 WhileStatement = 158,
1268 TryStatement = 159,
1269 LabeledStatement = 160,
1270 DoStatement = 161,
1271 DebuggerStatement = 162,
1272 WithStatement = 163,
1273 PlusExpression = 164,
1274 NegateExpression = 165,
1275 BitwiseNotExpression = 166,
1276 LogicalNotExpression = 167,
1277 PreIncrementExpression = 168,
1278 PreDecrementExpression = 169,
1279 DeleteExpression = 170,
1280 TypeOfExpression = 171,
1281 VoidExpression = 172,
1282 CommaExpression = 173,
1283 AssignmentExpression = 174,
1284 AddAssignmentExpression = 175,
1285 SubtractAssignmentExpression = 176,
1286 MultiplyAssignmentExpression = 177,
1287 DivideAssignmentExpression = 178,
1288 ModuloAssignmentExpression = 179,
1289 AndAssignmentExpression = 180,
1290 ExclusiveOrAssignmentExpression = 181,
1291 OrAssignmentExpression = 182,
1292 LeftShiftAssignmentExpression = 183,
1293 SignedRightShiftAssignmentExpression = 184,
1294 UnsignedRightShiftAssignmentExpression = 185,
1295 ConditionalExpression = 186,
1296 LogicalOrExpression = 187,
1297 LogicalAndExpression = 188,
1298 BitwiseOrExpression = 189,
1299 BitwiseExclusiveOrExpression = 190,
1300 BitwiseAndExpression = 191,
1301 EqualsWithTypeConversionExpression = 192,
1302 NotEqualsWithTypeConversionExpression = 193,
1303 EqualsExpression = 194,
1304 NotEqualsExpression = 195,
1305 LessThanExpression = 196,
1306 GreaterThanExpression = 197,
1307 LessThanOrEqualExpression = 198,
1308 GreaterThanOrEqualExpression = 199,
1309 InstanceOfExpression = 200,
1310 InExpression = 201,
1311 LeftShiftExpression = 202,
1312 SignedRightShiftExpression = 203,
1313 UnsignedRightShiftExpression = 204,
1314 MultiplyExpression = 205,
1315 DivideExpression = 206,
1316 ModuloExpression = 207,
1317 AddExpression = 208,
1318 SubtractExpression = 209,
1319 PostIncrementExpression = 210,
1320 PostDecrementExpression = 211,
1321 MemberAccessExpression = 212,
1322 InvocationExpression = 213,
1323 ArrayLiteralExpression = 214,
1324 ObjectLiteralExpression = 215,
1325 ObjectCreationExpression = 216,
1326 ParenthesizedExpression = 217,
1327 ParenthesizedArrowFunctionExpression = 218,
1328 SimpleArrowFunctionExpression = 219,
1329 CastExpression = 220,
1330 ElementAccessExpression = 221,
1331 FunctionExpression = 222,
1332 OmittedExpression = 223,
1333 VariableDeclaration = 224,
1334 VariableDeclarator = 225,
1335 ArgumentList = 226,
1336 ParameterList = 227,
1337 TypeArgumentList = 228,
1338 TypeParameterList = 229,
1339 ExtendsHeritageClause = 230,
1340 ImplementsHeritageClause = 231,
1341 EqualsValueClause = 232,
1342 CaseSwitchClause = 233,
1343 DefaultSwitchClause = 234,
1344 ElseClause = 235,
1345 CatchClause = 236,
1346 FinallyClause = 237,
1347 TypeParameter = 238,
1348 Constraint = 239,
1349 SimplePropertyAssignment = 240,
1350 FunctionPropertyAssignment = 241,
1351 Parameter = 242,
1352 EnumElement = 243,
1353 TypeAnnotation = 244,
1354 ExternalModuleReference = 245,
1355 ModuleNameModuleReference = 246,
1356 Last,
1357 FirstStandardKeyword,
1358 LastStandardKeyword,
1359 FirstFutureReservedKeyword,
1360 LastFutureReservedKeyword,
1361 FirstFutureReservedStrictKeyword,
1362 LastFutureReservedStrictKeyword,
1363 FirstTypeScriptKeyword,
1364 LastTypeScriptKeyword,
1365 FirstKeyword,
1366 LastKeyword,
1367 FirstToken,
1368 LastToken,
1369 FirstPunctuation,
1370 LastPunctuation,
1371 FirstFixedWidth,
1372 LastFixedWidth,
1373 FirstTrivia,
1374 LastTrivia,
1375 }
1376 class Scanner implements ISlidingWindowSource {
1377 private slidingWindow;
1378 private fileName;
1379 private text;
1380 private _languageVersion;
1381 constructor(fileName: string, text: ISimpleText, languageVersion: LanguageVersion, window?: number[]);
1382 public languageVersion(): LanguageVersion;
1383 public fetchMoreItems(argument: any, sourceIndex: number, window: number[], destinationIndex: number, spaceAvailable: number): number;
1384 private currentCharCode();
1385 public absoluteIndex(): number;
1386 public setAbsoluteIndex(index: number): void;
1387 public scan(diagnostics: Diagnostic[], allowRegularExpression: boolean): ISyntaxToken;
1388 private createToken(fullStart, leadingTriviaInfo, start, kind, end, fullEnd, trailingTriviaInfo, isVariableWidthKeyword);
1389 private static triviaWindow;
1390 static scanTrivia(text: ISimpleText, start: number, length: number, isTrailing: boolean): ISyntaxTriviaList;
1391 private scanTrivia(underlyingText, underlyingTextStart, isTrailing);
1392 private scanTriviaInfo(diagnostics, isTrailing);
1393 private isNewLineCharacter(ch);
1394 private scanWhitespaceTrivia(underlyingText, underlyingTextStart);
1395 private scanSingleLineCommentTrivia(underlyingText, underlyingTextStart);
1396 private scanSingleLineCommentTriviaLength();
1397 private scanMultiLineCommentTrivia(underlyingText, underlyingTextStart);
1398 private scanMultiLineCommentTriviaLength(diagnostics);
1399 private scanLineTerminatorSequenceTrivia(ch);
1400 private scanLineTerminatorSequenceLength(ch);
1401 private scanSyntaxToken(diagnostics, allowRegularExpression);
1402 private isIdentifierStart(interpretedChar);
1403 private isIdentifierPart(interpretedChar);
1404 private tryFastScanIdentifierOrKeyword(firstCharacter);
1405 private slowScanIdentifierOrKeyword(diagnostics);
1406 private scanNumericLiteral(diagnostics);
1407 private isOctalNumericLiteral();
1408 private scanOctalNumericLiteral(diagnostics);
1409 private scanDecimalDigits();
1410 private scanDecimalNumericLiteral();
1411 private scanHexNumericLiteral();
1412 private isHexNumericLiteral();
1413 private advanceAndSetTokenKind(kind);
1414 private scanLessThanToken();
1415 private scanBarToken();
1416 private scanCaretToken();
1417 private scanAmpersandToken();
1418 private scanPercentToken();
1419 private scanMinusToken();
1420 private scanPlusToken();
1421 private scanAsteriskToken();
1422 private scanEqualsToken();
1423 private isDotPrefixedNumericLiteral();
1424 private scanDotToken(diagnostics);
1425 private scanSlashToken(allowRegularExpression);
1426 private tryScanRegularExpressionToken();
1427 private scanExclamationToken();
1428 private scanDefaultCharacter(character, diagnostics);
1429 private getErrorMessageText(text);
1430 private skipEscapeSequence(diagnostics);
1431 private scanStringLiteral(diagnostics);
1432 private isUnicodeEscape(character);
1433 private peekCharOrUnicodeEscape();
1434 private peekUnicodeOrHexEscape();
1435 private scanCharOrUnicodeEscape(errors);
1436 private scanUnicodeOrHexEscape(errors);
1437 public substring(start: number, end: number, intern: boolean): string;
1438 private createIllegalEscapeDiagnostic(start, end);
1439 static isValidIdentifier(text: ISimpleText, languageVersion: LanguageVersion): boolean;
1440 }
1441 class ScannerUtilities {
1442 static identifierKind(array: number[], startIndex: number, length: number): SyntaxKind;
1443 }
1444 interface ISeparatedSyntaxList extends ISyntaxElement {
1445 childAt(index: number): ISyntaxNodeOrToken;
1446 toArray(): ISyntaxNodeOrToken[];
1447 toNonSeparatorArray(): ISyntaxNodeOrToken[];
1448 separatorCount(): number;
1449 separatorAt(index: number): ISyntaxToken;
1450 nonSeparatorCount(): number;
1451 nonSeparatorAt(index: number): ISyntaxNodeOrToken;
1452 insertChildrenInto(array: ISyntaxElement[], index: number): void;
1453 }
1454
1455 interface ISlidingWindowSource {
1456 fetchMoreItems(argument: any, sourceIndex: number, window: any[], destinationIndex: number, spaceAvailable: number): number;
1457 }
1458 class SlidingWindow {
1459 private source;
1460 public window: any[];
1461 private defaultValue;
1462 private sourceLength;
1463 public windowCount: number;
1464 public windowAbsoluteStartIndex: number;
1465 public currentRelativeItemIndex: number;
1466 private _pinCount;
1467 private firstPinnedAbsoluteIndex;
1468 constructor(source: ISlidingWindowSource, window: any[], defaultValue: any, sourceLength?: number);
1469 private windowAbsoluteEndIndex();
1470 private addMoreItemsToWindow(argument);
1471 private tryShiftOrGrowWindow();
1472 public absoluteIndex(): number;
1473 public isAtEndOfSource(): boolean;
1474 public getAndPinAbsoluteIndex(): number;
1475 public releaseAndUnpinAbsoluteIndex(absoluteIndex: number): void;
1476 public rewindToPinnedIndex(absoluteIndex: number): void;
1477 public currentItem(argument: any): any;
1478 public peekItemN(n: number): any;
1479 public moveToNextItem(): void;
1480 public disgardAllItemsFromCurrentIndexOnwards(): void;
1481 public setAbsoluteIndex(absoluteIndex: number): void;
1482 public pinCount(): number;
1483 }
1484 interface ISyntaxElement {
1485 kind(): SyntaxKind;
1486 isNode(): boolean;
1487 isToken(): boolean;
1488 isList(): boolean;
1489 isSeparatedList(): boolean;
1490 childCount(): number;
1491 childAt(index: number): ISyntaxElement;
1492 isTypeScriptSpecific(): boolean;
1493 isIncrementallyUnusable(): boolean;
1494 fullWidth(): number;
1495 width(): number;
1496 fullText(): string;
1497 leadingTrivia(): ISyntaxTriviaList;
1498 trailingTrivia(): ISyntaxTriviaList;
1499 leadingTriviaWidth(): number;
1500 trailingTriviaWidth(): number;
1501 firstToken(): ISyntaxToken;
1502 lastToken(): ISyntaxToken;
1503 collectTextElements(elements: string[]): void;
1504 }
1505 interface ISyntaxNode extends ISyntaxNodeOrToken {
1506 }
1507 interface IModuleReferenceSyntax extends ISyntaxNode {
1508 isModuleReference(): boolean;
1509 }
1510 interface IModuleElementSyntax extends ISyntaxNode {
1511 }
1512 interface IStatementSyntax extends IModuleElementSyntax {
1513 isStatement(): boolean;
1514 }
1515 interface IIterationStatementSyntax extends IStatementSyntax {
1516 isIterationStatement(): boolean;
1517 }
1518 interface ITypeMemberSyntax extends ISyntaxNode {
1519 }
1520 interface IClassElementSyntax extends ISyntaxNode {
1521 }
1522 interface IMemberDeclarationSyntax extends IClassElementSyntax {
1523 }
1524 interface IPropertyAssignmentSyntax extends IClassElementSyntax {
1525 }
1526 interface ISwitchClauseSyntax extends ISyntaxNode {
1527 isSwitchClause(): boolean;
1528 statements: ISyntaxList;
1529 }
1530 interface IExpressionSyntax extends ISyntaxNodeOrToken {
1531 isExpression(): boolean;
1532 withLeadingTrivia(trivia: ISyntaxTriviaList): IExpressionSyntax;
1533 withTrailingTrivia(trivia: ISyntaxTriviaList): IExpressionSyntax;
1534 }
1535 interface IUnaryExpressionSyntax extends IExpressionSyntax {
1536 isUnaryExpression(): boolean;
1537 }
1538 interface IArrowFunctionExpressionSyntax extends IUnaryExpressionSyntax {
1539 isArrowFunctionExpression(): boolean;
1540 equalsGreaterThanToken: ISyntaxToken;
1541 block: BlockSyntax;
1542 expression: IExpressionSyntax;
1543 }
1544 interface IPostfixExpressionSyntax extends IUnaryExpressionSyntax {
1545 isPostfixExpression(): boolean;
1546 }
1547 interface IMemberExpressionSyntax extends IPostfixExpressionSyntax {
1548 isMemberExpression(): boolean;
1549 }
1550 interface IPrimaryExpressionSyntax extends IMemberExpressionSyntax {
1551 isPrimaryExpression(): boolean;
1552 }
1553 interface ITypeSyntax extends ISyntaxNodeOrToken {
1554 }
1555 interface INameSyntax extends ITypeSyntax {
1556 }
1557 interface ISyntaxList extends ISyntaxElement {
1558 childAt(index: number): ISyntaxNodeOrToken;
1559 toArray(): ISyntaxNodeOrToken[];
1560 insertChildrenInto(array: ISyntaxElement[], index: number): void;
1561 }
1562 class SyntaxNode implements ISyntaxNodeOrToken {
1563 private _data;
1564 constructor(parsedInStrictMode: boolean);
1565 public isNode(): boolean;
1566 public isToken(): boolean;
1567 public isList(): boolean;
1568 public isSeparatedList(): boolean;
1569 public kind(): SyntaxKind;
1570 public childCount(): number;
1571 public childAt(slot: number): ISyntaxElement;
1572 public firstToken(): ISyntaxToken;
1573 public lastToken(): ISyntaxToken;
1574 public insertChildrenInto(array: ISyntaxElement[], index: number): void;
1575 public leadingTrivia(): ISyntaxTriviaList;
1576 public trailingTrivia(): ISyntaxTriviaList;
1577 public toJSON(key: any): any;
1578 public accept(visitor: ISyntaxVisitor): any;
1579 public fullText(): string;
1580 public collectTextElements(elements: string[]): void;
1581 public replaceToken(token1: ISyntaxToken, token2: ISyntaxToken): SyntaxNode;
1582 public withLeadingTrivia(trivia: ISyntaxTriviaList): SyntaxNode;
1583 public withTrailingTrivia(trivia: ISyntaxTriviaList): SyntaxNode;
1584 public hasLeadingTrivia(): boolean;
1585 public hasTrailingTrivia(): boolean;
1586 public isTypeScriptSpecific(): boolean;
1587 public isIncrementallyUnusable(): boolean;
1588 public parsedInStrictMode(): boolean;
1589 public fullWidth(): number;
1590 private computeData();
1591 private data();
1592 /**
1593 * Finds a token according to the following rules:
1594 * 1) If position matches the End of the node/s FullSpan and the node is SourceUnit,
1595 * then the EOF token is returned.
1596 *
1597 * 2) If node.FullSpan.Contains(position) then the token that contains given position is
1598 * returned.
1599 *
1600 * 3) Otherwise an ArgumentOutOfRangeException is thrown
1601 *
1602 * Note: findToken will always return a non-missing token with width greater than or equal to
1603 * 1 (except for EOF). Empty tokens synthesized by the parser are never returned.
1604 */
1605 public findToken(position: number, includeSkippedTokens?: boolean): PositionedToken;
1606 private tryGetEndOfFileAt(position);
1607 private findTokenInternal(parent, position, fullStart);
1608 public findTokenOnLeft(position: number, includeSkippedTokens?: boolean): PositionedToken;
1609 public findCompleteTokenOnLeft(position: number, includeSkippedTokens?: boolean): PositionedToken;
1610 public isModuleElement(): boolean;
1611 public isClassElement(): boolean;
1612 public isTypeMember(): boolean;
1613 public isStatement(): boolean;
1614 public isExpression(): boolean;
1615 public isSwitchClause(): boolean;
1616 public structuralEquals(node: SyntaxNode): boolean;
1617 public width(): number;
1618 public leadingTriviaWidth(): number;
1619 public trailingTriviaWidth(): number;
1620 }
1621 interface ISyntaxNodeOrToken extends ISyntaxElement {
1622 withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxNodeOrToken;
1623 withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxNodeOrToken;
1624 accept(visitor: ISyntaxVisitor): any;
1625 }
1626 class SourceUnitSyntax extends SyntaxNode {
1627 public moduleElements: ISyntaxList;
1628 public endOfFileToken: ISyntaxToken;
1629 constructor(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken, parsedInStrictMode: boolean);
1630 public accept(visitor: ISyntaxVisitor): any;
1631 public kind(): SyntaxKind;
1632 public childCount(): number;
1633 public childAt(slot: number): ISyntaxElement;
1634 public update(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax;
1635 static create(endOfFileToken: ISyntaxToken): SourceUnitSyntax;
1636 static create1(endOfFileToken: ISyntaxToken): SourceUnitSyntax;
1637 public withLeadingTrivia(trivia: ISyntaxTriviaList): SourceUnitSyntax;
1638 public withTrailingTrivia(trivia: ISyntaxTriviaList): SourceUnitSyntax;
1639 public withModuleElements(moduleElements: ISyntaxList): SourceUnitSyntax;
1640 public withModuleElement(moduleElement: IModuleElementSyntax): SourceUnitSyntax;
1641 public withEndOfFileToken(endOfFileToken: ISyntaxToken): SourceUnitSyntax;
1642 public isTypeScriptSpecific(): boolean;
1643 }
1644 class ExternalModuleReferenceSyntax extends SyntaxNode implements IModuleReferenceSyntax {
1645 public requireKeyword: ISyntaxToken;
1646 public openParenToken: ISyntaxToken;
1647 public stringLiteral: ISyntaxToken;
1648 public closeParenToken: ISyntaxToken;
1649 constructor(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean);
1650 public accept(visitor: ISyntaxVisitor): any;
1651 public kind(): SyntaxKind;
1652 public childCount(): number;
1653 public childAt(slot: number): ISyntaxElement;
1654 public isModuleReference(): boolean;
1655 public update(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax;
1656 static create1(stringLiteral: ISyntaxToken): ExternalModuleReferenceSyntax;
1657 public withLeadingTrivia(trivia: ISyntaxTriviaList): ExternalModuleReferenceSyntax;
1658 public withTrailingTrivia(trivia: ISyntaxTriviaList): ExternalModuleReferenceSyntax;
1659 public withRequireKeyword(requireKeyword: ISyntaxToken): ExternalModuleReferenceSyntax;
1660 public withOpenParenToken(openParenToken: ISyntaxToken): ExternalModuleReferenceSyntax;
1661 public withStringLiteral(stringLiteral: ISyntaxToken): ExternalModuleReferenceSyntax;
1662 public withCloseParenToken(closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax;
1663 public isTypeScriptSpecific(): boolean;
1664 }
1665 class ModuleNameModuleReferenceSyntax extends SyntaxNode implements IModuleReferenceSyntax {
1666 public moduleName: INameSyntax;
1667 constructor(moduleName: INameSyntax, parsedInStrictMode: boolean);
1668 public accept(visitor: ISyntaxVisitor): any;
1669 public kind(): SyntaxKind;
1670 public childCount(): number;
1671 public childAt(slot: number): ISyntaxElement;
1672 public isModuleReference(): boolean;
1673 public update(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax;
1674 public withLeadingTrivia(trivia: ISyntaxTriviaList): ModuleNameModuleReferenceSyntax;
1675 public withTrailingTrivia(trivia: ISyntaxTriviaList): ModuleNameModuleReferenceSyntax;
1676 public withModuleName(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax;
1677 public isTypeScriptSpecific(): boolean;
1678 }
1679 class ImportDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax {
1680 public modifiers: ISyntaxList;
1681 public importKeyword: ISyntaxToken;
1682 public identifier: ISyntaxToken;
1683 public equalsToken: ISyntaxToken;
1684 public moduleReference: IModuleReferenceSyntax;
1685 public semicolonToken: ISyntaxToken;
1686 constructor(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
1687 public accept(visitor: ISyntaxVisitor): any;
1688 public kind(): SyntaxKind;
1689 public childCount(): number;
1690 public childAt(slot: number): ISyntaxElement;
1691 public isModuleElement(): boolean;
1692 public update(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax;
1693 static create(importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax;
1694 static create1(identifier: ISyntaxToken, moduleReference: IModuleReferenceSyntax): ImportDeclarationSyntax;
1695 public withLeadingTrivia(trivia: ISyntaxTriviaList): ImportDeclarationSyntax;
1696 public withTrailingTrivia(trivia: ISyntaxTriviaList): ImportDeclarationSyntax;
1697 public withModifiers(modifiers: ISyntaxList): ImportDeclarationSyntax;
1698 public withModifier(modifier: ISyntaxToken): ImportDeclarationSyntax;
1699 public withImportKeyword(importKeyword: ISyntaxToken): ImportDeclarationSyntax;
1700 public withIdentifier(identifier: ISyntaxToken): ImportDeclarationSyntax;
1701 public withEqualsToken(equalsToken: ISyntaxToken): ImportDeclarationSyntax;
1702 public withModuleReference(moduleReference: IModuleReferenceSyntax): ImportDeclarationSyntax;
1703 public withSemicolonToken(semicolonToken: ISyntaxToken): ImportDeclarationSyntax;
1704 public isTypeScriptSpecific(): boolean;
1705 }
1706 class ExportAssignmentSyntax extends SyntaxNode implements IModuleElementSyntax {
1707 public exportKeyword: ISyntaxToken;
1708 public equalsToken: ISyntaxToken;
1709 public identifier: ISyntaxToken;
1710 public semicolonToken: ISyntaxToken;
1711 constructor(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
1712 public accept(visitor: ISyntaxVisitor): any;
1713 public kind(): SyntaxKind;
1714 public childCount(): number;
1715 public childAt(slot: number): ISyntaxElement;
1716 public isModuleElement(): boolean;
1717 public update(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax;
1718 static create1(identifier: ISyntaxToken): ExportAssignmentSyntax;
1719 public withLeadingTrivia(trivia: ISyntaxTriviaList): ExportAssignmentSyntax;
1720 public withTrailingTrivia(trivia: ISyntaxTriviaList): ExportAssignmentSyntax;
1721 public withExportKeyword(exportKeyword: ISyntaxToken): ExportAssignmentSyntax;
1722 public withEqualsToken(equalsToken: ISyntaxToken): ExportAssignmentSyntax;
1723 public withIdentifier(identifier: ISyntaxToken): ExportAssignmentSyntax;
1724 public withSemicolonToken(semicolonToken: ISyntaxToken): ExportAssignmentSyntax;
1725 public isTypeScriptSpecific(): boolean;
1726 }
1727 class ClassDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax {
1728 public modifiers: ISyntaxList;
1729 public classKeyword: ISyntaxToken;
1730 public identifier: ISyntaxToken;
1731 public typeParameterList: TypeParameterListSyntax;
1732 public heritageClauses: ISyntaxList;
1733 public openBraceToken: ISyntaxToken;
1734 public classElements: ISyntaxList;
1735 public closeBraceToken: ISyntaxToken;
1736 constructor(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean);
1737 public accept(visitor: ISyntaxVisitor): any;
1738 public kind(): SyntaxKind;
1739 public childCount(): number;
1740 public childAt(slot: number): ISyntaxElement;
1741 public isModuleElement(): boolean;
1742 public update(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax;
1743 static create(classKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax;
1744 static create1(identifier: ISyntaxToken): ClassDeclarationSyntax;
1745 public withLeadingTrivia(trivia: ISyntaxTriviaList): ClassDeclarationSyntax;
1746 public withTrailingTrivia(trivia: ISyntaxTriviaList): ClassDeclarationSyntax;
1747 public withModifiers(modifiers: ISyntaxList): ClassDeclarationSyntax;
1748 public withModifier(modifier: ISyntaxToken): ClassDeclarationSyntax;
1749 public withClassKeyword(classKeyword: ISyntaxToken): ClassDeclarationSyntax;
1750 public withIdentifier(identifier: ISyntaxToken): ClassDeclarationSyntax;
1751 public withTypeParameterList(typeParameterList: TypeParameterListSyntax): ClassDeclarationSyntax;
1752 public withHeritageClauses(heritageClauses: ISyntaxList): ClassDeclarationSyntax;
1753 public withHeritageClause(heritageClause: HeritageClauseSyntax): ClassDeclarationSyntax;
1754 public withOpenBraceToken(openBraceToken: ISyntaxToken): ClassDeclarationSyntax;
1755 public withClassElements(classElements: ISyntaxList): ClassDeclarationSyntax;
1756 public withClassElement(classElement: IClassElementSyntax): ClassDeclarationSyntax;
1757 public withCloseBraceToken(closeBraceToken: ISyntaxToken): ClassDeclarationSyntax;
1758 public isTypeScriptSpecific(): boolean;
1759 }
1760 class InterfaceDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax {
1761 public modifiers: ISyntaxList;
1762 public interfaceKeyword: ISyntaxToken;
1763 public identifier: ISyntaxToken;
1764 public typeParameterList: TypeParameterListSyntax;
1765 public heritageClauses: ISyntaxList;
1766 public body: ObjectTypeSyntax;
1767 constructor(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax, parsedInStrictMode: boolean);
1768 public accept(visitor: ISyntaxVisitor): any;
1769 public kind(): SyntaxKind;
1770 public childCount(): number;
1771 public childAt(slot: number): ISyntaxElement;
1772 public isModuleElement(): boolean;
1773 public update(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax;
1774 static create(interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, body: ObjectTypeSyntax): InterfaceDeclarationSyntax;
1775 static create1(identifier: ISyntaxToken): InterfaceDeclarationSyntax;
1776 public withLeadingTrivia(trivia: ISyntaxTriviaList): InterfaceDeclarationSyntax;
1777 public withTrailingTrivia(trivia: ISyntaxTriviaList): InterfaceDeclarationSyntax;
1778 public withModifiers(modifiers: ISyntaxList): InterfaceDeclarationSyntax;
1779 public withModifier(modifier: ISyntaxToken): InterfaceDeclarationSyntax;
1780 public withInterfaceKeyword(interfaceKeyword: ISyntaxToken): InterfaceDeclarationSyntax;
1781 public withIdentifier(identifier: ISyntaxToken): InterfaceDeclarationSyntax;
1782 public withTypeParameterList(typeParameterList: TypeParameterListSyntax): InterfaceDeclarationSyntax;
1783 public withHeritageClauses(heritageClauses: ISyntaxList): InterfaceDeclarationSyntax;
1784 public withHeritageClause(heritageClause: HeritageClauseSyntax): InterfaceDeclarationSyntax;
1785 public withBody(body: ObjectTypeSyntax): InterfaceDeclarationSyntax;
1786 public isTypeScriptSpecific(): boolean;
1787 }
1788 class HeritageClauseSyntax extends SyntaxNode {
1789 public extendsOrImplementsKeyword: ISyntaxToken;
1790 public typeNames: ISeparatedSyntaxList;
1791 private _kind;
1792 constructor(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList, parsedInStrictMode: boolean);
1793 public accept(visitor: ISyntaxVisitor): any;
1794 public childCount(): number;
1795 public childAt(slot: number): ISyntaxElement;
1796 public kind(): SyntaxKind;
1797 public update(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax;
1798 public withLeadingTrivia(trivia: ISyntaxTriviaList): HeritageClauseSyntax;
1799 public withTrailingTrivia(trivia: ISyntaxTriviaList): HeritageClauseSyntax;
1800 public withKind(kind: SyntaxKind): HeritageClauseSyntax;
1801 public withExtendsOrImplementsKeyword(extendsOrImplementsKeyword: ISyntaxToken): HeritageClauseSyntax;
1802 public withTypeNames(typeNames: ISeparatedSyntaxList): HeritageClauseSyntax;
1803 public withTypeName(typeName: INameSyntax): HeritageClauseSyntax;
1804 public isTypeScriptSpecific(): boolean;
1805 }
1806 class ModuleDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax {
1807 public modifiers: ISyntaxList;
1808 public moduleKeyword: ISyntaxToken;
1809 public name: INameSyntax;
1810 public stringLiteral: ISyntaxToken;
1811 public openBraceToken: ISyntaxToken;
1812 public moduleElements: ISyntaxList;
1813 public closeBraceToken: ISyntaxToken;
1814 constructor(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean);
1815 public accept(visitor: ISyntaxVisitor): any;
1816 public kind(): SyntaxKind;
1817 public childCount(): number;
1818 public childAt(slot: number): ISyntaxElement;
1819 public isModuleElement(): boolean;
1820 public update(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax;
1821 static create(moduleKeyword: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax;
1822 static create1(): ModuleDeclarationSyntax;
1823 public withLeadingTrivia(trivia: ISyntaxTriviaList): ModuleDeclarationSyntax;
1824 public withTrailingTrivia(trivia: ISyntaxTriviaList): ModuleDeclarationSyntax;
1825 public withModifiers(modifiers: ISyntaxList): ModuleDeclarationSyntax;
1826 public withModifier(modifier: ISyntaxToken): ModuleDeclarationSyntax;
1827 public withModuleKeyword(moduleKeyword: ISyntaxToken): ModuleDeclarationSyntax;
1828 public withName(name: INameSyntax): ModuleDeclarationSyntax;
1829 public withStringLiteral(stringLiteral: ISyntaxToken): ModuleDeclarationSyntax;
1830 public withOpenBraceToken(openBraceToken: ISyntaxToken): ModuleDeclarationSyntax;
1831 public withModuleElements(moduleElements: ISyntaxList): ModuleDeclarationSyntax;
1832 public withModuleElement(moduleElement: IModuleElementSyntax): ModuleDeclarationSyntax;
1833 public withCloseBraceToken(closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax;
1834 public isTypeScriptSpecific(): boolean;
1835 }
1836 class FunctionDeclarationSyntax extends SyntaxNode implements IStatementSyntax {
1837 public modifiers: ISyntaxList;
1838 public functionKeyword: ISyntaxToken;
1839 public identifier: ISyntaxToken;
1840 public callSignature: CallSignatureSyntax;
1841 public block: BlockSyntax;
1842 public semicolonToken: ISyntaxToken;
1843 constructor(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
1844 public accept(visitor: ISyntaxVisitor): any;
1845 public kind(): SyntaxKind;
1846 public childCount(): number;
1847 public childAt(slot: number): ISyntaxElement;
1848 public isStatement(): boolean;
1849 public isModuleElement(): boolean;
1850 public update(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax;
1851 static create(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax): FunctionDeclarationSyntax;
1852 static create1(identifier: ISyntaxToken): FunctionDeclarationSyntax;
1853 public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionDeclarationSyntax;
1854 public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionDeclarationSyntax;
1855 public withModifiers(modifiers: ISyntaxList): FunctionDeclarationSyntax;
1856 public withModifier(modifier: ISyntaxToken): FunctionDeclarationSyntax;
1857 public withFunctionKeyword(functionKeyword: ISyntaxToken): FunctionDeclarationSyntax;
1858 public withIdentifier(identifier: ISyntaxToken): FunctionDeclarationSyntax;
1859 public withCallSignature(callSignature: CallSignatureSyntax): FunctionDeclarationSyntax;
1860 public withBlock(block: BlockSyntax): FunctionDeclarationSyntax;
1861 public withSemicolonToken(semicolonToken: ISyntaxToken): FunctionDeclarationSyntax;
1862 public isTypeScriptSpecific(): boolean;
1863 }
1864 class VariableStatementSyntax extends SyntaxNode implements IStatementSyntax {
1865 public modifiers: ISyntaxList;
1866 public variableDeclaration: VariableDeclarationSyntax;
1867 public semicolonToken: ISyntaxToken;
1868 constructor(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
1869 public accept(visitor: ISyntaxVisitor): any;
1870 public kind(): SyntaxKind;
1871 public childCount(): number;
1872 public childAt(slot: number): ISyntaxElement;
1873 public isStatement(): boolean;
1874 public isModuleElement(): boolean;
1875 public update(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax;
1876 static create(variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax;
1877 static create1(variableDeclaration: VariableDeclarationSyntax): VariableStatementSyntax;
1878 public withLeadingTrivia(trivia: ISyntaxTriviaList): VariableStatementSyntax;
1879 public withTrailingTrivia(trivia: ISyntaxTriviaList): VariableStatementSyntax;
1880 public withModifiers(modifiers: ISyntaxList): VariableStatementSyntax;
1881 public withModifier(modifier: ISyntaxToken): VariableStatementSyntax;
1882 public withVariableDeclaration(variableDeclaration: VariableDeclarationSyntax): VariableStatementSyntax;
1883 public withSemicolonToken(semicolonToken: ISyntaxToken): VariableStatementSyntax;
1884 public isTypeScriptSpecific(): boolean;
1885 }
1886 class VariableDeclarationSyntax extends SyntaxNode {
1887 public varKeyword: ISyntaxToken;
1888 public variableDeclarators: ISeparatedSyntaxList;
1889 constructor(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList, parsedInStrictMode: boolean);
1890 public accept(visitor: ISyntaxVisitor): any;
1891 public kind(): SyntaxKind;
1892 public childCount(): number;
1893 public childAt(slot: number): ISyntaxElement;
1894 public update(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax;
1895 static create1(variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax;
1896 public withLeadingTrivia(trivia: ISyntaxTriviaList): VariableDeclarationSyntax;
1897 public withTrailingTrivia(trivia: ISyntaxTriviaList): VariableDeclarationSyntax;
1898 public withVarKeyword(varKeyword: ISyntaxToken): VariableDeclarationSyntax;
1899 public withVariableDeclarators(variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax;
1900 public withVariableDeclarator(variableDeclarator: VariableDeclaratorSyntax): VariableDeclarationSyntax;
1901 public isTypeScriptSpecific(): boolean;
1902 }
1903 class VariableDeclaratorSyntax extends SyntaxNode {
1904 public propertyName: ISyntaxToken;
1905 public typeAnnotation: TypeAnnotationSyntax;
1906 public equalsValueClause: EqualsValueClauseSyntax;
1907 constructor(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax, parsedInStrictMode: boolean);
1908 public accept(visitor: ISyntaxVisitor): any;
1909 public kind(): SyntaxKind;
1910 public childCount(): number;
1911 public childAt(slot: number): ISyntaxElement;
1912 public update(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax;
1913 static create(propertyName: ISyntaxToken): VariableDeclaratorSyntax;
1914 static create1(propertyName: ISyntaxToken): VariableDeclaratorSyntax;
1915 public withLeadingTrivia(trivia: ISyntaxTriviaList): VariableDeclaratorSyntax;
1916 public withTrailingTrivia(trivia: ISyntaxTriviaList): VariableDeclaratorSyntax;
1917 public withPropertyName(propertyName: ISyntaxToken): VariableDeclaratorSyntax;
1918 public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): VariableDeclaratorSyntax;
1919 public withEqualsValueClause(equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax;
1920 public isTypeScriptSpecific(): boolean;
1921 }
1922 class EqualsValueClauseSyntax extends SyntaxNode {
1923 public equalsToken: ISyntaxToken;
1924 public value: IExpressionSyntax;
1925 constructor(equalsToken: ISyntaxToken, value: IExpressionSyntax, parsedInStrictMode: boolean);
1926 public accept(visitor: ISyntaxVisitor): any;
1927 public kind(): SyntaxKind;
1928 public childCount(): number;
1929 public childAt(slot: number): ISyntaxElement;
1930 public update(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax;
1931 static create1(value: IExpressionSyntax): EqualsValueClauseSyntax;
1932 public withLeadingTrivia(trivia: ISyntaxTriviaList): EqualsValueClauseSyntax;
1933 public withTrailingTrivia(trivia: ISyntaxTriviaList): EqualsValueClauseSyntax;
1934 public withEqualsToken(equalsToken: ISyntaxToken): EqualsValueClauseSyntax;
1935 public withValue(value: IExpressionSyntax): EqualsValueClauseSyntax;
1936 public isTypeScriptSpecific(): boolean;
1937 }
1938 class PrefixUnaryExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax {
1939 public operatorToken: ISyntaxToken;
1940 public operand: IUnaryExpressionSyntax;
1941 private _kind;
1942 constructor(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax, parsedInStrictMode: boolean);
1943 public accept(visitor: ISyntaxVisitor): any;
1944 public childCount(): number;
1945 public childAt(slot: number): ISyntaxElement;
1946 public isUnaryExpression(): boolean;
1947 public isExpression(): boolean;
1948 public kind(): SyntaxKind;
1949 public update(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax;
1950 public withLeadingTrivia(trivia: ISyntaxTriviaList): PrefixUnaryExpressionSyntax;
1951 public withTrailingTrivia(trivia: ISyntaxTriviaList): PrefixUnaryExpressionSyntax;
1952 public withKind(kind: SyntaxKind): PrefixUnaryExpressionSyntax;
1953 public withOperatorToken(operatorToken: ISyntaxToken): PrefixUnaryExpressionSyntax;
1954 public withOperand(operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax;
1955 public isTypeScriptSpecific(): boolean;
1956 }
1957 class ArrayLiteralExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax {
1958 public openBracketToken: ISyntaxToken;
1959 public expressions: ISeparatedSyntaxList;
1960 public closeBracketToken: ISyntaxToken;
1961 constructor(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken, parsedInStrictMode: boolean);
1962 public accept(visitor: ISyntaxVisitor): any;
1963 public kind(): SyntaxKind;
1964 public childCount(): number;
1965 public childAt(slot: number): ISyntaxElement;
1966 public isPrimaryExpression(): boolean;
1967 public isMemberExpression(): boolean;
1968 public isPostfixExpression(): boolean;
1969 public isUnaryExpression(): boolean;
1970 public isExpression(): boolean;
1971 public update(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax;
1972 static create(openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax;
1973 static create1(): ArrayLiteralExpressionSyntax;
1974 public withLeadingTrivia(trivia: ISyntaxTriviaList): ArrayLiteralExpressionSyntax;
1975 public withTrailingTrivia(trivia: ISyntaxTriviaList): ArrayLiteralExpressionSyntax;
1976 public withOpenBracketToken(openBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax;
1977 public withExpressions(expressions: ISeparatedSyntaxList): ArrayLiteralExpressionSyntax;
1978 public withExpression(expression: IExpressionSyntax): ArrayLiteralExpressionSyntax;
1979 public withCloseBracketToken(closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax;
1980 public isTypeScriptSpecific(): boolean;
1981 }
1982 class OmittedExpressionSyntax extends SyntaxNode implements IExpressionSyntax {
1983 constructor(parsedInStrictMode: boolean);
1984 public accept(visitor: ISyntaxVisitor): any;
1985 public kind(): SyntaxKind;
1986 public childCount(): number;
1987 public childAt(slot: number): ISyntaxElement;
1988 public isExpression(): boolean;
1989 public update(): OmittedExpressionSyntax;
1990 public withLeadingTrivia(trivia: ISyntaxTriviaList): OmittedExpressionSyntax;
1991 public withTrailingTrivia(trivia: ISyntaxTriviaList): OmittedExpressionSyntax;
1992 public isTypeScriptSpecific(): boolean;
1993 }
1994 class ParenthesizedExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax {
1995 public openParenToken: ISyntaxToken;
1996 public expression: IExpressionSyntax;
1997 public closeParenToken: ISyntaxToken;
1998 constructor(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean);
1999 public accept(visitor: ISyntaxVisitor): any;
2000 public kind(): SyntaxKind;
2001 public childCount(): number;
2002 public childAt(slot: number): ISyntaxElement;
2003 public isPrimaryExpression(): boolean;
2004 public isMemberExpression(): boolean;
2005 public isPostfixExpression(): boolean;
2006 public isUnaryExpression(): boolean;
2007 public isExpression(): boolean;
2008 public update(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax;
2009 static create1(expression: IExpressionSyntax): ParenthesizedExpressionSyntax;
2010 public withLeadingTrivia(trivia: ISyntaxTriviaList): ParenthesizedExpressionSyntax;
2011 public withTrailingTrivia(trivia: ISyntaxTriviaList): ParenthesizedExpressionSyntax;
2012 public withOpenParenToken(openParenToken: ISyntaxToken): ParenthesizedExpressionSyntax;
2013 public withExpression(expression: IExpressionSyntax): ParenthesizedExpressionSyntax;
2014 public withCloseParenToken(closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax;
2015 public isTypeScriptSpecific(): boolean;
2016 }
2017 class SimpleArrowFunctionExpressionSyntax extends SyntaxNode implements IArrowFunctionExpressionSyntax {
2018 public identifier: ISyntaxToken;
2019 public equalsGreaterThanToken: ISyntaxToken;
2020 public block: BlockSyntax;
2021 public expression: IExpressionSyntax;
2022 constructor(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax, parsedInStrictMode: boolean);
2023 public accept(visitor: ISyntaxVisitor): any;
2024 public kind(): SyntaxKind;
2025 public childCount(): number;
2026 public childAt(slot: number): ISyntaxElement;
2027 public isArrowFunctionExpression(): boolean;
2028 public isUnaryExpression(): boolean;
2029 public isExpression(): boolean;
2030 public update(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax;
2031 static create(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken): SimpleArrowFunctionExpressionSyntax;
2032 static create1(identifier: ISyntaxToken): SimpleArrowFunctionExpressionSyntax;
2033 public withLeadingTrivia(trivia: ISyntaxTriviaList): SimpleArrowFunctionExpressionSyntax;
2034 public withTrailingTrivia(trivia: ISyntaxTriviaList): SimpleArrowFunctionExpressionSyntax;
2035 public withIdentifier(identifier: ISyntaxToken): SimpleArrowFunctionExpressionSyntax;
2036 public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): SimpleArrowFunctionExpressionSyntax;
2037 public withBlock(block: BlockSyntax): SimpleArrowFunctionExpressionSyntax;
2038 public withExpression(expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax;
2039 public isTypeScriptSpecific(): boolean;
2040 }
2041 class ParenthesizedArrowFunctionExpressionSyntax extends SyntaxNode implements IArrowFunctionExpressionSyntax {
2042 public callSignature: CallSignatureSyntax;
2043 public equalsGreaterThanToken: ISyntaxToken;
2044 public block: BlockSyntax;
2045 public expression: IExpressionSyntax;
2046 constructor(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax, parsedInStrictMode: boolean);
2047 public accept(visitor: ISyntaxVisitor): any;
2048 public kind(): SyntaxKind;
2049 public childCount(): number;
2050 public childAt(slot: number): ISyntaxElement;
2051 public isArrowFunctionExpression(): boolean;
2052 public isUnaryExpression(): boolean;
2053 public isExpression(): boolean;
2054 public update(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax;
2055 static create(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken): ParenthesizedArrowFunctionExpressionSyntax;
2056 static create1(): ParenthesizedArrowFunctionExpressionSyntax;
2057 public withLeadingTrivia(trivia: ISyntaxTriviaList): ParenthesizedArrowFunctionExpressionSyntax;
2058 public withTrailingTrivia(trivia: ISyntaxTriviaList): ParenthesizedArrowFunctionExpressionSyntax;
2059 public withCallSignature(callSignature: CallSignatureSyntax): ParenthesizedArrowFunctionExpressionSyntax;
2060 public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): ParenthesizedArrowFunctionExpressionSyntax;
2061 public withBlock(block: BlockSyntax): ParenthesizedArrowFunctionExpressionSyntax;
2062 public withExpression(expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax;
2063 public isTypeScriptSpecific(): boolean;
2064 }
2065 class QualifiedNameSyntax extends SyntaxNode implements INameSyntax {
2066 public left: INameSyntax;
2067 public dotToken: ISyntaxToken;
2068 public right: ISyntaxToken;
2069 constructor(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken, parsedInStrictMode: boolean);
2070 public accept(visitor: ISyntaxVisitor): any;
2071 public kind(): SyntaxKind;
2072 public childCount(): number;
2073 public childAt(slot: number): ISyntaxElement;
2074 public isName(): boolean;
2075 public isType(): boolean;
2076 public update(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax;
2077 static create1(left: INameSyntax, right: ISyntaxToken): QualifiedNameSyntax;
2078 public withLeadingTrivia(trivia: ISyntaxTriviaList): QualifiedNameSyntax;
2079 public withTrailingTrivia(trivia: ISyntaxTriviaList): QualifiedNameSyntax;
2080 public withLeft(left: INameSyntax): QualifiedNameSyntax;
2081 public withDotToken(dotToken: ISyntaxToken): QualifiedNameSyntax;
2082 public withRight(right: ISyntaxToken): QualifiedNameSyntax;
2083 public isTypeScriptSpecific(): boolean;
2084 }
2085 class TypeArgumentListSyntax extends SyntaxNode {
2086 public lessThanToken: ISyntaxToken;
2087 public typeArguments: ISeparatedSyntaxList;
2088 public greaterThanToken: ISyntaxToken;
2089 constructor(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken, parsedInStrictMode: boolean);
2090 public accept(visitor: ISyntaxVisitor): any;
2091 public kind(): SyntaxKind;
2092 public childCount(): number;
2093 public childAt(slot: number): ISyntaxElement;
2094 public update(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax;
2095 static create(lessThanToken: ISyntaxToken, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax;
2096 static create1(): TypeArgumentListSyntax;
2097 public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeArgumentListSyntax;
2098 public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeArgumentListSyntax;
2099 public withLessThanToken(lessThanToken: ISyntaxToken): TypeArgumentListSyntax;
2100 public withTypeArguments(typeArguments: ISeparatedSyntaxList): TypeArgumentListSyntax;
2101 public withTypeArgument(typeArgument: ITypeSyntax): TypeArgumentListSyntax;
2102 public withGreaterThanToken(greaterThanToken: ISyntaxToken): TypeArgumentListSyntax;
2103 public isTypeScriptSpecific(): boolean;
2104 }
2105 class ConstructorTypeSyntax extends SyntaxNode implements ITypeSyntax {
2106 public newKeyword: ISyntaxToken;
2107 public typeParameterList: TypeParameterListSyntax;
2108 public parameterList: ParameterListSyntax;
2109 public equalsGreaterThanToken: ISyntaxToken;
2110 public type: ITypeSyntax;
2111 constructor(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean);
2112 public accept(visitor: ISyntaxVisitor): any;
2113 public kind(): SyntaxKind;
2114 public childCount(): number;
2115 public childAt(slot: number): ISyntaxElement;
2116 public isType(): boolean;
2117 public update(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax;
2118 static create(newKeyword: ISyntaxToken, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax;
2119 static create1(type: ITypeSyntax): ConstructorTypeSyntax;
2120 public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstructorTypeSyntax;
2121 public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstructorTypeSyntax;
2122 public withNewKeyword(newKeyword: ISyntaxToken): ConstructorTypeSyntax;
2123 public withTypeParameterList(typeParameterList: TypeParameterListSyntax): ConstructorTypeSyntax;
2124 public withParameterList(parameterList: ParameterListSyntax): ConstructorTypeSyntax;
2125 public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): ConstructorTypeSyntax;
2126 public withType(type: ITypeSyntax): ConstructorTypeSyntax;
2127 public isTypeScriptSpecific(): boolean;
2128 }
2129 class FunctionTypeSyntax extends SyntaxNode implements ITypeSyntax {
2130 public typeParameterList: TypeParameterListSyntax;
2131 public parameterList: ParameterListSyntax;
2132 public equalsGreaterThanToken: ISyntaxToken;
2133 public type: ITypeSyntax;
2134 constructor(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean);
2135 public accept(visitor: ISyntaxVisitor): any;
2136 public kind(): SyntaxKind;
2137 public childCount(): number;
2138 public childAt(slot: number): ISyntaxElement;
2139 public isType(): boolean;
2140 public update(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax;
2141 static create(parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax;
2142 static create1(type: ITypeSyntax): FunctionTypeSyntax;
2143 public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionTypeSyntax;
2144 public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionTypeSyntax;
2145 public withTypeParameterList(typeParameterList: TypeParameterListSyntax): FunctionTypeSyntax;
2146 public withParameterList(parameterList: ParameterListSyntax): FunctionTypeSyntax;
2147 public withEqualsGreaterThanToken(equalsGreaterThanToken: ISyntaxToken): FunctionTypeSyntax;
2148 public withType(type: ITypeSyntax): FunctionTypeSyntax;
2149 public isTypeScriptSpecific(): boolean;
2150 }
2151 class ObjectTypeSyntax extends SyntaxNode implements ITypeSyntax {
2152 public openBraceToken: ISyntaxToken;
2153 public typeMembers: ISeparatedSyntaxList;
2154 public closeBraceToken: ISyntaxToken;
2155 constructor(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean);
2156 public accept(visitor: ISyntaxVisitor): any;
2157 public kind(): SyntaxKind;
2158 public childCount(): number;
2159 public childAt(slot: number): ISyntaxElement;
2160 public isType(): boolean;
2161 public update(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax;
2162 static create(openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ObjectTypeSyntax;
2163 static create1(): ObjectTypeSyntax;
2164 public withLeadingTrivia(trivia: ISyntaxTriviaList): ObjectTypeSyntax;
2165 public withTrailingTrivia(trivia: ISyntaxTriviaList): ObjectTypeSyntax;
2166 public withOpenBraceToken(openBraceToken: ISyntaxToken): ObjectTypeSyntax;
2167 public withTypeMembers(typeMembers: ISeparatedSyntaxList): ObjectTypeSyntax;
2168 public withTypeMember(typeMember: ITypeMemberSyntax): ObjectTypeSyntax;
2169 public withCloseBraceToken(closeBraceToken: ISyntaxToken): ObjectTypeSyntax;
2170 public isTypeScriptSpecific(): boolean;
2171 }
2172 class ArrayTypeSyntax extends SyntaxNode implements ITypeSyntax {
2173 public type: ITypeSyntax;
2174 public openBracketToken: ISyntaxToken;
2175 public closeBracketToken: ISyntaxToken;
2176 constructor(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken, parsedInStrictMode: boolean);
2177 public accept(visitor: ISyntaxVisitor): any;
2178 public kind(): SyntaxKind;
2179 public childCount(): number;
2180 public childAt(slot: number): ISyntaxElement;
2181 public isType(): boolean;
2182 public update(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax;
2183 static create1(type: ITypeSyntax): ArrayTypeSyntax;
2184 public withLeadingTrivia(trivia: ISyntaxTriviaList): ArrayTypeSyntax;
2185 public withTrailingTrivia(trivia: ISyntaxTriviaList): ArrayTypeSyntax;
2186 public withType(type: ITypeSyntax): ArrayTypeSyntax;
2187 public withOpenBracketToken(openBracketToken: ISyntaxToken): ArrayTypeSyntax;
2188 public withCloseBracketToken(closeBracketToken: ISyntaxToken): ArrayTypeSyntax;
2189 public isTypeScriptSpecific(): boolean;
2190 }
2191 class GenericTypeSyntax extends SyntaxNode implements ITypeSyntax {
2192 public name: INameSyntax;
2193 public typeArgumentList: TypeArgumentListSyntax;
2194 constructor(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax, parsedInStrictMode: boolean);
2195 public accept(visitor: ISyntaxVisitor): any;
2196 public kind(): SyntaxKind;
2197 public childCount(): number;
2198 public childAt(slot: number): ISyntaxElement;
2199 public isType(): boolean;
2200 public update(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax;
2201 static create1(name: INameSyntax): GenericTypeSyntax;
2202 public withLeadingTrivia(trivia: ISyntaxTriviaList): GenericTypeSyntax;
2203 public withTrailingTrivia(trivia: ISyntaxTriviaList): GenericTypeSyntax;
2204 public withName(name: INameSyntax): GenericTypeSyntax;
2205 public withTypeArgumentList(typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax;
2206 public isTypeScriptSpecific(): boolean;
2207 }
2208 class TypeQuerySyntax extends SyntaxNode implements ITypeSyntax {
2209 public typeOfKeyword: ISyntaxToken;
2210 public name: INameSyntax;
2211 constructor(typeOfKeyword: ISyntaxToken, name: INameSyntax, parsedInStrictMode: boolean);
2212 public accept(visitor: ISyntaxVisitor): any;
2213 public kind(): SyntaxKind;
2214 public childCount(): number;
2215 public childAt(slot: number): ISyntaxElement;
2216 public isType(): boolean;
2217 public update(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax;
2218 static create1(name: INameSyntax): TypeQuerySyntax;
2219 public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeQuerySyntax;
2220 public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeQuerySyntax;
2221 public withTypeOfKeyword(typeOfKeyword: ISyntaxToken): TypeQuerySyntax;
2222 public withName(name: INameSyntax): TypeQuerySyntax;
2223 public isTypeScriptSpecific(): boolean;
2224 }
2225 class TypeAnnotationSyntax extends SyntaxNode {
2226 public colonToken: ISyntaxToken;
2227 public type: ITypeSyntax;
2228 constructor(colonToken: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean);
2229 public accept(visitor: ISyntaxVisitor): any;
2230 public kind(): SyntaxKind;
2231 public childCount(): number;
2232 public childAt(slot: number): ISyntaxElement;
2233 public update(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax;
2234 static create1(type: ITypeSyntax): TypeAnnotationSyntax;
2235 public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeAnnotationSyntax;
2236 public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeAnnotationSyntax;
2237 public withColonToken(colonToken: ISyntaxToken): TypeAnnotationSyntax;
2238 public withType(type: ITypeSyntax): TypeAnnotationSyntax;
2239 public isTypeScriptSpecific(): boolean;
2240 }
2241 class BlockSyntax extends SyntaxNode implements IStatementSyntax {
2242 public openBraceToken: ISyntaxToken;
2243 public statements: ISyntaxList;
2244 public closeBraceToken: ISyntaxToken;
2245 constructor(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean);
2246 public accept(visitor: ISyntaxVisitor): any;
2247 public kind(): SyntaxKind;
2248 public childCount(): number;
2249 public childAt(slot: number): ISyntaxElement;
2250 public isStatement(): boolean;
2251 public isModuleElement(): boolean;
2252 public update(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax;
2253 static create(openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): BlockSyntax;
2254 static create1(): BlockSyntax;
2255 public withLeadingTrivia(trivia: ISyntaxTriviaList): BlockSyntax;
2256 public withTrailingTrivia(trivia: ISyntaxTriviaList): BlockSyntax;
2257 public withOpenBraceToken(openBraceToken: ISyntaxToken): BlockSyntax;
2258 public withStatements(statements: ISyntaxList): BlockSyntax;
2259 public withStatement(statement: IStatementSyntax): BlockSyntax;
2260 public withCloseBraceToken(closeBraceToken: ISyntaxToken): BlockSyntax;
2261 public isTypeScriptSpecific(): boolean;
2262 }
2263 class ParameterSyntax extends SyntaxNode {
2264 public dotDotDotToken: ISyntaxToken;
2265 public modifiers: ISyntaxList;
2266 public identifier: ISyntaxToken;
2267 public questionToken: ISyntaxToken;
2268 public typeAnnotation: TypeAnnotationSyntax;
2269 public equalsValueClause: EqualsValueClauseSyntax;
2270 constructor(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax, parsedInStrictMode: boolean);
2271 public accept(visitor: ISyntaxVisitor): any;
2272 public kind(): SyntaxKind;
2273 public childCount(): number;
2274 public childAt(slot: number): ISyntaxElement;
2275 public update(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax;
2276 static create(identifier: ISyntaxToken): ParameterSyntax;
2277 static create1(identifier: ISyntaxToken): ParameterSyntax;
2278 public withLeadingTrivia(trivia: ISyntaxTriviaList): ParameterSyntax;
2279 public withTrailingTrivia(trivia: ISyntaxTriviaList): ParameterSyntax;
2280 public withDotDotDotToken(dotDotDotToken: ISyntaxToken): ParameterSyntax;
2281 public withModifiers(modifiers: ISyntaxList): ParameterSyntax;
2282 public withModifier(modifier: ISyntaxToken): ParameterSyntax;
2283 public withIdentifier(identifier: ISyntaxToken): ParameterSyntax;
2284 public withQuestionToken(questionToken: ISyntaxToken): ParameterSyntax;
2285 public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): ParameterSyntax;
2286 public withEqualsValueClause(equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax;
2287 public isTypeScriptSpecific(): boolean;
2288 }
2289 class MemberAccessExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax {
2290 public expression: IExpressionSyntax;
2291 public dotToken: ISyntaxToken;
2292 public name: ISyntaxToken;
2293 constructor(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken, parsedInStrictMode: boolean);
2294 public accept(visitor: ISyntaxVisitor): any;
2295 public kind(): SyntaxKind;
2296 public childCount(): number;
2297 public childAt(slot: number): ISyntaxElement;
2298 public isMemberExpression(): boolean;
2299 public isPostfixExpression(): boolean;
2300 public isUnaryExpression(): boolean;
2301 public isExpression(): boolean;
2302 public update(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax;
2303 static create1(expression: IExpressionSyntax, name: ISyntaxToken): MemberAccessExpressionSyntax;
2304 public withLeadingTrivia(trivia: ISyntaxTriviaList): MemberAccessExpressionSyntax;
2305 public withTrailingTrivia(trivia: ISyntaxTriviaList): MemberAccessExpressionSyntax;
2306 public withExpression(expression: IExpressionSyntax): MemberAccessExpressionSyntax;
2307 public withDotToken(dotToken: ISyntaxToken): MemberAccessExpressionSyntax;
2308 public withName(name: ISyntaxToken): MemberAccessExpressionSyntax;
2309 public isTypeScriptSpecific(): boolean;
2310 }
2311 class PostfixUnaryExpressionSyntax extends SyntaxNode implements IPostfixExpressionSyntax {
2312 public operand: IMemberExpressionSyntax;
2313 public operatorToken: ISyntaxToken;
2314 private _kind;
2315 constructor(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken, parsedInStrictMode: boolean);
2316 public accept(visitor: ISyntaxVisitor): any;
2317 public childCount(): number;
2318 public childAt(slot: number): ISyntaxElement;
2319 public isPostfixExpression(): boolean;
2320 public isUnaryExpression(): boolean;
2321 public isExpression(): boolean;
2322 public kind(): SyntaxKind;
2323 public update(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax;
2324 public withLeadingTrivia(trivia: ISyntaxTriviaList): PostfixUnaryExpressionSyntax;
2325 public withTrailingTrivia(trivia: ISyntaxTriviaList): PostfixUnaryExpressionSyntax;
2326 public withKind(kind: SyntaxKind): PostfixUnaryExpressionSyntax;
2327 public withOperand(operand: IMemberExpressionSyntax): PostfixUnaryExpressionSyntax;
2328 public withOperatorToken(operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax;
2329 public isTypeScriptSpecific(): boolean;
2330 }
2331 class ElementAccessExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax {
2332 public expression: IExpressionSyntax;
2333 public openBracketToken: ISyntaxToken;
2334 public argumentExpression: IExpressionSyntax;
2335 public closeBracketToken: ISyntaxToken;
2336 constructor(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken, parsedInStrictMode: boolean);
2337 public accept(visitor: ISyntaxVisitor): any;
2338 public kind(): SyntaxKind;
2339 public childCount(): number;
2340 public childAt(slot: number): ISyntaxElement;
2341 public isMemberExpression(): boolean;
2342 public isPostfixExpression(): boolean;
2343 public isUnaryExpression(): boolean;
2344 public isExpression(): boolean;
2345 public update(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax;
2346 static create1(expression: IExpressionSyntax, argumentExpression: IExpressionSyntax): ElementAccessExpressionSyntax;
2347 public withLeadingTrivia(trivia: ISyntaxTriviaList): ElementAccessExpressionSyntax;
2348 public withTrailingTrivia(trivia: ISyntaxTriviaList): ElementAccessExpressionSyntax;
2349 public withExpression(expression: IExpressionSyntax): ElementAccessExpressionSyntax;
2350 public withOpenBracketToken(openBracketToken: ISyntaxToken): ElementAccessExpressionSyntax;
2351 public withArgumentExpression(argumentExpression: IExpressionSyntax): ElementAccessExpressionSyntax;
2352 public withCloseBracketToken(closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax;
2353 public isTypeScriptSpecific(): boolean;
2354 }
2355 class InvocationExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax {
2356 public expression: IMemberExpressionSyntax;
2357 public argumentList: ArgumentListSyntax;
2358 constructor(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax, parsedInStrictMode: boolean);
2359 public accept(visitor: ISyntaxVisitor): any;
2360 public kind(): SyntaxKind;
2361 public childCount(): number;
2362 public childAt(slot: number): ISyntaxElement;
2363 public isMemberExpression(): boolean;
2364 public isPostfixExpression(): boolean;
2365 public isUnaryExpression(): boolean;
2366 public isExpression(): boolean;
2367 public update(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax;
2368 static create1(expression: IMemberExpressionSyntax): InvocationExpressionSyntax;
2369 public withLeadingTrivia(trivia: ISyntaxTriviaList): InvocationExpressionSyntax;
2370 public withTrailingTrivia(trivia: ISyntaxTriviaList): InvocationExpressionSyntax;
2371 public withExpression(expression: IMemberExpressionSyntax): InvocationExpressionSyntax;
2372 public withArgumentList(argumentList: ArgumentListSyntax): InvocationExpressionSyntax;
2373 public isTypeScriptSpecific(): boolean;
2374 }
2375 class ArgumentListSyntax extends SyntaxNode {
2376 public typeArgumentList: TypeArgumentListSyntax;
2377 public openParenToken: ISyntaxToken;
2378 public closeParenToken: ISyntaxToken;
2379 public arguments: ISeparatedSyntaxList;
2380 constructor(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean);
2381 public accept(visitor: ISyntaxVisitor): any;
2382 public kind(): SyntaxKind;
2383 public childCount(): number;
2384 public childAt(slot: number): ISyntaxElement;
2385 public update(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax;
2386 static create(openParenToken: ISyntaxToken, closeParenToken: ISyntaxToken): ArgumentListSyntax;
2387 static create1(): ArgumentListSyntax;
2388 public withLeadingTrivia(trivia: ISyntaxTriviaList): ArgumentListSyntax;
2389 public withTrailingTrivia(trivia: ISyntaxTriviaList): ArgumentListSyntax;
2390 public withTypeArgumentList(typeArgumentList: TypeArgumentListSyntax): ArgumentListSyntax;
2391 public withOpenParenToken(openParenToken: ISyntaxToken): ArgumentListSyntax;
2392 public withArguments(_arguments: ISeparatedSyntaxList): ArgumentListSyntax;
2393 public withArgument(_argument: IExpressionSyntax): ArgumentListSyntax;
2394 public withCloseParenToken(closeParenToken: ISyntaxToken): ArgumentListSyntax;
2395 public isTypeScriptSpecific(): boolean;
2396 }
2397 class BinaryExpressionSyntax extends SyntaxNode implements IExpressionSyntax {
2398 public left: IExpressionSyntax;
2399 public operatorToken: ISyntaxToken;
2400 public right: IExpressionSyntax;
2401 private _kind;
2402 constructor(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax, parsedInStrictMode: boolean);
2403 public accept(visitor: ISyntaxVisitor): any;
2404 public childCount(): number;
2405 public childAt(slot: number): ISyntaxElement;
2406 public isExpression(): boolean;
2407 public kind(): SyntaxKind;
2408 public update(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax;
2409 public withLeadingTrivia(trivia: ISyntaxTriviaList): BinaryExpressionSyntax;
2410 public withTrailingTrivia(trivia: ISyntaxTriviaList): BinaryExpressionSyntax;
2411 public withKind(kind: SyntaxKind): BinaryExpressionSyntax;
2412 public withLeft(left: IExpressionSyntax): BinaryExpressionSyntax;
2413 public withOperatorToken(operatorToken: ISyntaxToken): BinaryExpressionSyntax;
2414 public withRight(right: IExpressionSyntax): BinaryExpressionSyntax;
2415 public isTypeScriptSpecific(): boolean;
2416 }
2417 class ConditionalExpressionSyntax extends SyntaxNode implements IExpressionSyntax {
2418 public condition: IExpressionSyntax;
2419 public questionToken: ISyntaxToken;
2420 public whenTrue: IExpressionSyntax;
2421 public colonToken: ISyntaxToken;
2422 public whenFalse: IExpressionSyntax;
2423 constructor(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax, parsedInStrictMode: boolean);
2424 public accept(visitor: ISyntaxVisitor): any;
2425 public kind(): SyntaxKind;
2426 public childCount(): number;
2427 public childAt(slot: number): ISyntaxElement;
2428 public isExpression(): boolean;
2429 public update(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax;
2430 static create1(condition: IExpressionSyntax, whenTrue: IExpressionSyntax, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax;
2431 public withLeadingTrivia(trivia: ISyntaxTriviaList): ConditionalExpressionSyntax;
2432 public withTrailingTrivia(trivia: ISyntaxTriviaList): ConditionalExpressionSyntax;
2433 public withCondition(condition: IExpressionSyntax): ConditionalExpressionSyntax;
2434 public withQuestionToken(questionToken: ISyntaxToken): ConditionalExpressionSyntax;
2435 public withWhenTrue(whenTrue: IExpressionSyntax): ConditionalExpressionSyntax;
2436 public withColonToken(colonToken: ISyntaxToken): ConditionalExpressionSyntax;
2437 public withWhenFalse(whenFalse: IExpressionSyntax): ConditionalExpressionSyntax;
2438 public isTypeScriptSpecific(): boolean;
2439 }
2440 class ConstructSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax {
2441 public newKeyword: ISyntaxToken;
2442 public callSignature: CallSignatureSyntax;
2443 constructor(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, parsedInStrictMode: boolean);
2444 public accept(visitor: ISyntaxVisitor): any;
2445 public kind(): SyntaxKind;
2446 public childCount(): number;
2447 public childAt(slot: number): ISyntaxElement;
2448 public isTypeMember(): boolean;
2449 public update(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax;
2450 static create1(): ConstructSignatureSyntax;
2451 public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstructSignatureSyntax;
2452 public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstructSignatureSyntax;
2453 public withNewKeyword(newKeyword: ISyntaxToken): ConstructSignatureSyntax;
2454 public withCallSignature(callSignature: CallSignatureSyntax): ConstructSignatureSyntax;
2455 public isTypeScriptSpecific(): boolean;
2456 }
2457 class MethodSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax {
2458 public propertyName: ISyntaxToken;
2459 public questionToken: ISyntaxToken;
2460 public callSignature: CallSignatureSyntax;
2461 constructor(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax, parsedInStrictMode: boolean);
2462 public accept(visitor: ISyntaxVisitor): any;
2463 public kind(): SyntaxKind;
2464 public childCount(): number;
2465 public childAt(slot: number): ISyntaxElement;
2466 public isTypeMember(): boolean;
2467 public update(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax;
2468 static create(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax;
2469 static create1(propertyName: ISyntaxToken): MethodSignatureSyntax;
2470 public withLeadingTrivia(trivia: ISyntaxTriviaList): MethodSignatureSyntax;
2471 public withTrailingTrivia(trivia: ISyntaxTriviaList): MethodSignatureSyntax;
2472 public withPropertyName(propertyName: ISyntaxToken): MethodSignatureSyntax;
2473 public withQuestionToken(questionToken: ISyntaxToken): MethodSignatureSyntax;
2474 public withCallSignature(callSignature: CallSignatureSyntax): MethodSignatureSyntax;
2475 public isTypeScriptSpecific(): boolean;
2476 }
2477 class IndexSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax {
2478 public openBracketToken: ISyntaxToken;
2479 public parameter: ParameterSyntax;
2480 public closeBracketToken: ISyntaxToken;
2481 public typeAnnotation: TypeAnnotationSyntax;
2482 constructor(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, parsedInStrictMode: boolean);
2483 public accept(visitor: ISyntaxVisitor): any;
2484 public kind(): SyntaxKind;
2485 public childCount(): number;
2486 public childAt(slot: number): ISyntaxElement;
2487 public isTypeMember(): boolean;
2488 public update(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax;
2489 static create(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken): IndexSignatureSyntax;
2490 static create1(parameter: ParameterSyntax): IndexSignatureSyntax;
2491 public withLeadingTrivia(trivia: ISyntaxTriviaList): IndexSignatureSyntax;
2492 public withTrailingTrivia(trivia: ISyntaxTriviaList): IndexSignatureSyntax;
2493 public withOpenBracketToken(openBracketToken: ISyntaxToken): IndexSignatureSyntax;
2494 public withParameter(parameter: ParameterSyntax): IndexSignatureSyntax;
2495 public withCloseBracketToken(closeBracketToken: ISyntaxToken): IndexSignatureSyntax;
2496 public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax;
2497 public isTypeScriptSpecific(): boolean;
2498 }
2499 class PropertySignatureSyntax extends SyntaxNode implements ITypeMemberSyntax {
2500 public propertyName: ISyntaxToken;
2501 public questionToken: ISyntaxToken;
2502 public typeAnnotation: TypeAnnotationSyntax;
2503 constructor(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, parsedInStrictMode: boolean);
2504 public accept(visitor: ISyntaxVisitor): any;
2505 public kind(): SyntaxKind;
2506 public childCount(): number;
2507 public childAt(slot: number): ISyntaxElement;
2508 public isTypeMember(): boolean;
2509 public update(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax;
2510 static create(propertyName: ISyntaxToken): PropertySignatureSyntax;
2511 static create1(propertyName: ISyntaxToken): PropertySignatureSyntax;
2512 public withLeadingTrivia(trivia: ISyntaxTriviaList): PropertySignatureSyntax;
2513 public withTrailingTrivia(trivia: ISyntaxTriviaList): PropertySignatureSyntax;
2514 public withPropertyName(propertyName: ISyntaxToken): PropertySignatureSyntax;
2515 public withQuestionToken(questionToken: ISyntaxToken): PropertySignatureSyntax;
2516 public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax;
2517 public isTypeScriptSpecific(): boolean;
2518 }
2519 class CallSignatureSyntax extends SyntaxNode implements ITypeMemberSyntax {
2520 public typeParameterList: TypeParameterListSyntax;
2521 public parameterList: ParameterListSyntax;
2522 public typeAnnotation: TypeAnnotationSyntax;
2523 constructor(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, parsedInStrictMode: boolean);
2524 public accept(visitor: ISyntaxVisitor): any;
2525 public kind(): SyntaxKind;
2526 public childCount(): number;
2527 public childAt(slot: number): ISyntaxElement;
2528 public isTypeMember(): boolean;
2529 public update(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax;
2530 static create(parameterList: ParameterListSyntax): CallSignatureSyntax;
2531 static create1(): CallSignatureSyntax;
2532 public withLeadingTrivia(trivia: ISyntaxTriviaList): CallSignatureSyntax;
2533 public withTrailingTrivia(trivia: ISyntaxTriviaList): CallSignatureSyntax;
2534 public withTypeParameterList(typeParameterList: TypeParameterListSyntax): CallSignatureSyntax;
2535 public withParameterList(parameterList: ParameterListSyntax): CallSignatureSyntax;
2536 public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax;
2537 public isTypeScriptSpecific(): boolean;
2538 }
2539 class ParameterListSyntax extends SyntaxNode {
2540 public openParenToken: ISyntaxToken;
2541 public parameters: ISeparatedSyntaxList;
2542 public closeParenToken: ISyntaxToken;
2543 constructor(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken, parsedInStrictMode: boolean);
2544 public accept(visitor: ISyntaxVisitor): any;
2545 public kind(): SyntaxKind;
2546 public childCount(): number;
2547 public childAt(slot: number): ISyntaxElement;
2548 public update(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax;
2549 static create(openParenToken: ISyntaxToken, closeParenToken: ISyntaxToken): ParameterListSyntax;
2550 static create1(): ParameterListSyntax;
2551 public withLeadingTrivia(trivia: ISyntaxTriviaList): ParameterListSyntax;
2552 public withTrailingTrivia(trivia: ISyntaxTriviaList): ParameterListSyntax;
2553 public withOpenParenToken(openParenToken: ISyntaxToken): ParameterListSyntax;
2554 public withParameters(parameters: ISeparatedSyntaxList): ParameterListSyntax;
2555 public withParameter(parameter: ParameterSyntax): ParameterListSyntax;
2556 public withCloseParenToken(closeParenToken: ISyntaxToken): ParameterListSyntax;
2557 public isTypeScriptSpecific(): boolean;
2558 }
2559 class TypeParameterListSyntax extends SyntaxNode {
2560 public lessThanToken: ISyntaxToken;
2561 public typeParameters: ISeparatedSyntaxList;
2562 public greaterThanToken: ISyntaxToken;
2563 constructor(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken, parsedInStrictMode: boolean);
2564 public accept(visitor: ISyntaxVisitor): any;
2565 public kind(): SyntaxKind;
2566 public childCount(): number;
2567 public childAt(slot: number): ISyntaxElement;
2568 public update(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax;
2569 static create(lessThanToken: ISyntaxToken, greaterThanToken: ISyntaxToken): TypeParameterListSyntax;
2570 static create1(): TypeParameterListSyntax;
2571 public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeParameterListSyntax;
2572 public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeParameterListSyntax;
2573 public withLessThanToken(lessThanToken: ISyntaxToken): TypeParameterListSyntax;
2574 public withTypeParameters(typeParameters: ISeparatedSyntaxList): TypeParameterListSyntax;
2575 public withTypeParameter(typeParameter: TypeParameterSyntax): TypeParameterListSyntax;
2576 public withGreaterThanToken(greaterThanToken: ISyntaxToken): TypeParameterListSyntax;
2577 public isTypeScriptSpecific(): boolean;
2578 }
2579 class TypeParameterSyntax extends SyntaxNode {
2580 public identifier: ISyntaxToken;
2581 public constraint: ConstraintSyntax;
2582 constructor(identifier: ISyntaxToken, constraint: ConstraintSyntax, parsedInStrictMode: boolean);
2583 public accept(visitor: ISyntaxVisitor): any;
2584 public kind(): SyntaxKind;
2585 public childCount(): number;
2586 public childAt(slot: number): ISyntaxElement;
2587 public update(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax;
2588 static create(identifier: ISyntaxToken): TypeParameterSyntax;
2589 static create1(identifier: ISyntaxToken): TypeParameterSyntax;
2590 public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeParameterSyntax;
2591 public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeParameterSyntax;
2592 public withIdentifier(identifier: ISyntaxToken): TypeParameterSyntax;
2593 public withConstraint(constraint: ConstraintSyntax): TypeParameterSyntax;
2594 public isTypeScriptSpecific(): boolean;
2595 }
2596 class ConstraintSyntax extends SyntaxNode {
2597 public extendsKeyword: ISyntaxToken;
2598 public type: ITypeSyntax;
2599 constructor(extendsKeyword: ISyntaxToken, type: ITypeSyntax, parsedInStrictMode: boolean);
2600 public accept(visitor: ISyntaxVisitor): any;
2601 public kind(): SyntaxKind;
2602 public childCount(): number;
2603 public childAt(slot: number): ISyntaxElement;
2604 public update(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax;
2605 static create1(type: ITypeSyntax): ConstraintSyntax;
2606 public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstraintSyntax;
2607 public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstraintSyntax;
2608 public withExtendsKeyword(extendsKeyword: ISyntaxToken): ConstraintSyntax;
2609 public withType(type: ITypeSyntax): ConstraintSyntax;
2610 public isTypeScriptSpecific(): boolean;
2611 }
2612 class ElseClauseSyntax extends SyntaxNode {
2613 public elseKeyword: ISyntaxToken;
2614 public statement: IStatementSyntax;
2615 constructor(elseKeyword: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean);
2616 public accept(visitor: ISyntaxVisitor): any;
2617 public kind(): SyntaxKind;
2618 public childCount(): number;
2619 public childAt(slot: number): ISyntaxElement;
2620 public update(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax;
2621 static create1(statement: IStatementSyntax): ElseClauseSyntax;
2622 public withLeadingTrivia(trivia: ISyntaxTriviaList): ElseClauseSyntax;
2623 public withTrailingTrivia(trivia: ISyntaxTriviaList): ElseClauseSyntax;
2624 public withElseKeyword(elseKeyword: ISyntaxToken): ElseClauseSyntax;
2625 public withStatement(statement: IStatementSyntax): ElseClauseSyntax;
2626 public isTypeScriptSpecific(): boolean;
2627 }
2628 class IfStatementSyntax extends SyntaxNode implements IStatementSyntax {
2629 public ifKeyword: ISyntaxToken;
2630 public openParenToken: ISyntaxToken;
2631 public condition: IExpressionSyntax;
2632 public closeParenToken: ISyntaxToken;
2633 public statement: IStatementSyntax;
2634 public elseClause: ElseClauseSyntax;
2635 constructor(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax, parsedInStrictMode: boolean);
2636 public accept(visitor: ISyntaxVisitor): any;
2637 public kind(): SyntaxKind;
2638 public childCount(): number;
2639 public childAt(slot: number): ISyntaxElement;
2640 public isStatement(): boolean;
2641 public isModuleElement(): boolean;
2642 public update(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax;
2643 static create(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): IfStatementSyntax;
2644 static create1(condition: IExpressionSyntax, statement: IStatementSyntax): IfStatementSyntax;
2645 public withLeadingTrivia(trivia: ISyntaxTriviaList): IfStatementSyntax;
2646 public withTrailingTrivia(trivia: ISyntaxTriviaList): IfStatementSyntax;
2647 public withIfKeyword(ifKeyword: ISyntaxToken): IfStatementSyntax;
2648 public withOpenParenToken(openParenToken: ISyntaxToken): IfStatementSyntax;
2649 public withCondition(condition: IExpressionSyntax): IfStatementSyntax;
2650 public withCloseParenToken(closeParenToken: ISyntaxToken): IfStatementSyntax;
2651 public withStatement(statement: IStatementSyntax): IfStatementSyntax;
2652 public withElseClause(elseClause: ElseClauseSyntax): IfStatementSyntax;
2653 public isTypeScriptSpecific(): boolean;
2654 }
2655 class ExpressionStatementSyntax extends SyntaxNode implements IStatementSyntax {
2656 public expression: IExpressionSyntax;
2657 public semicolonToken: ISyntaxToken;
2658 constructor(expression: IExpressionSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
2659 public accept(visitor: ISyntaxVisitor): any;
2660 public kind(): SyntaxKind;
2661 public childCount(): number;
2662 public childAt(slot: number): ISyntaxElement;
2663 public isStatement(): boolean;
2664 public isModuleElement(): boolean;
2665 public update(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax;
2666 static create1(expression: IExpressionSyntax): ExpressionStatementSyntax;
2667 public withLeadingTrivia(trivia: ISyntaxTriviaList): ExpressionStatementSyntax;
2668 public withTrailingTrivia(trivia: ISyntaxTriviaList): ExpressionStatementSyntax;
2669 public withExpression(expression: IExpressionSyntax): ExpressionStatementSyntax;
2670 public withSemicolonToken(semicolonToken: ISyntaxToken): ExpressionStatementSyntax;
2671 public isTypeScriptSpecific(): boolean;
2672 }
2673 class ConstructorDeclarationSyntax extends SyntaxNode implements IClassElementSyntax {
2674 public modifiers: ISyntaxList;
2675 public constructorKeyword: ISyntaxToken;
2676 public callSignature: CallSignatureSyntax;
2677 public block: BlockSyntax;
2678 public semicolonToken: ISyntaxToken;
2679 constructor(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
2680 public accept(visitor: ISyntaxVisitor): any;
2681 public kind(): SyntaxKind;
2682 public childCount(): number;
2683 public childAt(slot: number): ISyntaxElement;
2684 public isClassElement(): boolean;
2685 public update(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax;
2686 static create(constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructorDeclarationSyntax;
2687 static create1(): ConstructorDeclarationSyntax;
2688 public withLeadingTrivia(trivia: ISyntaxTriviaList): ConstructorDeclarationSyntax;
2689 public withTrailingTrivia(trivia: ISyntaxTriviaList): ConstructorDeclarationSyntax;
2690 public withModifiers(modifiers: ISyntaxList): ConstructorDeclarationSyntax;
2691 public withModifier(modifier: ISyntaxToken): ConstructorDeclarationSyntax;
2692 public withConstructorKeyword(constructorKeyword: ISyntaxToken): ConstructorDeclarationSyntax;
2693 public withCallSignature(callSignature: CallSignatureSyntax): ConstructorDeclarationSyntax;
2694 public withBlock(block: BlockSyntax): ConstructorDeclarationSyntax;
2695 public withSemicolonToken(semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax;
2696 public isTypeScriptSpecific(): boolean;
2697 }
2698 class MemberFunctionDeclarationSyntax extends SyntaxNode implements IMemberDeclarationSyntax {
2699 public modifiers: ISyntaxList;
2700 public propertyName: ISyntaxToken;
2701 public callSignature: CallSignatureSyntax;
2702 public block: BlockSyntax;
2703 public semicolonToken: ISyntaxToken;
2704 constructor(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
2705 public accept(visitor: ISyntaxVisitor): any;
2706 public kind(): SyntaxKind;
2707 public childCount(): number;
2708 public childAt(slot: number): ISyntaxElement;
2709 public isMemberDeclaration(): boolean;
2710 public isClassElement(): boolean;
2711 public update(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax;
2712 static create(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax): MemberFunctionDeclarationSyntax;
2713 static create1(propertyName: ISyntaxToken): MemberFunctionDeclarationSyntax;
2714 public withLeadingTrivia(trivia: ISyntaxTriviaList): MemberFunctionDeclarationSyntax;
2715 public withTrailingTrivia(trivia: ISyntaxTriviaList): MemberFunctionDeclarationSyntax;
2716 public withModifiers(modifiers: ISyntaxList): MemberFunctionDeclarationSyntax;
2717 public withModifier(modifier: ISyntaxToken): MemberFunctionDeclarationSyntax;
2718 public withPropertyName(propertyName: ISyntaxToken): MemberFunctionDeclarationSyntax;
2719 public withCallSignature(callSignature: CallSignatureSyntax): MemberFunctionDeclarationSyntax;
2720 public withBlock(block: BlockSyntax): MemberFunctionDeclarationSyntax;
2721 public withSemicolonToken(semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax;
2722 public isTypeScriptSpecific(): boolean;
2723 }
2724 class GetAccessorSyntax extends SyntaxNode implements IMemberDeclarationSyntax, IPropertyAssignmentSyntax {
2725 public modifiers: ISyntaxList;
2726 public getKeyword: ISyntaxToken;
2727 public propertyName: ISyntaxToken;
2728 public parameterList: ParameterListSyntax;
2729 public typeAnnotation: TypeAnnotationSyntax;
2730 public block: BlockSyntax;
2731 constructor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax, parsedInStrictMode: boolean);
2732 public accept(visitor: ISyntaxVisitor): any;
2733 public kind(): SyntaxKind;
2734 public childCount(): number;
2735 public childAt(slot: number): ISyntaxElement;
2736 public isMemberDeclaration(): boolean;
2737 public isPropertyAssignment(): boolean;
2738 public isClassElement(): boolean;
2739 public update(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax;
2740 static create(getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): GetAccessorSyntax;
2741 static create1(propertyName: ISyntaxToken): GetAccessorSyntax;
2742 public withLeadingTrivia(trivia: ISyntaxTriviaList): GetAccessorSyntax;
2743 public withTrailingTrivia(trivia: ISyntaxTriviaList): GetAccessorSyntax;
2744 public withModifiers(modifiers: ISyntaxList): GetAccessorSyntax;
2745 public withModifier(modifier: ISyntaxToken): GetAccessorSyntax;
2746 public withGetKeyword(getKeyword: ISyntaxToken): GetAccessorSyntax;
2747 public withPropertyName(propertyName: ISyntaxToken): GetAccessorSyntax;
2748 public withParameterList(parameterList: ParameterListSyntax): GetAccessorSyntax;
2749 public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): GetAccessorSyntax;
2750 public withBlock(block: BlockSyntax): GetAccessorSyntax;
2751 public isTypeScriptSpecific(): boolean;
2752 }
2753 class SetAccessorSyntax extends SyntaxNode implements IMemberDeclarationSyntax, IPropertyAssignmentSyntax {
2754 public modifiers: ISyntaxList;
2755 public setKeyword: ISyntaxToken;
2756 public propertyName: ISyntaxToken;
2757 public parameterList: ParameterListSyntax;
2758 public block: BlockSyntax;
2759 constructor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax, parsedInStrictMode: boolean);
2760 public accept(visitor: ISyntaxVisitor): any;
2761 public kind(): SyntaxKind;
2762 public childCount(): number;
2763 public childAt(slot: number): ISyntaxElement;
2764 public isMemberDeclaration(): boolean;
2765 public isPropertyAssignment(): boolean;
2766 public isClassElement(): boolean;
2767 public update(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax;
2768 static create(setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax;
2769 static create1(propertyName: ISyntaxToken): SetAccessorSyntax;
2770 public withLeadingTrivia(trivia: ISyntaxTriviaList): SetAccessorSyntax;
2771 public withTrailingTrivia(trivia: ISyntaxTriviaList): SetAccessorSyntax;
2772 public withModifiers(modifiers: ISyntaxList): SetAccessorSyntax;
2773 public withModifier(modifier: ISyntaxToken): SetAccessorSyntax;
2774 public withSetKeyword(setKeyword: ISyntaxToken): SetAccessorSyntax;
2775 public withPropertyName(propertyName: ISyntaxToken): SetAccessorSyntax;
2776 public withParameterList(parameterList: ParameterListSyntax): SetAccessorSyntax;
2777 public withBlock(block: BlockSyntax): SetAccessorSyntax;
2778 public isTypeScriptSpecific(): boolean;
2779 }
2780 class MemberVariableDeclarationSyntax extends SyntaxNode implements IMemberDeclarationSyntax {
2781 public modifiers: ISyntaxList;
2782 public variableDeclarator: VariableDeclaratorSyntax;
2783 public semicolonToken: ISyntaxToken;
2784 constructor(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
2785 public accept(visitor: ISyntaxVisitor): any;
2786 public kind(): SyntaxKind;
2787 public childCount(): number;
2788 public childAt(slot: number): ISyntaxElement;
2789 public isMemberDeclaration(): boolean;
2790 public isClassElement(): boolean;
2791 public update(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax;
2792 static create(variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax;
2793 static create1(variableDeclarator: VariableDeclaratorSyntax): MemberVariableDeclarationSyntax;
2794 public withLeadingTrivia(trivia: ISyntaxTriviaList): MemberVariableDeclarationSyntax;
2795 public withTrailingTrivia(trivia: ISyntaxTriviaList): MemberVariableDeclarationSyntax;
2796 public withModifiers(modifiers: ISyntaxList): MemberVariableDeclarationSyntax;
2797 public withModifier(modifier: ISyntaxToken): MemberVariableDeclarationSyntax;
2798 public withVariableDeclarator(variableDeclarator: VariableDeclaratorSyntax): MemberVariableDeclarationSyntax;
2799 public withSemicolonToken(semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax;
2800 public isTypeScriptSpecific(): boolean;
2801 }
2802 class IndexMemberDeclarationSyntax extends SyntaxNode implements IClassElementSyntax {
2803 public modifiers: ISyntaxList;
2804 public indexSignature: IndexSignatureSyntax;
2805 public semicolonToken: ISyntaxToken;
2806 constructor(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
2807 public accept(visitor: ISyntaxVisitor): any;
2808 public kind(): SyntaxKind;
2809 public childCount(): number;
2810 public childAt(slot: number): ISyntaxElement;
2811 public isClassElement(): boolean;
2812 public update(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax;
2813 static create(indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax;
2814 static create1(indexSignature: IndexSignatureSyntax): IndexMemberDeclarationSyntax;
2815 public withLeadingTrivia(trivia: ISyntaxTriviaList): IndexMemberDeclarationSyntax;
2816 public withTrailingTrivia(trivia: ISyntaxTriviaList): IndexMemberDeclarationSyntax;
2817 public withModifiers(modifiers: ISyntaxList): IndexMemberDeclarationSyntax;
2818 public withModifier(modifier: ISyntaxToken): IndexMemberDeclarationSyntax;
2819 public withIndexSignature(indexSignature: IndexSignatureSyntax): IndexMemberDeclarationSyntax;
2820 public withSemicolonToken(semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax;
2821 public isTypeScriptSpecific(): boolean;
2822 }
2823 class ThrowStatementSyntax extends SyntaxNode implements IStatementSyntax {
2824 public throwKeyword: ISyntaxToken;
2825 public expression: IExpressionSyntax;
2826 public semicolonToken: ISyntaxToken;
2827 constructor(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
2828 public accept(visitor: ISyntaxVisitor): any;
2829 public kind(): SyntaxKind;
2830 public childCount(): number;
2831 public childAt(slot: number): ISyntaxElement;
2832 public isStatement(): boolean;
2833 public isModuleElement(): boolean;
2834 public update(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax;
2835 static create1(expression: IExpressionSyntax): ThrowStatementSyntax;
2836 public withLeadingTrivia(trivia: ISyntaxTriviaList): ThrowStatementSyntax;
2837 public withTrailingTrivia(trivia: ISyntaxTriviaList): ThrowStatementSyntax;
2838 public withThrowKeyword(throwKeyword: ISyntaxToken): ThrowStatementSyntax;
2839 public withExpression(expression: IExpressionSyntax): ThrowStatementSyntax;
2840 public withSemicolonToken(semicolonToken: ISyntaxToken): ThrowStatementSyntax;
2841 public isTypeScriptSpecific(): boolean;
2842 }
2843 class ReturnStatementSyntax extends SyntaxNode implements IStatementSyntax {
2844 public returnKeyword: ISyntaxToken;
2845 public expression: IExpressionSyntax;
2846 public semicolonToken: ISyntaxToken;
2847 constructor(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
2848 public accept(visitor: ISyntaxVisitor): any;
2849 public kind(): SyntaxKind;
2850 public childCount(): number;
2851 public childAt(slot: number): ISyntaxElement;
2852 public isStatement(): boolean;
2853 public isModuleElement(): boolean;
2854 public update(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax;
2855 static create(returnKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): ReturnStatementSyntax;
2856 static create1(): ReturnStatementSyntax;
2857 public withLeadingTrivia(trivia: ISyntaxTriviaList): ReturnStatementSyntax;
2858 public withTrailingTrivia(trivia: ISyntaxTriviaList): ReturnStatementSyntax;
2859 public withReturnKeyword(returnKeyword: ISyntaxToken): ReturnStatementSyntax;
2860 public withExpression(expression: IExpressionSyntax): ReturnStatementSyntax;
2861 public withSemicolonToken(semicolonToken: ISyntaxToken): ReturnStatementSyntax;
2862 public isTypeScriptSpecific(): boolean;
2863 }
2864 class ObjectCreationExpressionSyntax extends SyntaxNode implements IMemberExpressionSyntax {
2865 public newKeyword: ISyntaxToken;
2866 public expression: IMemberExpressionSyntax;
2867 public argumentList: ArgumentListSyntax;
2868 constructor(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax, parsedInStrictMode: boolean);
2869 public accept(visitor: ISyntaxVisitor): any;
2870 public kind(): SyntaxKind;
2871 public childCount(): number;
2872 public childAt(slot: number): ISyntaxElement;
2873 public isMemberExpression(): boolean;
2874 public isPostfixExpression(): boolean;
2875 public isUnaryExpression(): boolean;
2876 public isExpression(): boolean;
2877 public update(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax;
2878 static create(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax): ObjectCreationExpressionSyntax;
2879 static create1(expression: IMemberExpressionSyntax): ObjectCreationExpressionSyntax;
2880 public withLeadingTrivia(trivia: ISyntaxTriviaList): ObjectCreationExpressionSyntax;
2881 public withTrailingTrivia(trivia: ISyntaxTriviaList): ObjectCreationExpressionSyntax;
2882 public withNewKeyword(newKeyword: ISyntaxToken): ObjectCreationExpressionSyntax;
2883 public withExpression(expression: IMemberExpressionSyntax): ObjectCreationExpressionSyntax;
2884 public withArgumentList(argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax;
2885 public isTypeScriptSpecific(): boolean;
2886 }
2887 class SwitchStatementSyntax extends SyntaxNode implements IStatementSyntax {
2888 public switchKeyword: ISyntaxToken;
2889 public openParenToken: ISyntaxToken;
2890 public expression: IExpressionSyntax;
2891 public closeParenToken: ISyntaxToken;
2892 public openBraceToken: ISyntaxToken;
2893 public switchClauses: ISyntaxList;
2894 public closeBraceToken: ISyntaxToken;
2895 constructor(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean);
2896 public accept(visitor: ISyntaxVisitor): any;
2897 public kind(): SyntaxKind;
2898 public childCount(): number;
2899 public childAt(slot: number): ISyntaxElement;
2900 public isStatement(): boolean;
2901 public isModuleElement(): boolean;
2902 public update(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax;
2903 static create(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): SwitchStatementSyntax;
2904 static create1(expression: IExpressionSyntax): SwitchStatementSyntax;
2905 public withLeadingTrivia(trivia: ISyntaxTriviaList): SwitchStatementSyntax;
2906 public withTrailingTrivia(trivia: ISyntaxTriviaList): SwitchStatementSyntax;
2907 public withSwitchKeyword(switchKeyword: ISyntaxToken): SwitchStatementSyntax;
2908 public withOpenParenToken(openParenToken: ISyntaxToken): SwitchStatementSyntax;
2909 public withExpression(expression: IExpressionSyntax): SwitchStatementSyntax;
2910 public withCloseParenToken(closeParenToken: ISyntaxToken): SwitchStatementSyntax;
2911 public withOpenBraceToken(openBraceToken: ISyntaxToken): SwitchStatementSyntax;
2912 public withSwitchClauses(switchClauses: ISyntaxList): SwitchStatementSyntax;
2913 public withSwitchClause(switchClause: ISwitchClauseSyntax): SwitchStatementSyntax;
2914 public withCloseBraceToken(closeBraceToken: ISyntaxToken): SwitchStatementSyntax;
2915 public isTypeScriptSpecific(): boolean;
2916 }
2917 class CaseSwitchClauseSyntax extends SyntaxNode implements ISwitchClauseSyntax {
2918 public caseKeyword: ISyntaxToken;
2919 public expression: IExpressionSyntax;
2920 public colonToken: ISyntaxToken;
2921 public statements: ISyntaxList;
2922 constructor(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList, parsedInStrictMode: boolean);
2923 public accept(visitor: ISyntaxVisitor): any;
2924 public kind(): SyntaxKind;
2925 public childCount(): number;
2926 public childAt(slot: number): ISyntaxElement;
2927 public isSwitchClause(): boolean;
2928 public update(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax;
2929 static create(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken): CaseSwitchClauseSyntax;
2930 static create1(expression: IExpressionSyntax): CaseSwitchClauseSyntax;
2931 public withLeadingTrivia(trivia: ISyntaxTriviaList): CaseSwitchClauseSyntax;
2932 public withTrailingTrivia(trivia: ISyntaxTriviaList): CaseSwitchClauseSyntax;
2933 public withCaseKeyword(caseKeyword: ISyntaxToken): CaseSwitchClauseSyntax;
2934 public withExpression(expression: IExpressionSyntax): CaseSwitchClauseSyntax;
2935 public withColonToken(colonToken: ISyntaxToken): CaseSwitchClauseSyntax;
2936 public withStatements(statements: ISyntaxList): CaseSwitchClauseSyntax;
2937 public withStatement(statement: IStatementSyntax): CaseSwitchClauseSyntax;
2938 public isTypeScriptSpecific(): boolean;
2939 }
2940 class DefaultSwitchClauseSyntax extends SyntaxNode implements ISwitchClauseSyntax {
2941 public defaultKeyword: ISyntaxToken;
2942 public colonToken: ISyntaxToken;
2943 public statements: ISyntaxList;
2944 constructor(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList, parsedInStrictMode: boolean);
2945 public accept(visitor: ISyntaxVisitor): any;
2946 public kind(): SyntaxKind;
2947 public childCount(): number;
2948 public childAt(slot: number): ISyntaxElement;
2949 public isSwitchClause(): boolean;
2950 public update(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax;
2951 static create(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken): DefaultSwitchClauseSyntax;
2952 static create1(): DefaultSwitchClauseSyntax;
2953 public withLeadingTrivia(trivia: ISyntaxTriviaList): DefaultSwitchClauseSyntax;
2954 public withTrailingTrivia(trivia: ISyntaxTriviaList): DefaultSwitchClauseSyntax;
2955 public withDefaultKeyword(defaultKeyword: ISyntaxToken): DefaultSwitchClauseSyntax;
2956 public withColonToken(colonToken: ISyntaxToken): DefaultSwitchClauseSyntax;
2957 public withStatements(statements: ISyntaxList): DefaultSwitchClauseSyntax;
2958 public withStatement(statement: IStatementSyntax): DefaultSwitchClauseSyntax;
2959 public isTypeScriptSpecific(): boolean;
2960 }
2961 class BreakStatementSyntax extends SyntaxNode implements IStatementSyntax {
2962 public breakKeyword: ISyntaxToken;
2963 public identifier: ISyntaxToken;
2964 public semicolonToken: ISyntaxToken;
2965 constructor(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
2966 public accept(visitor: ISyntaxVisitor): any;
2967 public kind(): SyntaxKind;
2968 public childCount(): number;
2969 public childAt(slot: number): ISyntaxElement;
2970 public isStatement(): boolean;
2971 public isModuleElement(): boolean;
2972 public update(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax;
2973 static create(breakKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax;
2974 static create1(): BreakStatementSyntax;
2975 public withLeadingTrivia(trivia: ISyntaxTriviaList): BreakStatementSyntax;
2976 public withTrailingTrivia(trivia: ISyntaxTriviaList): BreakStatementSyntax;
2977 public withBreakKeyword(breakKeyword: ISyntaxToken): BreakStatementSyntax;
2978 public withIdentifier(identifier: ISyntaxToken): BreakStatementSyntax;
2979 public withSemicolonToken(semicolonToken: ISyntaxToken): BreakStatementSyntax;
2980 public isTypeScriptSpecific(): boolean;
2981 }
2982 class ContinueStatementSyntax extends SyntaxNode implements IStatementSyntax {
2983 public continueKeyword: ISyntaxToken;
2984 public identifier: ISyntaxToken;
2985 public semicolonToken: ISyntaxToken;
2986 constructor(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
2987 public accept(visitor: ISyntaxVisitor): any;
2988 public kind(): SyntaxKind;
2989 public childCount(): number;
2990 public childAt(slot: number): ISyntaxElement;
2991 public isStatement(): boolean;
2992 public isModuleElement(): boolean;
2993 public update(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax;
2994 static create(continueKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax;
2995 static create1(): ContinueStatementSyntax;
2996 public withLeadingTrivia(trivia: ISyntaxTriviaList): ContinueStatementSyntax;
2997 public withTrailingTrivia(trivia: ISyntaxTriviaList): ContinueStatementSyntax;
2998 public withContinueKeyword(continueKeyword: ISyntaxToken): ContinueStatementSyntax;
2999 public withIdentifier(identifier: ISyntaxToken): ContinueStatementSyntax;
3000 public withSemicolonToken(semicolonToken: ISyntaxToken): ContinueStatementSyntax;
3001 public isTypeScriptSpecific(): boolean;
3002 }
3003 class ForStatementSyntax extends SyntaxNode implements IIterationStatementSyntax {
3004 public forKeyword: ISyntaxToken;
3005 public openParenToken: ISyntaxToken;
3006 public variableDeclaration: VariableDeclarationSyntax;
3007 public initializer: IExpressionSyntax;
3008 public firstSemicolonToken: ISyntaxToken;
3009 public condition: IExpressionSyntax;
3010 public secondSemicolonToken: ISyntaxToken;
3011 public incrementor: IExpressionSyntax;
3012 public closeParenToken: ISyntaxToken;
3013 public statement: IStatementSyntax;
3014 constructor(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean);
3015 public accept(visitor: ISyntaxVisitor): any;
3016 public kind(): SyntaxKind;
3017 public childCount(): number;
3018 public childAt(slot: number): ISyntaxElement;
3019 public isIterationStatement(): boolean;
3020 public isStatement(): boolean;
3021 public isModuleElement(): boolean;
3022 public update(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax;
3023 static create(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, firstSemicolonToken: ISyntaxToken, secondSemicolonToken: ISyntaxToken, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax;
3024 static create1(statement: IStatementSyntax): ForStatementSyntax;
3025 public withLeadingTrivia(trivia: ISyntaxTriviaList): ForStatementSyntax;
3026 public withTrailingTrivia(trivia: ISyntaxTriviaList): ForStatementSyntax;
3027 public withForKeyword(forKeyword: ISyntaxToken): ForStatementSyntax;
3028 public withOpenParenToken(openParenToken: ISyntaxToken): ForStatementSyntax;
3029 public withVariableDeclaration(variableDeclaration: VariableDeclarationSyntax): ForStatementSyntax;
3030 public withInitializer(initializer: IExpressionSyntax): ForStatementSyntax;
3031 public withFirstSemicolonToken(firstSemicolonToken: ISyntaxToken): ForStatementSyntax;
3032 public withCondition(condition: IExpressionSyntax): ForStatementSyntax;
3033 public withSecondSemicolonToken(secondSemicolonToken: ISyntaxToken): ForStatementSyntax;
3034 public withIncrementor(incrementor: IExpressionSyntax): ForStatementSyntax;
3035 public withCloseParenToken(closeParenToken: ISyntaxToken): ForStatementSyntax;
3036 public withStatement(statement: IStatementSyntax): ForStatementSyntax;
3037 public isTypeScriptSpecific(): boolean;
3038 }
3039 class ForInStatementSyntax extends SyntaxNode implements IIterationStatementSyntax {
3040 public forKeyword: ISyntaxToken;
3041 public openParenToken: ISyntaxToken;
3042 public variableDeclaration: VariableDeclarationSyntax;
3043 public left: IExpressionSyntax;
3044 public inKeyword: ISyntaxToken;
3045 public expression: IExpressionSyntax;
3046 public closeParenToken: ISyntaxToken;
3047 public statement: IStatementSyntax;
3048 constructor(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean);
3049 public accept(visitor: ISyntaxVisitor): any;
3050 public kind(): SyntaxKind;
3051 public childCount(): number;
3052 public childAt(slot: number): ISyntaxElement;
3053 public isIterationStatement(): boolean;
3054 public isStatement(): boolean;
3055 public isModuleElement(): boolean;
3056 public update(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax;
3057 static create(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax;
3058 static create1(expression: IExpressionSyntax, statement: IStatementSyntax): ForInStatementSyntax;
3059 public withLeadingTrivia(trivia: ISyntaxTriviaList): ForInStatementSyntax;
3060 public withTrailingTrivia(trivia: ISyntaxTriviaList): ForInStatementSyntax;
3061 public withForKeyword(forKeyword: ISyntaxToken): ForInStatementSyntax;
3062 public withOpenParenToken(openParenToken: ISyntaxToken): ForInStatementSyntax;
3063 public withVariableDeclaration(variableDeclaration: VariableDeclarationSyntax): ForInStatementSyntax;
3064 public withLeft(left: IExpressionSyntax): ForInStatementSyntax;
3065 public withInKeyword(inKeyword: ISyntaxToken): ForInStatementSyntax;
3066 public withExpression(expression: IExpressionSyntax): ForInStatementSyntax;
3067 public withCloseParenToken(closeParenToken: ISyntaxToken): ForInStatementSyntax;
3068 public withStatement(statement: IStatementSyntax): ForInStatementSyntax;
3069 public isTypeScriptSpecific(): boolean;
3070 }
3071 class WhileStatementSyntax extends SyntaxNode implements IIterationStatementSyntax {
3072 public whileKeyword: ISyntaxToken;
3073 public openParenToken: ISyntaxToken;
3074 public condition: IExpressionSyntax;
3075 public closeParenToken: ISyntaxToken;
3076 public statement: IStatementSyntax;
3077 constructor(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean);
3078 public accept(visitor: ISyntaxVisitor): any;
3079 public kind(): SyntaxKind;
3080 public childCount(): number;
3081 public childAt(slot: number): ISyntaxElement;
3082 public isIterationStatement(): boolean;
3083 public isStatement(): boolean;
3084 public isModuleElement(): boolean;
3085 public update(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax;
3086 static create1(condition: IExpressionSyntax, statement: IStatementSyntax): WhileStatementSyntax;
3087 public withLeadingTrivia(trivia: ISyntaxTriviaList): WhileStatementSyntax;
3088 public withTrailingTrivia(trivia: ISyntaxTriviaList): WhileStatementSyntax;
3089 public withWhileKeyword(whileKeyword: ISyntaxToken): WhileStatementSyntax;
3090 public withOpenParenToken(openParenToken: ISyntaxToken): WhileStatementSyntax;
3091 public withCondition(condition: IExpressionSyntax): WhileStatementSyntax;
3092 public withCloseParenToken(closeParenToken: ISyntaxToken): WhileStatementSyntax;
3093 public withStatement(statement: IStatementSyntax): WhileStatementSyntax;
3094 public isTypeScriptSpecific(): boolean;
3095 }
3096 class WithStatementSyntax extends SyntaxNode implements IStatementSyntax {
3097 public withKeyword: ISyntaxToken;
3098 public openParenToken: ISyntaxToken;
3099 public condition: IExpressionSyntax;
3100 public closeParenToken: ISyntaxToken;
3101 public statement: IStatementSyntax;
3102 constructor(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean);
3103 public accept(visitor: ISyntaxVisitor): any;
3104 public kind(): SyntaxKind;
3105 public childCount(): number;
3106 public childAt(slot: number): ISyntaxElement;
3107 public isStatement(): boolean;
3108 public isModuleElement(): boolean;
3109 public update(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax;
3110 static create1(condition: IExpressionSyntax, statement: IStatementSyntax): WithStatementSyntax;
3111 public withLeadingTrivia(trivia: ISyntaxTriviaList): WithStatementSyntax;
3112 public withTrailingTrivia(trivia: ISyntaxTriviaList): WithStatementSyntax;
3113 public withWithKeyword(withKeyword: ISyntaxToken): WithStatementSyntax;
3114 public withOpenParenToken(openParenToken: ISyntaxToken): WithStatementSyntax;
3115 public withCondition(condition: IExpressionSyntax): WithStatementSyntax;
3116 public withCloseParenToken(closeParenToken: ISyntaxToken): WithStatementSyntax;
3117 public withStatement(statement: IStatementSyntax): WithStatementSyntax;
3118 public isTypeScriptSpecific(): boolean;
3119 }
3120 class EnumDeclarationSyntax extends SyntaxNode implements IModuleElementSyntax {
3121 public modifiers: ISyntaxList;
3122 public enumKeyword: ISyntaxToken;
3123 public identifier: ISyntaxToken;
3124 public openBraceToken: ISyntaxToken;
3125 public enumElements: ISeparatedSyntaxList;
3126 public closeBraceToken: ISyntaxToken;
3127 constructor(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean);
3128 public accept(visitor: ISyntaxVisitor): any;
3129 public kind(): SyntaxKind;
3130 public childCount(): number;
3131 public childAt(slot: number): ISyntaxElement;
3132 public isModuleElement(): boolean;
3133 public update(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax;
3134 static create(enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax;
3135 static create1(identifier: ISyntaxToken): EnumDeclarationSyntax;
3136 public withLeadingTrivia(trivia: ISyntaxTriviaList): EnumDeclarationSyntax;
3137 public withTrailingTrivia(trivia: ISyntaxTriviaList): EnumDeclarationSyntax;
3138 public withModifiers(modifiers: ISyntaxList): EnumDeclarationSyntax;
3139 public withModifier(modifier: ISyntaxToken): EnumDeclarationSyntax;
3140 public withEnumKeyword(enumKeyword: ISyntaxToken): EnumDeclarationSyntax;
3141 public withIdentifier(identifier: ISyntaxToken): EnumDeclarationSyntax;
3142 public withOpenBraceToken(openBraceToken: ISyntaxToken): EnumDeclarationSyntax;
3143 public withEnumElements(enumElements: ISeparatedSyntaxList): EnumDeclarationSyntax;
3144 public withEnumElement(enumElement: EnumElementSyntax): EnumDeclarationSyntax;
3145 public withCloseBraceToken(closeBraceToken: ISyntaxToken): EnumDeclarationSyntax;
3146 public isTypeScriptSpecific(): boolean;
3147 }
3148 class EnumElementSyntax extends SyntaxNode {
3149 public propertyName: ISyntaxToken;
3150 public equalsValueClause: EqualsValueClauseSyntax;
3151 constructor(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax, parsedInStrictMode: boolean);
3152 public accept(visitor: ISyntaxVisitor): any;
3153 public kind(): SyntaxKind;
3154 public childCount(): number;
3155 public childAt(slot: number): ISyntaxElement;
3156 public update(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax;
3157 static create(propertyName: ISyntaxToken): EnumElementSyntax;
3158 static create1(propertyName: ISyntaxToken): EnumElementSyntax;
3159 public withLeadingTrivia(trivia: ISyntaxTriviaList): EnumElementSyntax;
3160 public withTrailingTrivia(trivia: ISyntaxTriviaList): EnumElementSyntax;
3161 public withPropertyName(propertyName: ISyntaxToken): EnumElementSyntax;
3162 public withEqualsValueClause(equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax;
3163 public isTypeScriptSpecific(): boolean;
3164 }
3165 class CastExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax {
3166 public lessThanToken: ISyntaxToken;
3167 public type: ITypeSyntax;
3168 public greaterThanToken: ISyntaxToken;
3169 public expression: IUnaryExpressionSyntax;
3170 constructor(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean);
3171 public accept(visitor: ISyntaxVisitor): any;
3172 public kind(): SyntaxKind;
3173 public childCount(): number;
3174 public childAt(slot: number): ISyntaxElement;
3175 public isUnaryExpression(): boolean;
3176 public isExpression(): boolean;
3177 public update(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax;
3178 static create1(type: ITypeSyntax, expression: IUnaryExpressionSyntax): CastExpressionSyntax;
3179 public withLeadingTrivia(trivia: ISyntaxTriviaList): CastExpressionSyntax;
3180 public withTrailingTrivia(trivia: ISyntaxTriviaList): CastExpressionSyntax;
3181 public withLessThanToken(lessThanToken: ISyntaxToken): CastExpressionSyntax;
3182 public withType(type: ITypeSyntax): CastExpressionSyntax;
3183 public withGreaterThanToken(greaterThanToken: ISyntaxToken): CastExpressionSyntax;
3184 public withExpression(expression: IUnaryExpressionSyntax): CastExpressionSyntax;
3185 public isTypeScriptSpecific(): boolean;
3186 }
3187 class ObjectLiteralExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax {
3188 public openBraceToken: ISyntaxToken;
3189 public propertyAssignments: ISeparatedSyntaxList;
3190 public closeBraceToken: ISyntaxToken;
3191 constructor(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken, parsedInStrictMode: boolean);
3192 public accept(visitor: ISyntaxVisitor): any;
3193 public kind(): SyntaxKind;
3194 public childCount(): number;
3195 public childAt(slot: number): ISyntaxElement;
3196 public isPrimaryExpression(): boolean;
3197 public isMemberExpression(): boolean;
3198 public isPostfixExpression(): boolean;
3199 public isUnaryExpression(): boolean;
3200 public isExpression(): boolean;
3201 public update(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax;
3202 static create(openBraceToken: ISyntaxToken, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax;
3203 static create1(): ObjectLiteralExpressionSyntax;
3204 public withLeadingTrivia(trivia: ISyntaxTriviaList): ObjectLiteralExpressionSyntax;
3205 public withTrailingTrivia(trivia: ISyntaxTriviaList): ObjectLiteralExpressionSyntax;
3206 public withOpenBraceToken(openBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax;
3207 public withPropertyAssignments(propertyAssignments: ISeparatedSyntaxList): ObjectLiteralExpressionSyntax;
3208 public withPropertyAssignment(propertyAssignment: IPropertyAssignmentSyntax): ObjectLiteralExpressionSyntax;
3209 public withCloseBraceToken(closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax;
3210 public isTypeScriptSpecific(): boolean;
3211 }
3212 class SimplePropertyAssignmentSyntax extends SyntaxNode implements IPropertyAssignmentSyntax {
3213 public propertyName: ISyntaxToken;
3214 public colonToken: ISyntaxToken;
3215 public expression: IExpressionSyntax;
3216 constructor(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax, parsedInStrictMode: boolean);
3217 public accept(visitor: ISyntaxVisitor): any;
3218 public kind(): SyntaxKind;
3219 public childCount(): number;
3220 public childAt(slot: number): ISyntaxElement;
3221 public isPropertyAssignment(): boolean;
3222 public update(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax;
3223 static create1(propertyName: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax;
3224 public withLeadingTrivia(trivia: ISyntaxTriviaList): SimplePropertyAssignmentSyntax;
3225 public withTrailingTrivia(trivia: ISyntaxTriviaList): SimplePropertyAssignmentSyntax;
3226 public withPropertyName(propertyName: ISyntaxToken): SimplePropertyAssignmentSyntax;
3227 public withColonToken(colonToken: ISyntaxToken): SimplePropertyAssignmentSyntax;
3228 public withExpression(expression: IExpressionSyntax): SimplePropertyAssignmentSyntax;
3229 public isTypeScriptSpecific(): boolean;
3230 }
3231 class FunctionPropertyAssignmentSyntax extends SyntaxNode implements IPropertyAssignmentSyntax {
3232 public propertyName: ISyntaxToken;
3233 public callSignature: CallSignatureSyntax;
3234 public block: BlockSyntax;
3235 constructor(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, parsedInStrictMode: boolean);
3236 public accept(visitor: ISyntaxVisitor): any;
3237 public kind(): SyntaxKind;
3238 public childCount(): number;
3239 public childAt(slot: number): ISyntaxElement;
3240 public isPropertyAssignment(): boolean;
3241 public update(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax;
3242 static create1(propertyName: ISyntaxToken): FunctionPropertyAssignmentSyntax;
3243 public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionPropertyAssignmentSyntax;
3244 public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionPropertyAssignmentSyntax;
3245 public withPropertyName(propertyName: ISyntaxToken): FunctionPropertyAssignmentSyntax;
3246 public withCallSignature(callSignature: CallSignatureSyntax): FunctionPropertyAssignmentSyntax;
3247 public withBlock(block: BlockSyntax): FunctionPropertyAssignmentSyntax;
3248 public isTypeScriptSpecific(): boolean;
3249 }
3250 class FunctionExpressionSyntax extends SyntaxNode implements IPrimaryExpressionSyntax {
3251 public functionKeyword: ISyntaxToken;
3252 public identifier: ISyntaxToken;
3253 public callSignature: CallSignatureSyntax;
3254 public block: BlockSyntax;
3255 constructor(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, parsedInStrictMode: boolean);
3256 public accept(visitor: ISyntaxVisitor): any;
3257 public kind(): SyntaxKind;
3258 public childCount(): number;
3259 public childAt(slot: number): ISyntaxElement;
3260 public isPrimaryExpression(): boolean;
3261 public isMemberExpression(): boolean;
3262 public isPostfixExpression(): boolean;
3263 public isUnaryExpression(): boolean;
3264 public isExpression(): boolean;
3265 public update(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax;
3266 static create(functionKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax;
3267 static create1(): FunctionExpressionSyntax;
3268 public withLeadingTrivia(trivia: ISyntaxTriviaList): FunctionExpressionSyntax;
3269 public withTrailingTrivia(trivia: ISyntaxTriviaList): FunctionExpressionSyntax;
3270 public withFunctionKeyword(functionKeyword: ISyntaxToken): FunctionExpressionSyntax;
3271 public withIdentifier(identifier: ISyntaxToken): FunctionExpressionSyntax;
3272 public withCallSignature(callSignature: CallSignatureSyntax): FunctionExpressionSyntax;
3273 public withBlock(block: BlockSyntax): FunctionExpressionSyntax;
3274 public isTypeScriptSpecific(): boolean;
3275 }
3276 class EmptyStatementSyntax extends SyntaxNode implements IStatementSyntax {
3277 public semicolonToken: ISyntaxToken;
3278 constructor(semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
3279 public accept(visitor: ISyntaxVisitor): any;
3280 public kind(): SyntaxKind;
3281 public childCount(): number;
3282 public childAt(slot: number): ISyntaxElement;
3283 public isStatement(): boolean;
3284 public isModuleElement(): boolean;
3285 public update(semicolonToken: ISyntaxToken): EmptyStatementSyntax;
3286 static create1(): EmptyStatementSyntax;
3287 public withLeadingTrivia(trivia: ISyntaxTriviaList): EmptyStatementSyntax;
3288 public withTrailingTrivia(trivia: ISyntaxTriviaList): EmptyStatementSyntax;
3289 public withSemicolonToken(semicolonToken: ISyntaxToken): EmptyStatementSyntax;
3290 public isTypeScriptSpecific(): boolean;
3291 }
3292 class TryStatementSyntax extends SyntaxNode implements IStatementSyntax {
3293 public tryKeyword: ISyntaxToken;
3294 public block: BlockSyntax;
3295 public catchClause: CatchClauseSyntax;
3296 public finallyClause: FinallyClauseSyntax;
3297 constructor(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax, parsedInStrictMode: boolean);
3298 public accept(visitor: ISyntaxVisitor): any;
3299 public kind(): SyntaxKind;
3300 public childCount(): number;
3301 public childAt(slot: number): ISyntaxElement;
3302 public isStatement(): boolean;
3303 public isModuleElement(): boolean;
3304 public update(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax;
3305 static create(tryKeyword: ISyntaxToken, block: BlockSyntax): TryStatementSyntax;
3306 static create1(): TryStatementSyntax;
3307 public withLeadingTrivia(trivia: ISyntaxTriviaList): TryStatementSyntax;
3308 public withTrailingTrivia(trivia: ISyntaxTriviaList): TryStatementSyntax;
3309 public withTryKeyword(tryKeyword: ISyntaxToken): TryStatementSyntax;
3310 public withBlock(block: BlockSyntax): TryStatementSyntax;
3311 public withCatchClause(catchClause: CatchClauseSyntax): TryStatementSyntax;
3312 public withFinallyClause(finallyClause: FinallyClauseSyntax): TryStatementSyntax;
3313 public isTypeScriptSpecific(): boolean;
3314 }
3315 class CatchClauseSyntax extends SyntaxNode {
3316 public catchKeyword: ISyntaxToken;
3317 public openParenToken: ISyntaxToken;
3318 public identifier: ISyntaxToken;
3319 public typeAnnotation: TypeAnnotationSyntax;
3320 public closeParenToken: ISyntaxToken;
3321 public block: BlockSyntax;
3322 constructor(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax, parsedInStrictMode: boolean);
3323 public accept(visitor: ISyntaxVisitor): any;
3324 public kind(): SyntaxKind;
3325 public childCount(): number;
3326 public childAt(slot: number): ISyntaxElement;
3327 public update(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax;
3328 static create(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax;
3329 static create1(identifier: ISyntaxToken): CatchClauseSyntax;
3330 public withLeadingTrivia(trivia: ISyntaxTriviaList): CatchClauseSyntax;
3331 public withTrailingTrivia(trivia: ISyntaxTriviaList): CatchClauseSyntax;
3332 public withCatchKeyword(catchKeyword: ISyntaxToken): CatchClauseSyntax;
3333 public withOpenParenToken(openParenToken: ISyntaxToken): CatchClauseSyntax;
3334 public withIdentifier(identifier: ISyntaxToken): CatchClauseSyntax;
3335 public withTypeAnnotation(typeAnnotation: TypeAnnotationSyntax): CatchClauseSyntax;
3336 public withCloseParenToken(closeParenToken: ISyntaxToken): CatchClauseSyntax;
3337 public withBlock(block: BlockSyntax): CatchClauseSyntax;
3338 public isTypeScriptSpecific(): boolean;
3339 }
3340 class FinallyClauseSyntax extends SyntaxNode {
3341 public finallyKeyword: ISyntaxToken;
3342 public block: BlockSyntax;
3343 constructor(finallyKeyword: ISyntaxToken, block: BlockSyntax, parsedInStrictMode: boolean);
3344 public accept(visitor: ISyntaxVisitor): any;
3345 public kind(): SyntaxKind;
3346 public childCount(): number;
3347 public childAt(slot: number): ISyntaxElement;
3348 public update(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax;
3349 static create1(): FinallyClauseSyntax;
3350 public withLeadingTrivia(trivia: ISyntaxTriviaList): FinallyClauseSyntax;
3351 public withTrailingTrivia(trivia: ISyntaxTriviaList): FinallyClauseSyntax;
3352 public withFinallyKeyword(finallyKeyword: ISyntaxToken): FinallyClauseSyntax;
3353 public withBlock(block: BlockSyntax): FinallyClauseSyntax;
3354 public isTypeScriptSpecific(): boolean;
3355 }
3356 class LabeledStatementSyntax extends SyntaxNode implements IStatementSyntax {
3357 public identifier: ISyntaxToken;
3358 public colonToken: ISyntaxToken;
3359 public statement: IStatementSyntax;
3360 constructor(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax, parsedInStrictMode: boolean);
3361 public accept(visitor: ISyntaxVisitor): any;
3362 public kind(): SyntaxKind;
3363 public childCount(): number;
3364 public childAt(slot: number): ISyntaxElement;
3365 public isStatement(): boolean;
3366 public isModuleElement(): boolean;
3367 public update(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax;
3368 static create1(identifier: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax;
3369 public withLeadingTrivia(trivia: ISyntaxTriviaList): LabeledStatementSyntax;
3370 public withTrailingTrivia(trivia: ISyntaxTriviaList): LabeledStatementSyntax;
3371 public withIdentifier(identifier: ISyntaxToken): LabeledStatementSyntax;
3372 public withColonToken(colonToken: ISyntaxToken): LabeledStatementSyntax;
3373 public withStatement(statement: IStatementSyntax): LabeledStatementSyntax;
3374 public isTypeScriptSpecific(): boolean;
3375 }
3376 class DoStatementSyntax extends SyntaxNode implements IIterationStatementSyntax {
3377 public doKeyword: ISyntaxToken;
3378 public statement: IStatementSyntax;
3379 public whileKeyword: ISyntaxToken;
3380 public openParenToken: ISyntaxToken;
3381 public condition: IExpressionSyntax;
3382 public closeParenToken: ISyntaxToken;
3383 public semicolonToken: ISyntaxToken;
3384 constructor(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
3385 public accept(visitor: ISyntaxVisitor): any;
3386 public kind(): SyntaxKind;
3387 public childCount(): number;
3388 public childAt(slot: number): ISyntaxElement;
3389 public isIterationStatement(): boolean;
3390 public isStatement(): boolean;
3391 public isModuleElement(): boolean;
3392 public update(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax;
3393 static create1(statement: IStatementSyntax, condition: IExpressionSyntax): DoStatementSyntax;
3394 public withLeadingTrivia(trivia: ISyntaxTriviaList): DoStatementSyntax;
3395 public withTrailingTrivia(trivia: ISyntaxTriviaList): DoStatementSyntax;
3396 public withDoKeyword(doKeyword: ISyntaxToken): DoStatementSyntax;
3397 public withStatement(statement: IStatementSyntax): DoStatementSyntax;
3398 public withWhileKeyword(whileKeyword: ISyntaxToken): DoStatementSyntax;
3399 public withOpenParenToken(openParenToken: ISyntaxToken): DoStatementSyntax;
3400 public withCondition(condition: IExpressionSyntax): DoStatementSyntax;
3401 public withCloseParenToken(closeParenToken: ISyntaxToken): DoStatementSyntax;
3402 public withSemicolonToken(semicolonToken: ISyntaxToken): DoStatementSyntax;
3403 public isTypeScriptSpecific(): boolean;
3404 }
3405 class TypeOfExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax {
3406 public typeOfKeyword: ISyntaxToken;
3407 public expression: IUnaryExpressionSyntax;
3408 constructor(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean);
3409 public accept(visitor: ISyntaxVisitor): any;
3410 public kind(): SyntaxKind;
3411 public childCount(): number;
3412 public childAt(slot: number): ISyntaxElement;
3413 public isUnaryExpression(): boolean;
3414 public isExpression(): boolean;
3415 public update(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax;
3416 static create1(expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax;
3417 public withLeadingTrivia(trivia: ISyntaxTriviaList): TypeOfExpressionSyntax;
3418 public withTrailingTrivia(trivia: ISyntaxTriviaList): TypeOfExpressionSyntax;
3419 public withTypeOfKeyword(typeOfKeyword: ISyntaxToken): TypeOfExpressionSyntax;
3420 public withExpression(expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax;
3421 public isTypeScriptSpecific(): boolean;
3422 }
3423 class DeleteExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax {
3424 public deleteKeyword: ISyntaxToken;
3425 public expression: IUnaryExpressionSyntax;
3426 constructor(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean);
3427 public accept(visitor: ISyntaxVisitor): any;
3428 public kind(): SyntaxKind;
3429 public childCount(): number;
3430 public childAt(slot: number): ISyntaxElement;
3431 public isUnaryExpression(): boolean;
3432 public isExpression(): boolean;
3433 public update(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax;
3434 static create1(expression: IUnaryExpressionSyntax): DeleteExpressionSyntax;
3435 public withLeadingTrivia(trivia: ISyntaxTriviaList): DeleteExpressionSyntax;
3436 public withTrailingTrivia(trivia: ISyntaxTriviaList): DeleteExpressionSyntax;
3437 public withDeleteKeyword(deleteKeyword: ISyntaxToken): DeleteExpressionSyntax;
3438 public withExpression(expression: IUnaryExpressionSyntax): DeleteExpressionSyntax;
3439 public isTypeScriptSpecific(): boolean;
3440 }
3441 class VoidExpressionSyntax extends SyntaxNode implements IUnaryExpressionSyntax {
3442 public voidKeyword: ISyntaxToken;
3443 public expression: IUnaryExpressionSyntax;
3444 constructor(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax, parsedInStrictMode: boolean);
3445 public accept(visitor: ISyntaxVisitor): any;
3446 public kind(): SyntaxKind;
3447 public childCount(): number;
3448 public childAt(slot: number): ISyntaxElement;
3449 public isUnaryExpression(): boolean;
3450 public isExpression(): boolean;
3451 public update(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax;
3452 static create1(expression: IUnaryExpressionSyntax): VoidExpressionSyntax;
3453 public withLeadingTrivia(trivia: ISyntaxTriviaList): VoidExpressionSyntax;
3454 public withTrailingTrivia(trivia: ISyntaxTriviaList): VoidExpressionSyntax;
3455 public withVoidKeyword(voidKeyword: ISyntaxToken): VoidExpressionSyntax;
3456 public withExpression(expression: IUnaryExpressionSyntax): VoidExpressionSyntax;
3457 public isTypeScriptSpecific(): boolean;
3458 }
3459 class DebuggerStatementSyntax extends SyntaxNode implements IStatementSyntax {
3460 public debuggerKeyword: ISyntaxToken;
3461 public semicolonToken: ISyntaxToken;
3462 constructor(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken, parsedInStrictMode: boolean);
3463 public accept(visitor: ISyntaxVisitor): any;
3464 public kind(): SyntaxKind;
3465 public childCount(): number;
3466 public childAt(slot: number): ISyntaxElement;
3467 public isStatement(): boolean;
3468 public isModuleElement(): boolean;
3469 public update(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax;
3470 static create1(): DebuggerStatementSyntax;
3471 public withLeadingTrivia(trivia: ISyntaxTriviaList): DebuggerStatementSyntax;
3472 public withTrailingTrivia(trivia: ISyntaxTriviaList): DebuggerStatementSyntax;
3473 public withDebuggerKeyword(debuggerKeyword: ISyntaxToken): DebuggerStatementSyntax;
3474 public withSemicolonToken(semicolonToken: ISyntaxToken): DebuggerStatementSyntax;
3475 public isTypeScriptSpecific(): boolean;
3476 }
3477 class SyntaxRewriter implements ISyntaxVisitor {
3478 public visitToken(token: ISyntaxToken): ISyntaxToken;
3479 public visitNode(node: SyntaxNode): SyntaxNode;
3480 public visitNodeOrToken(node: ISyntaxNodeOrToken): ISyntaxNodeOrToken;
3481 public visitList(list: ISyntaxList): ISyntaxList;
3482 public visitSeparatedList(list: ISeparatedSyntaxList): ISeparatedSyntaxList;
3483 public visitSourceUnit(node: SourceUnitSyntax): any;
3484 public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): any;
3485 public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): any;
3486 public visitImportDeclaration(node: ImportDeclarationSyntax): any;
3487 public visitExportAssignment(node: ExportAssignmentSyntax): any;
3488 public visitClassDeclaration(node: ClassDeclarationSyntax): any;
3489 public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): any;
3490 public visitHeritageClause(node: HeritageClauseSyntax): any;
3491 public visitModuleDeclaration(node: ModuleDeclarationSyntax): any;
3492 public visitFunctionDeclaration(node: FunctionDeclarationSyntax): any;
3493 public visitVariableStatement(node: VariableStatementSyntax): any;
3494 public visitVariableDeclaration(node: VariableDeclarationSyntax): any;
3495 public visitVariableDeclarator(node: VariableDeclaratorSyntax): any;
3496 public visitEqualsValueClause(node: EqualsValueClauseSyntax): any;
3497 public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): any;
3498 public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): any;
3499 public visitOmittedExpression(node: OmittedExpressionSyntax): any;
3500 public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): any;
3501 public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): any;
3502 public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): any;
3503 public visitQualifiedName(node: QualifiedNameSyntax): any;
3504 public visitTypeArgumentList(node: TypeArgumentListSyntax): any;
3505 public visitConstructorType(node: ConstructorTypeSyntax): any;
3506 public visitFunctionType(node: FunctionTypeSyntax): any;
3507 public visitObjectType(node: ObjectTypeSyntax): any;
3508 public visitArrayType(node: ArrayTypeSyntax): any;
3509 public visitGenericType(node: GenericTypeSyntax): any;
3510 public visitTypeQuery(node: TypeQuerySyntax): any;
3511 public visitTypeAnnotation(node: TypeAnnotationSyntax): any;
3512 public visitBlock(node: BlockSyntax): any;
3513 public visitParameter(node: ParameterSyntax): any;
3514 public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): any;
3515 public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): any;
3516 public visitElementAccessExpression(node: ElementAccessExpressionSyntax): any;
3517 public visitInvocationExpression(node: InvocationExpressionSyntax): any;
3518 public visitArgumentList(node: ArgumentListSyntax): any;
3519 public visitBinaryExpression(node: BinaryExpressionSyntax): any;
3520 public visitConditionalExpression(node: ConditionalExpressionSyntax): any;
3521 public visitConstructSignature(node: ConstructSignatureSyntax): any;
3522 public visitMethodSignature(node: MethodSignatureSyntax): any;
3523 public visitIndexSignature(node: IndexSignatureSyntax): any;
3524 public visitPropertySignature(node: PropertySignatureSyntax): any;
3525 public visitCallSignature(node: CallSignatureSyntax): any;
3526 public visitParameterList(node: ParameterListSyntax): any;
3527 public visitTypeParameterList(node: TypeParameterListSyntax): any;
3528 public visitTypeParameter(node: TypeParameterSyntax): any;
3529 public visitConstraint(node: ConstraintSyntax): any;
3530 public visitElseClause(node: ElseClauseSyntax): any;
3531 public visitIfStatement(node: IfStatementSyntax): any;
3532 public visitExpressionStatement(node: ExpressionStatementSyntax): any;
3533 public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): any;
3534 public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): any;
3535 public visitGetAccessor(node: GetAccessorSyntax): any;
3536 public visitSetAccessor(node: SetAccessorSyntax): any;
3537 public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): any;
3538 public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): any;
3539 public visitThrowStatement(node: ThrowStatementSyntax): any;
3540 public visitReturnStatement(node: ReturnStatementSyntax): any;
3541 public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): any;
3542 public visitSwitchStatement(node: SwitchStatementSyntax): any;
3543 public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): any;
3544 public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): any;
3545 public visitBreakStatement(node: BreakStatementSyntax): any;
3546 public visitContinueStatement(node: ContinueStatementSyntax): any;
3547 public visitForStatement(node: ForStatementSyntax): any;
3548 public visitForInStatement(node: ForInStatementSyntax): any;
3549 public visitWhileStatement(node: WhileStatementSyntax): any;
3550 public visitWithStatement(node: WithStatementSyntax): any;
3551 public visitEnumDeclaration(node: EnumDeclarationSyntax): any;
3552 public visitEnumElement(node: EnumElementSyntax): any;
3553 public visitCastExpression(node: CastExpressionSyntax): any;
3554 public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): any;
3555 public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): any;
3556 public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): any;
3557 public visitFunctionExpression(node: FunctionExpressionSyntax): any;
3558 public visitEmptyStatement(node: EmptyStatementSyntax): any;
3559 public visitTryStatement(node: TryStatementSyntax): any;
3560 public visitCatchClause(node: CatchClauseSyntax): any;
3561 public visitFinallyClause(node: FinallyClauseSyntax): any;
3562 public visitLabeledStatement(node: LabeledStatementSyntax): any;
3563 public visitDoStatement(node: DoStatementSyntax): any;
3564 public visitTypeOfExpression(node: TypeOfExpressionSyntax): any;
3565 public visitDeleteExpression(node: DeleteExpressionSyntax): any;
3566 public visitVoidExpression(node: VoidExpressionSyntax): any;
3567 public visitDebuggerStatement(node: DebuggerStatementSyntax): any;
3568 }
3569 class SyntaxDedenter extends SyntaxRewriter {
3570 private dedentationAmount;
3571 private minimumIndent;
3572 private options;
3573 private lastTriviaWasNewLine;
3574 constructor(dedentFirstToken: boolean, dedentationAmount: number, minimumIndent: number, options: FormattingOptions);
3575 private abort();
3576 private isAborted();
3577 public visitToken(token: ISyntaxToken): ISyntaxToken;
3578 private dedentTriviaList(triviaList);
3579 private dedentSegment(segment, hasFollowingNewLineTrivia);
3580 private dedentWhitespace(trivia, hasFollowingNewLineTrivia);
3581 private dedentMultiLineComment(trivia);
3582 static dedentNode(node: ISyntaxNode, dedentFirstToken: boolean, dedentAmount: number, minimumIndent: number, options: FormattingOptions): ISyntaxNode;
3583 }
3584 class SyntaxIndenter extends SyntaxRewriter {
3585 private indentationAmount;
3586 private options;
3587 private lastTriviaWasNewLine;
3588 private indentationTrivia;
3589 constructor(indentFirstToken: boolean, indentationAmount: number, options: FormattingOptions);
3590 public visitToken(token: ISyntaxToken): ISyntaxToken;
3591 public indentTriviaList(triviaList: ISyntaxTriviaList): ISyntaxTriviaList;
3592 private indentSegment(segment);
3593 private indentWhitespace(trivia, indentThisTrivia, result);
3594 private indentSingleLineOrSkippedText(trivia, indentThisTrivia, result);
3595 private indentMultiLineComment(trivia, indentThisTrivia, result);
3596 static indentNode(node: ISyntaxNode, indentFirstToken: boolean, indentAmount: number, options: FormattingOptions): SyntaxNode;
3597 static indentNodes(nodes: SyntaxNode[], indentFirstToken: boolean, indentAmount: number, options: FormattingOptions): SyntaxNode[];
3598 }
3599 interface ISyntaxToken extends ISyntaxNodeOrToken, INameSyntax, IPrimaryExpressionSyntax {
3600 tokenKind: SyntaxKind;
3601 text(): string;
3602 value(): any;
3603 valueText(): string;
3604 hasLeadingTrivia(): boolean;
3605 hasLeadingComment(): boolean;
3606 hasLeadingNewLine(): boolean;
3607 hasLeadingSkippedText(): boolean;
3608 hasTrailingTrivia(): boolean;
3609 hasTrailingComment(): boolean;
3610 hasTrailingNewLine(): boolean;
3611 hasTrailingSkippedText(): boolean;
3612 hasSkippedToken(): boolean;
3613 leadingTrivia(): ISyntaxTriviaList;
3614 trailingTrivia(): ISyntaxTriviaList;
3615 withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken;
3616 withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken;
3617 clone(): ISyntaxToken;
3618 }
3619 interface ITokenInfo {
3620 leadingTrivia?: ISyntaxTrivia[];
3621 text?: string;
3622 trailingTrivia?: ISyntaxTrivia[];
3623 }
3624 class SyntaxTokenReplacer extends SyntaxRewriter {
3625 private token1;
3626 private token2;
3627 constructor(token1: ISyntaxToken, token2: ISyntaxToken);
3628 public visitToken(token: ISyntaxToken): ISyntaxToken;
3629 public visitNode(node: SyntaxNode): SyntaxNode;
3630 public visitList(list: ISyntaxList): ISyntaxList;
3631 public visitSeparatedList(list: ISeparatedSyntaxList): ISeparatedSyntaxList;
3632 }
3633 interface ISyntaxTrivia {
3634 kind(): SyntaxKind;
3635 isWhitespace(): boolean;
3636 isComment(): boolean;
3637 isNewLine(): boolean;
3638 isSkippedToken(): boolean;
3639 fullWidth(): number;
3640 fullText(): string;
3641 skippedToken(): ISyntaxToken;
3642 }
3643 interface ISyntaxTriviaList {
3644 count(): number;
3645 syntaxTriviaAt(index: number): ISyntaxTrivia;
3646 fullWidth(): number;
3647 fullText(): string;
3648 hasComment(): boolean;
3649 hasNewLine(): boolean;
3650 hasSkippedToken(): boolean;
3651 last(): ISyntaxTrivia;
3652 toArray(): ISyntaxTrivia[];
3653 concat(trivia: ISyntaxTriviaList): ISyntaxTriviaList;
3654 collectTextElements(elements: string[]): void;
3655 }
3656 class SyntaxUtilities {
3657 static isAngleBracket(positionedElement: PositionedElement): boolean;
3658 static getToken(list: ISyntaxList, kind: SyntaxKind): ISyntaxToken;
3659 static containsToken(list: ISyntaxList, kind: SyntaxKind): boolean;
3660 static hasExportKeyword(moduleElement: IModuleElementSyntax): boolean;
3661 static getExportKeyword(moduleElement: IModuleElementSyntax): ISyntaxToken;
3662 static isAmbientDeclarationSyntax(positionNode: PositionedNode): boolean;
3663 }
3664 interface ISyntaxVisitor {
3665 visitToken(token: ISyntaxToken): any;
3666 visitSourceUnit(node: SourceUnitSyntax): any;
3667 visitExternalModuleReference(node: ExternalModuleReferenceSyntax): any;
3668 visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): any;
3669 visitImportDeclaration(node: ImportDeclarationSyntax): any;
3670 visitExportAssignment(node: ExportAssignmentSyntax): any;
3671 visitClassDeclaration(node: ClassDeclarationSyntax): any;
3672 visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): any;
3673 visitHeritageClause(node: HeritageClauseSyntax): any;
3674 visitModuleDeclaration(node: ModuleDeclarationSyntax): any;
3675 visitFunctionDeclaration(node: FunctionDeclarationSyntax): any;
3676 visitVariableStatement(node: VariableStatementSyntax): any;
3677 visitVariableDeclaration(node: VariableDeclarationSyntax): any;
3678 visitVariableDeclarator(node: VariableDeclaratorSyntax): any;
3679 visitEqualsValueClause(node: EqualsValueClauseSyntax): any;
3680 visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): any;
3681 visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): any;
3682 visitOmittedExpression(node: OmittedExpressionSyntax): any;
3683 visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): any;
3684 visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): any;
3685 visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): any;
3686 visitQualifiedName(node: QualifiedNameSyntax): any;
3687 visitTypeArgumentList(node: TypeArgumentListSyntax): any;
3688 visitConstructorType(node: ConstructorTypeSyntax): any;
3689 visitFunctionType(node: FunctionTypeSyntax): any;
3690 visitObjectType(node: ObjectTypeSyntax): any;
3691 visitArrayType(node: ArrayTypeSyntax): any;
3692 visitGenericType(node: GenericTypeSyntax): any;
3693 visitTypeQuery(node: TypeQuerySyntax): any;
3694 visitTypeAnnotation(node: TypeAnnotationSyntax): any;
3695 visitBlock(node: BlockSyntax): any;
3696 visitParameter(node: ParameterSyntax): any;
3697 visitMemberAccessExpression(node: MemberAccessExpressionSyntax): any;
3698 visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): any;
3699 visitElementAccessExpression(node: ElementAccessExpressionSyntax): any;
3700 visitInvocationExpression(node: InvocationExpressionSyntax): any;
3701 visitArgumentList(node: ArgumentListSyntax): any;
3702 visitBinaryExpression(node: BinaryExpressionSyntax): any;
3703 visitConditionalExpression(node: ConditionalExpressionSyntax): any;
3704 visitConstructSignature(node: ConstructSignatureSyntax): any;
3705 visitMethodSignature(node: MethodSignatureSyntax): any;
3706 visitIndexSignature(node: IndexSignatureSyntax): any;
3707 visitPropertySignature(node: PropertySignatureSyntax): any;
3708 visitCallSignature(node: CallSignatureSyntax): any;
3709 visitParameterList(node: ParameterListSyntax): any;
3710 visitTypeParameterList(node: TypeParameterListSyntax): any;
3711 visitTypeParameter(node: TypeParameterSyntax): any;
3712 visitConstraint(node: ConstraintSyntax): any;
3713 visitElseClause(node: ElseClauseSyntax): any;
3714 visitIfStatement(node: IfStatementSyntax): any;
3715 visitExpressionStatement(node: ExpressionStatementSyntax): any;
3716 visitConstructorDeclaration(node: ConstructorDeclarationSyntax): any;
3717 visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): any;
3718 visitGetAccessor(node: GetAccessorSyntax): any;
3719 visitSetAccessor(node: SetAccessorSyntax): any;
3720 visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): any;
3721 visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): any;
3722 visitThrowStatement(node: ThrowStatementSyntax): any;
3723 visitReturnStatement(node: ReturnStatementSyntax): any;
3724 visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): any;
3725 visitSwitchStatement(node: SwitchStatementSyntax): any;
3726 visitCaseSwitchClause(node: CaseSwitchClauseSyntax): any;
3727 visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): any;
3728 visitBreakStatement(node: BreakStatementSyntax): any;
3729 visitContinueStatement(node: ContinueStatementSyntax): any;
3730 visitForStatement(node: ForStatementSyntax): any;
3731 visitForInStatement(node: ForInStatementSyntax): any;
3732 visitWhileStatement(node: WhileStatementSyntax): any;
3733 visitWithStatement(node: WithStatementSyntax): any;
3734 visitEnumDeclaration(node: EnumDeclarationSyntax): any;
3735 visitEnumElement(node: EnumElementSyntax): any;
3736 visitCastExpression(node: CastExpressionSyntax): any;
3737 visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): any;
3738 visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): any;
3739 visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): any;
3740 visitFunctionExpression(node: FunctionExpressionSyntax): any;
3741 visitEmptyStatement(node: EmptyStatementSyntax): any;
3742 visitTryStatement(node: TryStatementSyntax): any;
3743 visitCatchClause(node: CatchClauseSyntax): any;
3744 visitFinallyClause(node: FinallyClauseSyntax): any;
3745 visitLabeledStatement(node: LabeledStatementSyntax): any;
3746 visitDoStatement(node: DoStatementSyntax): any;
3747 visitTypeOfExpression(node: TypeOfExpressionSyntax): any;
3748 visitDeleteExpression(node: DeleteExpressionSyntax): any;
3749 visitVoidExpression(node: VoidExpressionSyntax): any;
3750 visitDebuggerStatement(node: DebuggerStatementSyntax): any;
3751 }
3752 class SyntaxVisitor implements ISyntaxVisitor {
3753 public defaultVisit(node: ISyntaxNodeOrToken): any;
3754 public visitToken(token: ISyntaxToken): any;
3755 public visitSourceUnit(node: SourceUnitSyntax): any;
3756 public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): any;
3757 public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): any;
3758 public visitImportDeclaration(node: ImportDeclarationSyntax): any;
3759 public visitExportAssignment(node: ExportAssignmentSyntax): any;
3760 public visitClassDeclaration(node: ClassDeclarationSyntax): any;
3761 public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): any;
3762 public visitHeritageClause(node: HeritageClauseSyntax): any;
3763 public visitModuleDeclaration(node: ModuleDeclarationSyntax): any;
3764 public visitFunctionDeclaration(node: FunctionDeclarationSyntax): any;
3765 public visitVariableStatement(node: VariableStatementSyntax): any;
3766 public visitVariableDeclaration(node: VariableDeclarationSyntax): any;
3767 public visitVariableDeclarator(node: VariableDeclaratorSyntax): any;
3768 public visitEqualsValueClause(node: EqualsValueClauseSyntax): any;
3769 public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): any;
3770 public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): any;
3771 public visitOmittedExpression(node: OmittedExpressionSyntax): any;
3772 public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): any;
3773 public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): any;
3774 public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): any;
3775 public visitQualifiedName(node: QualifiedNameSyntax): any;
3776 public visitTypeArgumentList(node: TypeArgumentListSyntax): any;
3777 public visitConstructorType(node: ConstructorTypeSyntax): any;
3778 public visitFunctionType(node: FunctionTypeSyntax): any;
3779 public visitObjectType(node: ObjectTypeSyntax): any;
3780 public visitArrayType(node: ArrayTypeSyntax): any;
3781 public visitGenericType(node: GenericTypeSyntax): any;
3782 public visitTypeQuery(node: TypeQuerySyntax): any;
3783 public visitTypeAnnotation(node: TypeAnnotationSyntax): any;
3784 public visitBlock(node: BlockSyntax): any;
3785 public visitParameter(node: ParameterSyntax): any;
3786 public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): any;
3787 public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): any;
3788 public visitElementAccessExpression(node: ElementAccessExpressionSyntax): any;
3789 public visitInvocationExpression(node: InvocationExpressionSyntax): any;
3790 public visitArgumentList(node: ArgumentListSyntax): any;
3791 public visitBinaryExpression(node: BinaryExpressionSyntax): any;
3792 public visitConditionalExpression(node: ConditionalExpressionSyntax): any;
3793 public visitConstructSignature(node: ConstructSignatureSyntax): any;
3794 public visitMethodSignature(node: MethodSignatureSyntax): any;
3795 public visitIndexSignature(node: IndexSignatureSyntax): any;
3796 public visitPropertySignature(node: PropertySignatureSyntax): any;
3797 public visitCallSignature(node: CallSignatureSyntax): any;
3798 public visitParameterList(node: ParameterListSyntax): any;
3799 public visitTypeParameterList(node: TypeParameterListSyntax): any;
3800 public visitTypeParameter(node: TypeParameterSyntax): any;
3801 public visitConstraint(node: ConstraintSyntax): any;
3802 public visitElseClause(node: ElseClauseSyntax): any;
3803 public visitIfStatement(node: IfStatementSyntax): any;
3804 public visitExpressionStatement(node: ExpressionStatementSyntax): any;
3805 public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): any;
3806 public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): any;
3807 public visitGetAccessor(node: GetAccessorSyntax): any;
3808 public visitSetAccessor(node: SetAccessorSyntax): any;
3809 public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): any;
3810 public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): any;
3811 public visitThrowStatement(node: ThrowStatementSyntax): any;
3812 public visitReturnStatement(node: ReturnStatementSyntax): any;
3813 public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): any;
3814 public visitSwitchStatement(node: SwitchStatementSyntax): any;
3815 public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): any;
3816 public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): any;
3817 public visitBreakStatement(node: BreakStatementSyntax): any;
3818 public visitContinueStatement(node: ContinueStatementSyntax): any;
3819 public visitForStatement(node: ForStatementSyntax): any;
3820 public visitForInStatement(node: ForInStatementSyntax): any;
3821 public visitWhileStatement(node: WhileStatementSyntax): any;
3822 public visitWithStatement(node: WithStatementSyntax): any;
3823 public visitEnumDeclaration(node: EnumDeclarationSyntax): any;
3824 public visitEnumElement(node: EnumElementSyntax): any;
3825 public visitCastExpression(node: CastExpressionSyntax): any;
3826 public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): any;
3827 public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): any;
3828 public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): any;
3829 public visitFunctionExpression(node: FunctionExpressionSyntax): any;
3830 public visitEmptyStatement(node: EmptyStatementSyntax): any;
3831 public visitTryStatement(node: TryStatementSyntax): any;
3832 public visitCatchClause(node: CatchClauseSyntax): any;
3833 public visitFinallyClause(node: FinallyClauseSyntax): any;
3834 public visitLabeledStatement(node: LabeledStatementSyntax): any;
3835 public visitDoStatement(node: DoStatementSyntax): any;
3836 public visitTypeOfExpression(node: TypeOfExpressionSyntax): any;
3837 public visitDeleteExpression(node: DeleteExpressionSyntax): any;
3838 public visitVoidExpression(node: VoidExpressionSyntax): any;
3839 public visitDebuggerStatement(node: DebuggerStatementSyntax): any;
3840 }
3841 class SyntaxWalker implements ISyntaxVisitor {
3842 public visitToken(token: ISyntaxToken): void;
3843 public visitNode(node: SyntaxNode): void;
3844 public visitNodeOrToken(nodeOrToken: ISyntaxNodeOrToken): void;
3845 private visitOptionalToken(token);
3846 public visitOptionalNode(node: SyntaxNode): void;
3847 public visitOptionalNodeOrToken(nodeOrToken: ISyntaxNodeOrToken): void;
3848 public visitList(list: ISyntaxList): void;
3849 public visitSeparatedList(list: ISeparatedSyntaxList): void;
3850 public visitSourceUnit(node: SourceUnitSyntax): void;
3851 public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): void;
3852 public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): void;
3853 public visitImportDeclaration(node: ImportDeclarationSyntax): void;
3854 public visitExportAssignment(node: ExportAssignmentSyntax): void;
3855 public visitClassDeclaration(node: ClassDeclarationSyntax): void;
3856 public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): void;
3857 public visitHeritageClause(node: HeritageClauseSyntax): void;
3858 public visitModuleDeclaration(node: ModuleDeclarationSyntax): void;
3859 public visitFunctionDeclaration(node: FunctionDeclarationSyntax): void;
3860 public visitVariableStatement(node: VariableStatementSyntax): void;
3861 public visitVariableDeclaration(node: VariableDeclarationSyntax): void;
3862 public visitVariableDeclarator(node: VariableDeclaratorSyntax): void;
3863 public visitEqualsValueClause(node: EqualsValueClauseSyntax): void;
3864 public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): void;
3865 public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): void;
3866 public visitOmittedExpression(node: OmittedExpressionSyntax): void;
3867 public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): void;
3868 public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): void;
3869 public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): void;
3870 public visitQualifiedName(node: QualifiedNameSyntax): void;
3871 public visitTypeArgumentList(node: TypeArgumentListSyntax): void;
3872 public visitConstructorType(node: ConstructorTypeSyntax): void;
3873 public visitFunctionType(node: FunctionTypeSyntax): void;
3874 public visitObjectType(node: ObjectTypeSyntax): void;
3875 public visitArrayType(node: ArrayTypeSyntax): void;
3876 public visitGenericType(node: GenericTypeSyntax): void;
3877 public visitTypeQuery(node: TypeQuerySyntax): void;
3878 public visitTypeAnnotation(node: TypeAnnotationSyntax): void;
3879 public visitBlock(node: BlockSyntax): void;
3880 public visitParameter(node: ParameterSyntax): void;
3881 public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): void;
3882 public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): void;
3883 public visitElementAccessExpression(node: ElementAccessExpressionSyntax): void;
3884 public visitInvocationExpression(node: InvocationExpressionSyntax): void;
3885 public visitArgumentList(node: ArgumentListSyntax): void;
3886 public visitBinaryExpression(node: BinaryExpressionSyntax): void;
3887 public visitConditionalExpression(node: ConditionalExpressionSyntax): void;
3888 public visitConstructSignature(node: ConstructSignatureSyntax): void;
3889 public visitMethodSignature(node: MethodSignatureSyntax): void;
3890 public visitIndexSignature(node: IndexSignatureSyntax): void;
3891 public visitPropertySignature(node: PropertySignatureSyntax): void;
3892 public visitCallSignature(node: CallSignatureSyntax): void;
3893 public visitParameterList(node: ParameterListSyntax): void;
3894 public visitTypeParameterList(node: TypeParameterListSyntax): void;
3895 public visitTypeParameter(node: TypeParameterSyntax): void;
3896 public visitConstraint(node: ConstraintSyntax): void;
3897 public visitElseClause(node: ElseClauseSyntax): void;
3898 public visitIfStatement(node: IfStatementSyntax): void;
3899 public visitExpressionStatement(node: ExpressionStatementSyntax): void;
3900 public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): void;
3901 public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): void;
3902 public visitGetAccessor(node: GetAccessorSyntax): void;
3903 public visitSetAccessor(node: SetAccessorSyntax): void;
3904 public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): void;
3905 public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): void;
3906 public visitThrowStatement(node: ThrowStatementSyntax): void;
3907 public visitReturnStatement(node: ReturnStatementSyntax): void;
3908 public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): void;
3909 public visitSwitchStatement(node: SwitchStatementSyntax): void;
3910 public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): void;
3911 public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): void;
3912 public visitBreakStatement(node: BreakStatementSyntax): void;
3913 public visitContinueStatement(node: ContinueStatementSyntax): void;
3914 public visitForStatement(node: ForStatementSyntax): void;
3915 public visitForInStatement(node: ForInStatementSyntax): void;
3916 public visitWhileStatement(node: WhileStatementSyntax): void;
3917 public visitWithStatement(node: WithStatementSyntax): void;
3918 public visitEnumDeclaration(node: EnumDeclarationSyntax): void;
3919 public visitEnumElement(node: EnumElementSyntax): void;
3920 public visitCastExpression(node: CastExpressionSyntax): void;
3921 public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): void;
3922 public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): void;
3923 public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): void;
3924 public visitFunctionExpression(node: FunctionExpressionSyntax): void;
3925 public visitEmptyStatement(node: EmptyStatementSyntax): void;
3926 public visitTryStatement(node: TryStatementSyntax): void;
3927 public visitCatchClause(node: CatchClauseSyntax): void;
3928 public visitFinallyClause(node: FinallyClauseSyntax): void;
3929 public visitLabeledStatement(node: LabeledStatementSyntax): void;
3930 public visitDoStatement(node: DoStatementSyntax): void;
3931 public visitTypeOfExpression(node: TypeOfExpressionSyntax): void;
3932 public visitDeleteExpression(node: DeleteExpressionSyntax): void;
3933 public visitVoidExpression(node: VoidExpressionSyntax): void;
3934 public visitDebuggerStatement(node: DebuggerStatementSyntax): void;
3935 }
3936 class PositionTrackingWalker extends SyntaxWalker {
3937 private _position;
3938 public visitToken(token: ISyntaxToken): void;
3939 public position(): number;
3940 public skip(element: ISyntaxElement): void;
3941 }
3942 interface ITokenInformation {
3943 previousToken: ISyntaxToken;
3944 nextToken: ISyntaxToken;
3945 }
3946 class SyntaxInformationMap extends SyntaxWalker {
3947 private trackParents;
3948 private trackPreviousToken;
3949 private tokenToInformation;
3950 private elementToPosition;
3951 private _previousToken;
3952 private _previousTokenInformation;
3953 private _currentPosition;
3954 private _elementToParent;
3955 private _parentStack;
3956 constructor(trackParents: boolean, trackPreviousToken: boolean);
3957 static create(node: SyntaxNode, trackParents: boolean, trackPreviousToken: boolean): SyntaxInformationMap;
3958 public visitNode(node: SyntaxNode): void;
3959 public visitToken(token: ISyntaxToken): void;
3960 public parent(element: ISyntaxElement): SyntaxNode;
3961 public fullStart(element: ISyntaxElement): number;
3962 public start(element: ISyntaxElement): number;
3963 public end(element: ISyntaxElement): number;
3964 public previousToken(token: ISyntaxToken): ISyntaxToken;
3965 public tokenInformation(token: ISyntaxToken): ITokenInformation;
3966 public firstTokenInLineContainingToken(token: ISyntaxToken): ISyntaxToken;
3967 public isFirstTokenInLine(token: ISyntaxToken): boolean;
3968 private isFirstTokenInLineWorker(information);
3969 }
3970 class SyntaxNodeInvariantsChecker extends SyntaxWalker {
3971 private tokenTable;
3972 static checkInvariants(node: SyntaxNode): void;
3973 public visitToken(token: ISyntaxToken): void;
3974 }
3975 class DepthLimitedWalker extends PositionTrackingWalker {
3976 private _depth;
3977 private _maximumDepth;
3978 constructor(maximumDepth: number);
3979 public visitNode(node: SyntaxNode): void;
3980 }
3981 module Parser {
3982 function parse(fileName: string, text: ISimpleText, isDeclaration: boolean, options: ParseOptions): SyntaxTree;
3983 function incrementalParse(oldSyntaxTree: SyntaxTree, textChangeRange: TextChangeRange, newText: ISimpleText): SyntaxTree;
3984 }
3985 class SyntaxTree {
3986 private _sourceUnit;
3987 private _isDeclaration;
3988 private _parserDiagnostics;
3989 private _allDiagnostics;
3990 private _fileName;
3991 private _lineMap;
3992 private _parseOptions;
3993 constructor(sourceUnit: SourceUnitSyntax, isDeclaration: boolean, diagnostics: Diagnostic[], fileName: string, lineMap: LineMap, parseOtions: ParseOptions);
3994 public toJSON(key: any): any;
3995 public sourceUnit(): SourceUnitSyntax;
3996 public isDeclaration(): boolean;
3997 private computeDiagnostics();
3998 public diagnostics(): Diagnostic[];
3999 public fileName(): string;
4000 public lineMap(): LineMap;
4001 public parseOptions(): ParseOptions;
4002 public structuralEquals(tree: SyntaxTree): boolean;
4003 }
4004 class Unicode {
4005 static unicodeES3IdentifierStart: number[];
4006 static unicodeES3IdentifierPart: number[];
4007 static unicodeES5IdentifierStart: number[];
4008 static unicodeES5IdentifierPart: number[];
4009 static lookupInUnicodeMap(code: number, map: number[]): boolean;
4010 static isIdentifierStart(code: number, languageVersion: LanguageVersion): boolean;
4011 static isIdentifierPart(code: number, languageVersion: LanguageVersion): boolean;
4012 }
4013 module CompilerDiagnostics {
4014 var debug: boolean;
4015 interface IDiagnosticWriter {
4016 Alert(output: string): void;
4017 }
4018 var diagnosticWriter: IDiagnosticWriter;
4019 var analysisPass: number;
4020 function Alert(output: string): void;
4021 function debugPrint(s: string): void;
4022 function assert(condition: boolean, s: string): void;
4023 }
4024 interface ILogger {
4025 information(): boolean;
4026 debug(): boolean;
4027 warning(): boolean;
4028 error(): boolean;
4029 fatal(): boolean;
4030 log(s: string): void;
4031 }
4032 class NullLogger implements ILogger {
4033 public information(): boolean;
4034 public debug(): boolean;
4035 public warning(): boolean;
4036 public error(): boolean;
4037 public fatal(): boolean;
4038 public log(s: string): void;
4039 }
4040 function timeFunction(logger: ILogger, funcDescription: string, func: () => any): any;
4041 class Document {
4042 private _compiler;
4043 private _semanticInfoChain;
4044 public fileName: string;
4045 public referencedFiles: string[];
4046 private _scriptSnapshot;
4047 public byteOrderMark: ByteOrderMark;
4048 public version: number;
4049 public isOpen: boolean;
4050 private _syntaxTree;
4051 private _topLevelDecl;
4052 private _diagnostics;
4053 private _bloomFilter;
4054 private _sourceUnit;
4055 private _lineMap;
4056 private _declASTMap;
4057 private _astDeclMap;
4058 private _amdDependencies;
4059 private _externalModuleIndicatorSpan;
4060 constructor(_compiler: TypeScriptCompiler, _semanticInfoChain: SemanticInfoChain, fileName: string, referencedFiles: string[], _scriptSnapshot: IScriptSnapshot, byteOrderMark: ByteOrderMark, version: number, isOpen: boolean, _syntaxTree: SyntaxTree, _topLevelDecl: PullDecl);
4061 public invalidate(): void;
4062 public isDeclareFile(): boolean;
4063 private cacheSyntaxTreeInfo(syntaxTree);
4064 private getAmdDependency(comment);
4065 private getImplicitImportSpan(sourceUnitLeadingTrivia);
4066 private getImplicitImportSpanWorker(trivia, position);
4067 private getTopLevelImportOrExportSpan(node);
4068 public sourceUnit(): SourceUnit;
4069 public diagnostics(): Diagnostic[];
4070 public lineMap(): LineMap;
4071 public isExternalModule(): boolean;
4072 public externalModuleIndicatorSpan(): TextSpan;
4073 public amdDependencies(): string[];
4074 public syntaxTree(): SyntaxTree;
4075 public bloomFilter(): BloomFilter;
4076 public emitToOwnOutputFile(): boolean;
4077 public update(scriptSnapshot: IScriptSnapshot, version: number, isOpen: boolean, textChangeRange: TextChangeRange): Document;
4078 static create(compiler: TypeScriptCompiler, semanticInfoChain: SemanticInfoChain, fileName: string, scriptSnapshot: IScriptSnapshot, byteOrderMark: ByteOrderMark, version: number, isOpen: boolean, referencedFiles: string[]): Document;
4079 public topLevelDecl(): PullDecl;
4080 public _getDeclForAST(ast: AST): PullDecl;
4081 public getEnclosingDecl(ast: AST): PullDecl;
4082 public _setDeclForAST(ast: AST, decl: PullDecl): void;
4083 public _getASTForDecl(decl: PullDecl): AST;
4084 public _setASTForDecl(decl: PullDecl, ast: AST): void;
4085 }
4086 function hasFlag(val: number, flag: number): boolean;
4087 enum TypeRelationshipFlags {
4088 SuccessfulComparison = 0,
4089 RequiredPropertyIsMissing,
4090 IncompatibleSignatures,
4091 SourceSignatureHasTooManyParameters = 3,
4092 IncompatibleReturnTypes,
4093 IncompatiblePropertyTypes,
4094 IncompatibleParameterTypes,
4095 InconsistantPropertyAccesibility,
4096 }
4097 enum ModuleGenTarget {
4098 Unspecified = 0,
4099 Synchronous = 1,
4100 Asynchronous = 2,
4101 }
4102 function createIntrinsicsObject<T>(): IIndexable<T>;
4103 interface IHashTable<T> {
4104 getAllKeys(): string[];
4105 add(key: string, data: T): boolean;
4106 addOrUpdate(key: string, data: T): boolean;
4107 map(fn: (k: string, value: T, context: any) => void, context: any): void;
4108 every(fn: (k: string, value: T, context: any) => void, context: any): boolean;
4109 some(fn: (k: string, value: T, context: any) => void, context: any): boolean;
4110 count(): number;
4111 lookup(key: string): T;
4112 }
4113 class StringHashTable<T> implements IHashTable<T> {
4114 private itemCount;
4115 private table;
4116 public getAllKeys(): string[];
4117 public add(key: string, data: T): boolean;
4118 public addOrUpdate(key: string, data: T): boolean;
4119 public map(fn: (k: string, value: T, context: any) => void, context: any): void;
4120 public every(fn: (k: string, value: T, context: any) => void, context: any): boolean;
4121 public some(fn: (k: string, value: T, context: any) => void, context: any): boolean;
4122 public count(): number;
4123 public lookup(key: string): T;
4124 public remove(key: string): void;
4125 }
4126 class IdentiferNameHashTable<T> extends StringHashTable<T> {
4127 public getAllKeys(): string[];
4128 public add(key: string, data: T): boolean;
4129 public addOrUpdate(key: string, data: T): boolean;
4130 public map(fn: (k: string, value: T, context: any) => void, context: any): void;
4131 public every(fn: (k: string, value: T, context: any) => void, context: any): boolean;
4132 public some(fn: (k: string, value: any, context: any) => void, context: any): boolean;
4133 public lookup(key: string): T;
4134 }
4135 interface IASTSpan {
4136 _start: number;
4137 _end: number;
4138 start(): number;
4139 end(): number;
4140 }
4141 class ASTSpan implements IASTSpan {
4142 public _start: number;
4143 public _end: number;
4144 constructor(_start: number, _end: number);
4145 public start(): number;
4146 public end(): number;
4147 }
4148 function structuralEqualsNotIncludingPosition(ast1: AST, ast2: AST): boolean;
4149 function structuralEqualsIncludingPosition(ast1: AST, ast2: AST): boolean;
4150 class AST implements IASTSpan {
4151 public parent: AST;
4152 public _start: number;
4153 public _end: number;
4154 public _trailingTriviaWidth: number;
4155 private _astID;
4156 private _preComments;
4157 private _postComments;
4158 constructor();
4159 public syntaxID(): number;
4160 public start(): number;
4161 public end(): number;
4162 public trailingTriviaWidth(): number;
4163 public fileName(): string;
4164 public kind(): SyntaxKind;
4165 public preComments(): Comment[];
4166 public postComments(): Comment[];
4167 public setPreComments(comments: Comment[]): void;
4168 public setPostComments(comments: Comment[]): void;
4169 public width(): number;
4170 public structuralEquals(ast: AST, includingPosition: boolean): boolean;
4171 public isExpression(): boolean;
4172 }
4173 interface IASTToken extends AST {
4174 text(): string;
4175 valueText(): string;
4176 }
4177 class ISyntaxList2 extends AST {
4178 private _fileName;
4179 private members;
4180 constructor(_fileName: string, members: AST[]);
4181 public childCount(): number;
4182 public childAt(index: number): AST;
4183 public fileName(): string;
4184 public kind(): SyntaxKind;
4185 public firstOrDefault(func: (v: AST, index: number) => boolean): AST;
4186 public lastOrDefault(func: (v: AST, index: number) => boolean): AST;
4187 public any(func: (v: AST) => boolean): boolean;
4188 public structuralEquals(ast: ISyntaxList2, includingPosition: boolean): boolean;
4189 }
4190 class ISeparatedSyntaxList2 extends AST {
4191 private _fileName;
4192 private members;
4193 private _separatorCount;
4194 constructor(_fileName: string, members: AST[], _separatorCount: number);
4195 public nonSeparatorCount(): number;
4196 public separatorCount(): number;
4197 public nonSeparatorAt(index: number): AST;
4198 public nonSeparatorIndexOf(ast: AST): number;
4199 public fileName(): string;
4200 public kind(): SyntaxKind;
4201 public structuralEquals(ast: ISeparatedSyntaxList2, includingPosition: boolean): boolean;
4202 }
4203 class SourceUnit extends AST {
4204 public moduleElements: ISyntaxList2;
4205 public endOfFileTokenLeadingComments: Comment[];
4206 private _fileName;
4207 constructor(moduleElements: ISyntaxList2, endOfFileTokenLeadingComments: Comment[], _fileName: string);
4208 public fileName(): string;
4209 public kind(): SyntaxKind;
4210 public structuralEquals(ast: SourceUnit, includingPosition: boolean): boolean;
4211 }
4212 class Identifier extends AST implements IASTToken {
4213 private _text;
4214 private _valueText;
4215 constructor(_text: string);
4216 public text(): string;
4217 public valueText(): string;
4218 public kind(): SyntaxKind;
4219 public structuralEquals(ast: Identifier, includingPosition: boolean): boolean;
4220 public isExpression(): boolean;
4221 }
4222 class LiteralExpression extends AST {
4223 private _nodeType;
4224 private _text;
4225 private _valueText;
4226 constructor(_nodeType: SyntaxKind, _text: string, _valueText: string);
4227 public text(): string;
4228 public valueText(): string;
4229 public kind(): SyntaxKind;
4230 public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean;
4231 public isExpression(): boolean;
4232 }
4233 class ThisExpression extends AST implements IASTToken {
4234 private _text;
4235 private _valueText;
4236 constructor(_text: string, _valueText: string);
4237 public text(): string;
4238 public valueText(): string;
4239 public kind(): SyntaxKind;
4240 public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean;
4241 public isExpression(): boolean;
4242 }
4243 class SuperExpression extends AST implements IASTToken {
4244 private _text;
4245 private _valueText;
4246 constructor(_text: string, _valueText: string);
4247 public text(): string;
4248 public valueText(): string;
4249 public kind(): SyntaxKind;
4250 public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean;
4251 public isExpression(): boolean;
4252 }
4253 class NumericLiteral extends AST implements IASTToken {
4254 private _value;
4255 private _text;
4256 private _valueText;
4257 constructor(_value: number, _text: string, _valueText: string);
4258 public text(): string;
4259 public valueText(): string;
4260 public value(): any;
4261 public kind(): SyntaxKind;
4262 public structuralEquals(ast: NumericLiteral, includingPosition: boolean): boolean;
4263 public isExpression(): boolean;
4264 }
4265 class RegularExpressionLiteral extends AST implements IASTToken {
4266 private _text;
4267 private _valueText;
4268 constructor(_text: string, _valueText: string);
4269 public text(): string;
4270 public valueText(): string;
4271 public kind(): SyntaxKind;
4272 public isExpression(): boolean;
4273 }
4274 class StringLiteral extends AST implements IASTToken {
4275 private _text;
4276 private _valueText;
4277 constructor(_text: string, _valueText: string);
4278 public text(): string;
4279 public valueText(): string;
4280 public kind(): SyntaxKind;
4281 public structuralEquals(ast: StringLiteral, includingPosition: boolean): boolean;
4282 public isExpression(): boolean;
4283 }
4284 class TypeAnnotation extends AST {
4285 public type: AST;
4286 constructor(type: AST);
4287 public kind(): SyntaxKind;
4288 }
4289 class BuiltInType extends AST implements IASTToken {
4290 private _nodeType;
4291 private _text;
4292 private _valueText;
4293 constructor(_nodeType: SyntaxKind, _text: string, _valueText: string);
4294 public text(): string;
4295 public valueText(): string;
4296 public kind(): SyntaxKind;
4297 }
4298 class ExternalModuleReference extends AST {
4299 public stringLiteral: StringLiteral;
4300 constructor(stringLiteral: StringLiteral);
4301 public kind(): SyntaxKind;
4302 }
4303 class ModuleNameModuleReference extends AST {
4304 public moduleName: AST;
4305 constructor(moduleName: AST);
4306 public kind(): SyntaxKind;
4307 }
4308 class ImportDeclaration extends AST {
4309 public modifiers: PullElementFlags[];
4310 public identifier: Identifier;
4311 public moduleReference: AST;
4312 constructor(modifiers: PullElementFlags[], identifier: Identifier, moduleReference: AST);
4313 public kind(): SyntaxKind;
4314 public structuralEquals(ast: ImportDeclaration, includingPosition: boolean): boolean;
4315 }
4316 class ExportAssignment extends AST {
4317 public identifier: Identifier;
4318 constructor(identifier: Identifier);
4319 public kind(): SyntaxKind;
4320 public structuralEquals(ast: ExportAssignment, includingPosition: boolean): boolean;
4321 }
4322 class TypeParameterList extends AST {
4323 public typeParameters: ISeparatedSyntaxList2;
4324 constructor(typeParameters: ISeparatedSyntaxList2);
4325 public kind(): SyntaxKind;
4326 }
4327 class ClassDeclaration extends AST {
4328 public modifiers: PullElementFlags[];
4329 public identifier: Identifier;
4330 public typeParameterList: TypeParameterList;
4331 public heritageClauses: ISyntaxList2;
4332 public classElements: ISyntaxList2;
4333 public closeBraceToken: ASTSpan;
4334 constructor(modifiers: PullElementFlags[], identifier: Identifier, typeParameterList: TypeParameterList, heritageClauses: ISyntaxList2, classElements: ISyntaxList2, closeBraceToken: ASTSpan);
4335 public kind(): SyntaxKind;
4336 public structuralEquals(ast: ClassDeclaration, includingPosition: boolean): boolean;
4337 }
4338 class InterfaceDeclaration extends AST {
4339 public modifiers: PullElementFlags[];
4340 public identifier: Identifier;
4341 public typeParameterList: TypeParameterList;
4342 public heritageClauses: ISyntaxList2;
4343 public body: ObjectType;
4344 constructor(modifiers: PullElementFlags[], identifier: Identifier, typeParameterList: TypeParameterList, heritageClauses: ISyntaxList2, body: ObjectType);
4345 public kind(): SyntaxKind;
4346 public structuralEquals(ast: InterfaceDeclaration, includingPosition: boolean): boolean;
4347 }
4348 class HeritageClause extends AST {
4349 private _nodeType;
4350 public typeNames: ISeparatedSyntaxList2;
4351 constructor(_nodeType: SyntaxKind, typeNames: ISeparatedSyntaxList2);
4352 public kind(): SyntaxKind;
4353 public structuralEquals(ast: HeritageClause, includingPosition: boolean): boolean;
4354 }
4355 class ModuleDeclaration extends AST {
4356 public modifiers: PullElementFlags[];
4357 public name: AST;
4358 public stringLiteral: StringLiteral;
4359 public moduleElements: ISyntaxList2;
4360 public endingToken: ASTSpan;
4361 constructor(modifiers: PullElementFlags[], name: AST, stringLiteral: StringLiteral, moduleElements: ISyntaxList2, endingToken: ASTSpan);
4362 public kind(): SyntaxKind;
4363 public structuralEquals(ast: ModuleDeclaration, includingPosition: boolean): boolean;
4364 }
4365 class FunctionDeclaration extends AST {
4366 public modifiers: PullElementFlags[];
4367 public identifier: Identifier;
4368 public callSignature: CallSignature;
4369 public block: Block;
4370 constructor(modifiers: PullElementFlags[], identifier: Identifier, callSignature: CallSignature, block: Block);
4371 public kind(): SyntaxKind;
4372 public structuralEquals(ast: FunctionDeclaration, includingPosition: boolean): boolean;
4373 }
4374 class VariableStatement extends AST {
4375 public modifiers: PullElementFlags[];
4376 public declaration: VariableDeclaration;
4377 constructor(modifiers: PullElementFlags[], declaration: VariableDeclaration);
4378 public kind(): SyntaxKind;
4379 public structuralEquals(ast: VariableStatement, includingPosition: boolean): boolean;
4380 }
4381 class VariableDeclaration extends AST {
4382 public declarators: ISeparatedSyntaxList2;
4383 constructor(declarators: ISeparatedSyntaxList2);
4384 public kind(): SyntaxKind;
4385 public structuralEquals(ast: VariableDeclaration, includingPosition: boolean): boolean;
4386 }
4387 class VariableDeclarator extends AST {
4388 public propertyName: IASTToken;
4389 public typeAnnotation: TypeAnnotation;
4390 public equalsValueClause: EqualsValueClause;
4391 constructor(propertyName: IASTToken, typeAnnotation: TypeAnnotation, equalsValueClause: EqualsValueClause);
4392 public kind(): SyntaxKind;
4393 }
4394 class EqualsValueClause extends AST {
4395 public value: AST;
4396 constructor(value: AST);
4397 public kind(): SyntaxKind;
4398 }
4399 class PrefixUnaryExpression extends AST {
4400 private _nodeType;
4401 public operand: AST;
4402 constructor(_nodeType: SyntaxKind, operand: AST);
4403 public kind(): SyntaxKind;
4404 public structuralEquals(ast: PrefixUnaryExpression, includingPosition: boolean): boolean;
4405 public isExpression(): boolean;
4406 }
4407 class ArrayLiteralExpression extends AST {
4408 public expressions: ISeparatedSyntaxList2;
4409 constructor(expressions: ISeparatedSyntaxList2);
4410 public kind(): SyntaxKind;
4411 public structuralEquals(ast: ArrayLiteralExpression, includingPosition: boolean): boolean;
4412 public isExpression(): boolean;
4413 }
4414 class OmittedExpression extends AST {
4415 public kind(): SyntaxKind;
4416 public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean;
4417 public isExpression(): boolean;
4418 }
4419 class ParenthesizedExpression extends AST {
4420 public openParenTrailingComments: Comment[];
4421 public expression: AST;
4422 constructor(openParenTrailingComments: Comment[], expression: AST);
4423 public kind(): SyntaxKind;
4424 public structuralEquals(ast: ParenthesizedExpression, includingPosition: boolean): boolean;
4425 public isExpression(): boolean;
4426 }
4427 interface ICallExpression extends IASTSpan {
4428 expression: AST;
4429 argumentList: ArgumentList;
4430 }
4431 class SimpleArrowFunctionExpression extends AST {
4432 public identifier: Identifier;
4433 public block: Block;
4434 public expression: AST;
4435 constructor(identifier: Identifier, block: Block, expression: AST);
4436 public kind(): SyntaxKind;
4437 public isExpression(): boolean;
4438 }
4439 class ParenthesizedArrowFunctionExpression extends AST {
4440 public callSignature: CallSignature;
4441 public block: Block;
4442 public expression: AST;
4443 constructor(callSignature: CallSignature, block: Block, expression: AST);
4444 public kind(): SyntaxKind;
4445 public isExpression(): boolean;
4446 }
4447 class QualifiedName extends AST {
4448 public left: AST;
4449 public right: Identifier;
4450 constructor(left: AST, right: Identifier);
4451 public kind(): SyntaxKind;
4452 public structuralEquals(ast: QualifiedName, includingPosition: boolean): boolean;
4453 }
4454 class ParameterList extends AST {
4455 public openParenTrailingComments: Comment[];
4456 public parameters: ISeparatedSyntaxList2;
4457 constructor(openParenTrailingComments: Comment[], parameters: ISeparatedSyntaxList2);
4458 public kind(): SyntaxKind;
4459 }
4460 class ConstructorType extends AST {
4461 public typeParameterList: TypeParameterList;
4462 public parameterList: ParameterList;
4463 public type: AST;
4464 constructor(typeParameterList: TypeParameterList, parameterList: ParameterList, type: AST);
4465 public kind(): SyntaxKind;
4466 }
4467 class FunctionType extends AST {
4468 public typeParameterList: TypeParameterList;
4469 public parameterList: ParameterList;
4470 public type: AST;
4471 constructor(typeParameterList: TypeParameterList, parameterList: ParameterList, type: AST);
4472 public kind(): SyntaxKind;
4473 }
4474 class ObjectType extends AST {
4475 public typeMembers: ISeparatedSyntaxList2;
4476 constructor(typeMembers: ISeparatedSyntaxList2);
4477 public kind(): SyntaxKind;
4478 public structuralEquals(ast: ObjectType, includingPosition: boolean): boolean;
4479 }
4480 class ArrayType extends AST {
4481 public type: AST;
4482 constructor(type: AST);
4483 public kind(): SyntaxKind;
4484 public structuralEquals(ast: ArrayType, includingPosition: boolean): boolean;
4485 }
4486 class TypeArgumentList extends AST {
4487 public typeArguments: ISeparatedSyntaxList2;
4488 constructor(typeArguments: ISeparatedSyntaxList2);
4489 public kind(): SyntaxKind;
4490 }
4491 class GenericType extends AST {
4492 public name: AST;
4493 public typeArgumentList: TypeArgumentList;
4494 constructor(name: AST, typeArgumentList: TypeArgumentList);
4495 public kind(): SyntaxKind;
4496 public structuralEquals(ast: GenericType, includingPosition: boolean): boolean;
4497 }
4498 class TypeQuery extends AST {
4499 public name: AST;
4500 constructor(name: AST);
4501 public kind(): SyntaxKind;
4502 public structuralEquals(ast: TypeQuery, includingPosition: boolean): boolean;
4503 }
4504 class Block extends AST {
4505 public statements: ISyntaxList2;
4506 public closeBraceLeadingComments: Comment[];
4507 public closeBraceToken: IASTSpan;
4508 constructor(statements: ISyntaxList2, closeBraceLeadingComments: Comment[], closeBraceToken: IASTSpan);
4509 public kind(): SyntaxKind;
4510 public structuralEquals(ast: Block, includingPosition: boolean): boolean;
4511 }
4512 class Parameter extends AST {
4513 public dotDotDotToken: ASTSpan;
4514 public modifiers: PullElementFlags[];
4515 public identifier: Identifier;
4516 public questionToken: ASTSpan;
4517 public typeAnnotation: TypeAnnotation;
4518 public equalsValueClause: EqualsValueClause;
4519 constructor(dotDotDotToken: ASTSpan, modifiers: PullElementFlags[], identifier: Identifier, questionToken: ASTSpan, typeAnnotation: TypeAnnotation, equalsValueClause: EqualsValueClause);
4520 public kind(): SyntaxKind;
4521 }
4522 class MemberAccessExpression extends AST {
4523 public expression: AST;
4524 public name: Identifier;
4525 constructor(expression: AST, name: Identifier);
4526 public kind(): SyntaxKind;
4527 public structuralEquals(ast: MemberAccessExpression, includingPosition: boolean): boolean;
4528 public isExpression(): boolean;
4529 }
4530 class PostfixUnaryExpression extends AST {
4531 private _nodeType;
4532 public operand: AST;
4533 constructor(_nodeType: SyntaxKind, operand: AST);
4534 public kind(): SyntaxKind;
4535 public structuralEquals(ast: PostfixUnaryExpression, includingPosition: boolean): boolean;
4536 public isExpression(): boolean;
4537 }
4538 class ElementAccessExpression extends AST {
4539 public expression: AST;
4540 public argumentExpression: AST;
4541 constructor(expression: AST, argumentExpression: AST);
4542 public kind(): SyntaxKind;
4543 public structuralEquals(ast: ElementAccessExpression, includingPosition: boolean): boolean;
4544 public isExpression(): boolean;
4545 }
4546 class InvocationExpression extends AST implements ICallExpression {
4547 public expression: AST;
4548 public argumentList: ArgumentList;
4549 constructor(expression: AST, argumentList: ArgumentList);
4550 public kind(): SyntaxKind;
4551 public structuralEquals(ast: InvocationExpression, includingPosition: boolean): boolean;
4552 public isExpression(): boolean;
4553 }
4554 class ArgumentList extends AST {
4555 public typeArgumentList: TypeArgumentList;
4556 public closeParenToken: ASTSpan;
4557 public arguments: ISeparatedSyntaxList2;
4558 constructor(typeArgumentList: TypeArgumentList, _arguments: ISeparatedSyntaxList2, closeParenToken: ASTSpan);
4559 public kind(): SyntaxKind;
4560 }
4561 class BinaryExpression extends AST {
4562 private _nodeType;
4563 public left: AST;
4564 public right: AST;
4565 constructor(_nodeType: SyntaxKind, left: AST, right: AST);
4566 public kind(): SyntaxKind;
4567 public structuralEquals(ast: BinaryExpression, includingPosition: boolean): boolean;
4568 public isExpression(): boolean;
4569 }
4570 class ConditionalExpression extends AST {
4571 public condition: AST;
4572 public whenTrue: AST;
4573 public whenFalse: AST;
4574 constructor(condition: AST, whenTrue: AST, whenFalse: AST);
4575 public kind(): SyntaxKind;
4576 public structuralEquals(ast: ConditionalExpression, includingPosition: boolean): boolean;
4577 public isExpression(): boolean;
4578 }
4579 class ConstructSignature extends AST {
4580 public callSignature: CallSignature;
4581 constructor(callSignature: CallSignature);
4582 public kind(): SyntaxKind;
4583 }
4584 class MethodSignature extends AST {
4585 public propertyName: IASTToken;
4586 public questionToken: ASTSpan;
4587 public callSignature: CallSignature;
4588 constructor(propertyName: IASTToken, questionToken: ASTSpan, callSignature: CallSignature);
4589 public kind(): SyntaxKind;
4590 }
4591 class IndexSignature extends AST {
4592 public parameter: Parameter;
4593 public typeAnnotation: TypeAnnotation;
4594 constructor(parameter: Parameter, typeAnnotation: TypeAnnotation);
4595 public kind(): SyntaxKind;
4596 }
4597 class PropertySignature extends AST {
4598 public propertyName: IASTToken;
4599 public questionToken: ASTSpan;
4600 public typeAnnotation: TypeAnnotation;
4601 constructor(propertyName: IASTToken, questionToken: ASTSpan, typeAnnotation: TypeAnnotation);
4602 public kind(): SyntaxKind;
4603 }
4604 class CallSignature extends AST {
4605 public typeParameterList: TypeParameterList;
4606 public parameterList: ParameterList;
4607 public typeAnnotation: TypeAnnotation;
4608 constructor(typeParameterList: TypeParameterList, parameterList: ParameterList, typeAnnotation: TypeAnnotation);
4609 public kind(): SyntaxKind;
4610 }
4611 class TypeParameter extends AST {
4612 public identifier: Identifier;
4613 public constraint: Constraint;
4614 constructor(identifier: Identifier, constraint: Constraint);
4615 public kind(): SyntaxKind;
4616 public structuralEquals(ast: TypeParameter, includingPosition: boolean): boolean;
4617 }
4618 class Constraint extends AST {
4619 public type: AST;
4620 constructor(type: AST);
4621 public kind(): SyntaxKind;
4622 }
4623 class ElseClause extends AST {
4624 public statement: AST;
4625 constructor(statement: AST);
4626 public kind(): SyntaxKind;
4627 public structuralEquals(ast: ElseClause, includingPosition: boolean): boolean;
4628 }
4629 class IfStatement extends AST {
4630 public condition: AST;
4631 public statement: AST;
4632 public elseClause: ElseClause;
4633 constructor(condition: AST, statement: AST, elseClause: ElseClause);
4634 public kind(): SyntaxKind;
4635 public structuralEquals(ast: IfStatement, includingPosition: boolean): boolean;
4636 }
4637 class ExpressionStatement extends AST {
4638 public expression: AST;
4639 constructor(expression: AST);
4640 public kind(): SyntaxKind;
4641 public structuralEquals(ast: ExpressionStatement, includingPosition: boolean): boolean;
4642 }
4643 class ConstructorDeclaration extends AST {
4644 public callSignature: CallSignature;
4645 public block: Block;
4646 constructor(callSignature: CallSignature, block: Block);
4647 public kind(): SyntaxKind;
4648 }
4649 class MemberFunctionDeclaration extends AST {
4650 public modifiers: PullElementFlags[];
4651 public propertyName: IASTToken;
4652 public callSignature: CallSignature;
4653 public block: Block;
4654 constructor(modifiers: PullElementFlags[], propertyName: IASTToken, callSignature: CallSignature, block: Block);
4655 public kind(): SyntaxKind;
4656 }
4657 class GetAccessor extends AST {
4658 public modifiers: PullElementFlags[];
4659 public propertyName: IASTToken;
4660 public parameterList: ParameterList;
4661 public typeAnnotation: TypeAnnotation;
4662 public block: Block;
4663 constructor(modifiers: PullElementFlags[], propertyName: IASTToken, parameterList: ParameterList, typeAnnotation: TypeAnnotation, block: Block);
4664 public kind(): SyntaxKind;
4665 }
4666 class SetAccessor extends AST {
4667 public modifiers: PullElementFlags[];
4668 public propertyName: IASTToken;
4669 public parameterList: ParameterList;
4670 public block: Block;
4671 constructor(modifiers: PullElementFlags[], propertyName: IASTToken, parameterList: ParameterList, block: Block);
4672 public kind(): SyntaxKind;
4673 }
4674 class MemberVariableDeclaration extends AST {
4675 public modifiers: PullElementFlags[];
4676 public variableDeclarator: VariableDeclarator;
4677 constructor(modifiers: PullElementFlags[], variableDeclarator: VariableDeclarator);
4678 public kind(): SyntaxKind;
4679 }
4680 class IndexMemberDeclaration extends AST {
4681 public indexSignature: IndexSignature;
4682 constructor(indexSignature: IndexSignature);
4683 public kind(): SyntaxKind;
4684 }
4685 class ThrowStatement extends AST {
4686 public expression: AST;
4687 constructor(expression: AST);
4688 public kind(): SyntaxKind;
4689 public structuralEquals(ast: ThrowStatement, includingPosition: boolean): boolean;
4690 }
4691 class ReturnStatement extends AST {
4692 public expression: AST;
4693 constructor(expression: AST);
4694 public kind(): SyntaxKind;
4695 public structuralEquals(ast: ReturnStatement, includingPosition: boolean): boolean;
4696 }
4697 class ObjectCreationExpression extends AST implements ICallExpression {
4698 public expression: AST;
4699 public argumentList: ArgumentList;
4700 constructor(expression: AST, argumentList: ArgumentList);
4701 public kind(): SyntaxKind;
4702 public structuralEquals(ast: ObjectCreationExpression, includingPosition: boolean): boolean;
4703 public isExpression(): boolean;
4704 }
4705 class SwitchStatement extends AST {
4706 public expression: AST;
4707 public closeParenToken: ASTSpan;
4708 public switchClauses: ISyntaxList2;
4709 constructor(expression: AST, closeParenToken: ASTSpan, switchClauses: ISyntaxList2);
4710 public kind(): SyntaxKind;
4711 public structuralEquals(ast: SwitchStatement, includingPosition: boolean): boolean;
4712 }
4713 class CaseSwitchClause extends AST {
4714 public expression: AST;
4715 public statements: ISyntaxList2;
4716 constructor(expression: AST, statements: ISyntaxList2);
4717 public kind(): SyntaxKind;
4718 public structuralEquals(ast: CaseSwitchClause, includingPosition: boolean): boolean;
4719 }
4720 class DefaultSwitchClause extends AST {
4721 public statements: ISyntaxList2;
4722 constructor(statements: ISyntaxList2);
4723 public kind(): SyntaxKind;
4724 public structuralEquals(ast: DefaultSwitchClause, includingPosition: boolean): boolean;
4725 }
4726 class BreakStatement extends AST {
4727 public identifier: Identifier;
4728 constructor(identifier: Identifier);
4729 public kind(): SyntaxKind;
4730 public structuralEquals(ast: BreakStatement, includingPosition: boolean): boolean;
4731 }
4732 class ContinueStatement extends AST {
4733 public identifier: Identifier;
4734 constructor(identifier: Identifier);
4735 public kind(): SyntaxKind;
4736 public structuralEquals(ast: ContinueStatement, includingPosition: boolean): boolean;
4737 }
4738 class ForStatement extends AST {
4739 public variableDeclaration: VariableDeclaration;
4740 public initializer: AST;
4741 public condition: AST;
4742 public incrementor: AST;
4743 public statement: AST;
4744 constructor(variableDeclaration: VariableDeclaration, initializer: AST, condition: AST, incrementor: AST, statement: AST);
4745 public kind(): SyntaxKind;
4746 public structuralEquals(ast: ForStatement, includingPosition: boolean): boolean;
4747 }
4748 class ForInStatement extends AST {
4749 public variableDeclaration: VariableDeclaration;
4750 public left: AST;
4751 public expression: AST;
4752 public statement: AST;
4753 constructor(variableDeclaration: VariableDeclaration, left: AST, expression: AST, statement: AST);
4754 public kind(): SyntaxKind;
4755 public structuralEquals(ast: ForInStatement, includingPosition: boolean): boolean;
4756 }
4757 class WhileStatement extends AST {
4758 public condition: AST;
4759 public statement: AST;
4760 constructor(condition: AST, statement: AST);
4761 public kind(): SyntaxKind;
4762 public structuralEquals(ast: WhileStatement, includingPosition: boolean): boolean;
4763 }
4764 class WithStatement extends AST {
4765 public condition: AST;
4766 public statement: AST;
4767 constructor(condition: AST, statement: AST);
4768 public kind(): SyntaxKind;
4769 public structuralEquals(ast: WithStatement, includingPosition: boolean): boolean;
4770 }
4771 class EnumDeclaration extends AST {
4772 public modifiers: PullElementFlags[];
4773 public identifier: Identifier;
4774 public enumElements: ISeparatedSyntaxList2;
4775 constructor(modifiers: PullElementFlags[], identifier: Identifier, enumElements: ISeparatedSyntaxList2);
4776 public kind(): SyntaxKind;
4777 }
4778 class EnumElement extends AST {
4779 public propertyName: IASTToken;
4780 public equalsValueClause: EqualsValueClause;
4781 constructor(propertyName: IASTToken, equalsValueClause: EqualsValueClause);
4782 public kind(): SyntaxKind;
4783 }
4784 class CastExpression extends AST {
4785 public type: AST;
4786 public expression: AST;
4787 constructor(type: AST, expression: AST);
4788 public kind(): SyntaxKind;
4789 public structuralEquals(ast: CastExpression, includingPosition: boolean): boolean;
4790 public isExpression(): boolean;
4791 }
4792 class ObjectLiteralExpression extends AST {
4793 public propertyAssignments: ISeparatedSyntaxList2;
4794 constructor(propertyAssignments: ISeparatedSyntaxList2);
4795 public kind(): SyntaxKind;
4796 public structuralEquals(ast: ObjectLiteralExpression, includingPosition: boolean): boolean;
4797 public isExpression(): boolean;
4798 }
4799 class SimplePropertyAssignment extends AST {
4800 public propertyName: Identifier;
4801 public expression: AST;
4802 constructor(propertyName: Identifier, expression: AST);
4803 public kind(): SyntaxKind;
4804 }
4805 class FunctionPropertyAssignment extends AST {
4806 public propertyName: Identifier;
4807 public callSignature: CallSignature;
4808 public block: Block;
4809 constructor(propertyName: Identifier, callSignature: CallSignature, block: Block);
4810 public kind(): SyntaxKind;
4811 }
4812 class FunctionExpression extends AST {
4813 public identifier: Identifier;
4814 public callSignature: CallSignature;
4815 public block: Block;
4816 constructor(identifier: Identifier, callSignature: CallSignature, block: Block);
4817 public kind(): SyntaxKind;
4818 public isExpression(): boolean;
4819 }
4820 class EmptyStatement extends AST {
4821 public kind(): SyntaxKind;
4822 public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean;
4823 }
4824 class TryStatement extends AST {
4825 public block: Block;
4826 public catchClause: CatchClause;
4827 public finallyClause: FinallyClause;
4828 constructor(block: Block, catchClause: CatchClause, finallyClause: FinallyClause);
4829 public kind(): SyntaxKind;
4830 public structuralEquals(ast: TryStatement, includingPosition: boolean): boolean;
4831 }
4832 class CatchClause extends AST {
4833 public identifier: Identifier;
4834 public typeAnnotation: TypeAnnotation;
4835 public block: Block;
4836 constructor(identifier: Identifier, typeAnnotation: TypeAnnotation, block: Block);
4837 public kind(): SyntaxKind;
4838 public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean;
4839 }
4840 class FinallyClause extends AST {
4841 public block: Block;
4842 constructor(block: Block);
4843 public kind(): SyntaxKind;
4844 public structuralEquals(ast: CatchClause, includingPosition: boolean): boolean;
4845 }
4846 class LabeledStatement extends AST {
4847 public identifier: Identifier;
4848 public statement: AST;
4849 constructor(identifier: Identifier, statement: AST);
4850 public kind(): SyntaxKind;
4851 public structuralEquals(ast: LabeledStatement, includingPosition: boolean): boolean;
4852 }
4853 class DoStatement extends AST {
4854 public statement: AST;
4855 public whileKeyword: ASTSpan;
4856 public condition: AST;
4857 constructor(statement: AST, whileKeyword: ASTSpan, condition: AST);
4858 public kind(): SyntaxKind;
4859 public structuralEquals(ast: DoStatement, includingPosition: boolean): boolean;
4860 }
4861 class TypeOfExpression extends AST {
4862 public expression: AST;
4863 constructor(expression: AST);
4864 public kind(): SyntaxKind;
4865 public structuralEquals(ast: TypeOfExpression, includingPosition: boolean): boolean;
4866 public isExpression(): boolean;
4867 }
4868 class DeleteExpression extends AST {
4869 public expression: AST;
4870 constructor(expression: AST);
4871 public kind(): SyntaxKind;
4872 public structuralEquals(ast: DeleteExpression, includingPosition: boolean): boolean;
4873 public isExpression(): boolean;
4874 }
4875 class VoidExpression extends AST {
4876 public expression: AST;
4877 constructor(expression: AST);
4878 public kind(): SyntaxKind;
4879 public structuralEquals(ast: VoidExpression, includingPosition: boolean): boolean;
4880 public isExpression(): boolean;
4881 }
4882 class DebuggerStatement extends AST {
4883 public kind(): SyntaxKind;
4884 }
4885 class Comment {
4886 private _trivia;
4887 public endsLine: boolean;
4888 public _start: number;
4889 public _end: number;
4890 constructor(_trivia: ISyntaxTrivia, endsLine: boolean, _start: number, _end: number);
4891 public start(): number;
4892 public end(): number;
4893 public fullText(): string;
4894 public kind(): SyntaxKind;
4895 public structuralEquals(ast: Comment, includingPosition: boolean): boolean;
4896 }
4897 interface IParameters {
4898 length: number;
4899 lastParameterIsRest(): boolean;
4900 ast: AST;
4901 astAt(index: number): AST;
4902 identifierAt(index: number): Identifier;
4903 typeAt(index: number): AST;
4904 initializerAt(index: number): EqualsValueClause;
4905 isOptionalAt(index: number): boolean;
4906 }
4907 module ASTHelpers {
4908 function scriptIsElided(sourceUnit: SourceUnit): boolean;
4909 function moduleIsElided(declaration: ModuleDeclaration): boolean;
4910 function enumIsElided(declaration: EnumDeclaration): boolean;
4911 function isValidAstNode(ast: IASTSpan): boolean;
4912 function getAstAtPosition(script: AST, pos: number, useTrailingTriviaAsLimChar?: boolean, forceInclusive?: boolean): AST;
4913 function getExtendsHeritageClause(clauses: ISyntaxList2): HeritageClause;
4914 function getImplementsHeritageClause(clauses: ISyntaxList2): HeritageClause;
4915 function isCallExpression(ast: AST): boolean;
4916 function isCallExpressionTarget(ast: AST): boolean;
4917 function isDeclarationASTOrDeclarationNameAST(ast: AST): boolean;
4918 function getEnclosingParameterForInitializer(ast: AST): Parameter;
4919 function getEnclosingMemberVariableDeclaration(ast: AST): MemberVariableDeclaration;
4920 function isNameOfFunction(ast: AST): boolean;
4921 function isNameOfMemberFunction(ast: AST): boolean;
4922 function isNameOfMemberAccessExpression(ast: AST): boolean;
4923 function isRightSideOfQualifiedName(ast: AST): boolean;
4924 function parametersFromIdentifier(id: Identifier): IParameters;
4925 function parametersFromParameter(parameter: Parameter): IParameters;
4926 function parametersFromParameterList(list: ParameterList): IParameters;
4927 function isDeclarationAST(ast: AST): boolean;
4928 function docComments(ast: AST): Comment[];
4929 function getParameterList(ast: AST): ParameterList;
4930 function getType(ast: AST): AST;
4931 function getVariableDeclaratorModifiers(variableDeclarator: VariableDeclarator): PullElementFlags[];
4932 function isIntegerLiteralAST(expression: AST): boolean;
4933 function getEnclosingModuleDeclaration(ast: AST): ModuleDeclaration;
4934 function isLastNameOfModule(ast: ModuleDeclaration, astName: AST): boolean;
4935 function isAnyNameOfModule(ast: ModuleDeclaration, astName: AST): boolean;
4936 function getNameOfIdenfierOrQualifiedName(name: AST): string;
4937 function getModuleNames(name: AST, result?: Identifier[]): Identifier[];
4938 }
4939 class AstWalkOptions {
4940 public goChildren: boolean;
4941 public stopWalking: boolean;
4942 }
4943 interface IAstWalker {
4944 options: AstWalkOptions;
4945 state: any;
4946 }
4947 class AstWalkerFactory {
4948 public walk(ast: AST, pre: (ast: AST, walker: IAstWalker) => void, post?: (ast: AST, walker: IAstWalker) => void, state?: any): void;
4949 public simpleWalk(ast: AST, pre: (ast: AST, state: any) => void, post?: (ast: AST, state: any) => void, state?: any): void;
4950 }
4951 function getAstWalkerFactory(): AstWalkerFactory;
4952 class Base64VLQFormat {
4953 static encode(inValue: number): string;
4954 static decode(inString: string): {
4955 value: number;
4956 rest: string;
4957 };
4958 }
4959 class SourceMapPosition {
4960 public sourceLine: number;
4961 public sourceColumn: number;
4962 public emittedLine: number;
4963 public emittedColumn: number;
4964 }
4965 class SourceMapping {
4966 public start: SourceMapPosition;
4967 public end: SourceMapPosition;
4968 public nameIndex: number;
4969 public childMappings: SourceMapping[];
4970 }
4971 class SourceMapEntry {
4972 public emittedFile: string;
4973 public emittedLine: number;
4974 public emittedColumn: number;
4975 public sourceFile: string;
4976 public sourceLine: number;
4977 public sourceColumn: number;
4978 public sourceName: string;
4979 constructor(emittedFile: string, emittedLine: number, emittedColumn: number, sourceFile: string, sourceLine: number, sourceColumn: number, sourceName: string);
4980 }
4981 class SourceMapper {
4982 private jsFile;
4983 private sourceMapOut;
4984 static MapFileExtension: string;
4985 private jsFileName;
4986 private sourceMapPath;
4987 private sourceMapDirectory;
4988 private sourceRoot;
4989 public names: string[];
4990 private mappingLevel;
4991 private tsFilePaths;
4992 private allSourceMappings;
4993 public currentMappings: SourceMapping[][];
4994 public currentNameIndex: number[];
4995 private sourceMapEntries;
4996 constructor(jsFile: TextWriter, sourceMapOut: TextWriter, document: Document, jsFilePath: string, emitOptions: EmitOptions, resolvePath: (path: string) => string);
4997 public getOutputFile(): OutputFile;
4998 public increaseMappingLevel(ast: IASTSpan): void;
4999 public decreaseMappingLevel(ast: IASTSpan): void;
5000 public setNewSourceFile(document: Document, emitOptions: EmitOptions): void;
5001 private setSourceMapOptions(document, jsFilePath, emitOptions, resolvePath);
5002 private setNewSourceFilePath(document, emitOptions);
5003 public emitSourceMapping(): void;
5004 }
5005 enum EmitContainer {
5006 Prog = 0,
5007 Module = 1,
5008 DynamicModule = 2,
5009 Class = 3,
5010 Constructor = 4,
5011 Function = 5,
5012 Args = 6,
5013 Interface = 7,
5014 }
5015 class EmitState {
5016 public column: number;
5017 public line: number;
5018 public container: EmitContainer;
5019 constructor();
5020 }
5021 class EmitOptions {
5022 public resolvePath: (path: string) => string;
5023 private _diagnostic;
5024 private _settings;
5025 private _commonDirectoryPath;
5026 private _sharedOutputFile;
5027 private _sourceRootDirectory;
5028 private _sourceMapRootDirectory;
5029 private _outputDirectory;
5030 public diagnostic(): Diagnostic;
5031 public commonDirectoryPath(): string;
5032 public sharedOutputFile(): string;
5033 public sourceRootDirectory(): string;
5034 public sourceMapRootDirectory(): string;
5035 public outputDirectory(): string;
5036 public compilationSettings(): ImmutableCompilationSettings;
5037 constructor(compiler: TypeScriptCompiler, resolvePath: (path: string) => string);
5038 private determineCommonDirectoryPath(compiler);
5039 }
5040 class Indenter {
5041 static indentStep: number;
5042 static indentStepString: string;
5043 static indentStrings: string[];
5044 public indentAmt: number;
5045 public increaseIndent(): void;
5046 public decreaseIndent(): void;
5047 public getIndent(): string;
5048 }
5049 function lastParameterIsRest(parameterList: ParameterList): boolean;
5050 class Emitter {
5051 public emittingFileName: string;
5052 public outfile: TextWriter;
5053 public emitOptions: EmitOptions;
5054 private semanticInfoChain;
5055 public globalThisCapturePrologueEmitted: boolean;
5056 public extendsPrologueEmitted: boolean;
5057 public thisClassNode: ClassDeclaration;
5058 public inArrowFunction: boolean;
5059 public moduleName: string;
5060 public emitState: EmitState;
5061 public indenter: Indenter;
5062 public sourceMapper: SourceMapper;
5063 public captureThisStmtString: string;
5064 private currentVariableDeclaration;
5065 private declStack;
5066 private exportAssignment;
5067 private inWithBlock;
5068 public document: Document;
5069 private detachedCommentsElement;
5070 constructor(emittingFileName: string, outfile: TextWriter, emitOptions: EmitOptions, semanticInfoChain: SemanticInfoChain);
5071 private pushDecl(decl);
5072 private popDecl(decl);
5073 private getEnclosingDecl();
5074 public setExportAssignment(exportAssignment: ExportAssignment): void;
5075 public getExportAssignment(): ExportAssignment;
5076 public setDocument(document: Document): void;
5077 public shouldEmitImportDeclaration(importDeclAST: ImportDeclaration): boolean;
5078 public emitImportDeclaration(importDeclAST: ImportDeclaration): void;
5079 public createSourceMapper(document: Document, jsFileName: string, jsFile: TextWriter, sourceMapOut: TextWriter, resolvePath: (path: string) => string): void;
5080 public setSourceMapperNewSourceFile(document: Document): void;
5081 private updateLineAndColumn(s);
5082 public writeToOutputWithSourceMapRecord(s: string, astSpan: IASTSpan): void;
5083 public writeToOutput(s: string): void;
5084 public writeLineToOutput(s: string, force?: boolean): void;
5085 public writeCaptureThisStatement(ast: AST): void;
5086 public setContainer(c: number): number;
5087 private getIndentString();
5088 public emitIndent(): void;
5089 public emitComment(comment: Comment, trailing: boolean, first: boolean): void;
5090 public emitComments(ast: AST, pre: boolean, onlyPinnedOrTripleSlashComments?: boolean): void;
5091 private isPinnedOrTripleSlash(comment);
5092 public emitCommentsArray(comments: Comment[], trailing: boolean): void;
5093 public emitObjectLiteralExpression(objectLiteral: ObjectLiteralExpression): void;
5094 public emitArrayLiteralExpression(arrayLiteral: ArrayLiteralExpression): void;
5095 public emitObjectCreationExpression(objectCreationExpression: ObjectCreationExpression): void;
5096 public getConstantDecl(dotExpr: MemberAccessExpression): PullEnumElementDecl;
5097 public tryEmitConstant(dotExpr: MemberAccessExpression): boolean;
5098 public emitInvocationExpression(callNode: InvocationExpression): void;
5099 private emitParameterList(list);
5100 private emitFunctionParameters(parameters);
5101 private emitFunctionBodyStatements(name, funcDecl, parameterList, block, bodyExpression);
5102 private emitDefaultValueAssignments(parameters);
5103 private emitRestParameterInitializer(parameters);
5104 private getImportDecls(fileName);
5105 public getModuleImportAndDependencyList(sourceUnit: SourceUnit): {
5106 importList: string;
5107 dependencyList: string;
5108 };
5109 public shouldCaptureThis(ast: AST): boolean;
5110 public emitEnum(moduleDecl: EnumDeclaration): void;
5111 private getModuleDeclToVerifyChildNameCollision(moduleDecl, changeNameIfAnyDeclarationInContext);
5112 private hasChildNameCollision(moduleName, parentDecl);
5113 private getModuleName(moduleDecl, changeNameIfAnyDeclarationInContext?);
5114 private emitModuleDeclarationWorker(moduleDecl);
5115 public emitSingleModuleDeclaration(moduleDecl: ModuleDeclaration, moduleName: IASTToken): void;
5116 public emitEnumElement(varDecl: EnumElement): void;
5117 public emitElementAccessExpression(expression: ElementAccessExpression): void;
5118 public emitSimpleArrowFunctionExpression(arrowFunction: SimpleArrowFunctionExpression): void;
5119 public emitParenthesizedArrowFunctionExpression(arrowFunction: ParenthesizedArrowFunctionExpression): void;
5120 private emitAnyArrowFunctionExpression(arrowFunction, funcName, parameters, block, expression);
5121 public emitConstructor(funcDecl: ConstructorDeclaration): void;
5122 public emitGetAccessor(accessor: GetAccessor): void;
5123 public emitSetAccessor(accessor: SetAccessor): void;
5124 public emitFunctionExpression(funcDecl: FunctionExpression): void;
5125 public emitFunction(funcDecl: FunctionDeclaration): void;
5126 public emitAmbientVarDecl(varDecl: VariableDeclarator): void;
5127 public emitVarDeclVar(): void;
5128 public emitVariableDeclaration(declaration: VariableDeclaration): void;
5129 private emitMemberVariableDeclaration(varDecl);
5130 public emitVariableDeclarator(varDecl: VariableDeclarator): void;
5131 private symbolIsUsedInItsEnclosingContainer(symbol, dynamic?);
5132 private shouldQualifySymbolNameWithParentName(symbol);
5133 private getSymbolForEmit(ast);
5134 public emitName(name: Identifier, addThis: boolean): void;
5135 public recordSourceMappingNameStart(name: string): void;
5136 public recordSourceMappingNameEnd(): void;
5137 public recordSourceMappingStart(ast: IASTSpan): void;
5138 public recordSourceMappingEnd(ast: IASTSpan): void;
5139 public getOutputFiles(): OutputFile[];
5140 private emitParameterPropertyAndMemberVariableAssignments();
5141 private isOnSameLine(pos1, pos2);
5142 private emitCommaSeparatedList(parent, list, buffer, preserveNewLines);
5143 public emitList(list: ISyntaxList2, useNewLineSeparator?: boolean, startInclusive?: number, endExclusive?: number): void;
5144 public emitSeparatedList(list: ISeparatedSyntaxList2, useNewLineSeparator?: boolean, startInclusive?: number, endExclusive?: number): void;
5145 private isDirectivePrologueElement(node);
5146 public emitSpaceBetweenConstructs(node1: AST, node2: AST): void;
5147 private getDetachedComments(element);
5148 private emitPossibleCopyrightHeaders(script);
5149 private emitDetachedComments(list);
5150 public emitScriptElements(sourceUnit: SourceUnit): void;
5151 public emitConstructorStatements(funcDecl: ConstructorDeclaration): void;
5152 public emitJavascript(ast: AST, startLine: boolean): void;
5153 public emitAccessorMemberDeclaration(funcDecl: AST, name: IASTToken, className: string, isProto: boolean): void;
5154 private emitAccessorBody(funcDecl, parameterList, block);
5155 public emitClass(classDecl: ClassDeclaration): void;
5156 private emitClassMembers(classDecl);
5157 private emitClassMemberFunctionDeclaration(classDecl, funcDecl);
5158 private requiresExtendsBlock(moduleElements);
5159 public emitPrologue(sourceUnit: SourceUnit): void;
5160 public emitThis(): void;
5161 public emitBlockOrStatement(node: AST): void;
5162 public emitLiteralExpression(expression: LiteralExpression): void;
5163 public emitThisExpression(expression: ThisExpression): void;
5164 public emitSuperExpression(expression: SuperExpression): void;
5165 public emitParenthesizedExpression(parenthesizedExpression: ParenthesizedExpression): void;
5166 public emitCastExpression(expression: CastExpression): void;
5167 public emitPrefixUnaryExpression(expression: PrefixUnaryExpression): void;
5168 public emitPostfixUnaryExpression(expression: PostfixUnaryExpression): void;
5169 public emitTypeOfExpression(expression: TypeOfExpression): void;
5170 public emitDeleteExpression(expression: DeleteExpression): void;
5171 public emitVoidExpression(expression: VoidExpression): void;
5172 private canEmitDottedNameMemberAccessExpression(expression);
5173 private emitDottedNameMemberAccessExpression(expression);
5174 private emitDottedNameMemberAccessExpressionRecurse(expression);
5175 public emitMemberAccessExpression(expression: MemberAccessExpression): void;
5176 public emitQualifiedName(name: QualifiedName): void;
5177 public emitBinaryExpression(expression: BinaryExpression): void;
5178 public emitSimplePropertyAssignment(property: SimplePropertyAssignment): void;
5179 public emitFunctionPropertyAssignment(funcProp: FunctionPropertyAssignment): void;
5180 public emitConditionalExpression(expression: ConditionalExpression): void;
5181 public emitThrowStatement(statement: ThrowStatement): void;
5182 public emitExpressionStatement(statement: ExpressionStatement): void;
5183 public emitLabeledStatement(statement: LabeledStatement): void;
5184 public emitBlock(block: Block): void;
5185 public emitBreakStatement(jump: BreakStatement): void;
5186 public emitContinueStatement(jump: ContinueStatement): void;
5187 public emitWhileStatement(statement: WhileStatement): void;
5188 public emitDoStatement(statement: DoStatement): void;
5189 public emitIfStatement(statement: IfStatement): void;
5190 public emitElseClause(elseClause: ElseClause): void;
5191 public emitReturnStatement(statement: ReturnStatement): void;
5192 public emitForInStatement(statement: ForInStatement): void;
5193 public emitForStatement(statement: ForStatement): void;
5194 public emitWithStatement(statement: WithStatement): void;
5195 public emitSwitchStatement(statement: SwitchStatement): void;
5196 public emitCaseSwitchClause(clause: CaseSwitchClause): void;
5197 private emitSwitchClauseBody(body);
5198 public emitDefaultSwitchClause(clause: DefaultSwitchClause): void;
5199 public emitTryStatement(statement: TryStatement): void;
5200 public emitCatchClause(clause: CatchClause): void;
5201 public emitFinallyClause(clause: FinallyClause): void;
5202 public emitDebuggerStatement(statement: DebuggerStatement): void;
5203 public emitNumericLiteral(literal: NumericLiteral): void;
5204 public emitRegularExpressionLiteral(literal: RegularExpressionLiteral): void;
5205 public emitStringLiteral(literal: StringLiteral): void;
5206 public emitEqualsValueClause(clause: EqualsValueClause): void;
5207 public emitParameter(parameter: Parameter): void;
5208 public emitConstructorDeclaration(declaration: ConstructorDeclaration): void;
5209 public shouldEmitFunctionDeclaration(declaration: FunctionDeclaration): boolean;
5210 public emitFunctionDeclaration(declaration: FunctionDeclaration): void;
5211 private emitSourceUnit(sourceUnit);
5212 public shouldEmitEnumDeclaration(declaration: EnumDeclaration): boolean;
5213 public emitEnumDeclaration(declaration: EnumDeclaration): void;
5214 public shouldEmitModuleDeclaration(declaration: ModuleDeclaration): boolean;
5215 private emitModuleDeclaration(declaration);
5216 public shouldEmitClassDeclaration(declaration: ClassDeclaration): boolean;
5217 public emitClassDeclaration(declaration: ClassDeclaration): void;
5218 public shouldEmitInterfaceDeclaration(declaration: InterfaceDeclaration): boolean;
5219 public emitInterfaceDeclaration(declaration: InterfaceDeclaration): void;
5220 private firstVariableDeclarator(statement);
5221 private isNotAmbientOrHasInitializer(variableStatement);
5222 public shouldEmitVariableStatement(statement: VariableStatement): boolean;
5223 public emitVariableStatement(statement: VariableStatement): void;
5224 public emitGenericType(type: GenericType): void;
5225 private shouldEmit(ast);
5226 private emit(ast);
5227 private emitWorker(ast);
5228 }
5229 function getLastConstructor(classDecl: ClassDeclaration): ConstructorDeclaration;
5230 function getTrimmedTextLines(comment: Comment): string[];
5231 class MemberName {
5232 public prefix: string;
5233 public suffix: string;
5234 public isString(): boolean;
5235 public isArray(): boolean;
5236 public isMarker(): boolean;
5237 public toString(): string;
5238 static memberNameToString(memberName: MemberName, markerInfo?: number[], markerBaseLength?: number): string;
5239 static create(text: string): MemberName;
5240 static create(entry: MemberName, prefix: string, suffix: string): MemberName;
5241 }
5242 class MemberNameString extends MemberName {
5243 public text: string;
5244 constructor(text: string);
5245 public isString(): boolean;
5246 }
5247 class MemberNameArray extends MemberName {
5248 public delim: string;
5249 public entries: MemberName[];
5250 public isArray(): boolean;
5251 public add(entry: MemberName): void;
5252 public addAll(entries: MemberName[]): void;
5253 constructor();
5254 }
5255 function stripStartAndEndQuotes(str: string): string;
5256 function isSingleQuoted(str: string): boolean;
5257 function isDoubleQuoted(str: string): boolean;
5258 function isQuoted(str: string): boolean;
5259 function quoteStr(str: string): string;
5260 function switchToForwardSlashes(path: string): string;
5261 function trimModName(modName: string): string;
5262 function getDeclareFilePath(fname: string): string;
5263 function isTSFile(fname: string): boolean;
5264 function isDTSFile(fname: string): boolean;
5265 function getPrettyName(modPath: string, quote?: boolean, treatAsFileName?: boolean): any;
5266 function getPathComponents(path: string): string[];
5267 function getRelativePathToFixedPath(fixedModFilePath: string, absoluteModPath: string, isAbsoultePathURL?: boolean): string;
5268 function changePathToDTS(modPath: string): string;
5269 function isRelative(path: string): boolean;
5270 function isRooted(path: string): boolean;
5271 function getRootFilePath(outFname: string): string;
5272 function filePathComponents(fullPath: string): string[];
5273 function filePath(fullPath: string): string;
5274 function convertToDirectoryPath(dirPath: string): string;
5275 function normalizePath(path: string): string;
5276 interface IFileReference extends ILineAndCharacter {
5277 path: string;
5278 isResident: boolean;
5279 position: number;
5280 length: number;
5281 }
5282 interface IPreProcessedFileInfo {
5283 referencedFiles: IFileReference[];
5284 importedFiles: IFileReference[];
5285 diagnostics: Diagnostic[];
5286 isLibFile: boolean;
5287 }
5288 var tripleSlashReferenceRegExp: RegExp;
5289 function preProcessFile(fileName: string, sourceText: IScriptSnapshot, readImportFiles?: boolean): IPreProcessedFileInfo;
5290 function getParseOptions(settings: ImmutableCompilationSettings): ParseOptions;
5291 function getReferencedFiles(fileName: string, sourceText: IScriptSnapshot): IFileReference[];
5292 interface IResolvedFile {
5293 path: string;
5294 referencedFiles: string[];
5295 importedFiles: string[];
5296 }
5297 interface IReferenceResolverHost {
5298 getScriptSnapshot(fileName: string): IScriptSnapshot;
5299 resolveRelativePath(path: string, directory: string): string;
5300 fileExists(path: string): boolean;
5301 directoryExists(path: string): boolean;
5302 getParentDirectory(path: string): string;
5303 }
5304 class ReferenceResolutionResult {
5305 public resolvedFiles: IResolvedFile[];
5306 public diagnostics: Diagnostic[];
5307 public seenNoDefaultLibTag: boolean;
5308 }
5309 class ReferenceResolver {
5310 private useCaseSensitiveFileResolution;
5311 private inputFileNames;
5312 private host;
5313 private visited;
5314 constructor(inputFileNames: string[], host: IReferenceResolverHost, useCaseSensitiveFileResolution: boolean);
5315 static resolve(inputFileNames: string[], host: IReferenceResolverHost, useCaseSensitiveFileResolution: boolean): ReferenceResolutionResult;
5316 public resolveInputFiles(): ReferenceResolutionResult;
5317 private resolveIncludedFile(path, referenceLocation, resolutionResult);
5318 private resolveImportedFile(path, referenceLocation, resolutionResult);
5319 private resolveFile(normalizedPath, resolutionResult);
5320 private getNormalizedFilePath(path, parentFilePath);
5321 private getUniqueFileId(filePath);
5322 private recordVisitedFile(filePath);
5323 private isVisited(filePath);
5324 private isSameFile(filePath1, filePath2);
5325 }
5326 class TextWriter {
5327 private name;
5328 private writeByteOrderMark;
5329 private outputFileType;
5330 private contents;
5331 public onNewLine: boolean;
5332 constructor(name: string, writeByteOrderMark: boolean, outputFileType: OutputFileType);
5333 public Write(s: string): void;
5334 public WriteLine(s: string): void;
5335 public Close(): void;
5336 public getOutputFile(): OutputFile;
5337 }
5338 class DeclarationEmitter {
5339 private emittingFileName;
5340 public document: Document;
5341 private compiler;
5342 private emitOptions;
5343 private semanticInfoChain;
5344 private declFile;
5345 private indenter;
5346 private emittedReferencePaths;
5347 constructor(emittingFileName: string, document: Document, compiler: TypeScriptCompiler, emitOptions: EmitOptions, semanticInfoChain: SemanticInfoChain);
5348 public getOutputFile(): OutputFile;
5349 public emitDeclarations(sourceUnit: SourceUnit): void;
5350 private emitDeclarationsForList(list);
5351 private emitSeparatedList(list);
5352 private emitDeclarationsForAST(ast);
5353 private getIndentString(declIndent?);
5354 private emitIndent();
5355 private canEmitDeclarations(declAST);
5356 private getDeclFlagsString(pullDecl, typeString);
5357 private emitDeclFlags(declarationAST, typeString);
5358 private emitTypeNamesMember(memberName, emitIndent?);
5359 private emitTypeSignature(ast, type);
5360 private emitComment(comment);
5361 private emitDeclarationComments(ast, endLine?);
5362 private writeDeclarationComments(declComments, endLine?);
5363 private emitTypeOfVariableDeclaratorOrParameter(boundDecl);
5364 private emitPropertySignature(varDecl);
5365 private emitVariableDeclarator(varDecl, isFirstVarInList, isLastVarInList);
5366 private emitClassElementModifiers(modifiers);
5367 private emitDeclarationsForMemberVariableDeclaration(varDecl);
5368 private emitDeclarationsForVariableStatement(variableStatement);
5369 private emitDeclarationsForVariableDeclaration(variableDeclaration);
5370 private emitArgDecl(argDecl, id, isOptional, isPrivate);
5371 private isOverloadedCallSignature(funcDecl);
5372 private emitDeclarationsForConstructorDeclaration(funcDecl);
5373 private emitParameterList(isPrivate, parameterList);
5374 private emitParameters(isPrivate, parameterList);
5375 private emitMemberFunctionDeclaration(funcDecl);
5376 private emitCallSignature(funcDecl);
5377 private emitConstructSignature(funcDecl);
5378 private emitMethodSignature(funcDecl);
5379 private emitDeclarationsForFunctionDeclaration(funcDecl);
5380 private emitIndexMemberDeclaration(funcDecl);
5381 private emitIndexSignature(funcDecl);
5382 private emitBaseList(bases, useExtendsList);
5383 private emitAccessorDeclarationComments(funcDecl);
5384 private emitDeclarationsForGetAccessor(funcDecl);
5385 private emitDeclarationsForSetAccessor(funcDecl);
5386 private emitMemberAccessorDeclaration(funcDecl, modifiers, name);
5387 private emitClassMembersFromConstructorDefinition(funcDecl);
5388 private emitDeclarationsForClassDeclaration(classDecl);
5389 private emitHeritageClauses(clauses);
5390 private emitHeritageClause(clause);
5391 static getEnclosingContainer(ast: AST): AST;
5392 private emitTypeParameters(typeParams, funcSignature?);
5393 private emitDeclarationsForInterfaceDeclaration(interfaceDecl);
5394 private emitDeclarationsForImportDeclaration(importDeclAST);
5395 private emitDeclarationsForEnumDeclaration(moduleDecl);
5396 private emitDeclarationsForModuleDeclaration(moduleDecl);
5397 private emitDeclarationsForExportAssignment(ast);
5398 private resolveScriptReference(document, reference);
5399 private emitReferencePaths(sourceUnit);
5400 private emitDeclarationsForSourceUnit(sourceUnit);
5401 }
5402 class BloomFilter {
5403 private bitArray;
5404 private hashFunctionCount;
5405 static falsePositiveProbability: number;
5406 constructor(expectedCount: number);
5407 static computeM(expectedCount: number): number;
5408 static computeK(expectedCount: number): number;
5409 /** Modification of the murmurhash2 algorithm. Code is simpler because it operates over
5410 * strings instead of byte arrays. Because each string character is two bytes, it is known
5411 * that the input will be an even number of bytes (though not necessarily a multiple of 4).
5412 *
5413 * This is needed over the normal 'string.GetHashCode()' because we need to be able to generate
5414 * 'k' different well distributed hashes for any given string s. Also, we want to be able to
5415 * generate these hashes without allocating any memory. My ideal solution would be to use an
5416 * MD5 hash. However, there appears to be no way to do MD5 in .Net where you can:
5417 *
5418 * a) feed it individual values instead of a byte[]
5419 *
5420 * b) have the hash computed into a byte[] you provide instead of a newly allocated one
5421 *
5422 * Generating 'k' pieces of garbage on each insert and lookup seems very wasteful. So,
5423 * instead, we use murmur hash since it provides well distributed values, allows for a
5424 * seed, and allocates no memory.
5425 *
5426 * Murmur hash is public domain. Actual code is included below as reference.
5427 */
5428 private computeHash(key, seed);
5429 public addKeys(keys: IIndexable<any>): void;
5430 public add(value: string): void;
5431 public probablyContains(value: string): boolean;
5432 public isEquivalent(filter: BloomFilter): boolean;
5433 static isEquivalent(array1: boolean[], array2: boolean[]): boolean;
5434 }
5435 class IdentifierWalker extends SyntaxWalker {
5436 public list: IIndexable<boolean>;
5437 constructor(list: IIndexable<boolean>);
5438 public visitToken(token: ISyntaxToken): void;
5439 }
5440 class CompilationSettings {
5441 public propagateEnumConstants: boolean;
5442 public removeComments: boolean;
5443 public watch: boolean;
5444 public noResolve: boolean;
5445 public allowAutomaticSemicolonInsertion: boolean;
5446 public noImplicitAny: boolean;
5447 public noLib: boolean;
5448 public codeGenTarget: LanguageVersion;
5449 public moduleGenTarget: ModuleGenTarget;
5450 public outFileOption: string;
5451 public outDirOption: string;
5452 public mapSourceFiles: boolean;
5453 public mapRoot: string;
5454 public sourceRoot: string;
5455 public generateDeclarationFiles: boolean;
5456 public useCaseSensitiveFileResolution: boolean;
5457 public gatherDiagnostics: boolean;
5458 public codepage: number;
5459 public createFileLog: boolean;
5460 }
5461 class ImmutableCompilationSettings {
5462 private static _defaultSettings;
5463 private _propagateEnumConstants;
5464 private _removeComments;
5465 private _watch;
5466 private _noResolve;
5467 private _allowAutomaticSemicolonInsertion;
5468 private _noImplicitAny;
5469 private _noLib;
5470 private _codeGenTarget;
5471 private _moduleGenTarget;
5472 private _outFileOption;
5473 private _outDirOption;
5474 private _mapSourceFiles;
5475 private _mapRoot;
5476 private _sourceRoot;
5477 private _generateDeclarationFiles;
5478 private _useCaseSensitiveFileResolution;
5479 private _gatherDiagnostics;
5480 private _codepage;
5481 private _createFileLog;
5482 public propagateEnumConstants(): boolean;
5483 public removeComments(): boolean;
5484 public watch(): boolean;
5485 public noResolve(): boolean;
5486 public allowAutomaticSemicolonInsertion(): boolean;
5487 public noImplicitAny(): boolean;
5488 public noLib(): boolean;
5489 public codeGenTarget(): LanguageVersion;
5490 public moduleGenTarget(): ModuleGenTarget;
5491 public outFileOption(): string;
5492 public outDirOption(): string;
5493 public mapSourceFiles(): boolean;
5494 public mapRoot(): string;
5495 public sourceRoot(): string;
5496 public generateDeclarationFiles(): boolean;
5497 public useCaseSensitiveFileResolution(): boolean;
5498 public gatherDiagnostics(): boolean;
5499 public codepage(): number;
5500 public createFileLog(): boolean;
5501 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);
5502 static defaultSettings(): ImmutableCompilationSettings;
5503 static fromCompilationSettings(settings: CompilationSettings): ImmutableCompilationSettings;
5504 public toCompilationSettings(): any;
5505 }
5506 enum PullElementFlags {
5507 None = 0,
5508 Exported = 1,
5509 Private,
5510 Public,
5511 Ambient,
5512 Static,
5513 Optional,
5514 Signature,
5515 Enum,
5516 ArrowFunction,
5517 ClassConstructorVariable,
5518 InitializedModule,
5519 InitializedDynamicModule,
5520 MustCaptureThis,
5521 DeclaredInAWithBlock,
5522 HasReturnStatement,
5523 PropertyParameter,
5524 IsAnnotatedWithAny,
5525 HasDefaultArgs,
5526 ConstructorParameter,
5527 ImplicitVariable,
5528 SomeInitializedModule,
5529 }
5530 function hasModifier(modifiers: PullElementFlags[], flag: PullElementFlags): boolean;
5531 enum PullElementKind {
5532 None = 0,
5533 Global = 0,
5534 Script,
5535 Primitive,
5536 Container,
5537 Class,
5538 Interface,
5539 DynamicModule,
5540 Enum,
5541 TypeAlias,
5542 ObjectLiteral,
5543 Variable,
5544 CatchVariable,
5545 Parameter,
5546 Property,
5547 TypeParameter,
5548 Function,
5549 ConstructorMethod,
5550 Method,
5551 FunctionExpression,
5552 GetAccessor,
5553 SetAccessor,
5554 CallSignature,
5555 ConstructSignature,
5556 IndexSignature,
5557 ObjectType,
5558 FunctionType,
5559 ConstructorType,
5560 EnumMember,
5561 WithBlock,
5562 CatchBlock,
5563 All,
5564 SomeFunction,
5565 SomeValue,
5566 SomeType,
5567 AcceptableAlias,
5568 SomeContainer,
5569 SomeSignature,
5570 SomeTypeReference,
5571 SomeInstantiatableType,
5572 }
5573 class PullDecl {
5574 public kind: PullElementKind;
5575 public name: string;
5576 private declDisplayName;
5577 public semanticInfoChain: SemanticInfoChain;
5578 public declID: number;
5579 public flags: PullElementFlags;
5580 private declGroups;
5581 private childDecls;
5582 private typeParameters;
5583 private synthesizedValDecl;
5584 private containerDecl;
5585 public childDeclTypeCache: IIndexable<PullDecl[]>;
5586 public childDeclValueCache: IIndexable<PullDecl[]>;
5587 public childDeclNamespaceCache: IIndexable<PullDecl[]>;
5588 public childDeclTypeParameterCache: IIndexable<PullDecl[]>;
5589 constructor(declName: string, displayName: string, kind: PullElementKind, declFlags: PullElementFlags, semanticInfoChain: SemanticInfoChain);
5590 public fileName(): string;
5591 public getParentPath(): PullDecl[];
5592 public getParentDecl(): PullDecl;
5593 public isExternalModule(): boolean;
5594 public getEnclosingDecl(): PullDecl;
5595 public _getEnclosingDeclFromParentDecl(): PullDecl;
5596 /** Use getName for type checking purposes, and getDisplayName to report an error or display info to the user.
5597 * They will differ when the identifier is an escaped unicode character or the identifier "__proto__".
5598 */
5599 public getDisplayName(): string;
5600 public setSymbol(symbol: PullSymbol): void;
5601 public ensureSymbolIsBound(): void;
5602 public getSymbol(): PullSymbol;
5603 public hasSymbol(): boolean;
5604 public setSignatureSymbol(signatureSymbol: PullSignatureSymbol): void;
5605 public getSignatureSymbol(): PullSignatureSymbol;
5606 public hasSignatureSymbol(): boolean;
5607 public setFlags(flags: PullElementFlags): void;
5608 public setFlag(flags: PullElementFlags): void;
5609 public setValueDecl(valDecl: PullDecl): void;
5610 public getValueDecl(): PullDecl;
5611 public getContainerDecl(): PullDecl;
5612 private getChildDeclCache(declKind);
5613 public addChildDecl(childDecl: PullDecl): void;
5614 public searchChildDecls(declName: string, searchKind: PullElementKind): PullDecl[];
5615 public getChildDecls(): PullDecl[];
5616 public getTypeParameters(): PullDecl[];
5617 public addVariableDeclToGroup(decl: PullDecl): void;
5618 public getVariableDeclGroups(): PullDecl[][];
5619 public hasBeenBound(): boolean;
5620 public isSynthesized(): boolean;
5621 public ast(): AST;
5622 public isRootDecl(): void;
5623 }
5624 class RootPullDecl extends PullDecl {
5625 private _isExternalModule;
5626 private _fileName;
5627 constructor(name: string, fileName: string, kind: PullElementKind, declFlags: PullElementFlags, semanticInfoChain: SemanticInfoChain, isExternalModule: boolean);
5628 public fileName(): string;
5629 public getParentPath(): PullDecl[];
5630 public getParentDecl(): PullDecl;
5631 public isExternalModule(): boolean;
5632 public getEnclosingDecl(): RootPullDecl;
5633 public isRootDecl(): boolean;
5634 }
5635 class NormalPullDecl extends PullDecl {
5636 private parentDecl;
5637 public _rootDecl: RootPullDecl;
5638 private parentPath;
5639 constructor(declName: string, displayName: string, kind: PullElementKind, declFlags: PullElementFlags, parentDecl: PullDecl, addToParent?: boolean);
5640 public fileName(): string;
5641 public getParentDecl(): PullDecl;
5642 public getParentPath(): PullDecl[];
5643 public isExternalModule(): boolean;
5644 public getEnclosingDecl(): PullDecl;
5645 public isRootDecl(): boolean;
5646 }
5647 class PullEnumElementDecl extends NormalPullDecl {
5648 public constantValue: number;
5649 constructor(declName: string, displayName: string, parentDecl: PullDecl);
5650 }
5651 class PullFunctionExpressionDecl extends NormalPullDecl {
5652 private functionExpressionName;
5653 constructor(expressionName: string, declFlags: PullElementFlags, parentDecl: PullDecl, displayName?: string);
5654 public getFunctionExpressionName(): string;
5655 }
5656 class PullSynthesizedDecl extends NormalPullDecl {
5657 constructor(declName: string, displayName: string, kind: PullElementKind, declFlags: PullElementFlags, parentDecl: PullDecl, semanticInfoChain: SemanticInfoChain);
5658 public isSynthesized(): boolean;
5659 public fileName(): string;
5660 }
5661 class PullDeclGroup {
5662 public name: string;
5663 private _decls;
5664 constructor(name: string);
5665 public addDecl(decl: PullDecl): void;
5666 public getDecls(): PullDecl[];
5667 }
5668 var pullSymbolID: number;
5669 var sentinelEmptyArray: any[];
5670 class PullSymbol {
5671 public pullSymbolID: number;
5672 public name: string;
5673 public kind: PullElementKind;
5674 private _container;
5675 public type: PullTypeSymbol;
5676 private _declarations;
5677 public isResolved: boolean;
5678 public isOptional: boolean;
5679 public inResolution: boolean;
5680 private isSynthesized;
5681 public isVarArg: boolean;
5682 private rootSymbol;
5683 private _enclosingSignature;
5684 private _docComments;
5685 public isPrinting: boolean;
5686 public isAny(): boolean;
5687 public isType(): boolean;
5688 public isTypeReference(): boolean;
5689 public isSignature(): boolean;
5690 public isArrayNamedTypeReference(): boolean;
5691 public isPrimitive(): boolean;
5692 public isAccessor(): boolean;
5693 public isError(): boolean;
5694 public isInterface(): boolean;
5695 public isMethod(): boolean;
5696 public isProperty(): boolean;
5697 public isAlias(): boolean;
5698 public isContainer(): boolean;
5699 constructor(name: string, declKind: PullElementKind);
5700 private findAliasedType(scopeSymbol, skipScopeSymbolAliasesLookIn?, lookIntoOnlyExportedAlias?, aliasSymbols?, visitedScopeDeclarations?);
5701 public getExternalAliasedSymbols(scopeSymbol: PullSymbol): PullTypeAliasSymbol[];
5702 static _isExternalModuleReferenceAlias(aliasSymbol: PullTypeAliasSymbol): boolean;
5703 private getExportedInternalAliasSymbol(scopeSymbol);
5704 public getAliasSymbolName(scopeSymbol: PullSymbol, aliasNameGetter: (symbol: PullTypeAliasSymbol) => string, aliasPartsNameGetter: (symbol: PullTypeAliasSymbol) => string, skipInternalAlias?: boolean): string;
5705 public _getResolver(): PullTypeResolver;
5706 public _resolveDeclaredSymbol(): PullSymbol;
5707 /** Use getName for type checking purposes, and getDisplayName to report an error or display info to the user.
5708 * They will differ when the identifier is an escaped unicode character or the identifier "__proto__".
5709 */
5710 public getName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string;
5711 public getDisplayName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string;
5712 public getIsSpecialized(): boolean;
5713 public getRootSymbol(): PullSymbol;
5714 public setRootSymbol(symbol: PullSymbol): void;
5715 public setIsSynthesized(value?: boolean): void;
5716 public getIsSynthesized(): any;
5717 public setEnclosingSignature(signature: PullSignatureSymbol): void;
5718 public getEnclosingSignature(): PullSignatureSymbol;
5719 public addDeclaration(decl: PullDecl): void;
5720 public getDeclarations(): PullDecl[];
5721 public hasDeclaration(decl: PullDecl): boolean;
5722 public setContainer(containerSymbol: PullTypeSymbol): void;
5723 public getContainer(): PullTypeSymbol;
5724 public setResolved(): void;
5725 public startResolving(): void;
5726 public setUnresolved(): void;
5727 public anyDeclHasFlag(flag: PullElementFlags): boolean;
5728 public allDeclsHaveFlag(flag: PullElementFlags): boolean;
5729 public pathToRoot(): PullSymbol[];
5730 private static unqualifiedNameReferencesDifferentSymbolInScope(symbol, scopePath, endScopePathIndex);
5731 private findQualifyingSymbolPathInScopeSymbol(scopeSymbol);
5732 public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string;
5733 public getNamePartForFullName(): string;
5734 public fullName(scopeSymbol?: PullSymbol): string;
5735 public getScopedName(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string;
5736 public getScopedNameEx(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean, skipInternalAliasName?: boolean): MemberName;
5737 public getTypeName(scopeSymbol?: PullSymbol, getPrettyTypeName?: boolean): string;
5738 public getTypeNameEx(scopeSymbol?: PullSymbol, getPrettyTypeName?: boolean): MemberName;
5739 private getTypeNameForFunctionSignature(prefix, scopeSymbol?, getPrettyTypeName?);
5740 public getNameAndTypeName(scopeSymbol?: PullSymbol): string;
5741 public getNameAndTypeNameEx(scopeSymbol?: PullSymbol): MemberName;
5742 static getTypeParameterString(typars: PullTypeSymbol[], scopeSymbol?: PullSymbol, useContraintInName?: boolean): string;
5743 static getTypeParameterStringEx(typeParameters: PullTypeSymbol[], scopeSymbol?: PullSymbol, getTypeParamMarkerInfo?: boolean, useContraintInName?: boolean): MemberNameArray;
5744 static getIsExternallyVisible(symbol: PullSymbol, fromIsExternallyVisibleSymbol: PullSymbol, inIsExternallyVisibleSymbols: PullSymbol[]): boolean;
5745 public isExternallyVisible(inIsExternallyVisibleSymbols?: PullSymbol[]): boolean;
5746 private getDocCommentsOfDecl(decl);
5747 private getDocCommentArray(symbol);
5748 private static getDefaultConstructorSymbolForDocComments(classSymbol);
5749 private getDocCommentText(comments);
5750 private getDocCommentTextValue(comment);
5751 public docComments(useConstructorAsClass?: boolean): string;
5752 private getParameterDocCommentText(param, fncDocComments);
5753 private cleanJSDocComment(content, spacesToRemove?);
5754 private consumeLeadingSpace(line, startIndex, maxSpacesToRemove?);
5755 private isSpaceChar(line, index);
5756 private cleanDocCommentLine(line, jsDocStyleComment, jsDocLineSpaceToRemove?);
5757 }
5758 interface InstantiableSymbol {
5759 getIsSpecialized(): boolean;
5760 getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[];
5761 getTypeParameterArgumentMap(): TypeArgumentMap;
5762 }
5763 class PullSignatureSymbol extends PullSymbol implements InstantiableSymbol {
5764 private _isDefinition;
5765 private _memberTypeParameterNameCache;
5766 private _stringConstantOverload;
5767 public parameters: PullSymbol[];
5768 public _typeParameters: PullTypeParameterSymbol[];
5769 public returnType: PullTypeSymbol;
5770 public functionType: PullTypeSymbol;
5771 public hasOptionalParam: boolean;
5772 public nonOptionalParamCount: number;
5773 public hasVarArgs: boolean;
5774 private _allowedToReferenceTypeParameters;
5775 private _instantiationCache;
5776 public hasBeenChecked: boolean;
5777 public inWrapCheck: boolean;
5778 public inWrapInfiniteExpandingReferenceCheck: boolean;
5779 private _wrapsTypeParameterCache;
5780 constructor(kind: PullElementKind, _isDefinition?: boolean);
5781 public isDefinition(): boolean;
5782 public isGeneric(): boolean;
5783 public addParameter(parameter: PullSymbol, isOptional?: boolean): void;
5784 public addTypeParameter(typeParameter: PullTypeParameterSymbol): void;
5785 public addTypeParametersFromReturnType(): void;
5786 public getTypeParameters(): PullTypeParameterSymbol[];
5787 public findTypeParameter(name: string): PullTypeParameterSymbol;
5788 public getTypeParameterArgumentMap(): TypeArgumentMap;
5789 public getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[];
5790 public addSpecialization(specializedVersionOfThisSignature: PullSignatureSymbol, typeArgumentMap: TypeArgumentMap): void;
5791 public getSpecialization(typeArgumentMap: TypeArgumentMap): PullSignatureSymbol;
5792 public isStringConstantOverloadSignature(): boolean;
5793 public getParameterTypeAtIndex(iParam: number): PullTypeSymbol;
5794 static getSignatureTypeMemberName(candidateSignature: PullSignatureSymbol, signatures: PullSignatureSymbol[], scopeSymbol: PullSymbol): MemberNameArray;
5795 static getSignaturesTypeNameEx(signatures: PullSignatureSymbol[], prefix: string, shortform: boolean, brackets: boolean, scopeSymbol?: PullSymbol, getPrettyTypeName?: boolean, candidateSignature?: PullSignatureSymbol): MemberName[];
5796 public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string;
5797 public getSignatureTypeNameEx(prefix: string, shortform: boolean, brackets: boolean, scopeSymbol?: PullSymbol, getParamMarkerInfo?: boolean, getTypeParamMarkerInfo?: boolean): MemberNameArray;
5798 public forAllParameterTypes(length: number, predicate: (parameterType: PullTypeSymbol, iterationIndex: number) => boolean): boolean;
5799 public forAllCorrespondingParameterTypesInThisAndOtherSignature(otherSignature: PullSignatureSymbol, predicate: (thisSignatureParameterType: PullTypeSymbol, otherSignatureParameterType: PullTypeSymbol, iterationIndex: number) => boolean): boolean;
5800 public wrapsSomeTypeParameter(typeParameterArgumentMap: TypeArgumentMap): boolean;
5801 public getWrappingTypeParameterID(typeParameterArgumentMap: TypeArgumentMap): number;
5802 public getWrappingTypeParameterIDWorker(typeParameterArgumentMap: TypeArgumentMap): number;
5803 public _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReference(enclosingType: PullTypeSymbol, knownWrapMap: IBitMatrix): boolean;
5804 public _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceWorker(enclosingType: PullTypeSymbol, knownWrapMap: IBitMatrix): boolean;
5805 }
5806 class PullTypeSymbol extends PullSymbol implements InstantiableSymbol {
5807 private _members;
5808 private _enclosedMemberTypes;
5809 private _enclosedMemberContainers;
5810 private _typeParameters;
5811 private _allowedToReferenceTypeParameters;
5812 private _specializedVersionsOfThisType;
5813 private _arrayVersionOfThisType;
5814 private _implementedTypes;
5815 private _extendedTypes;
5816 private _typesThatExplicitlyImplementThisType;
5817 private _typesThatExtendThisType;
5818 private _callSignatures;
5819 private _allCallSignatures;
5820 private _constructSignatures;
5821 private _allConstructSignatures;
5822 private _indexSignatures;
5823 private _allIndexSignatures;
5824 private _allIndexSignaturesOfAugmentedType;
5825 private _memberNameCache;
5826 private _enclosedTypeNameCache;
5827 private _enclosedContainerCache;
5828 private _typeParameterNameCache;
5829 private _containedNonMemberNameCache;
5830 private _containedNonMemberTypeNameCache;
5831 private _containedNonMemberContainerCache;
5832 private _simpleInstantiationCache;
5833 private _complexInstantiationCache;
5834 private _hasGenericSignature;
5835 private _hasGenericMember;
5836 private _hasBaseTypeConflict;
5837 private _knownBaseTypeCount;
5838 private _associatedContainerTypeSymbol;
5839 private _constructorMethod;
5840 private _hasDefaultConstructor;
5841 private _functionSymbol;
5842 private _inMemberTypeNameEx;
5843 public inSymbolPrivacyCheck: boolean;
5844 public inWrapCheck: boolean;
5845 public inWrapInfiniteExpandingReferenceCheck: boolean;
5846 public typeReference: PullTypeReferenceSymbol;
5847 private _widenedType;
5848 private _wrapsTypeParameterCache;
5849 constructor(name: string, kind: PullElementKind);
5850 private _isArrayNamedTypeReference;
5851 public isArrayNamedTypeReference(): boolean;
5852 private computeIsArrayNamedTypeReference();
5853 public isType(): boolean;
5854 public isClass(): boolean;
5855 public isFunction(): boolean;
5856 public isConstructor(): boolean;
5857 public isTypeParameter(): boolean;
5858 public isTypeVariable(): boolean;
5859 public isError(): boolean;
5860 public isEnum(): boolean;
5861 public getTypeParameterArgumentMap(): TypeArgumentMap;
5862 public isObject(): boolean;
5863 public isFunctionType(): boolean;
5864 public getKnownBaseTypeCount(): number;
5865 public resetKnownBaseTypeCount(): void;
5866 public incrementKnownBaseCount(): void;
5867 public setHasBaseTypeConflict(): void;
5868 public hasBaseTypeConflict(): boolean;
5869 public hasMembers(): boolean;
5870 public setHasGenericSignature(): void;
5871 public getHasGenericSignature(): boolean;
5872 public setHasGenericMember(): void;
5873 public getHasGenericMember(): boolean;
5874 public setAssociatedContainerType(type: PullTypeSymbol): void;
5875 public getAssociatedContainerType(): PullTypeSymbol;
5876 public getArrayType(): PullTypeSymbol;
5877 public getElementType(): PullTypeSymbol;
5878 public setArrayType(arrayType: PullTypeSymbol): void;
5879 public getFunctionSymbol(): PullSymbol;
5880 public setFunctionSymbol(symbol: PullSymbol): void;
5881 public findContainedNonMember(name: string): PullSymbol;
5882 public findContainedNonMemberType(typeName: string, kind?: PullElementKind): PullTypeSymbol;
5883 public findContainedNonMemberContainer(containerName: string, kind?: PullElementKind): PullTypeSymbol;
5884 public addMember(memberSymbol: PullSymbol): void;
5885 public addEnclosedMemberType(enclosedType: PullTypeSymbol): void;
5886 public addEnclosedMemberContainer(enclosedContainer: PullTypeSymbol): void;
5887 public addEnclosedNonMember(enclosedNonMember: PullSymbol): void;
5888 public addEnclosedNonMemberType(enclosedNonMemberType: PullTypeSymbol): void;
5889 public addEnclosedNonMemberContainer(enclosedNonMemberContainer: PullTypeSymbol): void;
5890 public addTypeParameter(typeParameter: PullTypeParameterSymbol): void;
5891 public getMembers(): PullSymbol[];
5892 public setHasDefaultConstructor(hasOne?: boolean): void;
5893 public getHasDefaultConstructor(): boolean;
5894 public getConstructorMethod(): PullSymbol;
5895 public setConstructorMethod(constructorMethod: PullSymbol): void;
5896 public getTypeParameters(): PullTypeParameterSymbol[];
5897 public getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[];
5898 public isGeneric(): boolean;
5899 private canUseSimpleInstantiationCache(typeArgumentMap);
5900 private getSimpleInstantiationCacheId(typeArgumentMap);
5901 public addSpecialization(specializedVersionOfThisType: PullTypeSymbol, typeArgumentMap: TypeArgumentMap): void;
5902 public getSpecialization(typeArgumentMap: TypeArgumentMap): PullTypeSymbol;
5903 public getKnownSpecializations(): PullTypeSymbol[];
5904 public getTypeArguments(): PullTypeSymbol[];
5905 public getTypeArgumentsOrTypeParameters(): PullTypeSymbol[];
5906 private addCallOrConstructSignaturePrerequisiteBase(signature);
5907 private addCallSignaturePrerequisite(callSignature);
5908 public appendCallSignature(callSignature: PullSignatureSymbol): void;
5909 public insertCallSignatureAtIndex(callSignature: PullSignatureSymbol, index: number): void;
5910 private addConstructSignaturePrerequisite(constructSignature);
5911 public appendConstructSignature(constructSignature: PullSignatureSymbol): void;
5912 public insertConstructSignatureAtIndex(constructSignature: PullSignatureSymbol, index: number): void;
5913 public addIndexSignature(indexSignature: PullSignatureSymbol): void;
5914 public hasOwnCallSignatures(): boolean;
5915 public getOwnCallSignatures(): PullSignatureSymbol[];
5916 public getCallSignatures(): PullSignatureSymbol[];
5917 public hasOwnConstructSignatures(): boolean;
5918 public getOwnDeclaredConstructSignatures(): PullSignatureSymbol[];
5919 public getConstructSignatures(): PullSignatureSymbol[];
5920 public hasOwnIndexSignatures(): boolean;
5921 public getOwnIndexSignatures(): PullSignatureSymbol[];
5922 public getIndexSignatures(): PullSignatureSymbol[];
5923 public getIndexSignaturesOfAugmentedType(resolver: PullTypeResolver, globalFunctionInterface: PullTypeSymbol, globalObjectInterface: PullTypeSymbol): PullSignatureSymbol[];
5924 private getBaseClassConstructSignatures(baseType);
5925 private getDefaultClassConstructSignature();
5926 public addImplementedType(implementedType: PullTypeSymbol): void;
5927 public getImplementedTypes(): PullTypeSymbol[];
5928 public addExtendedType(extendedType: PullTypeSymbol): void;
5929 public getExtendedTypes(): PullTypeSymbol[];
5930 public addTypeThatExtendsThisType(type: PullTypeSymbol): void;
5931 public getTypesThatExtendThisType(): PullTypeSymbol[];
5932 public addTypeThatExplicitlyImplementsThisType(type: PullTypeSymbol): void;
5933 public getTypesThatExplicitlyImplementThisType(): PullTypeSymbol[];
5934 public hasBase(potentialBase: PullTypeSymbol, visited?: PullSymbol[]): boolean;
5935 public isValidBaseKind(baseType: PullTypeSymbol, isExtendedType: boolean): boolean;
5936 public findMember(name: string, lookInParent: boolean): PullSymbol;
5937 public findNestedType(name: string, kind?: PullElementKind): PullTypeSymbol;
5938 public findNestedContainer(name: string, kind?: PullElementKind): PullTypeSymbol;
5939 public getAllMembers(searchDeclKind: PullElementKind, memberVisiblity: GetAllMembersVisiblity): PullSymbol[];
5940 public findTypeParameter(name: string): PullTypeParameterSymbol;
5941 public setResolved(): void;
5942 public getNamePartForFullName(): string;
5943 public getScopedName(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string;
5944 public isNamedTypeSymbol(): boolean;
5945 public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string;
5946 public getScopedNameEx(scopeSymbol?: PullSymbol, skipTypeParametersInName?: boolean, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean, skipInternalAliasName?: boolean, shouldAllowArrayType?: boolean): MemberName;
5947 public hasOnlyOverloadCallSignatures(): boolean;
5948 public getTypeOfSymbol(): PullSymbol;
5949 private getMemberTypeNameEx(topLevel, scopeSymbol?, getPrettyTypeName?);
5950 public getGenerativeTypeClassification(enclosingType: PullTypeSymbol): GenerativeTypeClassification;
5951 public wrapsSomeTypeParameter(typeParameterArgumentMap: CandidateInferenceInfo[]): boolean;
5952 public wrapsSomeTypeParameter(typeParameterArgumentMap: TypeArgumentMap, skipTypeArgumentCheck?: boolean): boolean;
5953 public getWrappingTypeParameterID(typeParameterArgumentMap: TypeArgumentMap, skipTypeArgumentCheck?: boolean): number;
5954 private getWrappingTypeParameterIDFromSignatures(signatures, typeParameterArgumentMap);
5955 private getWrappingTypeParameterIDWorker(typeParameterArgumentMap, skipTypeArgumentCheck);
5956 public wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReference(enclosingType: PullTypeSymbol): boolean;
5957 public _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceRecurse(enclosingType: PullTypeSymbol, knownWrapMap: IBitMatrix): boolean;
5958 private _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceWorker(enclosingType, knownWrapMap);
5959 private _wrapsSomeTypeParameterIntoInfinitelyExpandingTypeReferenceStructure(enclosingType, knownWrapMap);
5960 public widenedType(resolver: PullTypeResolver, ast: AST, context: PullTypeResolutionContext): PullTypeSymbol;
5961 }
5962 class PullPrimitiveTypeSymbol extends PullTypeSymbol {
5963 constructor(name: string);
5964 public isAny(): boolean;
5965 public isNull(): boolean;
5966 public isUndefined(): boolean;
5967 public isStringConstant(): boolean;
5968 public setUnresolved(): void;
5969 public getDisplayName(): string;
5970 }
5971 class PullStringConstantTypeSymbol extends PullPrimitiveTypeSymbol {
5972 constructor(name: string);
5973 public isStringConstant(): boolean;
5974 }
5975 class PullErrorTypeSymbol extends PullPrimitiveTypeSymbol {
5976 public _anyType: PullTypeSymbol;
5977 constructor(_anyType: PullTypeSymbol, name: string);
5978 public isError(): boolean;
5979 public _getResolver(): PullTypeResolver;
5980 public getName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string;
5981 public getDisplayName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string;
5982 public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string;
5983 }
5984 class PullContainerSymbol extends PullTypeSymbol {
5985 public instanceSymbol: PullSymbol;
5986 private assignedValue;
5987 private assignedType;
5988 private assignedContainer;
5989 constructor(name: string, kind: PullElementKind);
5990 public isContainer(): boolean;
5991 public setInstanceSymbol(symbol: PullSymbol): void;
5992 public getInstanceSymbol(): PullSymbol;
5993 public setExportAssignedValueSymbol(symbol: PullSymbol): void;
5994 public getExportAssignedValueSymbol(): PullSymbol;
5995 public setExportAssignedTypeSymbol(type: PullTypeSymbol): void;
5996 public getExportAssignedTypeSymbol(): PullTypeSymbol;
5997 public setExportAssignedContainerSymbol(container: PullContainerSymbol): void;
5998 public getExportAssignedContainerSymbol(): PullContainerSymbol;
5999 public hasExportAssignment(): boolean;
6000 static usedAsSymbol(containerSymbol: PullSymbol, symbol: PullSymbol): boolean;
6001 public getInstanceType(): PullTypeSymbol;
6002 }
6003 class PullTypeAliasSymbol extends PullTypeSymbol {
6004 private _assignedValue;
6005 private _assignedType;
6006 private _assignedContainer;
6007 private _isUsedAsValue;
6008 private _typeUsedExternally;
6009 private _isUsedInExportAlias;
6010 private retrievingExportAssignment;
6011 private linkedAliasSymbols;
6012 constructor(name: string);
6013 public isUsedInExportedAlias(): boolean;
6014 public typeUsedExternally(): boolean;
6015 public isUsedAsValue(): boolean;
6016 public setTypeUsedExternally(): void;
6017 public setIsUsedInExportedAlias(): void;
6018 public addLinkedAliasSymbol(contingentValueSymbol: PullTypeAliasSymbol): void;
6019 public setIsUsedAsValue(): void;
6020 public assignedValue(): PullSymbol;
6021 public assignedType(): PullTypeSymbol;
6022 public assignedContainer(): PullContainerSymbol;
6023 public isAlias(): boolean;
6024 public isContainer(): boolean;
6025 public setAssignedValueSymbol(symbol: PullSymbol): void;
6026 public getExportAssignedValueSymbol(): PullSymbol;
6027 public setAssignedTypeSymbol(type: PullTypeSymbol): void;
6028 public getExportAssignedTypeSymbol(): PullTypeSymbol;
6029 public setAssignedContainerSymbol(container: PullContainerSymbol): void;
6030 public getExportAssignedContainerSymbol(): PullContainerSymbol;
6031 public getMembers(): PullSymbol[];
6032 public getCallSignatures(): PullSignatureSymbol[];
6033 public getConstructSignatures(): PullSignatureSymbol[];
6034 public getIndexSignatures(): PullSignatureSymbol[];
6035 public findMember(name: string): PullSymbol;
6036 public findNestedType(name: string): PullTypeSymbol;
6037 public findNestedContainer(name: string): PullTypeSymbol;
6038 public getAllMembers(searchDeclKind: PullElementKind, memberVisibility: GetAllMembersVisiblity): PullSymbol[];
6039 }
6040 class PullTypeParameterSymbol extends PullTypeSymbol {
6041 private _constraint;
6042 constructor(name: string);
6043 public isTypeParameter(): boolean;
6044 public setConstraint(constraintType: PullTypeSymbol): void;
6045 public getConstraint(): PullTypeSymbol;
6046 public getBaseConstraint(semanticInfoChain: SemanticInfoChain): PullTypeSymbol;
6047 private getConstraintRecursively(visitedTypeParameters);
6048 public getDefaultConstraint(semanticInfoChain: SemanticInfoChain): PullTypeSymbol;
6049 public getCallSignatures(): PullSignatureSymbol[];
6050 public getConstructSignatures(): PullSignatureSymbol[];
6051 public getIndexSignatures(): PullSignatureSymbol[];
6052 public isGeneric(): boolean;
6053 public fullName(scopeSymbol?: PullSymbol): string;
6054 public getName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean): string;
6055 public getDisplayName(scopeSymbol?: PullSymbol, useConstraintInName?: boolean, skipInternalAliasName?: boolean): string;
6056 public isExternallyVisible(inIsExternallyVisibleSymbols?: PullSymbol[]): boolean;
6057 }
6058 class PullAccessorSymbol extends PullSymbol {
6059 private _getterSymbol;
6060 private _setterSymbol;
6061 constructor(name: string);
6062 public isAccessor(): boolean;
6063 public setSetter(setter: PullSymbol): void;
6064 public getSetter(): PullSymbol;
6065 public setGetter(getter: PullSymbol): void;
6066 public getGetter(): PullSymbol;
6067 }
6068 function getIDForTypeSubstitutions(instantiatingType: PullTypeSymbol, typeArgumentMap: TypeArgumentMap): string;
6069 function getIDForTypeSubstitutions(instantiatingSignature: PullSignatureSymbol, typeArgumentMap: TypeArgumentMap): string;
6070 enum GetAllMembersVisiblity {
6071 all = 0,
6072 internallyVisible = 1,
6073 externallyVisible = 2,
6074 }
6075 class PullTypeEnclosingTypeWalker {
6076 private currentSymbols;
6077 public getEnclosingType(): PullTypeSymbol;
6078 public _canWalkStructure(): boolean;
6079 public _getCurrentSymbol(): PullSymbol;
6080 public getGenerativeClassification(): GenerativeTypeClassification;
6081 private _pushSymbol(symbol);
6082 private _popSymbol();
6083 private _setEnclosingTypeOfParentDecl(decl, setSignature);
6084 private _setEnclosingTypeWorker(symbol, setSignature);
6085 public setCurrentSymbol(symbol: PullSymbol): void;
6086 public startWalkingType(symbol: PullTypeSymbol): PullSymbol[];
6087 public endWalkingType(currentSymbolsWhenStartedWalkingTypes: PullSymbol[]): void;
6088 public setEnclosingType(symbol: PullSymbol): void;
6089 public walkMemberType(memberName: string, resolver: PullTypeResolver): void;
6090 public postWalkMemberType(): void;
6091 public walkSignature(kind: PullElementKind, index: number): void;
6092 public postWalkSignature(): void;
6093 public walkTypeArgument(index: number): void;
6094 public postWalkTypeArgument(): void;
6095 public walkTypeParameterConstraint(index: number): void;
6096 public postWalkTypeParameterConstraint(): void;
6097 public walkReturnType(): void;
6098 public postWalkReturnType(): void;
6099 public walkParameterType(iParam: number): void;
6100 public postWalkParameterType(): void;
6101 public getBothKindOfIndexSignatures(resolver: PullTypeResolver, context: PullTypeResolutionContext, includeAugmentedType: boolean): IndexSignatureInfo;
6102 public walkIndexSignatureReturnType(indexSigInfo: IndexSignatureInfo, useStringIndexSignature: boolean, onlySignature?: boolean): void;
6103 public postWalkIndexSignatureReturnType(onlySignature?: boolean): void;
6104 }
6105 class CandidateInferenceInfo {
6106 public typeParameter: PullTypeParameterSymbol;
6107 public _inferredTypeAfterFixing: PullTypeSymbol;
6108 public inferenceCandidates: PullTypeSymbol[];
6109 public addCandidate(candidate: PullTypeSymbol): void;
6110 public isFixed(): boolean;
6111 public fixTypeParameter(resolver: PullTypeResolver, context: PullTypeResolutionContext): void;
6112 }
6113 class TypeArgumentInferenceContext {
6114 public resolver: PullTypeResolver;
6115 public context: PullTypeResolutionContext;
6116 public signatureBeingInferred: PullSignatureSymbol;
6117 public inferenceCache: IBitMatrix;
6118 public candidateCache: CandidateInferenceInfo[];
6119 constructor(resolver: PullTypeResolver, context: PullTypeResolutionContext, signatureBeingInferred: PullSignatureSymbol);
6120 public alreadyRelatingTypes(objectType: PullTypeSymbol, parameterType: PullTypeSymbol): boolean;
6121 public resetRelationshipCache(): void;
6122 public addInferenceRoot(param: PullTypeParameterSymbol): void;
6123 public getInferenceInfo(param: PullTypeParameterSymbol): CandidateInferenceInfo;
6124 public addCandidateForInference(param: PullTypeParameterSymbol, candidate: PullTypeSymbol): void;
6125 public inferTypeArguments(): PullTypeSymbol[];
6126 public fixTypeParameter(typeParameter: PullTypeParameterSymbol): void;
6127 public _finalizeInferredTypeArguments(): PullTypeSymbol[];
6128 public isInvocationInferenceContext(): boolean;
6129 }
6130 class InvocationTypeArgumentInferenceContext extends TypeArgumentInferenceContext {
6131 public argumentASTs: ISeparatedSyntaxList2;
6132 constructor(resolver: PullTypeResolver, context: PullTypeResolutionContext, signatureBeingInferred: PullSignatureSymbol, argumentASTs: ISeparatedSyntaxList2);
6133 public isInvocationInferenceContext(): boolean;
6134 public inferTypeArguments(): PullTypeSymbol[];
6135 }
6136 class ContextualSignatureInstantiationTypeArgumentInferenceContext extends TypeArgumentInferenceContext {
6137 private contextualSignature;
6138 private shouldFixContextualSignatureParameterTypes;
6139 constructor(resolver: PullTypeResolver, context: PullTypeResolutionContext, signatureBeingInferred: PullSignatureSymbol, contextualSignature: PullSignatureSymbol, shouldFixContextualSignatureParameterTypes: boolean);
6140 public isInvocationInferenceContext(): boolean;
6141 public inferTypeArguments(): PullTypeSymbol[];
6142 }
6143 class PullContextualTypeContext {
6144 public contextualType: PullTypeSymbol;
6145 public provisional: boolean;
6146 public isInferentiallyTyping: boolean;
6147 public typeArgumentInferenceContext: TypeArgumentInferenceContext;
6148 public provisionallyTypedSymbols: PullSymbol[];
6149 public hasProvisionalErrors: boolean;
6150 private astSymbolMap;
6151 constructor(contextualType: PullTypeSymbol, provisional: boolean, isInferentiallyTyping: boolean, typeArgumentInferenceContext: TypeArgumentInferenceContext);
6152 public recordProvisionallyTypedSymbol(symbol: PullSymbol): void;
6153 public invalidateProvisionallyTypedSymbols(): void;
6154 public setSymbolForAST(ast: AST, symbol: PullSymbol): void;
6155 public getSymbolForAST(ast: AST): PullSymbol;
6156 }
6157 class PullTypeResolutionContext {
6158 private resolver;
6159 public inTypeCheck: boolean;
6160 public fileName: string;
6161 private contextStack;
6162 private typeCheckedNodes;
6163 public enclosingTypeWalker1: PullTypeEnclosingTypeWalker;
6164 public enclosingTypeWalker2: PullTypeEnclosingTypeWalker;
6165 constructor(resolver: PullTypeResolver, inTypeCheck?: boolean, fileName?: string);
6166 public setTypeChecked(ast: AST): void;
6167 public canTypeCheckAST(ast: AST): boolean;
6168 private _pushAnyContextualType(type, provisional, isInferentiallyTyping, argContext);
6169 public pushNewContextualType(type: PullTypeSymbol): void;
6170 public propagateContextualType(type: PullTypeSymbol): void;
6171 public pushInferentialType(type: PullTypeSymbol, typeArgumentInferenceContext: TypeArgumentInferenceContext): void;
6172 public pushProvisionalType(type: PullTypeSymbol): void;
6173 public popAnyContextualType(): PullContextualTypeContext;
6174 public hasProvisionalErrors(): boolean;
6175 public getContextualType(): PullTypeSymbol;
6176 public fixAllTypeParametersReferencedByType(type: PullTypeSymbol, resolver: PullTypeResolver, argContext?: TypeArgumentInferenceContext): PullTypeSymbol;
6177 private getCurrentTypeArgumentInferenceContext();
6178 public isInferentiallyTyping(): boolean;
6179 public inProvisionalResolution(): boolean;
6180 private inBaseTypeResolution;
6181 public isInBaseTypeResolution(): boolean;
6182 public startBaseTypeResolution(): boolean;
6183 public doneBaseTypeResolution(wasInBaseTypeResolution: boolean): void;
6184 public setTypeInContext(symbol: PullSymbol, type: PullTypeSymbol): void;
6185 public postDiagnostic(diagnostic: Diagnostic): void;
6186 public typeCheck(): boolean;
6187 public setSymbolForAST(ast: AST, symbol: PullSymbol): void;
6188 public getSymbolForAST(ast: AST): PullSymbol;
6189 public startWalkingTypes(symbol1: PullTypeSymbol, symbol2: PullTypeSymbol): {
6190 symbolsWhenStartedWalkingTypes1: PullSymbol[];
6191 symbolsWhenStartedWalkingTypes2: PullSymbol[];
6192 };
6193 public endWalkingTypes(symbolsWhenStartedWalkingTypes: {
6194 symbolsWhenStartedWalkingTypes1: PullSymbol[];
6195 symbolsWhenStartedWalkingTypes2: PullSymbol[];
6196 }): void;
6197 public setEnclosingTypes(symbol1: PullSymbol, symbol2: PullSymbol): void;
6198 public walkMemberTypes(memberName: string): void;
6199 public postWalkMemberTypes(): void;
6200 public walkSignatures(kind: PullElementKind, index: number, index2?: number): void;
6201 public postWalkSignatures(): void;
6202 public walkTypeParameterConstraints(index: number): void;
6203 public postWalkTypeParameterConstraints(): void;
6204 public walkTypeArgument(index: number): void;
6205 public postWalkTypeArgument(): void;
6206 public walkReturnTypes(): void;
6207 public postWalkReturnTypes(): void;
6208 public walkParameterTypes(iParam: number): void;
6209 public postWalkParameterTypes(): void;
6210 public getBothKindOfIndexSignatures(includeAugmentedType1: boolean, includeAugmentedType2: boolean): {
6211 indexSigs1: IndexSignatureInfo;
6212 indexSigs2: IndexSignatureInfo;
6213 };
6214 public walkIndexSignatureReturnTypes(indexSigs: {
6215 indexSigs1: IndexSignatureInfo;
6216 indexSigs2: IndexSignatureInfo;
6217 }, useStringIndexSignature1: boolean, useStringIndexSignature2: boolean, onlySignature?: boolean): void;
6218 public postWalkIndexSignatureReturnTypes(onlySignature?: boolean): void;
6219 public swapEnclosingTypeWalkers(): void;
6220 public oneOfClassificationsIsInfinitelyExpanding(): boolean;
6221 public resetEnclosingTypeWalkers(): {
6222 enclosingTypeWalker1: PullTypeEnclosingTypeWalker;
6223 enclosingTypeWalker2: PullTypeEnclosingTypeWalker;
6224 };
6225 public setEnclosingTypeWalkers(enclosingTypeWalkers: {
6226 enclosingTypeWalker1: PullTypeEnclosingTypeWalker;
6227 enclosingTypeWalker2: PullTypeEnclosingTypeWalker;
6228 }): void;
6229 }
6230 interface IPullTypeCollection {
6231 getLength(): number;
6232 getTypeAtIndex(index: number): PullTypeSymbol;
6233 }
6234 class PullAdditionalCallResolutionData {
6235 public targetSymbol: PullSymbol;
6236 public resolvedSignatures: PullSignatureSymbol[];
6237 public candidateSignature: PullSignatureSymbol;
6238 public actualParametersContextTypeSymbols: PullTypeSymbol[];
6239 public diagnosticsFromOverloadResolution: Diagnostic[];
6240 }
6241 class PullAdditionalObjectLiteralResolutionData {
6242 public membersContextTypeSymbols: PullTypeSymbol[];
6243 }
6244 interface IndexSignatureInfo {
6245 numericSignature: PullSignatureSymbol;
6246 stringSignature: PullSignatureSymbol;
6247 }
6248 class PullTypeResolver {
6249 private compilationSettings;
6250 public semanticInfoChain: SemanticInfoChain;
6251 private _cachedArrayInterfaceType;
6252 private _cachedNumberInterfaceType;
6253 private _cachedStringInterfaceType;
6254 private _cachedBooleanInterfaceType;
6255 private _cachedObjectInterfaceType;
6256 private _cachedFunctionInterfaceType;
6257 private _cachedIArgumentsInterfaceType;
6258 private _cachedRegExpInterfaceType;
6259 private _cachedAnyTypeArgs;
6260 private typeCheckCallBacks;
6261 private postTypeCheckWorkitems;
6262 private _cachedFunctionArgumentsSymbol;
6263 private assignableCache;
6264 private subtypeCache;
6265 private identicalCache;
6266 private inResolvingOtherDeclsWalker;
6267 constructor(compilationSettings: ImmutableCompilationSettings, semanticInfoChain: SemanticInfoChain);
6268 private cachedArrayInterfaceType();
6269 public getArrayNamedType(): PullTypeSymbol;
6270 private cachedNumberInterfaceType();
6271 private cachedStringInterfaceType();
6272 private cachedBooleanInterfaceType();
6273 private cachedObjectInterfaceType();
6274 private cachedFunctionInterfaceType();
6275 private cachedIArgumentsInterfaceType();
6276 private cachedRegExpInterfaceType();
6277 private cachedFunctionArgumentsSymbol();
6278 private getApparentType(type);
6279 private setTypeChecked(ast, context);
6280 private canTypeCheckAST(ast, context);
6281 private setSymbolForAST(ast, symbol, context);
6282 private getSymbolForAST(ast, context);
6283 public getASTForDecl(decl: PullDecl): AST;
6284 public getNewErrorTypeSymbol(name?: string): PullErrorTypeSymbol;
6285 public getEnclosingDecl(decl: PullDecl): PullDecl;
6286 private getExportedMemberSymbol(symbol, parent);
6287 public _getNamedPropertySymbolOfAugmentedType(symbolName: string, parent: PullTypeSymbol): PullSymbol;
6288 private getNamedPropertySymbol(symbolName, declSearchKind, parent);
6289 private getSymbolFromDeclPath(symbolName, declPath, declSearchKind);
6290 private getVisibleDeclsFromDeclPath(declPath, declSearchKind);
6291 private addFilteredDecls(decls, declSearchKind, result);
6292 public getVisibleDecls(enclosingDecl: PullDecl): PullDecl[];
6293 public getVisibleContextSymbols(enclosingDecl: PullDecl, context: PullTypeResolutionContext): PullSymbol[];
6294 public getVisibleMembersFromExpression(expression: AST, enclosingDecl: PullDecl, context: PullTypeResolutionContext): PullSymbol[];
6295 private isAnyOrEquivalent(type);
6296 private resolveExternalModuleReference(idText, currentFileName);
6297 public resolveDeclaredSymbol<TSymbol extends PullSymbol>(symbol: TSymbol, context?: PullTypeResolutionContext): TSymbol;
6298 private resolveDeclaredSymbolWorker<TSymbol extends PullSymbol>(symbol, context);
6299 private resolveOtherDecl(otherDecl, context);
6300 private resolveOtherDeclarations(astName, context);
6301 private resolveSourceUnit(sourceUnit, context);
6302 private typeCheckSourceUnit(sourceUnit, context);
6303 private verifyUniquenessOfImportNamesInSourceUnit(sourceUnit);
6304 private resolveEnumDeclaration(ast, context);
6305 private typeCheckEnumDeclaration(ast, context);
6306 private postTypeCheckEnumDeclaration(ast, context);
6307 private checkInitializersInEnumDeclarations(decl, context);
6308 private resolveModuleDeclaration(ast, context);
6309 private ensureAllSymbolsAreBound(containerSymbol);
6310 private resolveModuleSymbol(containerSymbol, context, moduleDeclAST, moduleDeclNameAST, sourceUnitAST);
6311 private resolveFirstExportAssignmentStatement(moduleElements, context);
6312 private resolveSingleModuleDeclaration(ast, astName, context);
6313 private typeCheckModuleDeclaration(ast, context);
6314 private typeCheckSingleModuleDeclaration(ast, astName, context);
6315 private verifyUniquenessOfImportNamesInModule(decl);
6316 private checkUniquenessOfImportNames(decls, doesNameExistOutside?);
6317 private scanVariableDeclarationGroups(enclosingDecl, firstDeclHandler, subsequentDeclHandler?);
6318 private postTypeCheckModuleDeclaration(ast, context);
6319 private isTypeRefWithoutTypeArgs(term);
6320 public createInstantiatedType(type: PullTypeSymbol, typeArguments: PullTypeSymbol[]): PullTypeSymbol;
6321 private resolveReferenceTypeDeclaration(classOrInterface, name, heritageClauses, context);
6322 private resolveClassDeclaration(classDeclAST, context);
6323 private typeCheckTypeParametersOfTypeDeclaration(classOrInterface, context);
6324 private typeCheckClassDeclaration(classDeclAST, context);
6325 private postTypeCheckClassDeclaration(classDeclAST, context);
6326 private resolveTypeSymbolSignatures(typeSymbol, context);
6327 private resolveInterfaceDeclaration(interfaceDeclAST, context);
6328 private typeCheckInterfaceDeclaration(interfaceDeclAST, context);
6329 private checkInterfaceDeclForIdenticalTypeParameters(interfaceDeclAST, context);
6330 private checkTypeForDuplicateIndexSignatures(enclosingTypeSymbol);
6331 private filterSymbol(symbol, kind, enclosingDecl, context);
6332 private getMemberSymbolOfKind(symbolName, kind, pullTypeSymbol, enclosingDecl, context);
6333 private resolveIdentifierOfInternalModuleReference(importDecl, identifier, moduleSymbol, enclosingDecl, context);
6334 private resolveModuleReference(importDecl, moduleNameExpr, enclosingDecl, context, declPath);
6335 private resolveInternalModuleReference(importStatementAST, context);
6336 private resolveImportDeclaration(importStatementAST, context);
6337 private typeCheckImportDeclaration(importStatementAST, context);
6338 private postTypeCheckImportDeclaration(importStatementAST, context);
6339 private resolveExportAssignmentStatement(exportAssignmentAST, context);
6340 private resolveAnyFunctionTypeSignature(funcDeclAST, typeParameters, parameterList, returnTypeAnnotation, context);
6341 private resolveFunctionTypeSignatureParameter(argDeclAST, signature, enclosingDecl, context);
6342 private resolveFunctionExpressionParameter(argDeclAST, id, typeExpr, equalsValueClause, contextParam, enclosingDecl, context);
6343 private checkNameForCompilerGeneratedDeclarationCollision(astWithName, isDeclaration, name, context);
6344 private hasRestParameterCodeGen(someFunctionDecl);
6345 private checkArgumentsCollides(ast, context);
6346 private checkIndexOfRestArgumentInitializationCollides(ast, isDeclaration, context);
6347 private checkExternalModuleRequireExportsCollides(ast, name, context);
6348 private resolveObjectTypeTypeReference(objectType, context);
6349 private typeCheckObjectTypeTypeReference(objectType, context);
6350 private resolveTypeAnnotation(typeAnnotation, context);
6351 public resolveTypeReference(typeRef: AST, context: PullTypeResolutionContext): PullTypeSymbol;
6352 private getArrayType(elementType);
6353 private computeTypeReferenceSymbol(term, context);
6354 private genericTypeIsUsedWithoutRequiredTypeArguments(typeSymbol, term, context);
6355 private resolveMemberVariableDeclaration(varDecl, context);
6356 private resolvePropertySignature(varDecl, context);
6357 private resolveVariableDeclarator(varDecl, context);
6358 private resolveParameterList(list, context);
6359 private resolveParameter(parameter, context);
6360 private getEnumTypeSymbol(enumElement, context);
6361 private resolveEnumElement(enumElement, context);
6362 private typeCheckEnumElement(enumElement, context);
6363 private resolveEqualsValueClause(clause, isContextuallyTyped, context);
6364 private resolveVariableDeclaratorOrParameterOrEnumElement(varDeclOrParameter, modifiers, name, typeExpr, init, context);
6365 private resolveAndTypeCheckVariableDeclarationTypeExpr(varDeclOrParameter, name, typeExpr, context);
6366 private resolveAndTypeCheckVariableDeclaratorOrParameterInitExpr(varDeclOrParameter, name, typeExpr, init, context, typeExprSymbol);
6367 private typeCheckPropertySignature(varDecl, context);
6368 private typeCheckMemberVariableDeclaration(varDecl, context);
6369 private typeCheckVariableDeclarator(varDecl, context);
6370 private typeCheckParameter(parameter, context);
6371 private typeCheckVariableDeclaratorOrParameterOrEnumElement(varDeclOrParameter, modifiers, name, typeExpr, init, context);
6372 private isForInVariableDeclarator(ast);
6373 private checkSuperCaptureVariableCollides(superAST, isDeclaration, context);
6374 private checkThisCaptureVariableCollides(_thisAST, isDeclaration, context);
6375 private postTypeCheckVariableDeclaratorOrParameter(varDeclOrParameter, context);
6376 private resolveTypeParameterDeclaration(typeParameterAST, context);
6377 private resolveFirstTypeParameterDeclaration(typeParameterSymbol, context);
6378 private typeCheckTypeParameterDeclaration(typeParameterAST, context);
6379 private resolveConstraint(constraint, context);
6380 private resolveFunctionBodyReturnTypes(funcDeclAST, block, bodyExpression, signature, useContextualType, enclosingDecl, context);
6381 private typeCheckConstructorDeclaration(funcDeclAST, context);
6382 private constructorHasSuperCall(constructorDecl);
6383 private typeCheckFunctionExpression(funcDecl, isContextuallyTyped, context);
6384 private typeCheckCallSignature(funcDecl, context);
6385 private typeCheckConstructSignature(funcDecl, context);
6386 private typeCheckMethodSignature(funcDecl, context);
6387 private typeCheckMemberFunctionDeclaration(funcDecl, context);
6388 private containsSingleThrowStatement(block);
6389 private typeCheckAnyFunctionDeclaration(funcDeclAST, isStatic, name, typeParameters, parameters, returnTypeAnnotation, block, context);
6390 private checkThatNonVoidFunctionHasReturnExpressionOrThrowStatement(functionDecl, returnTypeAnnotation, returnTypeSymbol, block, context);
6391 private typeCheckIndexSignature(funcDeclAST, context);
6392 private postTypeCheckFunctionDeclaration(funcDeclAST, context);
6393 private resolveReturnTypeAnnotationOfFunctionDeclaration(funcDeclAST, returnTypeAnnotation, context);
6394 private resolveMemberFunctionDeclaration(funcDecl, context);
6395 private resolveCallSignature(funcDecl, context);
6396 private resolveConstructSignature(funcDecl, context);
6397 private resolveMethodSignature(funcDecl, context);
6398 private resolveAnyFunctionDeclaration(funcDecl, context);
6399 private resolveFunctionExpression(funcDecl, isContextuallyTyped, context);
6400 private resolveSimpleArrowFunctionExpression(funcDecl, isContextuallyTyped, context);
6401 private resolveParenthesizedArrowFunctionExpression(funcDecl, isContextuallyTyped, context);
6402 private getEnclosingClassDeclaration(ast);
6403 private resolveConstructorDeclaration(funcDeclAST, context);
6404 private resolveIndexMemberDeclaration(ast, context);
6405 private resolveIndexSignature(funcDeclAST, context);
6406 private resolveFunctionDeclaration(funcDeclAST, isStatic, name, typeParameters, parameterList, returnTypeAnnotation, block, context);
6407 private resolveGetterReturnTypeAnnotation(getterFunctionDeclarationAst, enclosingDecl, context);
6408 private resolveSetterArgumentTypeAnnotation(setterFunctionDeclarationAst, enclosingDecl, context);
6409 private resolveAccessorDeclaration(funcDeclAst, context);
6410 private typeCheckAccessorDeclaration(funcDeclAst, context);
6411 private resolveGetAccessorDeclaration(funcDeclAST, parameters, returnTypeAnnotation, block, setterAnnotatedType, context);
6412 private checkIfGetterAndSetterTypeMatch(funcDeclAST, context);
6413 private typeCheckGetAccessorDeclaration(funcDeclAST, context);
6414 static hasSetAccessorParameterTypeAnnotation(setAccessor: SetAccessor): boolean;
6415 private resolveSetAccessorDeclaration(funcDeclAST, parameterList, context);
6416 private typeCheckSetAccessorDeclaration(funcDeclAST, context);
6417 private resolveList(list, context);
6418 private resolveSeparatedList(list, context);
6419 private resolveVoidExpression(ast, context);
6420 private resolveLogicalOperation(ast, context);
6421 private typeCheckLogicalOperation(binex, context);
6422 private resolveLogicalNotExpression(ast, context);
6423 private resolveUnaryArithmeticOperation(ast, context);
6424 private resolvePostfixUnaryExpression(ast, context);
6425 private isAnyOrNumberOrEnum(type);
6426 private typeCheckUnaryArithmeticOperation(unaryExpression, context);
6427 private typeCheckPostfixUnaryExpression(unaryExpression, context);
6428 private resolveBinaryArithmeticExpression(binaryExpression, context);
6429 private typeCheckBinaryArithmeticExpression(binaryExpression, context);
6430 private resolveTypeOfExpression(ast, context);
6431 private resolveThrowStatement(ast, context);
6432 private resolveDeleteExpression(ast, context);
6433 private resolveInstanceOfExpression(ast, context);
6434 private typeCheckInstanceOfExpression(binaryExpression, context);
6435 private resolveCommaExpression(commaExpression, context);
6436 private resolveInExpression(ast, context);
6437 private typeCheckInExpression(binaryExpression, context);
6438 private resolveForStatement(ast, context);
6439 private resolveForInStatement(forInStatement, context);
6440 private typeCheckForInStatement(forInStatement, context);
6441 private resolveWhileStatement(ast, context);
6442 private typeCheckWhileStatement(ast, context);
6443 private resolveDoStatement(ast, context);
6444 private typeCheckDoStatement(ast, context);
6445 private resolveIfStatement(ast, context);
6446 private typeCheckIfStatement(ast, context);
6447 private resolveElseClause(ast, context);
6448 private typeCheckElseClause(ast, context);
6449 private resolveBlock(ast, context);
6450 private resolveVariableStatement(ast, context);
6451 private resolveVariableDeclarationList(ast, context);
6452 private resolveWithStatement(ast, context);
6453 private typeCheckWithStatement(ast, context);
6454 private resolveTryStatement(ast, context);
6455 private typeCheckTryStatement(ast, context);
6456 private resolveCatchClause(ast, context);
6457 private typeCheckCatchClause(ast, context);
6458 private resolveFinallyClause(ast, context);
6459 private typeCheckFinallyClause(ast, context);
6460 private getEnclosingFunctionDeclaration(ast);
6461 private resolveReturnExpression(expression, enclosingFunction, context);
6462 private typeCheckReturnExpression(expression, expressionType, enclosingFunction, context);
6463 private resolveReturnStatement(returnAST, context);
6464 private resolveSwitchStatement(ast, context);
6465 private typeCheckSwitchStatement(ast, context);
6466 private resolveLabeledStatement(ast, context);
6467 private typeCheckLabeledStatement(ast, context);
6468 private labelIsOnContinuableConstruct(statement);
6469 private resolveContinueStatement(ast, context);
6470 private isIterationStatement(ast);
6471 private isAnyFunctionExpressionOrDeclaration(ast);
6472 private inSwitchStatement(ast);
6473 private inIterationStatement(ast, crossFunctions);
6474 private getEnclosingLabels(ast, breakable, crossFunctions);
6475 private typeCheckContinueStatement(ast, context);
6476 private resolveBreakStatement(ast, context);
6477 private typeCheckBreakStatement(ast, context);
6478 public resolveAST(ast: AST, isContextuallyTyped: boolean, context: PullTypeResolutionContext): PullSymbol;
6479 private resolveExpressionAST(ast, isContextuallyOrInferentiallyTyped, context);
6480 private resolveExpressionWorker(ast, isContextuallyTyped, context);
6481 private typeCheckAST(ast, isContextuallyTyped, context);
6482 private processPostTypeCheckWorkItems(context);
6483 private postTypeCheck(ast, context);
6484 private resolveRegularExpressionLiteral();
6485 private postTypeCheckNameExpression(nameAST, context);
6486 private typeCheckNameExpression(nameAST, context);
6487 private resolveNameExpression(nameAST, context);
6488 private isInEnumDecl(decl);
6489 private getSomeInnermostFunctionScopeDecl(declPath);
6490 private isFromFunctionScope(nameSymbol, functionScopeDecl);
6491 private findConstructorDeclOfEnclosingType(decl);
6492 private checkNameAsPartOfInitializerExpressionForInstanceMemberVariable(nameAST, nameSymbol, context);
6493 private computeNameExpression(nameAST, context);
6494 private getCurrentParameterIndexForFunction(parameter, funcDecl);
6495 private resolveMemberAccessExpression(dottedNameAST, context);
6496 private resolveDottedNameExpression(dottedNameAST, expression, name, context);
6497 private computeDottedNameExpression(expression, name, context, checkSuperPrivateAndStaticAccess);
6498 private computeDottedNameExpressionFromLHS(lhs, expression, name, context, checkSuperPrivateAndStaticAccess);
6499 private resolveTypeNameExpression(nameAST, context);
6500 private computeTypeNameExpression(nameAST, context);
6501 private isInStaticMemberContext(decl);
6502 private isLeftSideOfQualifiedName(ast);
6503 private resolveGenericTypeReference(genericTypeAST, context);
6504 private resolveQualifiedName(dottedNameAST, context);
6505 private isLastNameOfModuleNameModuleReference(ast);
6506 private computeQualifiedName(dottedNameAST, context);
6507 private shouldContextuallyTypeAnyFunctionExpression(functionExpressionAST, typeParameters, parameters, returnTypeAnnotation, context);
6508 private resolveAnyFunctionExpression(funcDeclAST, typeParameters, parameters, returnTypeAnnotation, block, bodyExpression, isContextuallyTyped, context);
6509 private resolveAnyFunctionExpressionParameters(funcDeclAST, typeParameters, parameters, returnTypeAnnotation, isContextuallyTyped, context);
6510 private typeCheckSimpleArrowFunctionExpression(arrowFunction, isContextuallyTyped, context);
6511 private typeCheckParenthesizedArrowFunctionExpression(arrowFunction, isContextuallyTyped, context);
6512 private typeCheckAnyFunctionExpression(funcDeclAST, typeParameters, parameters, returnTypeAnnotation, block, bodyExpression, isContextuallyTyped, context);
6513 private resolveThisExpression(thisExpression, context);
6514 private inTypeArgumentList(ast);
6515 private inClassExtendsHeritageClause(ast);
6516 private inTypeQuery(ast);
6517 private inArgumentListOfSuperInvocation(ast);
6518 private inConstructorParameterList(ast);
6519 private isFunctionAccessorOrNonArrowFunctionExpression(decl);
6520 private isFunctionOrNonArrowFunctionExpression(decl);
6521 private typeCheckThisExpression(thisExpression, context, enclosingDecl);
6522 private getContextualClassSymbolForEnclosingDecl(ast, enclosingDecl);
6523 private inStaticMemberVariableDeclaration(ast);
6524 private resolveSuperExpression(ast, context);
6525 private typeCheckSuperExpression(ast, context, enclosingDecl);
6526 private resolveSimplePropertyAssignment(propertyAssignment, isContextuallyTyped, context);
6527 private resolveFunctionPropertyAssignment(funcProp, isContextuallyTyped, context);
6528 private typeCheckFunctionPropertyAssignment(funcProp, isContextuallyTyped, context);
6529 public resolveObjectLiteralExpression(expressionAST: ObjectLiteralExpression, isContextuallyTyped: boolean, context: PullTypeResolutionContext, additionalResults?: PullAdditionalObjectLiteralResolutionData): PullSymbol;
6530 private bindObjectLiteralMembers(objectLiteralDeclaration, objectLiteralTypeSymbol, objectLiteralMembers, isUsingExistingSymbol, pullTypeContext);
6531 private resolveObjectLiteralMembers(objectLiteralDeclaration, objectLiteralTypeSymbol, objectLiteralContextualType, objectLiteralMembers, stringIndexerSignature, numericIndexerSignature, allMemberTypes, allNumericMemberTypes, boundMemberSymbols, isUsingExistingSymbol, pullTypeContext, additionalResults?);
6532 private computeObjectLiteralExpression(objectLitAST, isContextuallyTyped, context, additionalResults?);
6533 private getPropertyAssignmentName(propertyAssignment);
6534 private stampObjectLiteralWithIndexSignature(objectLiteralSymbol, indexerTypeCandidates, contextualIndexSignature, context);
6535 private resolveArrayLiteralExpression(arrayLit, isContextuallyTyped, context);
6536 private computeArrayLiteralExpressionSymbol(arrayLit, isContextuallyTyped, context);
6537 private resolveElementAccessExpression(callEx, context);
6538 private typeCheckElementAccessExpression(callEx, context, symbolAndDiagnostic);
6539 private computeElementAccessExpressionSymbolAndDiagnostic(callEx, context);
6540 private getBothKindsOfIndexSignaturesIncludingAugmentedType(enclosingType, context);
6541 private getBothKindsOfIndexSignaturesExcludingAugmentedType(enclosingType, context);
6542 public _getBothKindsOfIndexSignatures(enclosingType: PullTypeSymbol, context: PullTypeResolutionContext, includeAugmentedType: boolean): IndexSignatureInfo;
6543 public _addUnhiddenSignaturesFromBaseType(derivedTypeSignatures: PullSignatureSymbol[], baseTypeSignatures: PullSignatureSymbol[], signaturesBeingAggregated: PullSignatureSymbol[]): void;
6544 private resolveBinaryAdditionOperation(binaryExpression, context);
6545 private bestCommonTypeOfTwoTypes(type1, type2, context);
6546 private bestCommonTypeOfThreeTypes(type1, type2, type3, context);
6547 private resolveLogicalOrExpression(binex, isContextuallyTyped, context);
6548 private resolveLogicalAndExpression(binex, context);
6549 private computeTypeOfConditionalExpression(leftType, rightType, isContextuallyTyped, context);
6550 private resolveConditionalExpression(trinex, isContextuallyTyped, context);
6551 private conditionExpressionTypesAreValid(leftType, rightType, expressionType, isContextuallyTyped, context);
6552 private resolveParenthesizedExpression(ast, context);
6553 private resolveExpressionStatement(ast, context);
6554 public resolveInvocationExpression(callEx: InvocationExpression, context: PullTypeResolutionContext, additionalResults?: PullAdditionalCallResolutionData): PullSymbol;
6555 private typeCheckInvocationExpression(callEx, context);
6556 private computeInvocationExpressionSymbol(callEx, context, additionalResults);
6557 public resolveObjectCreationExpression(callEx: ObjectCreationExpression, context: PullTypeResolutionContext, additionalResults?: PullAdditionalCallResolutionData): PullSymbol;
6558 private typeCheckObjectCreationExpression(callEx, context);
6559 private postOverloadResolutionDiagnostics(diagnostic, additionalResults, context);
6560 private computeObjectCreationExpressionSymbol(callEx, context, additionalResults);
6561 private instantiateSignatureInContext(signatureAToInstantiate, contextualSignatureB, context, shouldFixContextualSignatureParameterTypes);
6562 private resolveCastExpression(assertionExpression, context);
6563 private typeCheckCastExpression(assertionExpression, context, typeAssertionType);
6564 private resolveAssignmentExpression(binaryExpression, context);
6565 private getInstanceTypeForAssignment(lhs, type, context);
6566 public widenType(type: PullTypeSymbol, ast: AST, context: PullTypeResolutionContext): PullTypeSymbol;
6567 private widenArrayType(type, ast, context);
6568 private widenObjectLiteralType(type, ast, context);
6569 private needsToWidenObjectLiteralType(type, ast, context);
6570 public findBestCommonType(collection: IPullTypeCollection, context: PullTypeResolutionContext, comparisonInfo?: TypeComparisonInfo): PullTypeSymbol;
6571 private typeIsBestCommonTypeCandidate(candidateType, collection, context);
6572 private typesAreIdenticalInEnclosingTypes(t1, t2, context);
6573 private typesAreIdenticalWithNewEnclosingTypes(t1, t2, context);
6574 public typesAreIdentical(t1: PullTypeSymbol, t2: PullTypeSymbol, context: PullTypeResolutionContext): boolean;
6575 private typesAreIdenticalWorker(t1, t2, context);
6576 private propertiesAreIdentical(propertySymbol1, propertySymbol2, context);
6577 private propertiesAreIdenticalWithNewEnclosingTypes(type1, type2, property1, property2, context);
6578 private signatureGroupsAreIdentical(sg1, sg2, context);
6579 private typeParametersAreIdentical(tp1, tp2, context);
6580 private typeParametersAreIdenticalWorker(tp1, tp2, context);
6581 private setTypeParameterIdentity(tp1, tp2, val);
6582 public signaturesAreIdenticalWithNewEnclosingTypes(s1: PullSignatureSymbol, s2: PullSignatureSymbol, context: PullTypeResolutionContext, includingReturnType?: boolean): boolean;
6583 private signaturesAreIdentical(s1, s2, context, includingReturnType?);
6584 public signaturesAreIdenticalWorker(s1: PullSignatureSymbol, s2: PullSignatureSymbol, context: PullTypeResolutionContext, includingReturnType?: boolean): boolean;
6585 private signatureTypeParametersParametersAndReturnTypesAreIdentical(s1, s2, context, includingReturnType?);
6586 public signatureReturnTypesAreIdentical(s1: PullSignatureSymbol, s2: PullSignatureSymbol, context: PullTypeResolutionContext): boolean;
6587 private symbolsShareDeclaration(symbol1, symbol2);
6588 private sourceIsSubtypeOfTarget(source, target, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?);
6589 private sourceMembersAreAssignableToTargetMembers(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?);
6590 private sourcePropertyIsAssignableToTargetProperty(source, target, sourceProp, targetProp, ast, context, comparisonInfo, isComparingInstantiatedSignatures?);
6591 private sourceCallSignaturesAreAssignableToTargetCallSignatures(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?);
6592 private sourceConstructSignaturesAreAssignableToTargetConstructSignatures(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?);
6593 private sourceIndexSignaturesAreAssignableToTargetIndexSignatures(source, target, ast, context, comparisonInfo, isComparingInstantiatedSignatures?);
6594 private typeIsAssignableToFunction(source, ast, context);
6595 private signatureIsAssignableToTarget(s1, s2, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?);
6596 private sourceIsAssignableToTarget(source, target, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?);
6597 private sourceIsAssignableToTargetWithNewEnclosingTypes(source, target, ast, context, comparisonInfo?, isComparingInstantiatedSignatures?);
6598 private getSymbolForRelationshipCheck(symbol);
6599 private sourceIsRelatableToTargetInEnclosingTypes(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6600 private sourceIsRelatableToTargetWithNewEnclosingTypes(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6601 private sourceIsRelatableToTargetInCache(source, target, comparisonCache, comparisonInfo);
6602 private sourceIsRelatableToTarget(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6603 private isSourceTypeParameterConstrainedToTargetTypeParameter(source, target);
6604 private sourceIsRelatableToTargetWorker(source, target, sourceSubstitution, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6605 private sourceMembersAreRelatableToTargetMembers(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6606 private infinitelyExpandingSourceTypeIsRelatableToTargetType(sourceType, targetType, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6607 private infinitelyExpandingTypesAreIdentical(sourceType, targetType, context);
6608 private sourcePropertyIsRelatableToTargetProperty(source, target, sourceProp, targetProp, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6609 private sourceCallSignaturesAreRelatableToTargetCallSignatures(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6610 private sourceConstructSignaturesAreRelatableToTargetConstructSignatures(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6611 private sourceIndexSignaturesAreRelatableToTargetIndexSignatures(source, target, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6612 private signatureGroupIsRelatableToTarget(source, target, sourceSG, targetSG, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6613 private signatureIsRelatableToTarget(sourceSig, targetSig, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6614 private signatureIsRelatableToTargetWorker(sourceSig, targetSig, assignableTo, comparisonCache, ast, context, comparisonInfo, isComparingInstantiatedSignatures);
6615 private resolveOverloads(application, group, haveTypeArgumentsAtCallSite, context, diagnostics);
6616 private getCallTargetErrorSpanAST(callEx);
6617 private overloadHasCorrectArity(signature, args);
6618 private overloadIsApplicable(signature, args, context, comparisonInfo);
6619 private overloadIsApplicableForArgument(paramType, arg, argIndex, context, comparisonInfo);
6620 private overloadIsApplicableForAnyFunctionExpressionArgument(paramType, arg, typeParameters, parameters, returnTypeAnnotation, block, bodyExpression, argIndex, context, comparisonInfo);
6621 private overloadIsApplicableForObjectLiteralArgument(paramType, arg, argIndex, context, comparisonInfo);
6622 private overloadIsApplicableForArrayLiteralArgument(paramType, arg, argIndex, context, comparisonInfo);
6623 private overloadIsApplicableForOtherArgument(paramType, arg, argIndex, context, comparisonInfo);
6624 private overloadIsApplicableForArgumentHelper(paramType, argSym, argumentIndex, comparisonInfo, arg, context);
6625 private inferArgumentTypesForSignature(argContext, comparisonInfo, context);
6626 private typeParametersAreInScopeAtArgumentList(typeParameters, args);
6627 private relateTypeToTypeParametersInEnclosingType(expressionType, parameterType, argContext, context);
6628 public relateTypeToTypeParametersWithNewEnclosingTypes(expressionType: PullTypeSymbol, parameterType: PullTypeSymbol, argContext: TypeArgumentInferenceContext, context: PullTypeResolutionContext): void;
6629 public relateTypeToTypeParameters(expressionType: PullTypeSymbol, parameterType: PullTypeSymbol, argContext: TypeArgumentInferenceContext, context: PullTypeResolutionContext): void;
6630 private relateTypeArgumentsOfTypeToTypeParameters(expressionType, parameterType, argContext, context);
6631 private relateInifinitelyExpandingTypeToTypeParameters(expressionType, parameterType, argContext, context);
6632 private relateFunctionSignatureToTypeParameters(expressionSignature, parameterSignature, argContext, context);
6633 private relateObjectTypeToTypeParameters(objectType, parameterType, argContext, context);
6634 private relateSignatureGroupToTypeParameters(argumentSignatures, parameterSignatures, signatureKind, argContext, context);
6635 private alterPotentialGenericFunctionTypeToInstantiatedFunctionTypeForTypeArgumentInference(expressionSymbol, context);
6636 private isFunctionTypeWithExactlyOneCallSignatureAndNoOtherMembers(type, callSignatureShouldBeGeneric);
6637 public instantiateTypeToAny(typeToSpecialize: PullTypeSymbol, context: PullTypeResolutionContext): PullTypeSymbol;
6638 public instantiateSignatureToAny(signature: PullSignatureSymbol): PullSignatureSymbol;
6639 static globalTypeCheckPhase: number;
6640 static typeCheck(compilationSettings: ImmutableCompilationSettings, semanticInfoChain: SemanticInfoChain, document: Document): void;
6641 private validateVariableDeclarationGroups(enclosingDecl, context);
6642 private typeCheckFunctionOverloads(funcDecl, context, signature?, allSignatures?);
6643 private checkSymbolPrivacy(declSymbol, symbol, privacyErrorReporter);
6644 private checkTypePrivacyOfSignatures(declSymbol, signatures, privacyErrorReporter);
6645 private typeParameterOfTypeDeclarationPrivacyErrorReporter(classOrInterface, typeParameterAST, typeParameter, symbol, context);
6646 private baseListPrivacyErrorReporter(classOrInterface, declSymbol, baseAst, isExtendedType, symbol, context);
6647 private variablePrivacyErrorReporter(declAST, declSymbol, symbol, context);
6648 private checkFunctionTypePrivacy(funcDeclAST, isStatic, typeParameters, parameters, returnTypeAnnotation, block, context);
6649 private functionTypeArgumentArgumentTypePrivacyErrorReporter(declAST, isStatic, typeParameterAST, typeParameter, symbol, context);
6650 private functionArgumentTypePrivacyErrorReporter(declAST, isStatic, parameters, argIndex, paramSymbol, symbol, context);
6651 private functionReturnTypePrivacyErrorReporter(declAST, isStatic, returnTypeAnnotation, block, funcReturnType, symbol, context);
6652 private enclosingClassIsDerived(classDecl);
6653 private isSuperInvocationExpression(ast);
6654 private isSuperInvocationExpressionStatement(node);
6655 private getFirstStatementOfBlockOrNull(block);
6656 private superCallMustBeFirstStatementInConstructor(constructorDecl);
6657 private checkForThisCaptureInArrowFunction(expression);
6658 private typeCheckMembersAgainstIndexer(containerType, containerTypeDecl, context);
6659 private determineRelevantIndexerForMember(member, numberIndexSignature, stringIndexSignature);
6660 private reportErrorThatMemberIsNotSubtypeOfIndexer(member, indexSignature, astForError, context, comparisonInfo);
6661 private typeCheckIfTypeMemberPropertyOkToOverride(typeSymbol, extendedType, typeMember, extendedTypeMember, enclosingDecl, comparisonInfo);
6662 private typeCheckIfTypeExtendsType(classOrInterface, name, typeSymbol, extendedType, enclosingDecl, context);
6663 private typeCheckIfClassImplementsType(classDecl, classSymbol, implementedType, enclosingDecl, context);
6664 private computeValueSymbolFromAST(valueDeclAST, context);
6665 private hasClassTypeSymbolConflictAsValue(baseDeclAST, typeSymbol, enclosingDecl, context);
6666 private typeCheckBase(classOrInterface, name, typeSymbol, baseDeclAST, isExtendedType, enclosingDecl, context);
6667 private typeCheckBases(classOrInterface, name, heritageClauses, typeSymbol, enclosingDecl, context);
6668 private checkTypeCompatibilityBetweenBases(name, typeSymbol, context);
6669 private checkNamedPropertyIdentityBetweenBases(interfaceName, interfaceSymbol, baseTypeSymbol, inheritedMembersMap, context);
6670 private checkIndexSignatureIdentityBetweenBases(interfaceName, interfaceSymbol, baseTypeSymbol, allInheritedSignatures, derivedTypeHasOwnNumberSignature, derivedTypeHasOwnStringSignature, context);
6671 private checkInheritedMembersAgainstInheritedIndexSignatures(interfaceName, interfaceSymbol, inheritedIndexSignatures, inheritedMembers, context);
6672 private checkThatInheritedNumberSignatureIsSubtypeOfInheritedStringSignature(interfaceName, interfaceSymbol, inheritedIndexSignatures, context);
6673 private checkAssignability(ast, source, target, context);
6674 private isReference(ast, astSymbol);
6675 private checkForSuperMemberAccess(expression, name, resolvedName, context);
6676 private getEnclosingDeclForAST(ast);
6677 private getEnclosingSymbolForAST(ast);
6678 private checkForPrivateMemberAccess(name, expressionType, resolvedName, context);
6679 public instantiateType(type: PullTypeSymbol, typeParameterArgumentMap: TypeArgumentMap): PullTypeSymbol;
6680 public instantiateTypeParameter(typeParameter: PullTypeParameterSymbol, typeParameterArgumentMap: TypeArgumentMap): PullTypeParameterSymbol;
6681 public instantiateSignature(signature: PullSignatureSymbol, typeParameterArgumentMap: TypeArgumentMap): PullSignatureSymbol;
6682 }
6683 class TypeComparisonInfo {
6684 public onlyCaptureFirstError: boolean;
6685 public flags: TypeRelationshipFlags;
6686 public message: string;
6687 public stringConstantVal: AST;
6688 private indent;
6689 constructor(sourceComparisonInfo?: TypeComparisonInfo, useSameIndent?: boolean);
6690 private indentString();
6691 public addMessage(message: string): void;
6692 }
6693 function getPropertyAssignmentNameTextFromIdentifier(identifier: AST): {
6694 actualText: string;
6695 memberName: string;
6696 };
6697 function isTypesOnlyLocation(ast: AST): boolean;
6698 var declCacheHit: number;
6699 var declCacheMiss: number;
6700 var symbolCacheHit: number;
6701 var symbolCacheMiss: number;
6702 class SemanticInfoChain {
6703 private compiler;
6704 private logger;
6705 private documents;
6706 private fileNameToDocument;
6707 public anyTypeDecl: PullDecl;
6708 public booleanTypeDecl: PullDecl;
6709 public numberTypeDecl: PullDecl;
6710 public stringTypeDecl: PullDecl;
6711 public nullTypeDecl: PullDecl;
6712 public undefinedTypeDecl: PullDecl;
6713 public voidTypeDecl: PullDecl;
6714 public undefinedValueDecl: PullDecl;
6715 public anyTypeSymbol: PullPrimitiveTypeSymbol;
6716 public booleanTypeSymbol: PullPrimitiveTypeSymbol;
6717 public numberTypeSymbol: PullPrimitiveTypeSymbol;
6718 public stringTypeSymbol: PullPrimitiveTypeSymbol;
6719 public nullTypeSymbol: PullPrimitiveTypeSymbol;
6720 public undefinedTypeSymbol: PullPrimitiveTypeSymbol;
6721 public voidTypeSymbol: PullPrimitiveTypeSymbol;
6722 public undefinedValueSymbol: PullSymbol;
6723 public emptyTypeSymbol: PullTypeSymbol;
6724 private astSymbolMap;
6725 private astAliasSymbolMap;
6726 private astCallResolutionDataMap;
6727 private declSymbolMap;
6728 private declSignatureSymbolMap;
6729 private declCache;
6730 private symbolCache;
6731 private fileNameToDiagnostics;
6732 private _binder;
6733 private _resolver;
6734 private _topLevelDecls;
6735 private _fileNames;
6736 constructor(compiler: TypeScriptCompiler, logger: ILogger);
6737 public getDocument(fileName: string): Document;
6738 public lineMap(fileName: string): LineMap;
6739 public fileNames(): string[];
6740 private bindPrimitiveSymbol<TSymbol extends PullSymbol>(decl, newSymbol);
6741 private addPrimitiveTypeSymbol(decl);
6742 private addPrimitiveValueSymbol(decl, type);
6743 private resetGlobalSymbols();
6744 public addDocument(document: Document): void;
6745 public removeDocument(fileName: string): void;
6746 private getDeclPathCacheID(declPath, declKind);
6747 public findTopLevelSymbol(name: string, kind: PullElementKind, doNotGoPastThisDecl: PullDecl): PullSymbol;
6748 private findTopLevelSymbolInDecl(topLevelDecl, name, kind, doNotGoPastThisDecl);
6749 public findExternalModule(id: string): PullContainerSymbol;
6750 public findAmbientExternalModuleInGlobalContext(id: string): PullContainerSymbol;
6751 public findDecls(declPath: string[], declKind: PullElementKind): PullDecl[];
6752 public findDeclsFromPath(declPath: PullDecl[], declKind: PullElementKind): PullDecl[];
6753 public findSymbol(declPath: string[], declType: PullElementKind): PullSymbol;
6754 public cacheGlobalSymbol(symbol: PullSymbol, kind: PullElementKind): void;
6755 public invalidate(oldSettings?: ImmutableCompilationSettings, newSettings?: ImmutableCompilationSettings): void;
6756 private settingsChangeAffectsSyntax(before, after);
6757 public setSymbolForAST(ast: AST, symbol: PullSymbol): void;
6758 public getSymbolForAST(ast: AST): PullSymbol;
6759 public setAliasSymbolForAST(ast: AST, symbol: PullTypeAliasSymbol): void;
6760 public getAliasSymbolForAST(ast: AST): PullTypeAliasSymbol;
6761 public getCallResolutionDataForAST(ast: AST): PullAdditionalCallResolutionData;
6762 public setCallResolutionDataForAST(ast: AST, callResolutionData: PullAdditionalCallResolutionData): void;
6763 public setSymbolForDecl(decl: PullDecl, symbol: PullSymbol): void;
6764 public getSymbolForDecl(decl: PullDecl): PullSymbol;
6765 public setSignatureSymbolForDecl(decl: PullDecl, signatureSymbol: PullSignatureSymbol): void;
6766 public getSignatureSymbolForDecl(decl: PullDecl): PullSignatureSymbol;
6767 public addDiagnostic(diagnostic: Diagnostic): void;
6768 public getDiagnostics(fileName: string): Diagnostic[];
6769 public getBinder(): PullSymbolBinder;
6770 public getResolver(): PullTypeResolver;
6771 public addSyntheticIndexSignature(containingDecl: PullDecl, containingSymbol: PullTypeSymbol, ast: AST, indexParamName: string, indexParamType: PullTypeSymbol, returnType: PullTypeSymbol): void;
6772 public getDeclForAST(ast: AST): PullDecl;
6773 public getEnclosingDecl(ast: AST): PullDecl;
6774 public setDeclForAST(ast: AST, decl: PullDecl): void;
6775 public getASTForDecl(decl: PullDecl): AST;
6776 public setASTForDecl(decl: PullDecl, ast: AST): void;
6777 public topLevelDecl(fileName: string): PullDecl;
6778 public topLevelDecls(): PullDecl[];
6779 public addDiagnosticFromAST(ast: AST, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]): void;
6780 public diagnosticFromAST(ast: AST, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]): Diagnostic;
6781 public locationFromAST(ast: AST): Location;
6782 public duplicateIdentifierDiagnosticFromAST(ast: AST, identifier: string, additionalLocationAST: AST): Diagnostic;
6783 public addDuplicateIdentifierDiagnosticFromAST(ast: AST, identifier: string, additionalLocationAST: AST): void;
6784 }
6785 module DeclarationCreator {
6786 function create(document: Document, semanticInfoChain: SemanticInfoChain, compilationSettings: ImmutableCompilationSettings): PullDecl;
6787 }
6788 class PullSymbolBinder {
6789 private semanticInfoChain;
6790 private declsBeingBound;
6791 private inBindingOtherDeclsWalker;
6792 constructor(semanticInfoChain: SemanticInfoChain);
6793 private getParent(decl, returnInstanceType?);
6794 private findDeclsInContext(startingDecl, declKind, searchGlobally);
6795 private getExistingSymbol(decl, searchKind, parent);
6796 private checkThatExportsMatch(decl, prevSymbol, reportError?);
6797 private getIndexForInsertingSignatureAtEndOfEnclosingDeclInSignatureList(signature, currentSignatures);
6798 private bindEnumDeclarationToPullSymbol(enumContainerDecl);
6799 private bindEnumIndexerDeclsToPullSymbols(enumContainerSymbol);
6800 private findExistingVariableSymbolForModuleValueDecl(decl);
6801 private bindModuleDeclarationToPullSymbol(moduleContainerDecl);
6802 private bindImportDeclaration(importDeclaration);
6803 private ensurePriorDeclarationsAreBound(container, currentDecl);
6804 private bindClassDeclarationToPullSymbol(classDecl);
6805 private bindInterfaceDeclarationToPullSymbol(interfaceDecl);
6806 private bindObjectTypeDeclarationToPullSymbol(objectDecl);
6807 private bindConstructorTypeDeclarationToPullSymbol(constructorTypeDeclaration);
6808 private bindVariableDeclarationToPullSymbol(variableDeclaration);
6809 private bindCatchVariableToPullSymbol(variableDeclaration);
6810 private bindEnumMemberDeclarationToPullSymbol(propertyDeclaration);
6811 private bindPropertyDeclarationToPullSymbol(propertyDeclaration);
6812 private bindParameterSymbols(functionDeclaration, parameterList, funcType, signatureSymbol);
6813 private bindFunctionDeclarationToPullSymbol(functionDeclaration);
6814 private bindFunctionExpressionToPullSymbol(functionExpressionDeclaration);
6815 private bindFunctionTypeDeclarationToPullSymbol(functionTypeDeclaration);
6816 private bindMethodDeclarationToPullSymbol(methodDeclaration);
6817 private bindStaticPrototypePropertyOfClass(classAST, classTypeSymbol, constructorTypeSymbol);
6818 private bindConstructorDeclarationToPullSymbol(constructorDeclaration);
6819 private bindConstructSignatureDeclarationToPullSymbol(constructSignatureDeclaration);
6820 private bindCallSignatureDeclarationToPullSymbol(callSignatureDeclaration);
6821 private bindIndexSignatureDeclarationToPullSymbol(indexSignatureDeclaration);
6822 private bindGetAccessorDeclarationToPullSymbol(getAccessorDeclaration);
6823 private bindSetAccessorDeclarationToPullSymbol(setAccessorDeclaration);
6824 private getDeclsToBind(decl);
6825 private shouldBindDeclaration(decl);
6826 public bindDeclToPullSymbol(decl: PullDecl): void;
6827 private bindAllDeclsToPullSymbol(askedDecl);
6828 private bindSingleDeclToPullSymbol(decl);
6829 }
6830 module PullHelpers {
6831 function diagnosticFromDecl(decl: PullDecl, diagnosticKey: string, _arguments?: any[], additionalLocations?: Location[]): Diagnostic;
6832 function resolveDeclaredSymbolToUseType(symbol: PullSymbol): void;
6833 interface SignatureInfoForFuncDecl {
6834 signature: PullSignatureSymbol;
6835 allSignatures: PullSignatureSymbol[];
6836 }
6837 function getSignatureForFuncDecl(functionDecl: PullDecl): {
6838 signature: PullSignatureSymbol;
6839 allSignatures: PullSignatureSymbol[];
6840 };
6841 function getAccessorSymbol(getterOrSetter: AST, semanticInfoChain: SemanticInfoChain): PullAccessorSymbol;
6842 function getGetterAndSetterFunction(funcDecl: AST, semanticInfoChain: SemanticInfoChain): {
6843 getter: GetAccessor;
6844 setter: SetAccessor;
6845 };
6846 function symbolIsEnum(source: PullSymbol): boolean;
6847 function symbolIsModule(symbol: PullSymbol): boolean;
6848 function isNameNumeric(name: string): boolean;
6849 function typeSymbolsAreIdentical(a: PullTypeSymbol, b: PullTypeSymbol): boolean;
6850 function getRootType(type: PullTypeSymbol): PullTypeSymbol;
6851 function isSymbolLocal(symbol: PullSymbol): boolean;
6852 function isExportedSymbolInClodule(symbol: PullSymbol): boolean;
6853 function isSymbolDeclaredInScopeChain(symbol: PullSymbol, scopeSymbol: PullSymbol): boolean;
6854 interface PullTypeSymbolStructureWalker {
6855 memberSymbolWalk(memberSymbol: PullSymbol): boolean;
6856 callSignatureWalk(signatureSymbol: PullSignatureSymbol): boolean;
6857 constructSignatureWalk(signatureSymbol: PullSignatureSymbol): boolean;
6858 indexSignatureWalk(signatureSymbol: PullSignatureSymbol): boolean;
6859 signatureParameterWalk(parameterSymbol: PullSymbol): boolean;
6860 signatureReturnTypeWalk(returnType: PullTypeSymbol): boolean;
6861 }
6862 function walkPullTypeSymbolStructure(typeSymbol: PullTypeSymbol, walker: PullTypeSymbolStructureWalker): void;
6863 class OtherPullDeclsWalker {
6864 private currentlyWalkingOtherDecls;
6865 public walkOtherPullDecls(currentDecl: PullDecl, otherDecls: PullDecl[], callBack: (otherDecl: PullDecl) => void): void;
6866 }
6867 }
6868 class WrapsTypeParameterCache {
6869 private _wrapsTypeParameterCache;
6870 public getWrapsTypeParameter(typeParameterArgumentMap: TypeArgumentMap): number;
6871 public setWrapsTypeParameter(typeParameterArgumentMap: TypeArgumentMap, wrappingTypeParameterID: number): void;
6872 }
6873 module PullInstantiationHelpers {
6874 class MutableTypeArgumentMap {
6875 public typeParameterArgumentMap: TypeArgumentMap;
6876 public createdDuplicateTypeArgumentMap: boolean;
6877 constructor(typeParameterArgumentMap: TypeArgumentMap);
6878 public ensureTypeArgumentCopy(): void;
6879 }
6880 function instantiateTypeArgument(resolver: PullTypeResolver, symbol: InstantiableSymbol, mutableTypeParameterMap: MutableTypeArgumentMap): void;
6881 function cleanUpTypeArgumentMap(symbol: InstantiableSymbol, mutableTypeArgumentMap: MutableTypeArgumentMap): void;
6882 function getAllowedToReferenceTypeParametersFromDecl(decl: PullDecl): PullTypeParameterSymbol[];
6883 function createTypeParameterArgumentMap(typeParameters: PullTypeParameterSymbol[], typeArguments: PullTypeSymbol[]): TypeArgumentMap;
6884 function updateTypeParameterArgumentMap(typeParameters: PullTypeParameterSymbol[], typeArguments: PullTypeSymbol[], typeParameterArgumentMap: TypeArgumentMap): TypeArgumentMap;
6885 function updateMutableTypeParameterArgumentMap(typeParameters: PullTypeParameterSymbol[], typeArguments: PullTypeSymbol[], mutableMap: MutableTypeArgumentMap): void;
6886 function twoTypesAreInstantiationsOfSameNamedGenericType(type1: PullTypeSymbol, type2: PullTypeSymbol): boolean;
6887 }
6888 enum GenerativeTypeClassification {
6889 Unknown = 0,
6890 Open = 1,
6891 Closed = 2,
6892 InfinitelyExpanding = 3,
6893 }
6894 interface TypeArgumentMap {
6895 [n: number]: PullTypeSymbol;
6896 }
6897 class PullTypeReferenceSymbol extends PullTypeSymbol {
6898 public referencedTypeSymbol: PullTypeSymbol;
6899 static createTypeReference(type: PullTypeSymbol): PullTypeReferenceSymbol;
6900 constructor(referencedTypeSymbol: PullTypeSymbol);
6901 public isTypeReference(): boolean;
6902 public isResolved: boolean;
6903 public setResolved(): void;
6904 public setUnresolved(): void;
6905 public invalidate(): void;
6906 public ensureReferencedTypeIsResolved(): void;
6907 public getReferencedTypeSymbol(): PullTypeSymbol;
6908 public _getResolver(): PullTypeResolver;
6909 public hasMembers(): boolean;
6910 public setAssociatedContainerType(type: PullTypeSymbol): void;
6911 public getAssociatedContainerType(): PullTypeSymbol;
6912 public getFunctionSymbol(): PullSymbol;
6913 public setFunctionSymbol(symbol: PullSymbol): void;
6914 public addContainedNonMember(nonMember: PullSymbol): void;
6915 public findContainedNonMemberContainer(containerName: string, kind?: PullElementKind): PullTypeSymbol;
6916 public addMember(memberSymbol: PullSymbol): void;
6917 public addEnclosedMemberType(enclosedType: PullTypeSymbol): void;
6918 public addEnclosedMemberContainer(enclosedContainer: PullTypeSymbol): void;
6919 public addEnclosedNonMember(enclosedNonMember: PullSymbol): void;
6920 public addEnclosedNonMemberType(enclosedNonMemberType: PullTypeSymbol): void;
6921 public addEnclosedNonMemberContainer(enclosedNonMemberContainer: PullTypeSymbol): void;
6922 public addTypeParameter(typeParameter: PullTypeParameterSymbol): void;
6923 public addConstructorTypeParameter(typeParameter: PullTypeParameterSymbol): void;
6924 public findContainedNonMember(name: string): PullSymbol;
6925 public findContainedNonMemberType(typeName: string, kind?: PullElementKind): PullTypeSymbol;
6926 public getMembers(): PullSymbol[];
6927 public setHasDefaultConstructor(hasOne?: boolean): void;
6928 public getHasDefaultConstructor(): boolean;
6929 public getConstructorMethod(): PullSymbol;
6930 public setConstructorMethod(constructorMethod: PullSymbol): void;
6931 public getTypeParameters(): PullTypeParameterSymbol[];
6932 public isGeneric(): boolean;
6933 public addSpecialization(specializedVersionOfThisType: PullTypeSymbol, substitutingTypes: PullTypeSymbol[]): void;
6934 public getSpecialization(substitutingTypes: PullTypeSymbol[]): PullTypeSymbol;
6935 public getKnownSpecializations(): PullTypeSymbol[];
6936 public getTypeArguments(): PullTypeSymbol[];
6937 public getTypeArgumentsOrTypeParameters(): PullTypeSymbol[];
6938 public appendCallSignature(callSignature: PullSignatureSymbol): void;
6939 public insertCallSignatureAtIndex(callSignature: PullSignatureSymbol, index: number): void;
6940 public appendConstructSignature(callSignature: PullSignatureSymbol): void;
6941 public insertConstructSignatureAtIndex(callSignature: PullSignatureSymbol, index: number): void;
6942 public addIndexSignature(indexSignature: PullSignatureSymbol): void;
6943 public hasOwnCallSignatures(): boolean;
6944 public getCallSignatures(): PullSignatureSymbol[];
6945 public hasOwnConstructSignatures(): boolean;
6946 public getConstructSignatures(): PullSignatureSymbol[];
6947 public hasOwnIndexSignatures(): boolean;
6948 public getIndexSignatures(): PullSignatureSymbol[];
6949 public addImplementedType(implementedType: PullTypeSymbol): void;
6950 public getImplementedTypes(): PullTypeSymbol[];
6951 public addExtendedType(extendedType: PullTypeSymbol): void;
6952 public getExtendedTypes(): PullTypeSymbol[];
6953 public addTypeThatExtendsThisType(type: PullTypeSymbol): void;
6954 public getTypesThatExtendThisType(): PullTypeSymbol[];
6955 public addTypeThatExplicitlyImplementsThisType(type: PullTypeSymbol): void;
6956 public getTypesThatExplicitlyImplementThisType(): PullTypeSymbol[];
6957 public isValidBaseKind(baseType: PullTypeSymbol, isExtendedType: boolean): boolean;
6958 public findMember(name: string, lookInParent?: boolean): PullSymbol;
6959 public findNestedType(name: string, kind?: PullElementKind): PullTypeSymbol;
6960 public findNestedContainer(name: string, kind?: PullElementKind): PullTypeSymbol;
6961 public getAllMembers(searchDeclKind: PullElementKind, memberVisiblity: GetAllMembersVisiblity): PullSymbol[];
6962 public findTypeParameter(name: string): PullTypeParameterSymbol;
6963 public hasOnlyOverloadCallSignatures(): boolean;
6964 }
6965 var nSpecializationsCreated: number;
6966 var nSpecializedSignaturesCreated: number;
6967 var nSpecializedTypeParameterCreated: number;
6968 class PullInstantiatedTypeReferenceSymbol extends PullTypeReferenceSymbol {
6969 public referencedTypeSymbol: PullTypeSymbol;
6970 private _typeParameterArgumentMap;
6971 public isInstanceReferenceType: boolean;
6972 private _instantiatedMembers;
6973 private _allInstantiatedMemberNameCache;
6974 private _instantiatedMemberNameCache;
6975 private _instantiatedCallSignatures;
6976 private _instantiatedConstructSignatures;
6977 private _instantiatedIndexSignatures;
6978 private _typeArgumentReferences;
6979 private _instantiatedConstructorMethod;
6980 private _instantiatedAssociatedContainerType;
6981 private _isArray;
6982 public getIsSpecialized(): boolean;
6983 private _generativeTypeClassification;
6984 public getGenerativeTypeClassification(enclosingType: PullTypeSymbol): GenerativeTypeClassification;
6985 public isArrayNamedTypeReference(): boolean;
6986 public getElementType(): PullTypeSymbol;
6987 public getReferencedTypeSymbol(): PullTypeSymbol;
6988 static create(resolver: PullTypeResolver, type: PullTypeSymbol, typeParameterArgumentMap: TypeArgumentMap): PullInstantiatedTypeReferenceSymbol;
6989 constructor(referencedTypeSymbol: PullTypeSymbol, _typeParameterArgumentMap: TypeArgumentMap, isInstanceReferenceType: boolean);
6990 public isGeneric(): boolean;
6991 public getTypeParameterArgumentMap(): TypeArgumentMap;
6992 public getTypeArguments(): PullTypeSymbol[];
6993 public getTypeArgumentsOrTypeParameters(): PullTypeSymbol[];
6994 private populateInstantiatedMemberFromReferencedMember(referencedMember);
6995 public getMembers(): PullSymbol[];
6996 public findMember(name: string, lookInParent?: boolean): PullSymbol;
6997 public getAllMembers(searchDeclKind: PullElementKind, memberVisiblity: GetAllMembersVisiblity): PullSymbol[];
6998 public getConstructorMethod(): PullSymbol;
6999 public getAssociatedContainerType(): PullTypeSymbol;
7000 public getCallSignatures(): PullSignatureSymbol[];
7001 public getConstructSignatures(): PullSignatureSymbol[];
7002 public getIndexSignatures(): PullSignatureSymbol[];
7003 }
7004 class PullInstantiatedSignatureSymbol extends PullSignatureSymbol {
7005 private _typeParameterArgumentMap;
7006 public getTypeParameterArgumentMap(): TypeArgumentMap;
7007 constructor(rootSignature: PullSignatureSymbol, _typeParameterArgumentMap: TypeArgumentMap);
7008 public getIsSpecialized(): boolean;
7009 public _getResolver(): PullTypeResolver;
7010 public getTypeParameters(): PullTypeParameterSymbol[];
7011 public getAllowedToReferenceTypeParameters(): PullTypeParameterSymbol[];
7012 }
7013 class PullInstantiatedTypeParameterSymbol extends PullTypeParameterSymbol {
7014 constructor(rootTypeParameter: PullTypeSymbol, constraintType: PullTypeSymbol);
7015 public _getResolver(): PullTypeResolver;
7016 }
7017 class SyntaxTreeToAstVisitor implements ISyntaxVisitor {
7018 private fileName;
7019 public lineMap: LineMap;
7020 private compilationSettings;
7021 public position: number;
7022 public previousTokenTrailingComments: Comment[];
7023 constructor(fileName: string, lineMap: LineMap, compilationSettings: ImmutableCompilationSettings);
7024 static visit(syntaxTree: SyntaxTree, fileName: string, compilationSettings: ImmutableCompilationSettings, incrementalAST: boolean): SourceUnit;
7025 public movePast(element: ISyntaxElement): void;
7026 private moveTo(element1, element2);
7027 private setCommentsAndSpan(ast, fullStart, node);
7028 public createTokenSpan(fullStart: number, element: ISyntaxToken): ASTSpan;
7029 public setSpan(span: AST, fullStart: number, element: ISyntaxElement, firstToken?: ISyntaxToken, lastToken?: ISyntaxToken): void;
7030 public setSpanExplicit(span: IASTSpan, start: number, end: number): void;
7031 public visitSyntaxList(node: ISyntaxList): ISyntaxList2;
7032 public visitSeparatedSyntaxList(list: ISeparatedSyntaxList): ISeparatedSyntaxList2;
7033 private convertComment(trivia, commentStartPosition, hasTrailingNewLine);
7034 private convertComments(triviaList, commentStartPosition);
7035 private mergeComments(comments1, comments2);
7036 private convertTokenLeadingComments(token, commentStartPosition);
7037 private convertTokenTrailingComments(token, commentStartPosition);
7038 private convertNodeTrailingComments(node, lastToken, nodeStart);
7039 private visitIdentifier(token);
7040 public visitToken(token: ISyntaxToken): IASTToken;
7041 public visitTokenWorker(token: ISyntaxToken): IASTToken;
7042 public visitSourceUnit(node: SourceUnitSyntax): SourceUnit;
7043 public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): ExternalModuleReference;
7044 public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): ModuleNameModuleReference;
7045 public visitClassDeclaration(node: ClassDeclarationSyntax): ClassDeclaration;
7046 private visitModifiers(modifiers);
7047 public visitInterfaceDeclaration(node: InterfaceDeclarationSyntax): InterfaceDeclaration;
7048 public visitHeritageClause(node: HeritageClauseSyntax): HeritageClause;
7049 public visitModuleDeclaration(node: ModuleDeclarationSyntax): ModuleDeclaration;
7050 public visitFunctionDeclaration(node: FunctionDeclarationSyntax): FunctionDeclaration;
7051 public visitEnumDeclaration(node: EnumDeclarationSyntax): EnumDeclaration;
7052 public visitEnumElement(node: EnumElementSyntax): EnumElement;
7053 public visitImportDeclaration(node: ImportDeclarationSyntax): ImportDeclaration;
7054 public visitExportAssignment(node: ExportAssignmentSyntax): ExportAssignment;
7055 public visitVariableStatement(node: VariableStatementSyntax): VariableStatement;
7056 public visitVariableDeclaration(node: VariableDeclarationSyntax): VariableDeclaration;
7057 public visitVariableDeclarator(node: VariableDeclaratorSyntax): VariableDeclarator;
7058 public visitEqualsValueClause(node: EqualsValueClauseSyntax): EqualsValueClause;
7059 public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): PrefixUnaryExpression;
7060 public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): ArrayLiteralExpression;
7061 public visitOmittedExpression(node: OmittedExpressionSyntax): OmittedExpression;
7062 public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): ParenthesizedExpression;
7063 public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): SimpleArrowFunctionExpression;
7064 public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): ParenthesizedArrowFunctionExpression;
7065 public visitType(type: ITypeSyntax): AST;
7066 public visitTypeQuery(node: TypeQuerySyntax): TypeQuery;
7067 public visitQualifiedName(node: QualifiedNameSyntax): QualifiedName;
7068 public visitTypeArgumentList(node: TypeArgumentListSyntax): TypeArgumentList;
7069 public visitConstructorType(node: ConstructorTypeSyntax): ConstructorType;
7070 public visitFunctionType(node: FunctionTypeSyntax): FunctionType;
7071 public visitObjectType(node: ObjectTypeSyntax): ObjectType;
7072 public visitArrayType(node: ArrayTypeSyntax): ArrayType;
7073 public visitGenericType(node: GenericTypeSyntax): GenericType;
7074 public visitTypeAnnotation(node: TypeAnnotationSyntax): TypeAnnotation;
7075 public visitBlock(node: BlockSyntax): Block;
7076 public visitParameter(node: ParameterSyntax): Parameter;
7077 public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): MemberAccessExpression;
7078 public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): PostfixUnaryExpression;
7079 public visitElementAccessExpression(node: ElementAccessExpressionSyntax): ElementAccessExpression;
7080 public visitInvocationExpression(node: InvocationExpressionSyntax): InvocationExpression;
7081 public visitArgumentList(node: ArgumentListSyntax): ArgumentList;
7082 public visitBinaryExpression(node: BinaryExpressionSyntax): BinaryExpression;
7083 public visitConditionalExpression(node: ConditionalExpressionSyntax): ConditionalExpression;
7084 public visitConstructSignature(node: ConstructSignatureSyntax): ConstructSignature;
7085 public visitMethodSignature(node: MethodSignatureSyntax): MethodSignature;
7086 public visitIndexSignature(node: IndexSignatureSyntax): IndexSignature;
7087 public visitPropertySignature(node: PropertySignatureSyntax): PropertySignature;
7088 public visitParameterList(node: ParameterListSyntax): ParameterList;
7089 public visitCallSignature(node: CallSignatureSyntax): CallSignature;
7090 public visitTypeParameterList(node: TypeParameterListSyntax): TypeParameterList;
7091 public visitTypeParameter(node: TypeParameterSyntax): TypeParameter;
7092 public visitConstraint(node: ConstraintSyntax): Constraint;
7093 public visitIfStatement(node: IfStatementSyntax): IfStatement;
7094 public visitElseClause(node: ElseClauseSyntax): ElseClause;
7095 public visitExpressionStatement(node: ExpressionStatementSyntax): ExpressionStatement;
7096 public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): ConstructorDeclaration;
7097 public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): IndexMemberDeclaration;
7098 public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): MemberFunctionDeclaration;
7099 public visitGetAccessor(node: GetAccessorSyntax): GetAccessor;
7100 public visitSetAccessor(node: SetAccessorSyntax): SetAccessor;
7101 public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): MemberVariableDeclaration;
7102 public visitThrowStatement(node: ThrowStatementSyntax): ThrowStatement;
7103 public visitReturnStatement(node: ReturnStatementSyntax): ReturnStatement;
7104 public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): ObjectCreationExpression;
7105 public visitSwitchStatement(node: SwitchStatementSyntax): SwitchStatement;
7106 public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): CaseSwitchClause;
7107 public visitDefaultSwitchClause(node: DefaultSwitchClauseSyntax): DefaultSwitchClause;
7108 public visitBreakStatement(node: BreakStatementSyntax): BreakStatement;
7109 public visitContinueStatement(node: ContinueStatementSyntax): ContinueStatement;
7110 public visitForStatement(node: ForStatementSyntax): ForStatement;
7111 public visitForInStatement(node: ForInStatementSyntax): ForInStatement;
7112 public visitWhileStatement(node: WhileStatementSyntax): WhileStatement;
7113 public visitWithStatement(node: WithStatementSyntax): WithStatement;
7114 public visitCastExpression(node: CastExpressionSyntax): CastExpression;
7115 public visitObjectLiteralExpression(node: ObjectLiteralExpressionSyntax): ObjectLiteralExpression;
7116 public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): SimplePropertyAssignment;
7117 public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): FunctionPropertyAssignment;
7118 public visitFunctionExpression(node: FunctionExpressionSyntax): FunctionExpression;
7119 public visitEmptyStatement(node: EmptyStatementSyntax): EmptyStatement;
7120 public visitTryStatement(node: TryStatementSyntax): TryStatement;
7121 public visitCatchClause(node: CatchClauseSyntax): CatchClause;
7122 public visitFinallyClause(node: FinallyClauseSyntax): FinallyClause;
7123 public visitLabeledStatement(node: LabeledStatementSyntax): LabeledStatement;
7124 public visitDoStatement(node: DoStatementSyntax): DoStatement;
7125 public visitTypeOfExpression(node: TypeOfExpressionSyntax): TypeOfExpression;
7126 public visitDeleteExpression(node: DeleteExpressionSyntax): DeleteExpression;
7127 public visitVoidExpression(node: VoidExpressionSyntax): VoidExpression;
7128 public visitDebuggerStatement(node: DebuggerStatementSyntax): DebuggerStatement;
7129 }
7130 var fileResolutionTime: number;
7131 var fileResolutionIOTime: number;
7132 var fileResolutionScanImportsTime: number;
7133 var fileResolutionImportFileSearchTime: number;
7134 var fileResolutionGetDefaultLibraryTime: number;
7135 var sourceCharactersCompiled: number;
7136 var syntaxTreeParseTime: number;
7137 var syntaxDiagnosticsTime: number;
7138 var astTranslationTime: number;
7139 var typeCheckTime: number;
7140 var compilerResolvePathTime: number;
7141 var compilerDirectoryNameTime: number;
7142 var compilerDirectoryExistsTime: number;
7143 var compilerFileExistsTime: number;
7144 var emitTime: number;
7145 var emitWriteFileTime: number;
7146 var declarationEmitTime: number;
7147 var declarationEmitIsExternallyVisibleTime: number;
7148 var declarationEmitTypeSignatureTime: number;
7149 var declarationEmitGetBoundDeclTypeTime: number;
7150 var declarationEmitIsOverloadedCallSignatureTime: number;
7151 var declarationEmitFunctionDeclarationGetSymbolTime: number;
7152 var declarationEmitGetBaseTypeTime: number;
7153 var declarationEmitGetAccessorFunctionTime: number;
7154 var declarationEmitGetTypeParameterSymbolTime: number;
7155 var declarationEmitGetImportDeclarationSymbolTime: number;
7156 var ioHostResolvePathTime: number;
7157 var ioHostDirectoryNameTime: number;
7158 var ioHostCreateDirectoryStructureTime: number;
7159 var ioHostWriteFileTime: number;
7160 interface PullSymbolInfo {
7161 symbol: PullSymbol;
7162 aliasSymbol: PullTypeAliasSymbol;
7163 ast: AST;
7164 enclosingScopeSymbol: PullSymbol;
7165 }
7166 interface PullCallSymbolInfo {
7167 targetSymbol: PullSymbol;
7168 resolvedSignatures: PullSignatureSymbol[];
7169 candidateSignature: PullSignatureSymbol;
7170 isConstructorCall: boolean;
7171 ast: AST;
7172 enclosingScopeSymbol: PullSymbol;
7173 }
7174 interface PullVisibleSymbolsInfo {
7175 symbols: PullSymbol[];
7176 enclosingScopeSymbol: PullSymbol;
7177 }
7178 enum EmitOutputResult {
7179 Succeeded = 0,
7180 FailedBecauseOfSyntaxErrors = 1,
7181 FailedBecauseOfCompilerOptionsErrors = 2,
7182 FailedToGenerateDeclarationsBecauseOfSemanticErrors = 3,
7183 }
7184 class EmitOutput {
7185 public outputFiles: OutputFile[];
7186 public emitOutputResult: EmitOutputResult;
7187 constructor(emitOutputResult?: EmitOutputResult);
7188 }
7189 enum OutputFileType {
7190 JavaScript = 0,
7191 SourceMap = 1,
7192 Declaration = 2,
7193 }
7194 class OutputFile {
7195 public name: string;
7196 public writeByteOrderMark: boolean;
7197 public text: string;
7198 public fileType: OutputFileType;
7199 public sourceMapEntries: SourceMapEntry[];
7200 constructor(name: string, writeByteOrderMark: boolean, text: string, fileType: OutputFileType, sourceMapEntries?: SourceMapEntry[]);
7201 }
7202 class CompileResult {
7203 public diagnostics: Diagnostic[];
7204 public outputFiles: OutputFile[];
7205 static fromDiagnostics(diagnostics: Diagnostic[]): CompileResult;
7206 static fromOutputFiles(outputFiles: OutputFile[]): CompileResult;
7207 }
7208 class TypeScriptCompiler {
7209 public logger: ILogger;
7210 private _settings;
7211 private semanticInfoChain;
7212 constructor(logger?: ILogger, _settings?: ImmutableCompilationSettings);
7213 public compilationSettings(): ImmutableCompilationSettings;
7214 public setCompilationSettings(newSettings: ImmutableCompilationSettings): void;
7215 public getDocument(fileName: string): Document;
7216 public cleanupSemanticCache(): void;
7217 public addFile(fileName: string, scriptSnapshot: IScriptSnapshot, byteOrderMark: ByteOrderMark, version: number, isOpen: boolean, referencedFiles?: string[]): void;
7218 public updateFile(fileName: string, scriptSnapshot: IScriptSnapshot, version: number, isOpen: boolean, textChangeRange: TextChangeRange): void;
7219 public removeFile(fileName: string): void;
7220 public mapOutputFileName(document: Document, emitOptions: EmitOptions, extensionChanger: (fname: string, wholeFileNameReplaced: boolean) => string): string;
7221 private writeByteOrderMarkForDocument(document);
7222 static mapToDTSFileName(fileName: string, wholeFileNameReplaced: boolean): string;
7223 public _shouldEmit(document: Document): boolean;
7224 public _shouldEmitDeclarations(document: Document): boolean;
7225 private emitDocumentDeclarationsWorker(document, emitOptions, declarationEmitter?);
7226 public _emitDocumentDeclarations(document: Document, emitOptions: EmitOptions, onSingleFileEmitComplete: (files: OutputFile) => void, sharedEmitter: DeclarationEmitter): DeclarationEmitter;
7227 public emitAllDeclarations(resolvePath: (path: string) => string): EmitOutput;
7228 public emitDeclarations(fileName: string, resolvePath: (path: string) => string): EmitOutput;
7229 public canEmitDeclarations(fileName: string): boolean;
7230 static mapToFileNameExtension(extension: string, fileName: string, wholeFileNameReplaced: boolean): string;
7231 static mapToJSFileName(fileName: string, wholeFileNameReplaced: boolean): string;
7232 private emitDocumentWorker(document, emitOptions, emitter?);
7233 public _emitDocument(document: Document, emitOptions: EmitOptions, onSingleFileEmitComplete: (files: OutputFile[]) => void, sharedEmitter: Emitter): Emitter;
7234 public emitAll(resolvePath: (path: string) => string): EmitOutput;
7235 public emit(fileName: string, resolvePath: (path: string) => string): EmitOutput;
7236 public compile(resolvePath: (path: string) => string, continueOnDiagnostics?: boolean): Iterator<CompileResult>;
7237 public getSyntacticDiagnostics(fileName: string): Diagnostic[];
7238 /** Used for diagnostics in tests */
7239 private getSyntaxTree(fileName);
7240 private getSourceUnit(fileName);
7241 public getSemanticDiagnostics(fileName: string): Diagnostic[];
7242 public getCompilerOptionsDiagnostics(resolvePath: (path: string) => string): Diagnostic[];
7243 public resolveAllFiles(): void;
7244 public getSymbolOfDeclaration(decl: PullDecl): PullSymbol;
7245 private extractResolutionContextFromAST(resolver, ast, document, propagateContextualTypes);
7246 private extractResolutionContextForVariable(inContextuallyTypedAssignment, propagateContextualTypes, resolver, resolutionContext, enclosingDecl, assigningAST, init);
7247 private getASTPath(ast);
7248 public pullGetSymbolInformationFromAST(ast: AST, document: Document): PullSymbolInfo;
7249 public pullGetCallInformationFromAST(ast: AST, document: Document): PullCallSymbolInfo;
7250 public pullGetVisibleMemberSymbolsFromAST(ast: AST, document: Document): PullVisibleSymbolsInfo;
7251 public pullGetVisibleDeclsFromAST(ast: AST, document: Document): PullDecl[];
7252 public pullGetContextualMembersFromAST(ast: AST, document: Document): PullVisibleSymbolsInfo;
7253 public pullGetDeclInformation(decl: PullDecl, ast: AST, document: Document): PullSymbolInfo;
7254 public topLevelDeclaration(fileName: string): PullDecl;
7255 public getDeclForAST(ast: AST): PullDecl;
7256 public fileNames(): string[];
7257 public topLevelDecl(fileName: string): PullDecl;
7258 private static getLocationText(location);
7259 static getFullDiagnosticText(diagnostic: Diagnostic): string;
7260 }
7261 function compareDataObjects(dst: any, src: any): boolean;
7262 interface IFindFileResult {
7263 fileInformation: FileInformation;
7264 path: string;
7265 }
7266 interface IFileWatcher {
7267 close(): void;
7268 }
7269 interface IIO {
7270 readFile(path: string, codepage: number): FileInformation;
7271 appendFile(path: string, contents: string): void;
7272 writeFile(path: string, contents: string, writeByteOrderMark: boolean): void;
7273 deleteFile(path: string): void;
7274 dir(path: string, re?: RegExp, options?: {
7275 recursive?: boolean;
7276 }): string[];
7277 fileExists(path: string): boolean;
7278 directoryExists(path: string): boolean;
7279 createDirectory(path: string): void;
7280 resolvePath(path: string): string;
7281 dirName(path: string): string;
7282 findFile(rootPath: string, partialFilePath: string): IFindFileResult;
7283 print(str: string): void;
7284 printLine(str: string): void;
7285 arguments: string[];
7286 stderr: ITextWriter;
7287 stdout: ITextWriter;
7288 watchFile(fileName: string, callback: (x: string) => void): IFileWatcher;
7289 run(source: string, fileName: string): void;
7290 getExecutingFilePath(): string;
7291 quit(exitCode?: number): void;
7292 }
7293 module IOUtils {
7294 function writeFileAndFolderStructure(ioHost: IIO, fileName: string, contents: string, writeByteOrderMark: boolean): void;
7295 function throwIOError(message: string, error: Error): void;
7296 function combine(prefix: string, suffix: string): string;
7297 class BufferedTextWriter implements ITextWriter {
7298 public writer: {
7299 Write: (str: string) => void;
7300 Close: () => void;
7301 };
7302 public capacity: number;
7303 public buffer: string;
7304 constructor(writer: {
7305 Write: (str: string) => void;
7306 Close: () => void;
7307 }, capacity?: number);
7308 public Write(str: string): void;
7309 public WriteLine(str: string): void;
7310 public Close(): void;
7311 }
7312 }
7313 var IO: IIO;
7314 interface IOptions {
7315 name?: string;
7316 flag?: boolean;
7317 short?: string;
7318 usage?: {
7319 locCode: string;
7320 args: string[];
7321 };
7322 set?: (s: string) => void;
7323 type?: string;
7324 experimental?: boolean;
7325 }
7326 class OptionsParser {
7327 public host: IIO;
7328 public version: string;
7329 private DEFAULT_SHORT_FLAG;
7330 private DEFAULT_LONG_FLAG;
7331 private printedVersion;
7332 private findOption(arg);
7333 public unnamed: string[];
7334 public options: IOptions[];
7335 constructor(host: IIO, version: string);
7336 public printUsage(): void;
7337 public printVersion(): void;
7338 public option(name: string, config: IOptions, short?: string): void;
7339 public flag(name: string, config: IOptions, short?: string): void;
7340 public parseString(argString: string): void;
7341 public parse(args: string[]): void;
7342 }
7343 class BatchCompiler implements IReferenceResolverHost {
7344 private ioHost;
7345 public compilerVersion: string;
7346 private inputFiles;
7347 private compilationSettings;
7348 private resolvedFiles;
7349 private fileNameToSourceFile;
7350 private hasErrors;
7351 private logger;
7352 constructor(ioHost: IIO);
7353 public batchCompile(): void;
7354 private resolve();
7355 private compile();
7356 private parseOptions();
7357 private setLocale(locale);
7358 private setLanguageAndTerritory(language, territory);
7359 private watchFiles();
7360 private getSourceFile(fileName);
7361 private getDefaultLibraryFilePath();
7362 public getScriptSnapshot(fileName: string): IScriptSnapshot;
7363 public resolveRelativePath(path: string, directory: string): string;
7364 private fileExistsCache;
7365 public fileExists(path: string): boolean;
7366 public getParentDirectory(path: string): string;
7367 private addDiagnostic(diagnostic);
7368 private tryWriteOutputFiles(outputFiles);
7369 public writeFile(fileName: string, contents: string, writeByteOrderMark: boolean): void;
7370 public directoryExists(path: string): boolean;
7371 private resolvePathCache;
7372 public resolvePath(path: string): string;
7373 }
7374 module Syntax {
7375 var emptySeparatedList: ISeparatedSyntaxList;
7376 function separatedList(nodes: ISyntaxNodeOrToken[]): ISeparatedSyntaxList;
7377 function emptySourceUnit(): SourceUnitSyntax;
7378 function getStandaloneExpression(positionedToken: PositionedToken): PositionedNodeOrToken;
7379 function isInModuleOrTypeContext(positionedToken: PositionedToken): boolean;
7380 function isInTypeOnlyContext(positionedToken: PositionedToken): boolean;
7381 function childOffset(parent: ISyntaxElement, child: ISyntaxElement): number;
7382 function childOffsetAt(parent: ISyntaxElement, index: number): number;
7383 function childIndex(parent: ISyntaxElement, child: ISyntaxElement): number;
7384 function nodeStructuralEquals(node1: SyntaxNode, node2: SyntaxNode): boolean;
7385 function nodeOrTokenStructuralEquals(node1: ISyntaxNodeOrToken, node2: ISyntaxNodeOrToken): boolean;
7386 function tokenStructuralEquals(token1: ISyntaxToken, token2: ISyntaxToken): boolean;
7387 function triviaListStructuralEquals(triviaList1: ISyntaxTriviaList, triviaList2: ISyntaxTriviaList): boolean;
7388 function triviaStructuralEquals(trivia1: ISyntaxTrivia, trivia2: ISyntaxTrivia): boolean;
7389 function listStructuralEquals(list1: ISyntaxList, list2: ISyntaxList): boolean;
7390 function separatedListStructuralEquals(list1: ISeparatedSyntaxList, list2: ISeparatedSyntaxList): boolean;
7391 function elementStructuralEquals(element1: ISyntaxElement, element2: ISyntaxElement): boolean;
7392 function identifierName(text: string, info?: ITokenInfo): ISyntaxToken;
7393 function trueExpression(): IUnaryExpressionSyntax;
7394 function falseExpression(): IUnaryExpressionSyntax;
7395 function numericLiteralExpression(text: string): IUnaryExpressionSyntax;
7396 function stringLiteralExpression(text: string): IUnaryExpressionSyntax;
7397 function isSuperInvocationExpression(node: IExpressionSyntax): boolean;
7398 function isSuperInvocationExpressionStatement(node: SyntaxNode): boolean;
7399 function isSuperMemberAccessExpression(node: IExpressionSyntax): boolean;
7400 function isSuperMemberAccessInvocationExpression(node: SyntaxNode): boolean;
7401 function assignmentExpression(left: IExpressionSyntax, token: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax;
7402 function nodeHasSkippedOrMissingTokens(node: SyntaxNode): boolean;
7403 function isUnterminatedStringLiteral(token: ISyntaxToken): boolean;
7404 function isUnterminatedMultilineCommentTrivia(trivia: ISyntaxTrivia): boolean;
7405 function isEntirelyInsideCommentTrivia(trivia: ISyntaxTrivia, fullStart: number, position: number): boolean;
7406 function isEntirelyInsideComment(sourceUnit: SourceUnitSyntax, position: number): boolean;
7407 function isEntirelyInStringOrRegularExpressionLiteral(sourceUnit: SourceUnitSyntax, position: number): boolean;
7408 function findSkippedTokenInLeadingTriviaList(positionedToken: PositionedToken, position: number): PositionedSkippedToken;
7409 function findSkippedTokenInTrailingTriviaList(positionedToken: PositionedToken, position: number): PositionedSkippedToken;
7410 function findSkippedTokenInPositionedToken(positionedToken: PositionedToken, position: number): PositionedSkippedToken;
7411 function findSkippedTokenOnLeft(positionedToken: PositionedToken, position: number): PositionedSkippedToken;
7412 function getAncestorOfKind(positionedToken: PositionedElement, kind: SyntaxKind): PositionedElement;
7413 function hasAncestorOfKind(positionedToken: PositionedElement, kind: SyntaxKind): boolean;
7414 function isIntegerLiteral(expression: IExpressionSyntax): boolean;
7415 interface IFactory {
7416 sourceUnit(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax;
7417 externalModuleReference(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax;
7418 moduleNameModuleReference(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax;
7419 importDeclaration(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax;
7420 exportAssignment(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax;
7421 classDeclaration(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax;
7422 interfaceDeclaration(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax;
7423 heritageClause(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax;
7424 moduleDeclaration(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax;
7425 functionDeclaration(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax;
7426 variableStatement(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax;
7427 variableDeclaration(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax;
7428 variableDeclarator(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax;
7429 equalsValueClause(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax;
7430 prefixUnaryExpression(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax;
7431 arrayLiteralExpression(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax;
7432 omittedExpression(): OmittedExpressionSyntax;
7433 parenthesizedExpression(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax;
7434 simpleArrowFunctionExpression(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax;
7435 parenthesizedArrowFunctionExpression(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax;
7436 qualifiedName(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax;
7437 typeArgumentList(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax;
7438 constructorType(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax;
7439 functionType(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax;
7440 objectType(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax;
7441 arrayType(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax;
7442 genericType(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax;
7443 typeQuery(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax;
7444 typeAnnotation(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax;
7445 block(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax;
7446 parameter(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax;
7447 memberAccessExpression(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax;
7448 postfixUnaryExpression(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax;
7449 elementAccessExpression(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax;
7450 invocationExpression(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax;
7451 argumentList(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax;
7452 binaryExpression(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax;
7453 conditionalExpression(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax;
7454 constructSignature(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax;
7455 methodSignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax;
7456 indexSignature(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax;
7457 propertySignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax;
7458 callSignature(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax;
7459 parameterList(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax;
7460 typeParameterList(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax;
7461 typeParameter(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax;
7462 constraint(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax;
7463 elseClause(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax;
7464 ifStatement(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax;
7465 expressionStatement(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax;
7466 constructorDeclaration(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax;
7467 memberFunctionDeclaration(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax;
7468 getAccessor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax;
7469 setAccessor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax;
7470 memberVariableDeclaration(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax;
7471 indexMemberDeclaration(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax;
7472 throwStatement(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax;
7473 returnStatement(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax;
7474 objectCreationExpression(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax;
7475 switchStatement(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax;
7476 caseSwitchClause(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax;
7477 defaultSwitchClause(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax;
7478 breakStatement(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax;
7479 continueStatement(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax;
7480 forStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax;
7481 forInStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax;
7482 whileStatement(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax;
7483 withStatement(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax;
7484 enumDeclaration(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax;
7485 enumElement(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax;
7486 castExpression(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax;
7487 objectLiteralExpression(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax;
7488 simplePropertyAssignment(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax;
7489 functionPropertyAssignment(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax;
7490 functionExpression(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax;
7491 emptyStatement(semicolonToken: ISyntaxToken): EmptyStatementSyntax;
7492 tryStatement(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax;
7493 catchClause(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax;
7494 finallyClause(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax;
7495 labeledStatement(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax;
7496 doStatement(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax;
7497 typeOfExpression(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax;
7498 deleteExpression(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax;
7499 voidExpression(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax;
7500 debuggerStatement(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax;
7501 }
7502 class NormalModeFactory implements IFactory {
7503 public sourceUnit(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax;
7504 public externalModuleReference(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax;
7505 public moduleNameModuleReference(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax;
7506 public importDeclaration(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax;
7507 public exportAssignment(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax;
7508 public classDeclaration(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax;
7509 public interfaceDeclaration(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax;
7510 public heritageClause(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax;
7511 public moduleDeclaration(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax;
7512 public functionDeclaration(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax;
7513 public variableStatement(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax;
7514 public variableDeclaration(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax;
7515 public variableDeclarator(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax;
7516 public equalsValueClause(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax;
7517 public prefixUnaryExpression(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax;
7518 public arrayLiteralExpression(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax;
7519 public omittedExpression(): OmittedExpressionSyntax;
7520 public parenthesizedExpression(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax;
7521 public simpleArrowFunctionExpression(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax;
7522 public parenthesizedArrowFunctionExpression(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax;
7523 public qualifiedName(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax;
7524 public typeArgumentList(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax;
7525 public constructorType(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax;
7526 public functionType(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax;
7527 public objectType(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax;
7528 public arrayType(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax;
7529 public genericType(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax;
7530 public typeQuery(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax;
7531 public typeAnnotation(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax;
7532 public block(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax;
7533 public parameter(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax;
7534 public memberAccessExpression(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax;
7535 public postfixUnaryExpression(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax;
7536 public elementAccessExpression(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax;
7537 public invocationExpression(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax;
7538 public argumentList(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax;
7539 public binaryExpression(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax;
7540 public conditionalExpression(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax;
7541 public constructSignature(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax;
7542 public methodSignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax;
7543 public indexSignature(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax;
7544 public propertySignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax;
7545 public callSignature(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax;
7546 public parameterList(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax;
7547 public typeParameterList(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax;
7548 public typeParameter(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax;
7549 public constraint(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax;
7550 public elseClause(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax;
7551 public ifStatement(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax;
7552 public expressionStatement(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax;
7553 public constructorDeclaration(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax;
7554 public memberFunctionDeclaration(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax;
7555 public getAccessor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax;
7556 public setAccessor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax;
7557 public memberVariableDeclaration(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax;
7558 public indexMemberDeclaration(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax;
7559 public throwStatement(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax;
7560 public returnStatement(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax;
7561 public objectCreationExpression(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax;
7562 public switchStatement(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax;
7563 public caseSwitchClause(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax;
7564 public defaultSwitchClause(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax;
7565 public breakStatement(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax;
7566 public continueStatement(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax;
7567 public forStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax;
7568 public forInStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax;
7569 public whileStatement(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax;
7570 public withStatement(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax;
7571 public enumDeclaration(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax;
7572 public enumElement(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax;
7573 public castExpression(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax;
7574 public objectLiteralExpression(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax;
7575 public simplePropertyAssignment(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax;
7576 public functionPropertyAssignment(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax;
7577 public functionExpression(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax;
7578 public emptyStatement(semicolonToken: ISyntaxToken): EmptyStatementSyntax;
7579 public tryStatement(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax;
7580 public catchClause(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax;
7581 public finallyClause(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax;
7582 public labeledStatement(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax;
7583 public doStatement(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax;
7584 public typeOfExpression(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax;
7585 public deleteExpression(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax;
7586 public voidExpression(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax;
7587 public debuggerStatement(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax;
7588 }
7589 class StrictModeFactory implements IFactory {
7590 public sourceUnit(moduleElements: ISyntaxList, endOfFileToken: ISyntaxToken): SourceUnitSyntax;
7591 public externalModuleReference(requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken): ExternalModuleReferenceSyntax;
7592 public moduleNameModuleReference(moduleName: INameSyntax): ModuleNameModuleReferenceSyntax;
7593 public importDeclaration(modifiers: ISyntaxList, importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken): ImportDeclarationSyntax;
7594 public exportAssignment(exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ExportAssignmentSyntax;
7595 public classDeclaration(modifiers: ISyntaxList, classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, openBraceToken: ISyntaxToken, classElements: ISyntaxList, closeBraceToken: ISyntaxToken): ClassDeclarationSyntax;
7596 public interfaceDeclaration(modifiers: ISyntaxList, interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: ISyntaxList, body: ObjectTypeSyntax): InterfaceDeclarationSyntax;
7597 public heritageClause(kind: SyntaxKind, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList): HeritageClauseSyntax;
7598 public moduleDeclaration(modifiers: ISyntaxList, moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: ISyntaxList, closeBraceToken: ISyntaxToken): ModuleDeclarationSyntax;
7599 public functionDeclaration(modifiers: ISyntaxList, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): FunctionDeclarationSyntax;
7600 public variableStatement(modifiers: ISyntaxList, variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken): VariableStatementSyntax;
7601 public variableDeclaration(varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList): VariableDeclarationSyntax;
7602 public variableDeclarator(propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): VariableDeclaratorSyntax;
7603 public equalsValueClause(equalsToken: ISyntaxToken, value: IExpressionSyntax): EqualsValueClauseSyntax;
7604 public prefixUnaryExpression(kind: SyntaxKind, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax): PrefixUnaryExpressionSyntax;
7605 public arrayLiteralExpression(openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken): ArrayLiteralExpressionSyntax;
7606 public omittedExpression(): OmittedExpressionSyntax;
7607 public parenthesizedExpression(openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken): ParenthesizedExpressionSyntax;
7608 public simpleArrowFunctionExpression(identifier: ISyntaxToken, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): SimpleArrowFunctionExpressionSyntax;
7609 public parenthesizedArrowFunctionExpression(callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax): ParenthesizedArrowFunctionExpressionSyntax;
7610 public qualifiedName(left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken): QualifiedNameSyntax;
7611 public typeArgumentList(lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeArgumentListSyntax;
7612 public constructorType(newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): ConstructorTypeSyntax;
7613 public functionType(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax): FunctionTypeSyntax;
7614 public objectType(openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectTypeSyntax;
7615 public arrayType(type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken): ArrayTypeSyntax;
7616 public genericType(name: INameSyntax, typeArgumentList: TypeArgumentListSyntax): GenericTypeSyntax;
7617 public typeQuery(typeOfKeyword: ISyntaxToken, name: INameSyntax): TypeQuerySyntax;
7618 public typeAnnotation(colonToken: ISyntaxToken, type: ITypeSyntax): TypeAnnotationSyntax;
7619 public block(openBraceToken: ISyntaxToken, statements: ISyntaxList, closeBraceToken: ISyntaxToken): BlockSyntax;
7620 public parameter(dotDotDotToken: ISyntaxToken, modifiers: ISyntaxList, identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax): ParameterSyntax;
7621 public memberAccessExpression(expression: IExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken): MemberAccessExpressionSyntax;
7622 public postfixUnaryExpression(kind: SyntaxKind, operand: IMemberExpressionSyntax, operatorToken: ISyntaxToken): PostfixUnaryExpressionSyntax;
7623 public elementAccessExpression(expression: IExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken): ElementAccessExpressionSyntax;
7624 public invocationExpression(expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): InvocationExpressionSyntax;
7625 public argumentList(typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ArgumentListSyntax;
7626 public binaryExpression(kind: SyntaxKind, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax): BinaryExpressionSyntax;
7627 public conditionalExpression(condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax): ConditionalExpressionSyntax;
7628 public constructSignature(newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax): ConstructSignatureSyntax;
7629 public methodSignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax): MethodSignatureSyntax;
7630 public indexSignature(openBracketToken: ISyntaxToken, parameter: ParameterSyntax, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): IndexSignatureSyntax;
7631 public propertySignature(propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax): PropertySignatureSyntax;
7632 public callSignature(typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax): CallSignatureSyntax;
7633 public parameterList(openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken): ParameterListSyntax;
7634 public typeParameterList(lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken): TypeParameterListSyntax;
7635 public typeParameter(identifier: ISyntaxToken, constraint: ConstraintSyntax): TypeParameterSyntax;
7636 public constraint(extendsKeyword: ISyntaxToken, type: ITypeSyntax): ConstraintSyntax;
7637 public elseClause(elseKeyword: ISyntaxToken, statement: IStatementSyntax): ElseClauseSyntax;
7638 public ifStatement(ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax): IfStatementSyntax;
7639 public expressionStatement(expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ExpressionStatementSyntax;
7640 public constructorDeclaration(modifiers: ISyntaxList, constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): ConstructorDeclarationSyntax;
7641 public memberFunctionDeclaration(modifiers: ISyntaxList, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken): MemberFunctionDeclarationSyntax;
7642 public getAccessor(modifiers: ISyntaxList, getKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax, block: BlockSyntax): GetAccessorSyntax;
7643 public setAccessor(modifiers: ISyntaxList, setKeyword: ISyntaxToken, propertyName: ISyntaxToken, parameterList: ParameterListSyntax, block: BlockSyntax): SetAccessorSyntax;
7644 public memberVariableDeclaration(modifiers: ISyntaxList, variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken): MemberVariableDeclarationSyntax;
7645 public indexMemberDeclaration(modifiers: ISyntaxList, indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken): IndexMemberDeclarationSyntax;
7646 public throwStatement(throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ThrowStatementSyntax;
7647 public returnStatement(returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken): ReturnStatementSyntax;
7648 public objectCreationExpression(newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax): ObjectCreationExpressionSyntax;
7649 public switchStatement(switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISyntaxList, closeBraceToken: ISyntaxToken): SwitchStatementSyntax;
7650 public caseSwitchClause(caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: ISyntaxList): CaseSwitchClauseSyntax;
7651 public defaultSwitchClause(defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: ISyntaxList): DefaultSwitchClauseSyntax;
7652 public breakStatement(breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): BreakStatementSyntax;
7653 public continueStatement(continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken): ContinueStatementSyntax;
7654 public forStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForStatementSyntax;
7655 public forInStatement(forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): ForInStatementSyntax;
7656 public whileStatement(whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WhileStatementSyntax;
7657 public withStatement(withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax): WithStatementSyntax;
7658 public enumDeclaration(modifiers: ISyntaxList, enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): EnumDeclarationSyntax;
7659 public enumElement(propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax): EnumElementSyntax;
7660 public castExpression(lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax): CastExpressionSyntax;
7661 public objectLiteralExpression(openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken): ObjectLiteralExpressionSyntax;
7662 public simplePropertyAssignment(propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax): SimplePropertyAssignmentSyntax;
7663 public functionPropertyAssignment(propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionPropertyAssignmentSyntax;
7664 public functionExpression(functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax): FunctionExpressionSyntax;
7665 public emptyStatement(semicolonToken: ISyntaxToken): EmptyStatementSyntax;
7666 public tryStatement(tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax): TryStatementSyntax;
7667 public catchClause(catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax): CatchClauseSyntax;
7668 public finallyClause(finallyKeyword: ISyntaxToken, block: BlockSyntax): FinallyClauseSyntax;
7669 public labeledStatement(identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax): LabeledStatementSyntax;
7670 public doStatement(doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken): DoStatementSyntax;
7671 public typeOfExpression(typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): TypeOfExpressionSyntax;
7672 public deleteExpression(deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): DeleteExpressionSyntax;
7673 public voidExpression(voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax): VoidExpressionSyntax;
7674 public debuggerStatement(debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken): DebuggerStatementSyntax;
7675 }
7676 var normalModeFactory: IFactory;
7677 var strictModeFactory: IFactory;
7678 class EmptySyntaxList implements ISyntaxList {
7679 public kind(): SyntaxKind;
7680 public isNode(): boolean;
7681 public isToken(): boolean;
7682 public isList(): boolean;
7683 public isSeparatedList(): boolean;
7684 public toJSON(key: any): any;
7685 public childCount(): number;
7686 public childAt(index: number): ISyntaxNodeOrToken;
7687 public toArray(): ISyntaxNodeOrToken[];
7688 public collectTextElements(elements: string[]): void;
7689 public firstToken(): ISyntaxToken;
7690 public lastToken(): ISyntaxToken;
7691 public fullWidth(): number;
7692 public width(): number;
7693 public leadingTrivia(): ISyntaxTriviaList;
7694 public trailingTrivia(): ISyntaxTriviaList;
7695 public leadingTriviaWidth(): number;
7696 public trailingTriviaWidth(): number;
7697 public fullText(): string;
7698 public isTypeScriptSpecific(): boolean;
7699 public isIncrementallyUnusable(): boolean;
7700 public findTokenInternal(parent: PositionedElement, position: number, fullStart: number): PositionedToken;
7701 public insertChildrenInto(array: ISyntaxElement[], index: number): void;
7702 }
7703 var emptyList: ISyntaxList;
7704 function list(nodes: ISyntaxNodeOrToken[]): ISyntaxList;
7705 class VariableWidthTokenWithNoTrivia implements ISyntaxToken {
7706 private _fullText;
7707 public tokenKind: SyntaxKind;
7708 constructor(fullText: string, kind: SyntaxKind);
7709 public clone(): ISyntaxToken;
7710 public isNode(): boolean;
7711 public isToken(): boolean;
7712 public isList(): boolean;
7713 public isSeparatedList(): boolean;
7714 public kind(): SyntaxKind;
7715 public childCount(): number;
7716 public childAt(index: number): ISyntaxElement;
7717 public fullWidth(): number;
7718 public width(): number;
7719 public text(): string;
7720 public fullText(): string;
7721 public value(): any;
7722 public valueText(): string;
7723 public hasLeadingTrivia(): boolean;
7724 public hasLeadingComment(): boolean;
7725 public hasLeadingNewLine(): boolean;
7726 public hasLeadingSkippedText(): boolean;
7727 public leadingTriviaWidth(): number;
7728 public leadingTrivia(): ISyntaxTriviaList;
7729 public hasTrailingTrivia(): boolean;
7730 public hasTrailingComment(): boolean;
7731 public hasTrailingNewLine(): boolean;
7732 public hasTrailingSkippedText(): boolean;
7733 public trailingTriviaWidth(): number;
7734 public trailingTrivia(): ISyntaxTriviaList;
7735 public hasSkippedToken(): boolean;
7736 public toJSON(key: any): any;
7737 public firstToken(): ISyntaxToken;
7738 public lastToken(): ISyntaxToken;
7739 public isTypeScriptSpecific(): boolean;
7740 public isIncrementallyUnusable(): boolean;
7741 public accept(visitor: ISyntaxVisitor): any;
7742 private realize();
7743 public collectTextElements(elements: string[]): void;
7744 private findTokenInternal(parent, position, fullStart);
7745 public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken;
7746 public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken;
7747 public isExpression(): boolean;
7748 public isPrimaryExpression(): boolean;
7749 public isMemberExpression(): boolean;
7750 public isPostfixExpression(): boolean;
7751 public isUnaryExpression(): boolean;
7752 }
7753 class VariableWidthTokenWithLeadingTrivia implements ISyntaxToken {
7754 private _fullText;
7755 public tokenKind: SyntaxKind;
7756 private _leadingTriviaInfo;
7757 constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number);
7758 public clone(): ISyntaxToken;
7759 public isNode(): boolean;
7760 public isToken(): boolean;
7761 public isList(): boolean;
7762 public isSeparatedList(): boolean;
7763 public kind(): SyntaxKind;
7764 public childCount(): number;
7765 public childAt(index: number): ISyntaxElement;
7766 public fullWidth(): number;
7767 public width(): number;
7768 public text(): string;
7769 public fullText(): string;
7770 public value(): any;
7771 public valueText(): string;
7772 public hasLeadingTrivia(): boolean;
7773 public hasLeadingComment(): boolean;
7774 public hasLeadingNewLine(): boolean;
7775 public hasLeadingSkippedText(): boolean;
7776 public leadingTriviaWidth(): number;
7777 public leadingTrivia(): ISyntaxTriviaList;
7778 public hasTrailingTrivia(): boolean;
7779 public hasTrailingComment(): boolean;
7780 public hasTrailingNewLine(): boolean;
7781 public hasTrailingSkippedText(): boolean;
7782 public trailingTriviaWidth(): number;
7783 public trailingTrivia(): ISyntaxTriviaList;
7784 public hasSkippedToken(): boolean;
7785 public toJSON(key: any): any;
7786 public firstToken(): ISyntaxToken;
7787 public lastToken(): ISyntaxToken;
7788 public isTypeScriptSpecific(): boolean;
7789 public isIncrementallyUnusable(): boolean;
7790 public accept(visitor: ISyntaxVisitor): any;
7791 private realize();
7792 public collectTextElements(elements: string[]): void;
7793 private findTokenInternal(parent, position, fullStart);
7794 public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken;
7795 public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken;
7796 public isExpression(): boolean;
7797 public isPrimaryExpression(): boolean;
7798 public isMemberExpression(): boolean;
7799 public isPostfixExpression(): boolean;
7800 public isUnaryExpression(): boolean;
7801 }
7802 class VariableWidthTokenWithTrailingTrivia implements ISyntaxToken {
7803 private _fullText;
7804 public tokenKind: SyntaxKind;
7805 private _trailingTriviaInfo;
7806 constructor(fullText: string, kind: SyntaxKind, trailingTriviaInfo: number);
7807 public clone(): ISyntaxToken;
7808 public isNode(): boolean;
7809 public isToken(): boolean;
7810 public isList(): boolean;
7811 public isSeparatedList(): boolean;
7812 public kind(): SyntaxKind;
7813 public childCount(): number;
7814 public childAt(index: number): ISyntaxElement;
7815 public fullWidth(): number;
7816 public width(): number;
7817 public text(): string;
7818 public fullText(): string;
7819 public value(): any;
7820 public valueText(): string;
7821 public hasLeadingTrivia(): boolean;
7822 public hasLeadingComment(): boolean;
7823 public hasLeadingNewLine(): boolean;
7824 public hasLeadingSkippedText(): boolean;
7825 public leadingTriviaWidth(): number;
7826 public leadingTrivia(): ISyntaxTriviaList;
7827 public hasTrailingTrivia(): boolean;
7828 public hasTrailingComment(): boolean;
7829 public hasTrailingNewLine(): boolean;
7830 public hasTrailingSkippedText(): boolean;
7831 public trailingTriviaWidth(): number;
7832 public trailingTrivia(): ISyntaxTriviaList;
7833 public hasSkippedToken(): boolean;
7834 public toJSON(key: any): any;
7835 public firstToken(): ISyntaxToken;
7836 public lastToken(): ISyntaxToken;
7837 public isTypeScriptSpecific(): boolean;
7838 public isIncrementallyUnusable(): boolean;
7839 public accept(visitor: ISyntaxVisitor): any;
7840 private realize();
7841 public collectTextElements(elements: string[]): void;
7842 private findTokenInternal(parent, position, fullStart);
7843 public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken;
7844 public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken;
7845 public isExpression(): boolean;
7846 public isPrimaryExpression(): boolean;
7847 public isMemberExpression(): boolean;
7848 public isPostfixExpression(): boolean;
7849 public isUnaryExpression(): boolean;
7850 }
7851 class VariableWidthTokenWithLeadingAndTrailingTrivia implements ISyntaxToken {
7852 private _fullText;
7853 public tokenKind: SyntaxKind;
7854 private _leadingTriviaInfo;
7855 private _trailingTriviaInfo;
7856 constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number, trailingTriviaInfo: number);
7857 public clone(): ISyntaxToken;
7858 public isNode(): boolean;
7859 public isToken(): boolean;
7860 public isList(): boolean;
7861 public isSeparatedList(): boolean;
7862 public kind(): SyntaxKind;
7863 public childCount(): number;
7864 public childAt(index: number): ISyntaxElement;
7865 public fullWidth(): number;
7866 public width(): number;
7867 public text(): string;
7868 public fullText(): string;
7869 public value(): any;
7870 public valueText(): string;
7871 public hasLeadingTrivia(): boolean;
7872 public hasLeadingComment(): boolean;
7873 public hasLeadingNewLine(): boolean;
7874 public hasLeadingSkippedText(): boolean;
7875 public leadingTriviaWidth(): number;
7876 public leadingTrivia(): ISyntaxTriviaList;
7877 public hasTrailingTrivia(): boolean;
7878 public hasTrailingComment(): boolean;
7879 public hasTrailingNewLine(): boolean;
7880 public hasTrailingSkippedText(): boolean;
7881 public trailingTriviaWidth(): number;
7882 public trailingTrivia(): ISyntaxTriviaList;
7883 public hasSkippedToken(): boolean;
7884 public toJSON(key: any): any;
7885 public firstToken(): ISyntaxToken;
7886 public lastToken(): ISyntaxToken;
7887 public isTypeScriptSpecific(): boolean;
7888 public isIncrementallyUnusable(): boolean;
7889 public accept(visitor: ISyntaxVisitor): any;
7890 private realize();
7891 public collectTextElements(elements: string[]): void;
7892 private findTokenInternal(parent, position, fullStart);
7893 public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken;
7894 public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken;
7895 public isExpression(): boolean;
7896 public isPrimaryExpression(): boolean;
7897 public isMemberExpression(): boolean;
7898 public isPostfixExpression(): boolean;
7899 public isUnaryExpression(): boolean;
7900 }
7901 class FixedWidthTokenWithNoTrivia implements ISyntaxToken {
7902 public tokenKind: SyntaxKind;
7903 constructor(kind: SyntaxKind);
7904 public clone(): ISyntaxToken;
7905 public isNode(): boolean;
7906 public isToken(): boolean;
7907 public isList(): boolean;
7908 public isSeparatedList(): boolean;
7909 public kind(): SyntaxKind;
7910 public childCount(): number;
7911 public childAt(index: number): ISyntaxElement;
7912 public fullWidth(): number;
7913 public width(): number;
7914 public text(): string;
7915 public fullText(): string;
7916 public value(): any;
7917 public valueText(): string;
7918 public hasLeadingTrivia(): boolean;
7919 public hasLeadingComment(): boolean;
7920 public hasLeadingNewLine(): boolean;
7921 public hasLeadingSkippedText(): boolean;
7922 public leadingTriviaWidth(): number;
7923 public leadingTrivia(): ISyntaxTriviaList;
7924 public hasTrailingTrivia(): boolean;
7925 public hasTrailingComment(): boolean;
7926 public hasTrailingNewLine(): boolean;
7927 public hasTrailingSkippedText(): boolean;
7928 public trailingTriviaWidth(): number;
7929 public trailingTrivia(): ISyntaxTriviaList;
7930 public hasSkippedToken(): boolean;
7931 public toJSON(key: any): any;
7932 public firstToken(): ISyntaxToken;
7933 public lastToken(): ISyntaxToken;
7934 public isTypeScriptSpecific(): boolean;
7935 public isIncrementallyUnusable(): boolean;
7936 public accept(visitor: ISyntaxVisitor): any;
7937 private realize();
7938 public collectTextElements(elements: string[]): void;
7939 private findTokenInternal(parent, position, fullStart);
7940 public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken;
7941 public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken;
7942 public isExpression(): boolean;
7943 public isPrimaryExpression(): boolean;
7944 public isMemberExpression(): boolean;
7945 public isPostfixExpression(): boolean;
7946 public isUnaryExpression(): boolean;
7947 }
7948 class FixedWidthTokenWithLeadingTrivia implements ISyntaxToken {
7949 private _fullText;
7950 public tokenKind: SyntaxKind;
7951 private _leadingTriviaInfo;
7952 constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number);
7953 public clone(): ISyntaxToken;
7954 public isNode(): boolean;
7955 public isToken(): boolean;
7956 public isList(): boolean;
7957 public isSeparatedList(): boolean;
7958 public kind(): SyntaxKind;
7959 public childCount(): number;
7960 public childAt(index: number): ISyntaxElement;
7961 public fullWidth(): number;
7962 public width(): number;
7963 public text(): string;
7964 public fullText(): string;
7965 public value(): any;
7966 public valueText(): string;
7967 public hasLeadingTrivia(): boolean;
7968 public hasLeadingComment(): boolean;
7969 public hasLeadingNewLine(): boolean;
7970 public hasLeadingSkippedText(): boolean;
7971 public leadingTriviaWidth(): number;
7972 public leadingTrivia(): ISyntaxTriviaList;
7973 public hasTrailingTrivia(): boolean;
7974 public hasTrailingComment(): boolean;
7975 public hasTrailingNewLine(): boolean;
7976 public hasTrailingSkippedText(): boolean;
7977 public trailingTriviaWidth(): number;
7978 public trailingTrivia(): ISyntaxTriviaList;
7979 public hasSkippedToken(): boolean;
7980 public toJSON(key: any): any;
7981 public firstToken(): ISyntaxToken;
7982 public lastToken(): ISyntaxToken;
7983 public isTypeScriptSpecific(): boolean;
7984 public isIncrementallyUnusable(): boolean;
7985 public accept(visitor: ISyntaxVisitor): any;
7986 private realize();
7987 public collectTextElements(elements: string[]): void;
7988 private findTokenInternal(parent, position, fullStart);
7989 public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken;
7990 public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken;
7991 public isExpression(): boolean;
7992 public isPrimaryExpression(): boolean;
7993 public isMemberExpression(): boolean;
7994 public isPostfixExpression(): boolean;
7995 public isUnaryExpression(): boolean;
7996 }
7997 class FixedWidthTokenWithTrailingTrivia implements ISyntaxToken {
7998 private _fullText;
7999 public tokenKind: SyntaxKind;
8000 private _trailingTriviaInfo;
8001 constructor(fullText: string, kind: SyntaxKind, trailingTriviaInfo: number);
8002 public clone(): ISyntaxToken;
8003 public isNode(): boolean;
8004 public isToken(): boolean;
8005 public isList(): boolean;
8006 public isSeparatedList(): boolean;
8007 public kind(): SyntaxKind;
8008 public childCount(): number;
8009 public childAt(index: number): ISyntaxElement;
8010 public fullWidth(): number;
8011 public width(): number;
8012 public text(): string;
8013 public fullText(): string;
8014 public value(): any;
8015 public valueText(): string;
8016 public hasLeadingTrivia(): boolean;
8017 public hasLeadingComment(): boolean;
8018 public hasLeadingNewLine(): boolean;
8019 public hasLeadingSkippedText(): boolean;
8020 public leadingTriviaWidth(): number;
8021 public leadingTrivia(): ISyntaxTriviaList;
8022 public hasTrailingTrivia(): boolean;
8023 public hasTrailingComment(): boolean;
8024 public hasTrailingNewLine(): boolean;
8025 public hasTrailingSkippedText(): boolean;
8026 public trailingTriviaWidth(): number;
8027 public trailingTrivia(): ISyntaxTriviaList;
8028 public hasSkippedToken(): boolean;
8029 public toJSON(key: any): any;
8030 public firstToken(): ISyntaxToken;
8031 public lastToken(): ISyntaxToken;
8032 public isTypeScriptSpecific(): boolean;
8033 public isIncrementallyUnusable(): boolean;
8034 public accept(visitor: ISyntaxVisitor): any;
8035 private realize();
8036 public collectTextElements(elements: string[]): void;
8037 private findTokenInternal(parent, position, fullStart);
8038 public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken;
8039 public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken;
8040 public isExpression(): boolean;
8041 public isPrimaryExpression(): boolean;
8042 public isMemberExpression(): boolean;
8043 public isPostfixExpression(): boolean;
8044 public isUnaryExpression(): boolean;
8045 }
8046 class FixedWidthTokenWithLeadingAndTrailingTrivia implements ISyntaxToken {
8047 private _fullText;
8048 public tokenKind: SyntaxKind;
8049 private _leadingTriviaInfo;
8050 private _trailingTriviaInfo;
8051 constructor(fullText: string, kind: SyntaxKind, leadingTriviaInfo: number, trailingTriviaInfo: number);
8052 public clone(): ISyntaxToken;
8053 public isNode(): boolean;
8054 public isToken(): boolean;
8055 public isList(): boolean;
8056 public isSeparatedList(): boolean;
8057 public kind(): SyntaxKind;
8058 public childCount(): number;
8059 public childAt(index: number): ISyntaxElement;
8060 public fullWidth(): number;
8061 public width(): number;
8062 public text(): string;
8063 public fullText(): string;
8064 public value(): any;
8065 public valueText(): string;
8066 public hasLeadingTrivia(): boolean;
8067 public hasLeadingComment(): boolean;
8068 public hasLeadingNewLine(): boolean;
8069 public hasLeadingSkippedText(): boolean;
8070 public leadingTriviaWidth(): number;
8071 public leadingTrivia(): ISyntaxTriviaList;
8072 public hasTrailingTrivia(): boolean;
8073 public hasTrailingComment(): boolean;
8074 public hasTrailingNewLine(): boolean;
8075 public hasTrailingSkippedText(): boolean;
8076 public trailingTriviaWidth(): number;
8077 public trailingTrivia(): ISyntaxTriviaList;
8078 public hasSkippedToken(): boolean;
8079 public toJSON(key: any): any;
8080 public firstToken(): ISyntaxToken;
8081 public lastToken(): ISyntaxToken;
8082 public isTypeScriptSpecific(): boolean;
8083 public isIncrementallyUnusable(): boolean;
8084 public accept(visitor: ISyntaxVisitor): any;
8085 private realize();
8086 public collectTextElements(elements: string[]): void;
8087 private findTokenInternal(parent, position, fullStart);
8088 public withLeadingTrivia(leadingTrivia: ISyntaxTriviaList): ISyntaxToken;
8089 public withTrailingTrivia(trailingTrivia: ISyntaxTriviaList): ISyntaxToken;
8090 public isExpression(): boolean;
8091 public isPrimaryExpression(): boolean;
8092 public isMemberExpression(): boolean;
8093 public isPostfixExpression(): boolean;
8094 public isUnaryExpression(): boolean;
8095 }
8096 function isExpression(token: ISyntaxToken): boolean;
8097 function realizeToken(token: ISyntaxToken): ISyntaxToken;
8098 function convertToIdentifierName(token: ISyntaxToken): ISyntaxToken;
8099 function tokenToJSON(token: ISyntaxToken): any;
8100 function value(token: ISyntaxToken): any;
8101 function massageEscapes(text: string): string;
8102 function valueText(token: ISyntaxToken): string;
8103 function emptyToken(kind: SyntaxKind): ISyntaxToken;
8104 function token(kind: SyntaxKind, info?: ITokenInfo): ISyntaxToken;
8105 function identifier(text: string, info?: ITokenInfo): ISyntaxToken;
8106 function deferredTrivia(kind: SyntaxKind, text: ISimpleText, fullStart: number, fullWidth: number): ISyntaxTrivia;
8107 function trivia(kind: SyntaxKind, text: string): ISyntaxTrivia;
8108 function skippedTokenTrivia(token: ISyntaxToken): ISyntaxTrivia;
8109 function spaces(count: number): ISyntaxTrivia;
8110 function whitespace(text: string): ISyntaxTrivia;
8111 function multiLineComment(text: string): ISyntaxTrivia;
8112 function singleLineComment(text: string): ISyntaxTrivia;
8113 var spaceTrivia: ISyntaxTrivia;
8114 var lineFeedTrivia: ISyntaxTrivia;
8115 var carriageReturnTrivia: ISyntaxTrivia;
8116 var carriageReturnLineFeedTrivia: ISyntaxTrivia;
8117 function splitMultiLineCommentTriviaIntoMultipleLines(trivia: ISyntaxTrivia): string[];
8118 var emptyTriviaList: ISyntaxTriviaList;
8119 function triviaList(trivia: ISyntaxTrivia[]): ISyntaxTriviaList;
8120 var spaceTriviaList: ISyntaxTriviaList;
8121 }
8122 module SyntaxFacts {
8123 function getTokenKind(text: string): SyntaxKind;
8124 function getText(kind: SyntaxKind): string;
8125 function isTokenKind(kind: SyntaxKind): boolean;
8126 function isAnyKeyword(kind: SyntaxKind): boolean;
8127 function isStandardKeyword(kind: SyntaxKind): boolean;
8128 function isFutureReservedKeyword(kind: SyntaxKind): boolean;
8129 function isFutureReservedStrictKeyword(kind: SyntaxKind): boolean;
8130 function isAnyPunctuation(kind: SyntaxKind): boolean;
8131 function isPrefixUnaryExpressionOperatorToken(tokenKind: SyntaxKind): boolean;
8132 function isBinaryExpressionOperatorToken(tokenKind: SyntaxKind): boolean;
8133 function getPrefixUnaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind;
8134 function getPostfixUnaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind;
8135 function getBinaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind;
8136 function getOperatorTokenFromBinaryExpression(tokenKind: SyntaxKind): SyntaxKind;
8137 function isAnyDivideToken(kind: SyntaxKind): boolean;
8138 function isAnyDivideOrRegularExpressionToken(kind: SyntaxKind): boolean;
8139 function isDirectivePrologueElement(node: ISyntaxNodeOrToken): boolean;
8140 function isUseStrictDirective(node: ISyntaxNodeOrToken): boolean;
8141 function isIdentifierNameOrAnyKeyword(token: ISyntaxToken): boolean;
8142 }
8143}
8144declare class Enumerator {
8145 public atEnd(): boolean;
8146 public moveNext(): boolean;
8147 public item(): any;
8148 constructor(o: any);
8149}
8150declare class FormattingOptions {
8151 public useTabs: boolean;
8152 public spacesPerTab: number;
8153 public indentSpaces: number;
8154 public newLineCharacter: string;
8155 constructor(useTabs: boolean, spacesPerTab: number, indentSpaces: number, newLineCharacter: string);
8156 static defaultOptions: FormattingOptions;
8157}