openrewrite-remote 0.3.5__py3-none-any.whl → 0.4.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,894 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from operator import attrgetter
4
- from typing import Optional, TypeVar, cast
5
-
6
- from rewrite import Tree, TreeVisitor, Markers, Marker, Cursor
7
- from rewrite.remote import Sender, SenderContext
8
- from rewrite.python import *
9
- from rewrite.java import *
10
- from rewrite.python.support_types import *
11
- from . import extensions
12
-
13
- class PythonSender(Sender):
14
- def send(self, after: T, before: Optional[T], ctx: SenderContext) -> None:
15
- visitor = self.Visitor()
16
- visitor.visit(after, ctx.fork(visitor, before))
17
-
18
- class Visitor(PythonVisitor[SenderContext]):
19
- def visit(self, tree: Optional[Tree], ctx: SenderContext, parent: Optional[Cursor] = None) -> Py:
20
- if parent is not None:
21
- self.cursor = parent
22
-
23
- self.cursor = Cursor(self.cursor, tree)
24
- ctx.send_node(tree, lambda x: x, ctx.send_tree)
25
- self.cursor = self.cursor.parent
26
-
27
- return cast(Py, tree)
28
-
29
- def visit_python_binary(self, binary: Binary, ctx: SenderContext) -> J:
30
- ctx.send_value(binary, attrgetter('_id'))
31
- ctx.send_node(binary, attrgetter('_prefix'), PythonSender.send_space)
32
- ctx.send_node(binary, attrgetter('_markers'), ctx.send_markers)
33
- ctx.send_node(binary, attrgetter('_left'), ctx.send_tree)
34
- ctx.send_node(binary, attrgetter('_operator'), PythonSender.send_left_padded)
35
- ctx.send_node(binary, attrgetter('_negation'), PythonSender.send_space)
36
- ctx.send_node(binary, attrgetter('_right'), ctx.send_tree)
37
- ctx.send_typed_value(binary, attrgetter('_type'))
38
- return binary
39
-
40
- def visit_exception_type(self, exception_type: ExceptionType, ctx: SenderContext) -> J:
41
- ctx.send_value(exception_type, attrgetter('_id'))
42
- ctx.send_node(exception_type, attrgetter('_prefix'), PythonSender.send_space)
43
- ctx.send_node(exception_type, attrgetter('_markers'), ctx.send_markers)
44
- ctx.send_typed_value(exception_type, attrgetter('_type'))
45
- ctx.send_value(exception_type, attrgetter('_exception_group'))
46
- ctx.send_node(exception_type, attrgetter('_expression'), ctx.send_tree)
47
- return exception_type
48
-
49
- def visit_type_hint(self, type_hint: TypeHint, ctx: SenderContext) -> J:
50
- ctx.send_value(type_hint, attrgetter('_id'))
51
- ctx.send_node(type_hint, attrgetter('_prefix'), PythonSender.send_space)
52
- ctx.send_node(type_hint, attrgetter('_markers'), ctx.send_markers)
53
- ctx.send_node(type_hint, attrgetter('_type_tree'), ctx.send_tree)
54
- ctx.send_typed_value(type_hint, attrgetter('_type'))
55
- return type_hint
56
-
57
- def visit_compilation_unit(self, compilation_unit: CompilationUnit, ctx: SenderContext) -> J:
58
- ctx.send_value(compilation_unit, attrgetter('_id'))
59
- ctx.send_node(compilation_unit, attrgetter('_prefix'), PythonSender.send_space)
60
- ctx.send_node(compilation_unit, attrgetter('_markers'), ctx.send_markers)
61
- ctx.send_value(compilation_unit, attrgetter('_source_path'))
62
- ctx.send_typed_value(compilation_unit, attrgetter('_file_attributes'))
63
- ctx.send_value(compilation_unit, attrgetter('_charset_name'))
64
- ctx.send_value(compilation_unit, attrgetter('_charset_bom_marked'))
65
- ctx.send_typed_value(compilation_unit, attrgetter('_checksum'))
66
- ctx.send_nodes(compilation_unit, attrgetter('_imports'), PythonSender.send_right_padded, lambda t: t.element.id)
67
- ctx.send_nodes(compilation_unit, attrgetter('_statements'), PythonSender.send_right_padded, lambda t: t.element.id)
68
- ctx.send_node(compilation_unit, attrgetter('_eof'), PythonSender.send_space)
69
- return compilation_unit
70
-
71
- def visit_expression_statement(self, expression_statement: ExpressionStatement, ctx: SenderContext) -> J:
72
- ctx.send_value(expression_statement, attrgetter('_id'))
73
- ctx.send_node(expression_statement, attrgetter('_expression'), ctx.send_tree)
74
- return expression_statement
75
-
76
- def visit_statement_expression(self, statement_expression: StatementExpression, ctx: SenderContext) -> J:
77
- ctx.send_value(statement_expression, attrgetter('_id'))
78
- ctx.send_node(statement_expression, attrgetter('_statement'), ctx.send_tree)
79
- return statement_expression
80
-
81
- def visit_multi_import(self, multi_import: MultiImport, ctx: SenderContext) -> J:
82
- ctx.send_value(multi_import, attrgetter('_id'))
83
- ctx.send_node(multi_import, attrgetter('_prefix'), PythonSender.send_space)
84
- ctx.send_node(multi_import, attrgetter('_markers'), ctx.send_markers)
85
- ctx.send_node(multi_import, attrgetter('_from'), PythonSender.send_right_padded)
86
- ctx.send_value(multi_import, attrgetter('_parenthesized'))
87
- ctx.send_node(multi_import, attrgetter('_names'), PythonSender.send_container)
88
- return multi_import
89
-
90
- def visit_key_value(self, key_value: KeyValue, ctx: SenderContext) -> J:
91
- ctx.send_value(key_value, attrgetter('_id'))
92
- ctx.send_node(key_value, attrgetter('_prefix'), PythonSender.send_space)
93
- ctx.send_node(key_value, attrgetter('_markers'), ctx.send_markers)
94
- ctx.send_node(key_value, attrgetter('_key'), PythonSender.send_right_padded)
95
- ctx.send_node(key_value, attrgetter('_value'), ctx.send_tree)
96
- ctx.send_typed_value(key_value, attrgetter('_type'))
97
- return key_value
98
-
99
- def visit_dict_literal(self, dict_literal: DictLiteral, ctx: SenderContext) -> J:
100
- ctx.send_value(dict_literal, attrgetter('_id'))
101
- ctx.send_node(dict_literal, attrgetter('_prefix'), PythonSender.send_space)
102
- ctx.send_node(dict_literal, attrgetter('_markers'), ctx.send_markers)
103
- ctx.send_node(dict_literal, attrgetter('_elements'), PythonSender.send_container)
104
- ctx.send_typed_value(dict_literal, attrgetter('_type'))
105
- return dict_literal
106
-
107
- def visit_collection_literal(self, collection_literal: CollectionLiteral, ctx: SenderContext) -> J:
108
- ctx.send_value(collection_literal, attrgetter('_id'))
109
- ctx.send_node(collection_literal, attrgetter('_prefix'), PythonSender.send_space)
110
- ctx.send_node(collection_literal, attrgetter('_markers'), ctx.send_markers)
111
- ctx.send_value(collection_literal, attrgetter('_kind'))
112
- ctx.send_node(collection_literal, attrgetter('_elements'), PythonSender.send_container)
113
- ctx.send_typed_value(collection_literal, attrgetter('_type'))
114
- return collection_literal
115
-
116
- def visit_formatted_string(self, formatted_string: FormattedString, ctx: SenderContext) -> J:
117
- ctx.send_value(formatted_string, attrgetter('_id'))
118
- ctx.send_node(formatted_string, attrgetter('_prefix'), PythonSender.send_space)
119
- ctx.send_node(formatted_string, attrgetter('_markers'), ctx.send_markers)
120
- ctx.send_value(formatted_string, attrgetter('_delimiter'))
121
- ctx.send_nodes(formatted_string, attrgetter('_parts'), ctx.send_tree, attrgetter('id'))
122
- return formatted_string
123
-
124
- def visit_formatted_string_value(self, value: FormattedString.Value, ctx: SenderContext) -> J:
125
- ctx.send_value(value, attrgetter('_id'))
126
- ctx.send_node(value, attrgetter('_prefix'), PythonSender.send_space)
127
- ctx.send_node(value, attrgetter('_markers'), ctx.send_markers)
128
- ctx.send_node(value, attrgetter('_expression'), PythonSender.send_right_padded)
129
- ctx.send_node(value, attrgetter('_debug'), PythonSender.send_right_padded)
130
- ctx.send_value(value, attrgetter('_conversion'))
131
- ctx.send_node(value, attrgetter('_format'), ctx.send_tree)
132
- return value
133
-
134
- def visit_pass(self, pass_: Pass, ctx: SenderContext) -> J:
135
- ctx.send_value(pass_, attrgetter('_id'))
136
- ctx.send_node(pass_, attrgetter('_prefix'), PythonSender.send_space)
137
- ctx.send_node(pass_, attrgetter('_markers'), ctx.send_markers)
138
- return pass_
139
-
140
- def visit_trailing_else_wrapper(self, trailing_else_wrapper: TrailingElseWrapper, ctx: SenderContext) -> J:
141
- ctx.send_value(trailing_else_wrapper, attrgetter('_id'))
142
- ctx.send_node(trailing_else_wrapper, attrgetter('_prefix'), PythonSender.send_space)
143
- ctx.send_node(trailing_else_wrapper, attrgetter('_markers'), ctx.send_markers)
144
- ctx.send_node(trailing_else_wrapper, attrgetter('_statement'), ctx.send_tree)
145
- ctx.send_node(trailing_else_wrapper, attrgetter('_else_block'), PythonSender.send_left_padded)
146
- return trailing_else_wrapper
147
-
148
- def visit_comprehension_expression(self, comprehension_expression: ComprehensionExpression, ctx: SenderContext) -> J:
149
- ctx.send_value(comprehension_expression, attrgetter('_id'))
150
- ctx.send_node(comprehension_expression, attrgetter('_prefix'), PythonSender.send_space)
151
- ctx.send_node(comprehension_expression, attrgetter('_markers'), ctx.send_markers)
152
- ctx.send_value(comprehension_expression, attrgetter('_kind'))
153
- ctx.send_node(comprehension_expression, attrgetter('_result'), ctx.send_tree)
154
- ctx.send_nodes(comprehension_expression, attrgetter('_clauses'), ctx.send_tree, attrgetter('id'))
155
- ctx.send_node(comprehension_expression, attrgetter('_suffix'), PythonSender.send_space)
156
- ctx.send_typed_value(comprehension_expression, attrgetter('_type'))
157
- return comprehension_expression
158
-
159
- def visit_comprehension_condition(self, condition: ComprehensionExpression.Condition, ctx: SenderContext) -> J:
160
- ctx.send_value(condition, attrgetter('_id'))
161
- ctx.send_node(condition, attrgetter('_prefix'), PythonSender.send_space)
162
- ctx.send_node(condition, attrgetter('_markers'), ctx.send_markers)
163
- ctx.send_node(condition, attrgetter('_expression'), ctx.send_tree)
164
- return condition
165
-
166
- def visit_comprehension_clause(self, clause: ComprehensionExpression.Clause, ctx: SenderContext) -> J:
167
- ctx.send_value(clause, attrgetter('_id'))
168
- ctx.send_node(clause, attrgetter('_prefix'), PythonSender.send_space)
169
- ctx.send_node(clause, attrgetter('_markers'), ctx.send_markers)
170
- ctx.send_node(clause, attrgetter('_iterator_variable'), ctx.send_tree)
171
- ctx.send_node(clause, attrgetter('_iterated_list'), PythonSender.send_left_padded)
172
- ctx.send_nodes(clause, attrgetter('_conditions'), ctx.send_tree, attrgetter('id'))
173
- return clause
174
-
175
- def visit_await(self, await_: Await, ctx: SenderContext) -> J:
176
- ctx.send_value(await_, attrgetter('_id'))
177
- ctx.send_node(await_, attrgetter('_prefix'), PythonSender.send_space)
178
- ctx.send_node(await_, attrgetter('_markers'), ctx.send_markers)
179
- ctx.send_node(await_, attrgetter('_expression'), ctx.send_tree)
180
- ctx.send_typed_value(await_, attrgetter('_type'))
181
- return await_
182
-
183
- def visit_yield_from(self, yield_from: YieldFrom, ctx: SenderContext) -> J:
184
- ctx.send_value(yield_from, attrgetter('_id'))
185
- ctx.send_node(yield_from, attrgetter('_prefix'), PythonSender.send_space)
186
- ctx.send_node(yield_from, attrgetter('_markers'), ctx.send_markers)
187
- ctx.send_node(yield_from, attrgetter('_expression'), ctx.send_tree)
188
- ctx.send_typed_value(yield_from, attrgetter('_type'))
189
- return yield_from
190
-
191
- def visit_variable_scope(self, variable_scope: VariableScope, ctx: SenderContext) -> J:
192
- ctx.send_value(variable_scope, attrgetter('_id'))
193
- ctx.send_node(variable_scope, attrgetter('_prefix'), PythonSender.send_space)
194
- ctx.send_node(variable_scope, attrgetter('_markers'), ctx.send_markers)
195
- ctx.send_value(variable_scope, attrgetter('_kind'))
196
- ctx.send_nodes(variable_scope, attrgetter('_names'), PythonSender.send_right_padded, lambda t: t.element.id)
197
- return variable_scope
198
-
199
- def visit_del(self, del_: Del, ctx: SenderContext) -> J:
200
- ctx.send_value(del_, attrgetter('_id'))
201
- ctx.send_node(del_, attrgetter('_prefix'), PythonSender.send_space)
202
- ctx.send_node(del_, attrgetter('_markers'), ctx.send_markers)
203
- ctx.send_nodes(del_, attrgetter('_targets'), PythonSender.send_right_padded, lambda t: t.element.id)
204
- return del_
205
-
206
- def visit_special_parameter(self, special_parameter: SpecialParameter, ctx: SenderContext) -> J:
207
- ctx.send_value(special_parameter, attrgetter('_id'))
208
- ctx.send_node(special_parameter, attrgetter('_prefix'), PythonSender.send_space)
209
- ctx.send_node(special_parameter, attrgetter('_markers'), ctx.send_markers)
210
- ctx.send_value(special_parameter, attrgetter('_kind'))
211
- ctx.send_node(special_parameter, attrgetter('_type_hint'), ctx.send_tree)
212
- ctx.send_typed_value(special_parameter, attrgetter('_type'))
213
- return special_parameter
214
-
215
- def visit_star(self, star: Star, ctx: SenderContext) -> J:
216
- ctx.send_value(star, attrgetter('_id'))
217
- ctx.send_node(star, attrgetter('_prefix'), PythonSender.send_space)
218
- ctx.send_node(star, attrgetter('_markers'), ctx.send_markers)
219
- ctx.send_value(star, attrgetter('_kind'))
220
- ctx.send_node(star, attrgetter('_expression'), ctx.send_tree)
221
- ctx.send_typed_value(star, attrgetter('_type'))
222
- return star
223
-
224
- def visit_named_argument(self, named_argument: NamedArgument, ctx: SenderContext) -> J:
225
- ctx.send_value(named_argument, attrgetter('_id'))
226
- ctx.send_node(named_argument, attrgetter('_prefix'), PythonSender.send_space)
227
- ctx.send_node(named_argument, attrgetter('_markers'), ctx.send_markers)
228
- ctx.send_node(named_argument, attrgetter('_name'), ctx.send_tree)
229
- ctx.send_node(named_argument, attrgetter('_value'), PythonSender.send_left_padded)
230
- ctx.send_typed_value(named_argument, attrgetter('_type'))
231
- return named_argument
232
-
233
- def visit_type_hinted_expression(self, type_hinted_expression: TypeHintedExpression, ctx: SenderContext) -> J:
234
- ctx.send_value(type_hinted_expression, attrgetter('_id'))
235
- ctx.send_node(type_hinted_expression, attrgetter('_prefix'), PythonSender.send_space)
236
- ctx.send_node(type_hinted_expression, attrgetter('_markers'), ctx.send_markers)
237
- ctx.send_node(type_hinted_expression, attrgetter('_type_hint'), ctx.send_tree)
238
- ctx.send_node(type_hinted_expression, attrgetter('_expression'), ctx.send_tree)
239
- ctx.send_typed_value(type_hinted_expression, attrgetter('_type'))
240
- return type_hinted_expression
241
-
242
- def visit_error_from(self, error_from: ErrorFrom, ctx: SenderContext) -> J:
243
- ctx.send_value(error_from, attrgetter('_id'))
244
- ctx.send_node(error_from, attrgetter('_prefix'), PythonSender.send_space)
245
- ctx.send_node(error_from, attrgetter('_markers'), ctx.send_markers)
246
- ctx.send_node(error_from, attrgetter('_error'), ctx.send_tree)
247
- ctx.send_node(error_from, attrgetter('_from'), PythonSender.send_left_padded)
248
- ctx.send_typed_value(error_from, attrgetter('_type'))
249
- return error_from
250
-
251
- def visit_match_case(self, match_case: MatchCase, ctx: SenderContext) -> J:
252
- ctx.send_value(match_case, attrgetter('_id'))
253
- ctx.send_node(match_case, attrgetter('_prefix'), PythonSender.send_space)
254
- ctx.send_node(match_case, attrgetter('_markers'), ctx.send_markers)
255
- ctx.send_node(match_case, attrgetter('_pattern'), ctx.send_tree)
256
- ctx.send_node(match_case, attrgetter('_guard'), PythonSender.send_left_padded)
257
- ctx.send_typed_value(match_case, attrgetter('_type'))
258
- return match_case
259
-
260
- def visit_match_case_pattern(self, pattern: MatchCase.Pattern, ctx: SenderContext) -> J:
261
- ctx.send_value(pattern, attrgetter('_id'))
262
- ctx.send_node(pattern, attrgetter('_prefix'), PythonSender.send_space)
263
- ctx.send_node(pattern, attrgetter('_markers'), ctx.send_markers)
264
- ctx.send_value(pattern, attrgetter('_kind'))
265
- ctx.send_node(pattern, attrgetter('_children'), PythonSender.send_container)
266
- ctx.send_typed_value(pattern, attrgetter('_type'))
267
- return pattern
268
-
269
- def visit_slice(self, slice: Slice, ctx: SenderContext) -> J:
270
- ctx.send_value(slice, attrgetter('_id'))
271
- ctx.send_node(slice, attrgetter('_prefix'), PythonSender.send_space)
272
- ctx.send_node(slice, attrgetter('_markers'), ctx.send_markers)
273
- ctx.send_node(slice, attrgetter('_start'), PythonSender.send_right_padded)
274
- ctx.send_node(slice, attrgetter('_stop'), PythonSender.send_right_padded)
275
- ctx.send_node(slice, attrgetter('_step'), PythonSender.send_right_padded)
276
- return slice
277
-
278
- def visit_annotated_type(self, annotated_type: AnnotatedType, ctx: SenderContext) -> J:
279
- ctx.send_value(annotated_type, attrgetter('_id'))
280
- ctx.send_node(annotated_type, attrgetter('_prefix'), PythonSender.send_space)
281
- ctx.send_node(annotated_type, attrgetter('_markers'), ctx.send_markers)
282
- ctx.send_nodes(annotated_type, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
283
- ctx.send_node(annotated_type, attrgetter('_type_expression'), ctx.send_tree)
284
- return annotated_type
285
-
286
- def visit_annotation(self, annotation: Annotation, ctx: SenderContext) -> J:
287
- ctx.send_value(annotation, attrgetter('_id'))
288
- ctx.send_node(annotation, attrgetter('_prefix'), PythonSender.send_space)
289
- ctx.send_node(annotation, attrgetter('_markers'), ctx.send_markers)
290
- ctx.send_node(annotation, attrgetter('_annotation_type'), ctx.send_tree)
291
- ctx.send_node(annotation, attrgetter('_arguments'), PythonSender.send_container)
292
- return annotation
293
-
294
- def visit_array_access(self, array_access: ArrayAccess, ctx: SenderContext) -> J:
295
- ctx.send_value(array_access, attrgetter('_id'))
296
- ctx.send_node(array_access, attrgetter('_prefix'), PythonSender.send_space)
297
- ctx.send_node(array_access, attrgetter('_markers'), ctx.send_markers)
298
- ctx.send_node(array_access, attrgetter('_indexed'), ctx.send_tree)
299
- ctx.send_node(array_access, attrgetter('_dimension'), ctx.send_tree)
300
- ctx.send_typed_value(array_access, attrgetter('_type'))
301
- return array_access
302
-
303
- def visit_array_type(self, array_type: ArrayType, ctx: SenderContext) -> J:
304
- ctx.send_value(array_type, attrgetter('_id'))
305
- ctx.send_node(array_type, attrgetter('_prefix'), PythonSender.send_space)
306
- ctx.send_node(array_type, attrgetter('_markers'), ctx.send_markers)
307
- ctx.send_node(array_type, attrgetter('_element_type'), ctx.send_tree)
308
- ctx.send_nodes(array_type, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
309
- ctx.send_node(array_type, attrgetter('_dimension'), PythonSender.send_left_padded)
310
- ctx.send_typed_value(array_type, attrgetter('_type'))
311
- return array_type
312
-
313
- def visit_assert(self, assert_: Assert, ctx: SenderContext) -> J:
314
- ctx.send_value(assert_, attrgetter('_id'))
315
- ctx.send_node(assert_, attrgetter('_prefix'), PythonSender.send_space)
316
- ctx.send_node(assert_, attrgetter('_markers'), ctx.send_markers)
317
- ctx.send_node(assert_, attrgetter('_condition'), ctx.send_tree)
318
- ctx.send_node(assert_, attrgetter('_detail'), PythonSender.send_left_padded)
319
- return assert_
320
-
321
- def visit_assignment(self, assignment: Assignment, ctx: SenderContext) -> J:
322
- ctx.send_value(assignment, attrgetter('_id'))
323
- ctx.send_node(assignment, attrgetter('_prefix'), PythonSender.send_space)
324
- ctx.send_node(assignment, attrgetter('_markers'), ctx.send_markers)
325
- ctx.send_node(assignment, attrgetter('_variable'), ctx.send_tree)
326
- ctx.send_node(assignment, attrgetter('_assignment'), PythonSender.send_left_padded)
327
- ctx.send_typed_value(assignment, attrgetter('_type'))
328
- return assignment
329
-
330
- def visit_assignment_operation(self, assignment_operation: AssignmentOperation, ctx: SenderContext) -> J:
331
- ctx.send_value(assignment_operation, attrgetter('_id'))
332
- ctx.send_node(assignment_operation, attrgetter('_prefix'), PythonSender.send_space)
333
- ctx.send_node(assignment_operation, attrgetter('_markers'), ctx.send_markers)
334
- ctx.send_node(assignment_operation, attrgetter('_variable'), ctx.send_tree)
335
- ctx.send_node(assignment_operation, attrgetter('_operator'), PythonSender.send_left_padded)
336
- ctx.send_node(assignment_operation, attrgetter('_assignment'), ctx.send_tree)
337
- ctx.send_typed_value(assignment_operation, attrgetter('_type'))
338
- return assignment_operation
339
-
340
- def visit_binary(self, binary: Binary, ctx: SenderContext) -> J:
341
- ctx.send_value(binary, attrgetter('_id'))
342
- ctx.send_node(binary, attrgetter('_prefix'), PythonSender.send_space)
343
- ctx.send_node(binary, attrgetter('_markers'), ctx.send_markers)
344
- ctx.send_node(binary, attrgetter('_left'), ctx.send_tree)
345
- ctx.send_node(binary, attrgetter('_operator'), PythonSender.send_left_padded)
346
- ctx.send_node(binary, attrgetter('_right'), ctx.send_tree)
347
- ctx.send_typed_value(binary, attrgetter('_type'))
348
- return binary
349
-
350
- def visit_block(self, block: Block, ctx: SenderContext) -> J:
351
- ctx.send_value(block, attrgetter('_id'))
352
- ctx.send_node(block, attrgetter('_prefix'), PythonSender.send_space)
353
- ctx.send_node(block, attrgetter('_markers'), ctx.send_markers)
354
- ctx.send_node(block, attrgetter('_static'), PythonSender.send_right_padded)
355
- ctx.send_nodes(block, attrgetter('_statements'), PythonSender.send_right_padded, lambda t: t.element.id)
356
- ctx.send_node(block, attrgetter('_end'), PythonSender.send_space)
357
- return block
358
-
359
- def visit_break(self, break_: Break, ctx: SenderContext) -> J:
360
- ctx.send_value(break_, attrgetter('_id'))
361
- ctx.send_node(break_, attrgetter('_prefix'), PythonSender.send_space)
362
- ctx.send_node(break_, attrgetter('_markers'), ctx.send_markers)
363
- ctx.send_node(break_, attrgetter('_label'), ctx.send_tree)
364
- return break_
365
-
366
- def visit_case(self, case: Case, ctx: SenderContext) -> J:
367
- ctx.send_value(case, attrgetter('_id'))
368
- ctx.send_node(case, attrgetter('_prefix'), PythonSender.send_space)
369
- ctx.send_node(case, attrgetter('_markers'), ctx.send_markers)
370
- ctx.send_value(case, attrgetter('_type'))
371
- ctx.send_node(case, attrgetter('_expressions'), PythonSender.send_container)
372
- ctx.send_node(case, attrgetter('_statements'), PythonSender.send_container)
373
- ctx.send_node(case, attrgetter('_body'), PythonSender.send_right_padded)
374
- return case
375
-
376
- def visit_class_declaration(self, class_declaration: ClassDeclaration, ctx: SenderContext) -> J:
377
- ctx.send_value(class_declaration, attrgetter('_id'))
378
- ctx.send_node(class_declaration, attrgetter('_prefix'), PythonSender.send_space)
379
- ctx.send_node(class_declaration, attrgetter('_markers'), ctx.send_markers)
380
- ctx.send_nodes(class_declaration, attrgetter('_leading_annotations'), ctx.send_tree, attrgetter('id'))
381
- ctx.send_nodes(class_declaration, attrgetter('_modifiers'), ctx.send_tree, attrgetter('id'))
382
- ctx.send_node(class_declaration, attrgetter('_kind'), ctx.send_tree)
383
- ctx.send_node(class_declaration, attrgetter('_name'), ctx.send_tree)
384
- ctx.send_node(class_declaration, attrgetter('_type_parameters'), PythonSender.send_container)
385
- ctx.send_node(class_declaration, attrgetter('_primary_constructor'), PythonSender.send_container)
386
- ctx.send_node(class_declaration, attrgetter('_extends'), PythonSender.send_left_padded)
387
- ctx.send_node(class_declaration, attrgetter('_implements'), PythonSender.send_container)
388
- ctx.send_node(class_declaration, attrgetter('_permits'), PythonSender.send_container)
389
- ctx.send_node(class_declaration, attrgetter('_body'), ctx.send_tree)
390
- ctx.send_typed_value(class_declaration, attrgetter('_type'))
391
- return class_declaration
392
-
393
- def visit_class_declaration_kind(self, kind: ClassDeclaration.Kind, ctx: SenderContext) -> J:
394
- ctx.send_value(kind, attrgetter('_id'))
395
- ctx.send_node(kind, attrgetter('_prefix'), PythonSender.send_space)
396
- ctx.send_node(kind, attrgetter('_markers'), ctx.send_markers)
397
- ctx.send_nodes(kind, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
398
- ctx.send_value(kind, attrgetter('_type'))
399
- return kind
400
-
401
- def visit_continue(self, continue_: Continue, ctx: SenderContext) -> J:
402
- ctx.send_value(continue_, attrgetter('_id'))
403
- ctx.send_node(continue_, attrgetter('_prefix'), PythonSender.send_space)
404
- ctx.send_node(continue_, attrgetter('_markers'), ctx.send_markers)
405
- ctx.send_node(continue_, attrgetter('_label'), ctx.send_tree)
406
- return continue_
407
-
408
- def visit_do_while_loop(self, do_while_loop: DoWhileLoop, ctx: SenderContext) -> J:
409
- ctx.send_value(do_while_loop, attrgetter('_id'))
410
- ctx.send_node(do_while_loop, attrgetter('_prefix'), PythonSender.send_space)
411
- ctx.send_node(do_while_loop, attrgetter('_markers'), ctx.send_markers)
412
- ctx.send_node(do_while_loop, attrgetter('_body'), PythonSender.send_right_padded)
413
- ctx.send_node(do_while_loop, attrgetter('_while_condition'), PythonSender.send_left_padded)
414
- return do_while_loop
415
-
416
- def visit_empty(self, empty: Empty, ctx: SenderContext) -> J:
417
- ctx.send_value(empty, attrgetter('_id'))
418
- ctx.send_node(empty, attrgetter('_prefix'), PythonSender.send_space)
419
- ctx.send_node(empty, attrgetter('_markers'), ctx.send_markers)
420
- return empty
421
-
422
- def visit_enum_value(self, enum_value: EnumValue, ctx: SenderContext) -> J:
423
- ctx.send_value(enum_value, attrgetter('_id'))
424
- ctx.send_node(enum_value, attrgetter('_prefix'), PythonSender.send_space)
425
- ctx.send_node(enum_value, attrgetter('_markers'), ctx.send_markers)
426
- ctx.send_nodes(enum_value, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
427
- ctx.send_node(enum_value, attrgetter('_name'), ctx.send_tree)
428
- ctx.send_node(enum_value, attrgetter('_initializer'), ctx.send_tree)
429
- return enum_value
430
-
431
- def visit_enum_value_set(self, enum_value_set: EnumValueSet, ctx: SenderContext) -> J:
432
- ctx.send_value(enum_value_set, attrgetter('_id'))
433
- ctx.send_node(enum_value_set, attrgetter('_prefix'), PythonSender.send_space)
434
- ctx.send_node(enum_value_set, attrgetter('_markers'), ctx.send_markers)
435
- ctx.send_nodes(enum_value_set, attrgetter('_enums'), PythonSender.send_right_padded, lambda t: t.element.id)
436
- ctx.send_value(enum_value_set, attrgetter('_terminated_with_semicolon'))
437
- return enum_value_set
438
-
439
- def visit_field_access(self, field_access: FieldAccess, ctx: SenderContext) -> J:
440
- ctx.send_value(field_access, attrgetter('_id'))
441
- ctx.send_node(field_access, attrgetter('_prefix'), PythonSender.send_space)
442
- ctx.send_node(field_access, attrgetter('_markers'), ctx.send_markers)
443
- ctx.send_node(field_access, attrgetter('_target'), ctx.send_tree)
444
- ctx.send_node(field_access, attrgetter('_name'), PythonSender.send_left_padded)
445
- ctx.send_typed_value(field_access, attrgetter('_type'))
446
- return field_access
447
-
448
- def visit_for_each_loop(self, for_each_loop: ForEachLoop, ctx: SenderContext) -> J:
449
- ctx.send_value(for_each_loop, attrgetter('_id'))
450
- ctx.send_node(for_each_loop, attrgetter('_prefix'), PythonSender.send_space)
451
- ctx.send_node(for_each_loop, attrgetter('_markers'), ctx.send_markers)
452
- ctx.send_node(for_each_loop, attrgetter('_control'), ctx.send_tree)
453
- ctx.send_node(for_each_loop, attrgetter('_body'), PythonSender.send_right_padded)
454
- return for_each_loop
455
-
456
- def visit_for_each_control(self, control: ForEachLoop.Control, ctx: SenderContext) -> J:
457
- ctx.send_value(control, attrgetter('_id'))
458
- ctx.send_node(control, attrgetter('_prefix'), PythonSender.send_space)
459
- ctx.send_node(control, attrgetter('_markers'), ctx.send_markers)
460
- ctx.send_node(control, attrgetter('_variable'), PythonSender.send_right_padded)
461
- ctx.send_node(control, attrgetter('_iterable'), PythonSender.send_right_padded)
462
- return control
463
-
464
- def visit_for_loop(self, for_loop: ForLoop, ctx: SenderContext) -> J:
465
- ctx.send_value(for_loop, attrgetter('_id'))
466
- ctx.send_node(for_loop, attrgetter('_prefix'), PythonSender.send_space)
467
- ctx.send_node(for_loop, attrgetter('_markers'), ctx.send_markers)
468
- ctx.send_node(for_loop, attrgetter('_control'), ctx.send_tree)
469
- ctx.send_node(for_loop, attrgetter('_body'), PythonSender.send_right_padded)
470
- return for_loop
471
-
472
- def visit_for_control(self, control: ForLoop.Control, ctx: SenderContext) -> J:
473
- ctx.send_value(control, attrgetter('_id'))
474
- ctx.send_node(control, attrgetter('_prefix'), PythonSender.send_space)
475
- ctx.send_node(control, attrgetter('_markers'), ctx.send_markers)
476
- ctx.send_nodes(control, attrgetter('_init'), PythonSender.send_right_padded, lambda t: t.element.id)
477
- ctx.send_node(control, attrgetter('_condition'), PythonSender.send_right_padded)
478
- ctx.send_nodes(control, attrgetter('_update'), PythonSender.send_right_padded, lambda t: t.element.id)
479
- return control
480
-
481
- def visit_parenthesized_type_tree(self, parenthesized_type_tree: ParenthesizedTypeTree, ctx: SenderContext) -> J:
482
- ctx.send_value(parenthesized_type_tree, attrgetter('_id'))
483
- ctx.send_node(parenthesized_type_tree, attrgetter('_prefix'), PythonSender.send_space)
484
- ctx.send_node(parenthesized_type_tree, attrgetter('_markers'), ctx.send_markers)
485
- ctx.send_nodes(parenthesized_type_tree, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
486
- ctx.send_node(parenthesized_type_tree, attrgetter('_parenthesized_type'), ctx.send_tree)
487
- return parenthesized_type_tree
488
-
489
- def visit_identifier(self, identifier: Identifier, ctx: SenderContext) -> J:
490
- ctx.send_value(identifier, attrgetter('_id'))
491
- ctx.send_node(identifier, attrgetter('_prefix'), PythonSender.send_space)
492
- ctx.send_node(identifier, attrgetter('_markers'), ctx.send_markers)
493
- ctx.send_nodes(identifier, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
494
- ctx.send_value(identifier, attrgetter('_simple_name'))
495
- ctx.send_typed_value(identifier, attrgetter('_type'))
496
- ctx.send_typed_value(identifier, attrgetter('_field_type'))
497
- return identifier
498
-
499
- def visit_if(self, if_: If, ctx: SenderContext) -> J:
500
- ctx.send_value(if_, attrgetter('_id'))
501
- ctx.send_node(if_, attrgetter('_prefix'), PythonSender.send_space)
502
- ctx.send_node(if_, attrgetter('_markers'), ctx.send_markers)
503
- ctx.send_node(if_, attrgetter('_if_condition'), ctx.send_tree)
504
- ctx.send_node(if_, attrgetter('_then_part'), PythonSender.send_right_padded)
505
- ctx.send_node(if_, attrgetter('_else_part'), ctx.send_tree)
506
- return if_
507
-
508
- def visit_else(self, else_: If.Else, ctx: SenderContext) -> J:
509
- ctx.send_value(else_, attrgetter('_id'))
510
- ctx.send_node(else_, attrgetter('_prefix'), PythonSender.send_space)
511
- ctx.send_node(else_, attrgetter('_markers'), ctx.send_markers)
512
- ctx.send_node(else_, attrgetter('_body'), PythonSender.send_right_padded)
513
- return else_
514
-
515
- def visit_import(self, import_: Import, ctx: SenderContext) -> J:
516
- ctx.send_value(import_, attrgetter('_id'))
517
- ctx.send_node(import_, attrgetter('_prefix'), PythonSender.send_space)
518
- ctx.send_node(import_, attrgetter('_markers'), ctx.send_markers)
519
- ctx.send_node(import_, attrgetter('_static'), PythonSender.send_left_padded)
520
- ctx.send_node(import_, attrgetter('_qualid'), ctx.send_tree)
521
- ctx.send_node(import_, attrgetter('_alias'), PythonSender.send_left_padded)
522
- return import_
523
-
524
- def visit_instance_of(self, instance_of: InstanceOf, ctx: SenderContext) -> J:
525
- ctx.send_value(instance_of, attrgetter('_id'))
526
- ctx.send_node(instance_of, attrgetter('_prefix'), PythonSender.send_space)
527
- ctx.send_node(instance_of, attrgetter('_markers'), ctx.send_markers)
528
- ctx.send_node(instance_of, attrgetter('_expression'), PythonSender.send_right_padded)
529
- ctx.send_node(instance_of, attrgetter('_clazz'), ctx.send_tree)
530
- ctx.send_node(instance_of, attrgetter('_pattern'), ctx.send_tree)
531
- ctx.send_typed_value(instance_of, attrgetter('_type'))
532
- return instance_of
533
-
534
- def visit_intersection_type(self, intersection_type: IntersectionType, ctx: SenderContext) -> J:
535
- ctx.send_value(intersection_type, attrgetter('_id'))
536
- ctx.send_node(intersection_type, attrgetter('_prefix'), PythonSender.send_space)
537
- ctx.send_node(intersection_type, attrgetter('_markers'), ctx.send_markers)
538
- ctx.send_node(intersection_type, attrgetter('_bounds'), PythonSender.send_container)
539
- return intersection_type
540
-
541
- def visit_label(self, label: Label, ctx: SenderContext) -> J:
542
- ctx.send_value(label, attrgetter('_id'))
543
- ctx.send_node(label, attrgetter('_prefix'), PythonSender.send_space)
544
- ctx.send_node(label, attrgetter('_markers'), ctx.send_markers)
545
- ctx.send_node(label, attrgetter('_label'), PythonSender.send_right_padded)
546
- ctx.send_node(label, attrgetter('_statement'), ctx.send_tree)
547
- return label
548
-
549
- def visit_lambda(self, lambda_: Lambda, ctx: SenderContext) -> J:
550
- ctx.send_value(lambda_, attrgetter('_id'))
551
- ctx.send_node(lambda_, attrgetter('_prefix'), PythonSender.send_space)
552
- ctx.send_node(lambda_, attrgetter('_markers'), ctx.send_markers)
553
- ctx.send_node(lambda_, attrgetter('_parameters'), ctx.send_tree)
554
- ctx.send_node(lambda_, attrgetter('_arrow'), PythonSender.send_space)
555
- ctx.send_node(lambda_, attrgetter('_body'), ctx.send_tree)
556
- ctx.send_typed_value(lambda_, attrgetter('_type'))
557
- return lambda_
558
-
559
- def visit_lambda_parameters(self, parameters: Lambda.Parameters, ctx: SenderContext) -> J:
560
- ctx.send_value(parameters, attrgetter('_id'))
561
- ctx.send_node(parameters, attrgetter('_prefix'), PythonSender.send_space)
562
- ctx.send_node(parameters, attrgetter('_markers'), ctx.send_markers)
563
- ctx.send_value(parameters, attrgetter('_parenthesized'))
564
- ctx.send_nodes(parameters, attrgetter('_parameters'), PythonSender.send_right_padded, lambda t: t.element.id)
565
- return parameters
566
-
567
- def visit_literal(self, literal: Literal, ctx: SenderContext) -> J:
568
- ctx.send_value(literal, attrgetter('_id'))
569
- ctx.send_node(literal, attrgetter('_prefix'), PythonSender.send_space)
570
- ctx.send_node(literal, attrgetter('_markers'), ctx.send_markers)
571
- ctx.send_typed_value(literal, attrgetter('_value'))
572
- ctx.send_value(literal, attrgetter('_value_source'))
573
- ctx.send_values(literal, attrgetter('_unicode_escapes'), lambda x: x)
574
- ctx.send_value(literal, attrgetter('_type'))
575
- return literal
576
-
577
- def visit_member_reference(self, member_reference: MemberReference, ctx: SenderContext) -> J:
578
- ctx.send_value(member_reference, attrgetter('_id'))
579
- ctx.send_node(member_reference, attrgetter('_prefix'), PythonSender.send_space)
580
- ctx.send_node(member_reference, attrgetter('_markers'), ctx.send_markers)
581
- ctx.send_node(member_reference, attrgetter('_containing'), PythonSender.send_right_padded)
582
- ctx.send_node(member_reference, attrgetter('_type_parameters'), PythonSender.send_container)
583
- ctx.send_node(member_reference, attrgetter('_reference'), PythonSender.send_left_padded)
584
- ctx.send_typed_value(member_reference, attrgetter('_type'))
585
- ctx.send_typed_value(member_reference, attrgetter('_method_type'))
586
- ctx.send_typed_value(member_reference, attrgetter('_variable_type'))
587
- return member_reference
588
-
589
- def visit_method_declaration(self, method_declaration: MethodDeclaration, ctx: SenderContext) -> J:
590
- ctx.send_value(method_declaration, attrgetter('_id'))
591
- ctx.send_node(method_declaration, attrgetter('_prefix'), PythonSender.send_space)
592
- ctx.send_node(method_declaration, attrgetter('_markers'), ctx.send_markers)
593
- ctx.send_nodes(method_declaration, attrgetter('_leading_annotations'), ctx.send_tree, attrgetter('id'))
594
- ctx.send_nodes(method_declaration, attrgetter('_modifiers'), ctx.send_tree, attrgetter('id'))
595
- ctx.send_node(method_declaration, attrgetter('_type_parameters'), ctx.send_tree)
596
- ctx.send_node(method_declaration, attrgetter('_return_type_expression'), ctx.send_tree)
597
- ctx.send_node(method_declaration, attrgetter('_name'), self.send_method_identifier_with_annotations)
598
- ctx.send_node(method_declaration, attrgetter('_parameters'), PythonSender.send_container)
599
- ctx.send_node(method_declaration, attrgetter('_throws'), PythonSender.send_container)
600
- ctx.send_node(method_declaration, attrgetter('_body'), ctx.send_tree)
601
- ctx.send_node(method_declaration, attrgetter('_default_value'), PythonSender.send_left_padded)
602
- ctx.send_typed_value(method_declaration, attrgetter('_method_type'))
603
- return method_declaration
604
-
605
- def send_method_identifier_with_annotations(self, identifier_with_annotations: MethodDeclaration.IdentifierWithAnnotations, ctx: SenderContext) -> None:
606
- ctx.send_node(identifier_with_annotations, attrgetter('identifier'), ctx.send_tree)
607
- ctx.send_nodes(identifier_with_annotations, attrgetter('annotations'), ctx.send_tree, attrgetter('id'))
608
-
609
- def visit_method_invocation(self, method_invocation: MethodInvocation, ctx: SenderContext) -> J:
610
- ctx.send_value(method_invocation, attrgetter('_id'))
611
- ctx.send_node(method_invocation, attrgetter('_prefix'), PythonSender.send_space)
612
- ctx.send_node(method_invocation, attrgetter('_markers'), ctx.send_markers)
613
- ctx.send_node(method_invocation, attrgetter('_select'), PythonSender.send_right_padded)
614
- ctx.send_node(method_invocation, attrgetter('_type_parameters'), PythonSender.send_container)
615
- ctx.send_node(method_invocation, attrgetter('_name'), ctx.send_tree)
616
- ctx.send_node(method_invocation, attrgetter('_arguments'), PythonSender.send_container)
617
- ctx.send_typed_value(method_invocation, attrgetter('_method_type'))
618
- return method_invocation
619
-
620
- def visit_modifier(self, modifier: Modifier, ctx: SenderContext) -> J:
621
- ctx.send_value(modifier, attrgetter('_id'))
622
- ctx.send_node(modifier, attrgetter('_prefix'), PythonSender.send_space)
623
- ctx.send_node(modifier, attrgetter('_markers'), ctx.send_markers)
624
- ctx.send_value(modifier, attrgetter('_keyword'))
625
- ctx.send_value(modifier, attrgetter('_type'))
626
- ctx.send_nodes(modifier, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
627
- return modifier
628
-
629
- def visit_multi_catch(self, multi_catch: MultiCatch, ctx: SenderContext) -> J:
630
- ctx.send_value(multi_catch, attrgetter('_id'))
631
- ctx.send_node(multi_catch, attrgetter('_prefix'), PythonSender.send_space)
632
- ctx.send_node(multi_catch, attrgetter('_markers'), ctx.send_markers)
633
- ctx.send_nodes(multi_catch, attrgetter('_alternatives'), PythonSender.send_right_padded, lambda t: t.element.id)
634
- return multi_catch
635
-
636
- def visit_new_array(self, new_array: NewArray, ctx: SenderContext) -> J:
637
- ctx.send_value(new_array, attrgetter('_id'))
638
- ctx.send_node(new_array, attrgetter('_prefix'), PythonSender.send_space)
639
- ctx.send_node(new_array, attrgetter('_markers'), ctx.send_markers)
640
- ctx.send_node(new_array, attrgetter('_type_expression'), ctx.send_tree)
641
- ctx.send_nodes(new_array, attrgetter('_dimensions'), ctx.send_tree, attrgetter('id'))
642
- ctx.send_node(new_array, attrgetter('_initializer'), PythonSender.send_container)
643
- ctx.send_typed_value(new_array, attrgetter('_type'))
644
- return new_array
645
-
646
- def visit_array_dimension(self, array_dimension: ArrayDimension, ctx: SenderContext) -> J:
647
- ctx.send_value(array_dimension, attrgetter('_id'))
648
- ctx.send_node(array_dimension, attrgetter('_prefix'), PythonSender.send_space)
649
- ctx.send_node(array_dimension, attrgetter('_markers'), ctx.send_markers)
650
- ctx.send_node(array_dimension, attrgetter('_index'), PythonSender.send_right_padded)
651
- return array_dimension
652
-
653
- def visit_new_class(self, new_class: NewClass, ctx: SenderContext) -> J:
654
- ctx.send_value(new_class, attrgetter('_id'))
655
- ctx.send_node(new_class, attrgetter('_prefix'), PythonSender.send_space)
656
- ctx.send_node(new_class, attrgetter('_markers'), ctx.send_markers)
657
- ctx.send_node(new_class, attrgetter('_enclosing'), PythonSender.send_right_padded)
658
- ctx.send_node(new_class, attrgetter('_new'), PythonSender.send_space)
659
- ctx.send_node(new_class, attrgetter('_clazz'), ctx.send_tree)
660
- ctx.send_node(new_class, attrgetter('_arguments'), PythonSender.send_container)
661
- ctx.send_node(new_class, attrgetter('_body'), ctx.send_tree)
662
- ctx.send_typed_value(new_class, attrgetter('_constructor_type'))
663
- return new_class
664
-
665
- def visit_nullable_type(self, nullable_type: NullableType, ctx: SenderContext) -> J:
666
- ctx.send_value(nullable_type, attrgetter('_id'))
667
- ctx.send_node(nullable_type, attrgetter('_prefix'), PythonSender.send_space)
668
- ctx.send_node(nullable_type, attrgetter('_markers'), ctx.send_markers)
669
- ctx.send_nodes(nullable_type, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
670
- ctx.send_node(nullable_type, attrgetter('_type_tree'), PythonSender.send_right_padded)
671
- return nullable_type
672
-
673
- def visit_package(self, package: Package, ctx: SenderContext) -> J:
674
- ctx.send_value(package, attrgetter('_id'))
675
- ctx.send_node(package, attrgetter('_prefix'), PythonSender.send_space)
676
- ctx.send_node(package, attrgetter('_markers'), ctx.send_markers)
677
- ctx.send_node(package, attrgetter('_expression'), ctx.send_tree)
678
- ctx.send_nodes(package, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
679
- return package
680
-
681
- def visit_parameterized_type(self, parameterized_type: ParameterizedType, ctx: SenderContext) -> J:
682
- ctx.send_value(parameterized_type, attrgetter('_id'))
683
- ctx.send_node(parameterized_type, attrgetter('_prefix'), PythonSender.send_space)
684
- ctx.send_node(parameterized_type, attrgetter('_markers'), ctx.send_markers)
685
- ctx.send_node(parameterized_type, attrgetter('_clazz'), ctx.send_tree)
686
- ctx.send_node(parameterized_type, attrgetter('_type_parameters'), PythonSender.send_container)
687
- ctx.send_typed_value(parameterized_type, attrgetter('_type'))
688
- return parameterized_type
689
-
690
- def visit_parentheses(self, parentheses: Parentheses[J2], ctx: SenderContext) -> J:
691
- ctx.send_value(parentheses, attrgetter('_id'))
692
- ctx.send_node(parentheses, attrgetter('_prefix'), PythonSender.send_space)
693
- ctx.send_node(parentheses, attrgetter('_markers'), ctx.send_markers)
694
- ctx.send_node(parentheses, attrgetter('_tree'), PythonSender.send_right_padded)
695
- return parentheses
696
-
697
- def visit_control_parentheses(self, control_parentheses: ControlParentheses[J2], ctx: SenderContext) -> J:
698
- ctx.send_value(control_parentheses, attrgetter('_id'))
699
- ctx.send_node(control_parentheses, attrgetter('_prefix'), PythonSender.send_space)
700
- ctx.send_node(control_parentheses, attrgetter('_markers'), ctx.send_markers)
701
- ctx.send_node(control_parentheses, attrgetter('_tree'), PythonSender.send_right_padded)
702
- return control_parentheses
703
-
704
- def visit_primitive(self, primitive: Primitive, ctx: SenderContext) -> J:
705
- ctx.send_value(primitive, attrgetter('_id'))
706
- ctx.send_node(primitive, attrgetter('_prefix'), PythonSender.send_space)
707
- ctx.send_node(primitive, attrgetter('_markers'), ctx.send_markers)
708
- ctx.send_value(primitive, attrgetter('_type'))
709
- return primitive
710
-
711
- def visit_return(self, return_: Return, ctx: SenderContext) -> J:
712
- ctx.send_value(return_, attrgetter('_id'))
713
- ctx.send_node(return_, attrgetter('_prefix'), PythonSender.send_space)
714
- ctx.send_node(return_, attrgetter('_markers'), ctx.send_markers)
715
- ctx.send_node(return_, attrgetter('_expression'), ctx.send_tree)
716
- return return_
717
-
718
- def visit_switch(self, switch: Switch, ctx: SenderContext) -> J:
719
- ctx.send_value(switch, attrgetter('_id'))
720
- ctx.send_node(switch, attrgetter('_prefix'), PythonSender.send_space)
721
- ctx.send_node(switch, attrgetter('_markers'), ctx.send_markers)
722
- ctx.send_node(switch, attrgetter('_selector'), ctx.send_tree)
723
- ctx.send_node(switch, attrgetter('_cases'), ctx.send_tree)
724
- return switch
725
-
726
- def visit_switch_expression(self, switch_expression: SwitchExpression, ctx: SenderContext) -> J:
727
- ctx.send_value(switch_expression, attrgetter('_id'))
728
- ctx.send_node(switch_expression, attrgetter('_prefix'), PythonSender.send_space)
729
- ctx.send_node(switch_expression, attrgetter('_markers'), ctx.send_markers)
730
- ctx.send_node(switch_expression, attrgetter('_selector'), ctx.send_tree)
731
- ctx.send_node(switch_expression, attrgetter('_cases'), ctx.send_tree)
732
- return switch_expression
733
-
734
- def visit_synchronized(self, synchronized: Synchronized, ctx: SenderContext) -> J:
735
- ctx.send_value(synchronized, attrgetter('_id'))
736
- ctx.send_node(synchronized, attrgetter('_prefix'), PythonSender.send_space)
737
- ctx.send_node(synchronized, attrgetter('_markers'), ctx.send_markers)
738
- ctx.send_node(synchronized, attrgetter('_lock'), ctx.send_tree)
739
- ctx.send_node(synchronized, attrgetter('_body'), ctx.send_tree)
740
- return synchronized
741
-
742
- def visit_ternary(self, ternary: Ternary, ctx: SenderContext) -> J:
743
- ctx.send_value(ternary, attrgetter('_id'))
744
- ctx.send_node(ternary, attrgetter('_prefix'), PythonSender.send_space)
745
- ctx.send_node(ternary, attrgetter('_markers'), ctx.send_markers)
746
- ctx.send_node(ternary, attrgetter('_condition'), ctx.send_tree)
747
- ctx.send_node(ternary, attrgetter('_true_part'), PythonSender.send_left_padded)
748
- ctx.send_node(ternary, attrgetter('_false_part'), PythonSender.send_left_padded)
749
- ctx.send_typed_value(ternary, attrgetter('_type'))
750
- return ternary
751
-
752
- def visit_throw(self, throw: Throw, ctx: SenderContext) -> J:
753
- ctx.send_value(throw, attrgetter('_id'))
754
- ctx.send_node(throw, attrgetter('_prefix'), PythonSender.send_space)
755
- ctx.send_node(throw, attrgetter('_markers'), ctx.send_markers)
756
- ctx.send_node(throw, attrgetter('_exception'), ctx.send_tree)
757
- return throw
758
-
759
- def visit_try(self, try_: Try, ctx: SenderContext) -> J:
760
- ctx.send_value(try_, attrgetter('_id'))
761
- ctx.send_node(try_, attrgetter('_prefix'), PythonSender.send_space)
762
- ctx.send_node(try_, attrgetter('_markers'), ctx.send_markers)
763
- ctx.send_node(try_, attrgetter('_resources'), PythonSender.send_container)
764
- ctx.send_node(try_, attrgetter('_body'), ctx.send_tree)
765
- ctx.send_nodes(try_, attrgetter('_catches'), ctx.send_tree, attrgetter('id'))
766
- ctx.send_node(try_, attrgetter('_finally'), PythonSender.send_left_padded)
767
- return try_
768
-
769
- def visit_try_resource(self, resource: Try.Resource, ctx: SenderContext) -> J:
770
- ctx.send_value(resource, attrgetter('_id'))
771
- ctx.send_node(resource, attrgetter('_prefix'), PythonSender.send_space)
772
- ctx.send_node(resource, attrgetter('_markers'), ctx.send_markers)
773
- ctx.send_node(resource, attrgetter('_variable_declarations'), ctx.send_tree)
774
- ctx.send_value(resource, attrgetter('_terminated_with_semicolon'))
775
- return resource
776
-
777
- def visit_catch(self, catch: Try.Catch, ctx: SenderContext) -> J:
778
- ctx.send_value(catch, attrgetter('_id'))
779
- ctx.send_node(catch, attrgetter('_prefix'), PythonSender.send_space)
780
- ctx.send_node(catch, attrgetter('_markers'), ctx.send_markers)
781
- ctx.send_node(catch, attrgetter('_parameter'), ctx.send_tree)
782
- ctx.send_node(catch, attrgetter('_body'), ctx.send_tree)
783
- return catch
784
-
785
- def visit_type_cast(self, type_cast: TypeCast, ctx: SenderContext) -> J:
786
- ctx.send_value(type_cast, attrgetter('_id'))
787
- ctx.send_node(type_cast, attrgetter('_prefix'), PythonSender.send_space)
788
- ctx.send_node(type_cast, attrgetter('_markers'), ctx.send_markers)
789
- ctx.send_node(type_cast, attrgetter('_clazz'), ctx.send_tree)
790
- ctx.send_node(type_cast, attrgetter('_expression'), ctx.send_tree)
791
- return type_cast
792
-
793
- def visit_type_parameter(self, type_parameter: TypeParameter, ctx: SenderContext) -> J:
794
- ctx.send_value(type_parameter, attrgetter('_id'))
795
- ctx.send_node(type_parameter, attrgetter('_prefix'), PythonSender.send_space)
796
- ctx.send_node(type_parameter, attrgetter('_markers'), ctx.send_markers)
797
- ctx.send_nodes(type_parameter, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
798
- ctx.send_nodes(type_parameter, attrgetter('_modifiers'), ctx.send_tree, attrgetter('id'))
799
- ctx.send_node(type_parameter, attrgetter('_name'), ctx.send_tree)
800
- ctx.send_node(type_parameter, attrgetter('_bounds'), PythonSender.send_container)
801
- return type_parameter
802
-
803
- def visit_type_parameters(self, type_parameters: TypeParameters, ctx: SenderContext) -> J:
804
- ctx.send_value(type_parameters, attrgetter('_id'))
805
- ctx.send_node(type_parameters, attrgetter('_prefix'), PythonSender.send_space)
806
- ctx.send_node(type_parameters, attrgetter('_markers'), ctx.send_markers)
807
- ctx.send_nodes(type_parameters, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
808
- ctx.send_nodes(type_parameters, attrgetter('_type_parameters'), PythonSender.send_right_padded, lambda t: t.element.id)
809
- return type_parameters
810
-
811
- def visit_unary(self, unary: Unary, ctx: SenderContext) -> J:
812
- ctx.send_value(unary, attrgetter('_id'))
813
- ctx.send_node(unary, attrgetter('_prefix'), PythonSender.send_space)
814
- ctx.send_node(unary, attrgetter('_markers'), ctx.send_markers)
815
- ctx.send_node(unary, attrgetter('_operator'), PythonSender.send_left_padded)
816
- ctx.send_node(unary, attrgetter('_expression'), ctx.send_tree)
817
- ctx.send_typed_value(unary, attrgetter('_type'))
818
- return unary
819
-
820
- def visit_variable_declarations(self, variable_declarations: VariableDeclarations, ctx: SenderContext) -> J:
821
- ctx.send_value(variable_declarations, attrgetter('_id'))
822
- ctx.send_node(variable_declarations, attrgetter('_prefix'), PythonSender.send_space)
823
- ctx.send_node(variable_declarations, attrgetter('_markers'), ctx.send_markers)
824
- ctx.send_nodes(variable_declarations, attrgetter('_leading_annotations'), ctx.send_tree, attrgetter('id'))
825
- ctx.send_nodes(variable_declarations, attrgetter('_modifiers'), ctx.send_tree, attrgetter('id'))
826
- ctx.send_node(variable_declarations, attrgetter('_type_expression'), ctx.send_tree)
827
- ctx.send_node(variable_declarations, attrgetter('_varargs'), PythonSender.send_space)
828
- ctx.send_nodes(variable_declarations, attrgetter('_dimensions_before_name'), PythonSender.send_left_padded, lambda t: t)
829
- ctx.send_nodes(variable_declarations, attrgetter('_variables'), PythonSender.send_right_padded, lambda t: t.element.id)
830
- return variable_declarations
831
-
832
- def visit_variable(self, named_variable: VariableDeclarations.NamedVariable, ctx: SenderContext) -> J:
833
- ctx.send_value(named_variable, attrgetter('_id'))
834
- ctx.send_node(named_variable, attrgetter('_prefix'), PythonSender.send_space)
835
- ctx.send_node(named_variable, attrgetter('_markers'), ctx.send_markers)
836
- ctx.send_node(named_variable, attrgetter('_name'), ctx.send_tree)
837
- ctx.send_nodes(named_variable, attrgetter('_dimensions_after_name'), PythonSender.send_left_padded, lambda t: t)
838
- ctx.send_node(named_variable, attrgetter('_initializer'), PythonSender.send_left_padded)
839
- ctx.send_typed_value(named_variable, attrgetter('_variable_type'))
840
- return named_variable
841
-
842
- def visit_while_loop(self, while_loop: WhileLoop, ctx: SenderContext) -> J:
843
- ctx.send_value(while_loop, attrgetter('_id'))
844
- ctx.send_node(while_loop, attrgetter('_prefix'), PythonSender.send_space)
845
- ctx.send_node(while_loop, attrgetter('_markers'), ctx.send_markers)
846
- ctx.send_node(while_loop, attrgetter('_condition'), ctx.send_tree)
847
- ctx.send_node(while_loop, attrgetter('_body'), PythonSender.send_right_padded)
848
- return while_loop
849
-
850
- def visit_wildcard(self, wildcard: Wildcard, ctx: SenderContext) -> J:
851
- ctx.send_value(wildcard, attrgetter('_id'))
852
- ctx.send_node(wildcard, attrgetter('_prefix'), PythonSender.send_space)
853
- ctx.send_node(wildcard, attrgetter('_markers'), ctx.send_markers)
854
- ctx.send_node(wildcard, attrgetter('_bound'), PythonSender.send_left_padded)
855
- ctx.send_node(wildcard, attrgetter('_bounded_type'), ctx.send_tree)
856
- return wildcard
857
-
858
- def visit_yield(self, yield_: Yield, ctx: SenderContext) -> J:
859
- ctx.send_value(yield_, attrgetter('_id'))
860
- ctx.send_node(yield_, attrgetter('_prefix'), PythonSender.send_space)
861
- ctx.send_node(yield_, attrgetter('_markers'), ctx.send_markers)
862
- ctx.send_value(yield_, attrgetter('_implicit'))
863
- ctx.send_node(yield_, attrgetter('_value'), ctx.send_tree)
864
- return yield_
865
-
866
- def visit_unknown(self, unknown: Unknown, ctx: SenderContext) -> J:
867
- ctx.send_value(unknown, attrgetter('_id'))
868
- ctx.send_node(unknown, attrgetter('_prefix'), PythonSender.send_space)
869
- ctx.send_node(unknown, attrgetter('_markers'), ctx.send_markers)
870
- ctx.send_node(unknown, attrgetter('_source'), ctx.send_tree)
871
- return unknown
872
-
873
- def visit_unknown_source(self, source: Unknown.Source, ctx: SenderContext) -> J:
874
- ctx.send_value(source, attrgetter('_id'))
875
- ctx.send_node(source, attrgetter('_prefix'), PythonSender.send_space)
876
- ctx.send_node(source, attrgetter('_markers'), ctx.send_markers)
877
- ctx.send_value(source, attrgetter('_text'))
878
- return source
879
-
880
- @classmethod
881
- def send_container(cls, container: JContainer[T], ctx: SenderContext):
882
- extensions.send_container(container, ctx)
883
-
884
- @classmethod
885
- def send_left_padded(cls, left_padded: JLeftPadded[T], ctx: SenderContext):
886
- extensions.send_left_padded(left_padded, ctx)
887
-
888
- @classmethod
889
- def send_right_padded(cls, right_padded: JRightPadded[T], ctx: SenderContext):
890
- extensions.send_right_padded(right_padded, ctx)
891
-
892
- @classmethod
893
- def send_space(cls, space: Space, ctx: SenderContext):
894
- extensions.send_space(space, ctx)