openrewrite-remote 0.3.3__py3-none-any.whl → 0.4.0__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,659 +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.java import *
9
- from rewrite.java.support_types import *
10
- from . import extensions
11
-
12
- class JavaSender(Sender):
13
- def send(self, after: T, before: Optional[T], ctx: SenderContext) -> None:
14
- visitor = self.Visitor()
15
- visitor.visit(after, ctx.fork(visitor, before))
16
-
17
- class Visitor(JavaVisitor[SenderContext]):
18
- def visit(self, tree: Optional[Tree], ctx: SenderContext, parent: Optional[Cursor] = None) -> J:
19
- if parent is not None:
20
- self.cursor = parent
21
-
22
- self.cursor = Cursor(self.cursor, tree)
23
- ctx.send_node(tree, lambda x: x, ctx.send_tree)
24
- self.cursor = self.cursor.parent
25
-
26
- return cast(J, tree)
27
-
28
- def visit_annotated_type(self, annotated_type: AnnotatedType, ctx: SenderContext) -> J:
29
- ctx.send_value(annotated_type, attrgetter('_id'))
30
- ctx.send_node(annotated_type, attrgetter('_prefix'), JavaSender.send_space)
31
- ctx.send_node(annotated_type, attrgetter('_markers'), ctx.send_markers)
32
- ctx.send_nodes(annotated_type, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
33
- ctx.send_node(annotated_type, attrgetter('_type_expression'), ctx.send_tree)
34
- return annotated_type
35
-
36
- def visit_annotation(self, annotation: Annotation, ctx: SenderContext) -> J:
37
- ctx.send_value(annotation, attrgetter('_id'))
38
- ctx.send_node(annotation, attrgetter('_prefix'), JavaSender.send_space)
39
- ctx.send_node(annotation, attrgetter('_markers'), ctx.send_markers)
40
- ctx.send_node(annotation, attrgetter('_annotation_type'), ctx.send_tree)
41
- ctx.send_node(annotation, attrgetter('_arguments'), JavaSender.send_container)
42
- return annotation
43
-
44
- def visit_array_access(self, array_access: ArrayAccess, ctx: SenderContext) -> J:
45
- ctx.send_value(array_access, attrgetter('_id'))
46
- ctx.send_node(array_access, attrgetter('_prefix'), JavaSender.send_space)
47
- ctx.send_node(array_access, attrgetter('_markers'), ctx.send_markers)
48
- ctx.send_node(array_access, attrgetter('_indexed'), ctx.send_tree)
49
- ctx.send_node(array_access, attrgetter('_dimension'), ctx.send_tree)
50
- ctx.send_typed_value(array_access, attrgetter('_type'))
51
- return array_access
52
-
53
- def visit_array_type(self, array_type: ArrayType, ctx: SenderContext) -> J:
54
- ctx.send_value(array_type, attrgetter('_id'))
55
- ctx.send_node(array_type, attrgetter('_prefix'), JavaSender.send_space)
56
- ctx.send_node(array_type, attrgetter('_markers'), ctx.send_markers)
57
- ctx.send_node(array_type, attrgetter('_element_type'), ctx.send_tree)
58
- ctx.send_nodes(array_type, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
59
- ctx.send_node(array_type, attrgetter('_dimension'), JavaSender.send_left_padded)
60
- ctx.send_typed_value(array_type, attrgetter('_type'))
61
- return array_type
62
-
63
- def visit_assert(self, assert_: Assert, ctx: SenderContext) -> J:
64
- ctx.send_value(assert_, attrgetter('_id'))
65
- ctx.send_node(assert_, attrgetter('_prefix'), JavaSender.send_space)
66
- ctx.send_node(assert_, attrgetter('_markers'), ctx.send_markers)
67
- ctx.send_node(assert_, attrgetter('_condition'), ctx.send_tree)
68
- ctx.send_node(assert_, attrgetter('_detail'), JavaSender.send_left_padded)
69
- return assert_
70
-
71
- def visit_assignment(self, assignment: Assignment, ctx: SenderContext) -> J:
72
- ctx.send_value(assignment, attrgetter('_id'))
73
- ctx.send_node(assignment, attrgetter('_prefix'), JavaSender.send_space)
74
- ctx.send_node(assignment, attrgetter('_markers'), ctx.send_markers)
75
- ctx.send_node(assignment, attrgetter('_variable'), ctx.send_tree)
76
- ctx.send_node(assignment, attrgetter('_assignment'), JavaSender.send_left_padded)
77
- ctx.send_typed_value(assignment, attrgetter('_type'))
78
- return assignment
79
-
80
- def visit_assignment_operation(self, assignment_operation: AssignmentOperation, ctx: SenderContext) -> J:
81
- ctx.send_value(assignment_operation, attrgetter('_id'))
82
- ctx.send_node(assignment_operation, attrgetter('_prefix'), JavaSender.send_space)
83
- ctx.send_node(assignment_operation, attrgetter('_markers'), ctx.send_markers)
84
- ctx.send_node(assignment_operation, attrgetter('_variable'), ctx.send_tree)
85
- ctx.send_node(assignment_operation, attrgetter('_operator'), JavaSender.send_left_padded)
86
- ctx.send_node(assignment_operation, attrgetter('_assignment'), ctx.send_tree)
87
- ctx.send_typed_value(assignment_operation, attrgetter('_type'))
88
- return assignment_operation
89
-
90
- def visit_binary(self, binary: Binary, ctx: SenderContext) -> J:
91
- ctx.send_value(binary, attrgetter('_id'))
92
- ctx.send_node(binary, attrgetter('_prefix'), JavaSender.send_space)
93
- ctx.send_node(binary, attrgetter('_markers'), ctx.send_markers)
94
- ctx.send_node(binary, attrgetter('_left'), ctx.send_tree)
95
- ctx.send_node(binary, attrgetter('_operator'), JavaSender.send_left_padded)
96
- ctx.send_node(binary, attrgetter('_right'), ctx.send_tree)
97
- ctx.send_typed_value(binary, attrgetter('_type'))
98
- return binary
99
-
100
- def visit_block(self, block: Block, ctx: SenderContext) -> J:
101
- ctx.send_value(block, attrgetter('_id'))
102
- ctx.send_node(block, attrgetter('_prefix'), JavaSender.send_space)
103
- ctx.send_node(block, attrgetter('_markers'), ctx.send_markers)
104
- ctx.send_node(block, attrgetter('_static'), JavaSender.send_right_padded)
105
- ctx.send_nodes(block, attrgetter('_statements'), JavaSender.send_right_padded, lambda t: t.element.id)
106
- ctx.send_node(block, attrgetter('_end'), JavaSender.send_space)
107
- return block
108
-
109
- def visit_break(self, break_: Break, ctx: SenderContext) -> J:
110
- ctx.send_value(break_, attrgetter('_id'))
111
- ctx.send_node(break_, attrgetter('_prefix'), JavaSender.send_space)
112
- ctx.send_node(break_, attrgetter('_markers'), ctx.send_markers)
113
- ctx.send_node(break_, attrgetter('_label'), ctx.send_tree)
114
- return break_
115
-
116
- def visit_case(self, case: Case, ctx: SenderContext) -> J:
117
- ctx.send_value(case, attrgetter('_id'))
118
- ctx.send_node(case, attrgetter('_prefix'), JavaSender.send_space)
119
- ctx.send_node(case, attrgetter('_markers'), ctx.send_markers)
120
- ctx.send_value(case, attrgetter('_type'))
121
- ctx.send_node(case, attrgetter('_expressions'), JavaSender.send_container)
122
- ctx.send_node(case, attrgetter('_statements'), JavaSender.send_container)
123
- ctx.send_node(case, attrgetter('_body'), JavaSender.send_right_padded)
124
- return case
125
-
126
- def visit_class_declaration(self, class_declaration: ClassDeclaration, ctx: SenderContext) -> J:
127
- ctx.send_value(class_declaration, attrgetter('_id'))
128
- ctx.send_node(class_declaration, attrgetter('_prefix'), JavaSender.send_space)
129
- ctx.send_node(class_declaration, attrgetter('_markers'), ctx.send_markers)
130
- ctx.send_nodes(class_declaration, attrgetter('_leading_annotations'), ctx.send_tree, attrgetter('id'))
131
- ctx.send_nodes(class_declaration, attrgetter('_modifiers'), ctx.send_tree, attrgetter('id'))
132
- ctx.send_node(class_declaration, attrgetter('_kind'), ctx.send_tree)
133
- ctx.send_node(class_declaration, attrgetter('_name'), ctx.send_tree)
134
- ctx.send_node(class_declaration, attrgetter('_type_parameters'), JavaSender.send_container)
135
- ctx.send_node(class_declaration, attrgetter('_primary_constructor'), JavaSender.send_container)
136
- ctx.send_node(class_declaration, attrgetter('_extends'), JavaSender.send_left_padded)
137
- ctx.send_node(class_declaration, attrgetter('_implements'), JavaSender.send_container)
138
- ctx.send_node(class_declaration, attrgetter('_permits'), JavaSender.send_container)
139
- ctx.send_node(class_declaration, attrgetter('_body'), ctx.send_tree)
140
- ctx.send_typed_value(class_declaration, attrgetter('_type'))
141
- return class_declaration
142
-
143
- def visit_class_declaration_kind(self, kind: ClassDeclaration.Kind, ctx: SenderContext) -> J:
144
- ctx.send_value(kind, attrgetter('_id'))
145
- ctx.send_node(kind, attrgetter('_prefix'), JavaSender.send_space)
146
- ctx.send_node(kind, attrgetter('_markers'), ctx.send_markers)
147
- ctx.send_nodes(kind, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
148
- ctx.send_value(kind, attrgetter('_type'))
149
- return kind
150
-
151
- def visit_compilation_unit(self, compilation_unit: CompilationUnit, ctx: SenderContext) -> J:
152
- ctx.send_value(compilation_unit, attrgetter('_id'))
153
- ctx.send_node(compilation_unit, attrgetter('_prefix'), JavaSender.send_space)
154
- ctx.send_node(compilation_unit, attrgetter('_markers'), ctx.send_markers)
155
- ctx.send_value(compilation_unit, attrgetter('_source_path'))
156
- ctx.send_typed_value(compilation_unit, attrgetter('_file_attributes'))
157
- ctx.send_value(compilation_unit, attrgetter('_charset_name'))
158
- ctx.send_value(compilation_unit, attrgetter('_charset_bom_marked'))
159
- ctx.send_typed_value(compilation_unit, attrgetter('_checksum'))
160
- ctx.send_node(compilation_unit, attrgetter('_package_declaration'), JavaSender.send_right_padded)
161
- ctx.send_nodes(compilation_unit, attrgetter('_imports'), JavaSender.send_right_padded, lambda t: t.element.id)
162
- ctx.send_nodes(compilation_unit, attrgetter('_classes'), ctx.send_tree, attrgetter('id'))
163
- ctx.send_node(compilation_unit, attrgetter('_eof'), JavaSender.send_space)
164
- return compilation_unit
165
-
166
- def visit_continue(self, continue_: Continue, ctx: SenderContext) -> J:
167
- ctx.send_value(continue_, attrgetter('_id'))
168
- ctx.send_node(continue_, attrgetter('_prefix'), JavaSender.send_space)
169
- ctx.send_node(continue_, attrgetter('_markers'), ctx.send_markers)
170
- ctx.send_node(continue_, attrgetter('_label'), ctx.send_tree)
171
- return continue_
172
-
173
- def visit_do_while_loop(self, do_while_loop: DoWhileLoop, ctx: SenderContext) -> J:
174
- ctx.send_value(do_while_loop, attrgetter('_id'))
175
- ctx.send_node(do_while_loop, attrgetter('_prefix'), JavaSender.send_space)
176
- ctx.send_node(do_while_loop, attrgetter('_markers'), ctx.send_markers)
177
- ctx.send_node(do_while_loop, attrgetter('_body'), JavaSender.send_right_padded)
178
- ctx.send_node(do_while_loop, attrgetter('_while_condition'), JavaSender.send_left_padded)
179
- return do_while_loop
180
-
181
- def visit_empty(self, empty: Empty, ctx: SenderContext) -> J:
182
- ctx.send_value(empty, attrgetter('_id'))
183
- ctx.send_node(empty, attrgetter('_prefix'), JavaSender.send_space)
184
- ctx.send_node(empty, attrgetter('_markers'), ctx.send_markers)
185
- return empty
186
-
187
- def visit_enum_value(self, enum_value: EnumValue, ctx: SenderContext) -> J:
188
- ctx.send_value(enum_value, attrgetter('_id'))
189
- ctx.send_node(enum_value, attrgetter('_prefix'), JavaSender.send_space)
190
- ctx.send_node(enum_value, attrgetter('_markers'), ctx.send_markers)
191
- ctx.send_nodes(enum_value, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
192
- ctx.send_node(enum_value, attrgetter('_name'), ctx.send_tree)
193
- ctx.send_node(enum_value, attrgetter('_initializer'), ctx.send_tree)
194
- return enum_value
195
-
196
- def visit_enum_value_set(self, enum_value_set: EnumValueSet, ctx: SenderContext) -> J:
197
- ctx.send_value(enum_value_set, attrgetter('_id'))
198
- ctx.send_node(enum_value_set, attrgetter('_prefix'), JavaSender.send_space)
199
- ctx.send_node(enum_value_set, attrgetter('_markers'), ctx.send_markers)
200
- ctx.send_nodes(enum_value_set, attrgetter('_enums'), JavaSender.send_right_padded, lambda t: t.element.id)
201
- ctx.send_value(enum_value_set, attrgetter('_terminated_with_semicolon'))
202
- return enum_value_set
203
-
204
- def visit_field_access(self, field_access: FieldAccess, ctx: SenderContext) -> J:
205
- ctx.send_value(field_access, attrgetter('_id'))
206
- ctx.send_node(field_access, attrgetter('_prefix'), JavaSender.send_space)
207
- ctx.send_node(field_access, attrgetter('_markers'), ctx.send_markers)
208
- ctx.send_node(field_access, attrgetter('_target'), ctx.send_tree)
209
- ctx.send_node(field_access, attrgetter('_name'), JavaSender.send_left_padded)
210
- ctx.send_typed_value(field_access, attrgetter('_type'))
211
- return field_access
212
-
213
- def visit_for_each_loop(self, for_each_loop: ForEachLoop, ctx: SenderContext) -> J:
214
- ctx.send_value(for_each_loop, attrgetter('_id'))
215
- ctx.send_node(for_each_loop, attrgetter('_prefix'), JavaSender.send_space)
216
- ctx.send_node(for_each_loop, attrgetter('_markers'), ctx.send_markers)
217
- ctx.send_node(for_each_loop, attrgetter('_control'), ctx.send_tree)
218
- ctx.send_node(for_each_loop, attrgetter('_body'), JavaSender.send_right_padded)
219
- return for_each_loop
220
-
221
- def visit_for_each_control(self, control: ForEachLoop.Control, ctx: SenderContext) -> J:
222
- ctx.send_value(control, attrgetter('_id'))
223
- ctx.send_node(control, attrgetter('_prefix'), JavaSender.send_space)
224
- ctx.send_node(control, attrgetter('_markers'), ctx.send_markers)
225
- ctx.send_node(control, attrgetter('_variable'), JavaSender.send_right_padded)
226
- ctx.send_node(control, attrgetter('_iterable'), JavaSender.send_right_padded)
227
- return control
228
-
229
- def visit_for_loop(self, for_loop: ForLoop, ctx: SenderContext) -> J:
230
- ctx.send_value(for_loop, attrgetter('_id'))
231
- ctx.send_node(for_loop, attrgetter('_prefix'), JavaSender.send_space)
232
- ctx.send_node(for_loop, attrgetter('_markers'), ctx.send_markers)
233
- ctx.send_node(for_loop, attrgetter('_control'), ctx.send_tree)
234
- ctx.send_node(for_loop, attrgetter('_body'), JavaSender.send_right_padded)
235
- return for_loop
236
-
237
- def visit_for_control(self, control: ForLoop.Control, ctx: SenderContext) -> J:
238
- ctx.send_value(control, attrgetter('_id'))
239
- ctx.send_node(control, attrgetter('_prefix'), JavaSender.send_space)
240
- ctx.send_node(control, attrgetter('_markers'), ctx.send_markers)
241
- ctx.send_nodes(control, attrgetter('_init'), JavaSender.send_right_padded, lambda t: t.element.id)
242
- ctx.send_node(control, attrgetter('_condition'), JavaSender.send_right_padded)
243
- ctx.send_nodes(control, attrgetter('_update'), JavaSender.send_right_padded, lambda t: t.element.id)
244
- return control
245
-
246
- def visit_parenthesized_type_tree(self, parenthesized_type_tree: ParenthesizedTypeTree, ctx: SenderContext) -> J:
247
- ctx.send_value(parenthesized_type_tree, attrgetter('_id'))
248
- ctx.send_node(parenthesized_type_tree, attrgetter('_prefix'), JavaSender.send_space)
249
- ctx.send_node(parenthesized_type_tree, attrgetter('_markers'), ctx.send_markers)
250
- ctx.send_nodes(parenthesized_type_tree, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
251
- ctx.send_node(parenthesized_type_tree, attrgetter('_parenthesized_type'), ctx.send_tree)
252
- return parenthesized_type_tree
253
-
254
- def visit_identifier(self, identifier: Identifier, ctx: SenderContext) -> J:
255
- ctx.send_value(identifier, attrgetter('_id'))
256
- ctx.send_node(identifier, attrgetter('_prefix'), JavaSender.send_space)
257
- ctx.send_node(identifier, attrgetter('_markers'), ctx.send_markers)
258
- ctx.send_nodes(identifier, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
259
- ctx.send_value(identifier, attrgetter('_simple_name'))
260
- ctx.send_typed_value(identifier, attrgetter('_type'))
261
- ctx.send_typed_value(identifier, attrgetter('_field_type'))
262
- return identifier
263
-
264
- def visit_if(self, if_: If, ctx: SenderContext) -> J:
265
- ctx.send_value(if_, attrgetter('_id'))
266
- ctx.send_node(if_, attrgetter('_prefix'), JavaSender.send_space)
267
- ctx.send_node(if_, attrgetter('_markers'), ctx.send_markers)
268
- ctx.send_node(if_, attrgetter('_if_condition'), ctx.send_tree)
269
- ctx.send_node(if_, attrgetter('_then_part'), JavaSender.send_right_padded)
270
- ctx.send_node(if_, attrgetter('_else_part'), ctx.send_tree)
271
- return if_
272
-
273
- def visit_else(self, else_: If.Else, ctx: SenderContext) -> J:
274
- ctx.send_value(else_, attrgetter('_id'))
275
- ctx.send_node(else_, attrgetter('_prefix'), JavaSender.send_space)
276
- ctx.send_node(else_, attrgetter('_markers'), ctx.send_markers)
277
- ctx.send_node(else_, attrgetter('_body'), JavaSender.send_right_padded)
278
- return else_
279
-
280
- def visit_import(self, import_: Import, ctx: SenderContext) -> J:
281
- ctx.send_value(import_, attrgetter('_id'))
282
- ctx.send_node(import_, attrgetter('_prefix'), JavaSender.send_space)
283
- ctx.send_node(import_, attrgetter('_markers'), ctx.send_markers)
284
- ctx.send_node(import_, attrgetter('_static'), JavaSender.send_left_padded)
285
- ctx.send_node(import_, attrgetter('_qualid'), ctx.send_tree)
286
- ctx.send_node(import_, attrgetter('_alias'), JavaSender.send_left_padded)
287
- return import_
288
-
289
- def visit_instance_of(self, instance_of: InstanceOf, ctx: SenderContext) -> J:
290
- ctx.send_value(instance_of, attrgetter('_id'))
291
- ctx.send_node(instance_of, attrgetter('_prefix'), JavaSender.send_space)
292
- ctx.send_node(instance_of, attrgetter('_markers'), ctx.send_markers)
293
- ctx.send_node(instance_of, attrgetter('_expression'), JavaSender.send_right_padded)
294
- ctx.send_node(instance_of, attrgetter('_clazz'), ctx.send_tree)
295
- ctx.send_node(instance_of, attrgetter('_pattern'), ctx.send_tree)
296
- ctx.send_typed_value(instance_of, attrgetter('_type'))
297
- return instance_of
298
-
299
- def visit_intersection_type(self, intersection_type: IntersectionType, ctx: SenderContext) -> J:
300
- ctx.send_value(intersection_type, attrgetter('_id'))
301
- ctx.send_node(intersection_type, attrgetter('_prefix'), JavaSender.send_space)
302
- ctx.send_node(intersection_type, attrgetter('_markers'), ctx.send_markers)
303
- ctx.send_node(intersection_type, attrgetter('_bounds'), JavaSender.send_container)
304
- return intersection_type
305
-
306
- def visit_label(self, label: Label, ctx: SenderContext) -> J:
307
- ctx.send_value(label, attrgetter('_id'))
308
- ctx.send_node(label, attrgetter('_prefix'), JavaSender.send_space)
309
- ctx.send_node(label, attrgetter('_markers'), ctx.send_markers)
310
- ctx.send_node(label, attrgetter('_label'), JavaSender.send_right_padded)
311
- ctx.send_node(label, attrgetter('_statement'), ctx.send_tree)
312
- return label
313
-
314
- def visit_lambda(self, lambda_: Lambda, ctx: SenderContext) -> J:
315
- ctx.send_value(lambda_, attrgetter('_id'))
316
- ctx.send_node(lambda_, attrgetter('_prefix'), JavaSender.send_space)
317
- ctx.send_node(lambda_, attrgetter('_markers'), ctx.send_markers)
318
- ctx.send_node(lambda_, attrgetter('_parameters'), ctx.send_tree)
319
- ctx.send_node(lambda_, attrgetter('_arrow'), JavaSender.send_space)
320
- ctx.send_node(lambda_, attrgetter('_body'), ctx.send_tree)
321
- ctx.send_typed_value(lambda_, attrgetter('_type'))
322
- return lambda_
323
-
324
- def visit_lambda_parameters(self, parameters: Lambda.Parameters, ctx: SenderContext) -> J:
325
- ctx.send_value(parameters, attrgetter('_id'))
326
- ctx.send_node(parameters, attrgetter('_prefix'), JavaSender.send_space)
327
- ctx.send_node(parameters, attrgetter('_markers'), ctx.send_markers)
328
- ctx.send_value(parameters, attrgetter('_parenthesized'))
329
- ctx.send_nodes(parameters, attrgetter('_parameters'), JavaSender.send_right_padded, lambda t: t.element.id)
330
- return parameters
331
-
332
- def visit_literal(self, literal: Literal, ctx: SenderContext) -> J:
333
- ctx.send_value(literal, attrgetter('_id'))
334
- ctx.send_node(literal, attrgetter('_prefix'), JavaSender.send_space)
335
- ctx.send_node(literal, attrgetter('_markers'), ctx.send_markers)
336
- ctx.send_typed_value(literal, attrgetter('_value'))
337
- ctx.send_value(literal, attrgetter('_value_source'))
338
- ctx.send_values(literal, attrgetter('_unicode_escapes'), lambda x: x)
339
- ctx.send_value(literal, attrgetter('_type'))
340
- return literal
341
-
342
- def visit_member_reference(self, member_reference: MemberReference, ctx: SenderContext) -> J:
343
- ctx.send_value(member_reference, attrgetter('_id'))
344
- ctx.send_node(member_reference, attrgetter('_prefix'), JavaSender.send_space)
345
- ctx.send_node(member_reference, attrgetter('_markers'), ctx.send_markers)
346
- ctx.send_node(member_reference, attrgetter('_containing'), JavaSender.send_right_padded)
347
- ctx.send_node(member_reference, attrgetter('_type_parameters'), JavaSender.send_container)
348
- ctx.send_node(member_reference, attrgetter('_reference'), JavaSender.send_left_padded)
349
- ctx.send_typed_value(member_reference, attrgetter('_type'))
350
- ctx.send_typed_value(member_reference, attrgetter('_method_type'))
351
- ctx.send_typed_value(member_reference, attrgetter('_variable_type'))
352
- return member_reference
353
-
354
- def visit_method_declaration(self, method_declaration: MethodDeclaration, ctx: SenderContext) -> J:
355
- ctx.send_value(method_declaration, attrgetter('_id'))
356
- ctx.send_node(method_declaration, attrgetter('_prefix'), JavaSender.send_space)
357
- ctx.send_node(method_declaration, attrgetter('_markers'), ctx.send_markers)
358
- ctx.send_nodes(method_declaration, attrgetter('_leading_annotations'), ctx.send_tree, attrgetter('id'))
359
- ctx.send_nodes(method_declaration, attrgetter('_modifiers'), ctx.send_tree, attrgetter('id'))
360
- ctx.send_node(method_declaration, attrgetter('_type_parameters'), ctx.send_tree)
361
- ctx.send_node(method_declaration, attrgetter('_return_type_expression'), ctx.send_tree)
362
- ctx.send_node(method_declaration, attrgetter('_name'), self.send_method_identifier_with_annotations)
363
- ctx.send_node(method_declaration, attrgetter('_parameters'), JavaSender.send_container)
364
- ctx.send_node(method_declaration, attrgetter('_throws'), JavaSender.send_container)
365
- ctx.send_node(method_declaration, attrgetter('_body'), ctx.send_tree)
366
- ctx.send_node(method_declaration, attrgetter('_default_value'), JavaSender.send_left_padded)
367
- ctx.send_typed_value(method_declaration, attrgetter('_method_type'))
368
- return method_declaration
369
-
370
- def send_method_identifier_with_annotations(self, identifier_with_annotations: MethodDeclaration.IdentifierWithAnnotations, ctx: SenderContext) -> None:
371
- ctx.send_node(identifier_with_annotations, attrgetter('identifier'), ctx.send_tree)
372
- ctx.send_nodes(identifier_with_annotations, attrgetter('annotations'), ctx.send_tree, attrgetter('id'))
373
-
374
- def visit_method_invocation(self, method_invocation: MethodInvocation, ctx: SenderContext) -> J:
375
- ctx.send_value(method_invocation, attrgetter('_id'))
376
- ctx.send_node(method_invocation, attrgetter('_prefix'), JavaSender.send_space)
377
- ctx.send_node(method_invocation, attrgetter('_markers'), ctx.send_markers)
378
- ctx.send_node(method_invocation, attrgetter('_select'), JavaSender.send_right_padded)
379
- ctx.send_node(method_invocation, attrgetter('_type_parameters'), JavaSender.send_container)
380
- ctx.send_node(method_invocation, attrgetter('_name'), ctx.send_tree)
381
- ctx.send_node(method_invocation, attrgetter('_arguments'), JavaSender.send_container)
382
- ctx.send_typed_value(method_invocation, attrgetter('_method_type'))
383
- return method_invocation
384
-
385
- def visit_modifier(self, modifier: Modifier, ctx: SenderContext) -> J:
386
- ctx.send_value(modifier, attrgetter('_id'))
387
- ctx.send_node(modifier, attrgetter('_prefix'), JavaSender.send_space)
388
- ctx.send_node(modifier, attrgetter('_markers'), ctx.send_markers)
389
- ctx.send_value(modifier, attrgetter('_keyword'))
390
- ctx.send_value(modifier, attrgetter('_type'))
391
- ctx.send_nodes(modifier, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
392
- return modifier
393
-
394
- def visit_multi_catch(self, multi_catch: MultiCatch, ctx: SenderContext) -> J:
395
- ctx.send_value(multi_catch, attrgetter('_id'))
396
- ctx.send_node(multi_catch, attrgetter('_prefix'), JavaSender.send_space)
397
- ctx.send_node(multi_catch, attrgetter('_markers'), ctx.send_markers)
398
- ctx.send_nodes(multi_catch, attrgetter('_alternatives'), JavaSender.send_right_padded, lambda t: t.element.id)
399
- return multi_catch
400
-
401
- def visit_new_array(self, new_array: NewArray, ctx: SenderContext) -> J:
402
- ctx.send_value(new_array, attrgetter('_id'))
403
- ctx.send_node(new_array, attrgetter('_prefix'), JavaSender.send_space)
404
- ctx.send_node(new_array, attrgetter('_markers'), ctx.send_markers)
405
- ctx.send_node(new_array, attrgetter('_type_expression'), ctx.send_tree)
406
- ctx.send_nodes(new_array, attrgetter('_dimensions'), ctx.send_tree, attrgetter('id'))
407
- ctx.send_node(new_array, attrgetter('_initializer'), JavaSender.send_container)
408
- ctx.send_typed_value(new_array, attrgetter('_type'))
409
- return new_array
410
-
411
- def visit_array_dimension(self, array_dimension: ArrayDimension, ctx: SenderContext) -> J:
412
- ctx.send_value(array_dimension, attrgetter('_id'))
413
- ctx.send_node(array_dimension, attrgetter('_prefix'), JavaSender.send_space)
414
- ctx.send_node(array_dimension, attrgetter('_markers'), ctx.send_markers)
415
- ctx.send_node(array_dimension, attrgetter('_index'), JavaSender.send_right_padded)
416
- return array_dimension
417
-
418
- def visit_new_class(self, new_class: NewClass, ctx: SenderContext) -> J:
419
- ctx.send_value(new_class, attrgetter('_id'))
420
- ctx.send_node(new_class, attrgetter('_prefix'), JavaSender.send_space)
421
- ctx.send_node(new_class, attrgetter('_markers'), ctx.send_markers)
422
- ctx.send_node(new_class, attrgetter('_enclosing'), JavaSender.send_right_padded)
423
- ctx.send_node(new_class, attrgetter('_new'), JavaSender.send_space)
424
- ctx.send_node(new_class, attrgetter('_clazz'), ctx.send_tree)
425
- ctx.send_node(new_class, attrgetter('_arguments'), JavaSender.send_container)
426
- ctx.send_node(new_class, attrgetter('_body'), ctx.send_tree)
427
- ctx.send_typed_value(new_class, attrgetter('_constructor_type'))
428
- return new_class
429
-
430
- def visit_nullable_type(self, nullable_type: NullableType, ctx: SenderContext) -> J:
431
- ctx.send_value(nullable_type, attrgetter('_id'))
432
- ctx.send_node(nullable_type, attrgetter('_prefix'), JavaSender.send_space)
433
- ctx.send_node(nullable_type, attrgetter('_markers'), ctx.send_markers)
434
- ctx.send_nodes(nullable_type, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
435
- ctx.send_node(nullable_type, attrgetter('_type_tree'), JavaSender.send_right_padded)
436
- return nullable_type
437
-
438
- def visit_package(self, package: Package, ctx: SenderContext) -> J:
439
- ctx.send_value(package, attrgetter('_id'))
440
- ctx.send_node(package, attrgetter('_prefix'), JavaSender.send_space)
441
- ctx.send_node(package, attrgetter('_markers'), ctx.send_markers)
442
- ctx.send_node(package, attrgetter('_expression'), ctx.send_tree)
443
- ctx.send_nodes(package, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
444
- return package
445
-
446
- def visit_parameterized_type(self, parameterized_type: ParameterizedType, ctx: SenderContext) -> J:
447
- ctx.send_value(parameterized_type, attrgetter('_id'))
448
- ctx.send_node(parameterized_type, attrgetter('_prefix'), JavaSender.send_space)
449
- ctx.send_node(parameterized_type, attrgetter('_markers'), ctx.send_markers)
450
- ctx.send_node(parameterized_type, attrgetter('_clazz'), ctx.send_tree)
451
- ctx.send_node(parameterized_type, attrgetter('_type_parameters'), JavaSender.send_container)
452
- ctx.send_typed_value(parameterized_type, attrgetter('_type'))
453
- return parameterized_type
454
-
455
- def visit_parentheses(self, parentheses: Parentheses[J2], ctx: SenderContext) -> J:
456
- ctx.send_value(parentheses, attrgetter('_id'))
457
- ctx.send_node(parentheses, attrgetter('_prefix'), JavaSender.send_space)
458
- ctx.send_node(parentheses, attrgetter('_markers'), ctx.send_markers)
459
- ctx.send_node(parentheses, attrgetter('_tree'), JavaSender.send_right_padded)
460
- return parentheses
461
-
462
- def visit_control_parentheses(self, control_parentheses: ControlParentheses[J2], ctx: SenderContext) -> J:
463
- ctx.send_value(control_parentheses, attrgetter('_id'))
464
- ctx.send_node(control_parentheses, attrgetter('_prefix'), JavaSender.send_space)
465
- ctx.send_node(control_parentheses, attrgetter('_markers'), ctx.send_markers)
466
- ctx.send_node(control_parentheses, attrgetter('_tree'), JavaSender.send_right_padded)
467
- return control_parentheses
468
-
469
- def visit_primitive(self, primitive: Primitive, ctx: SenderContext) -> J:
470
- ctx.send_value(primitive, attrgetter('_id'))
471
- ctx.send_node(primitive, attrgetter('_prefix'), JavaSender.send_space)
472
- ctx.send_node(primitive, attrgetter('_markers'), ctx.send_markers)
473
- ctx.send_value(primitive, attrgetter('_type'))
474
- return primitive
475
-
476
- def visit_return(self, return_: Return, ctx: SenderContext) -> J:
477
- ctx.send_value(return_, attrgetter('_id'))
478
- ctx.send_node(return_, attrgetter('_prefix'), JavaSender.send_space)
479
- ctx.send_node(return_, attrgetter('_markers'), ctx.send_markers)
480
- ctx.send_node(return_, attrgetter('_expression'), ctx.send_tree)
481
- return return_
482
-
483
- def visit_switch(self, switch: Switch, ctx: SenderContext) -> J:
484
- ctx.send_value(switch, attrgetter('_id'))
485
- ctx.send_node(switch, attrgetter('_prefix'), JavaSender.send_space)
486
- ctx.send_node(switch, attrgetter('_markers'), ctx.send_markers)
487
- ctx.send_node(switch, attrgetter('_selector'), ctx.send_tree)
488
- ctx.send_node(switch, attrgetter('_cases'), ctx.send_tree)
489
- return switch
490
-
491
- def visit_switch_expression(self, switch_expression: SwitchExpression, ctx: SenderContext) -> J:
492
- ctx.send_value(switch_expression, attrgetter('_id'))
493
- ctx.send_node(switch_expression, attrgetter('_prefix'), JavaSender.send_space)
494
- ctx.send_node(switch_expression, attrgetter('_markers'), ctx.send_markers)
495
- ctx.send_node(switch_expression, attrgetter('_selector'), ctx.send_tree)
496
- ctx.send_node(switch_expression, attrgetter('_cases'), ctx.send_tree)
497
- return switch_expression
498
-
499
- def visit_synchronized(self, synchronized: Synchronized, ctx: SenderContext) -> J:
500
- ctx.send_value(synchronized, attrgetter('_id'))
501
- ctx.send_node(synchronized, attrgetter('_prefix'), JavaSender.send_space)
502
- ctx.send_node(synchronized, attrgetter('_markers'), ctx.send_markers)
503
- ctx.send_node(synchronized, attrgetter('_lock'), ctx.send_tree)
504
- ctx.send_node(synchronized, attrgetter('_body'), ctx.send_tree)
505
- return synchronized
506
-
507
- def visit_ternary(self, ternary: Ternary, ctx: SenderContext) -> J:
508
- ctx.send_value(ternary, attrgetter('_id'))
509
- ctx.send_node(ternary, attrgetter('_prefix'), JavaSender.send_space)
510
- ctx.send_node(ternary, attrgetter('_markers'), ctx.send_markers)
511
- ctx.send_node(ternary, attrgetter('_condition'), ctx.send_tree)
512
- ctx.send_node(ternary, attrgetter('_true_part'), JavaSender.send_left_padded)
513
- ctx.send_node(ternary, attrgetter('_false_part'), JavaSender.send_left_padded)
514
- ctx.send_typed_value(ternary, attrgetter('_type'))
515
- return ternary
516
-
517
- def visit_throw(self, throw: Throw, ctx: SenderContext) -> J:
518
- ctx.send_value(throw, attrgetter('_id'))
519
- ctx.send_node(throw, attrgetter('_prefix'), JavaSender.send_space)
520
- ctx.send_node(throw, attrgetter('_markers'), ctx.send_markers)
521
- ctx.send_node(throw, attrgetter('_exception'), ctx.send_tree)
522
- return throw
523
-
524
- def visit_try(self, try_: Try, ctx: SenderContext) -> J:
525
- ctx.send_value(try_, attrgetter('_id'))
526
- ctx.send_node(try_, attrgetter('_prefix'), JavaSender.send_space)
527
- ctx.send_node(try_, attrgetter('_markers'), ctx.send_markers)
528
- ctx.send_node(try_, attrgetter('_resources'), JavaSender.send_container)
529
- ctx.send_node(try_, attrgetter('_body'), ctx.send_tree)
530
- ctx.send_nodes(try_, attrgetter('_catches'), ctx.send_tree, attrgetter('id'))
531
- ctx.send_node(try_, attrgetter('_finally'), JavaSender.send_left_padded)
532
- return try_
533
-
534
- def visit_try_resource(self, resource: Try.Resource, ctx: SenderContext) -> J:
535
- ctx.send_value(resource, attrgetter('_id'))
536
- ctx.send_node(resource, attrgetter('_prefix'), JavaSender.send_space)
537
- ctx.send_node(resource, attrgetter('_markers'), ctx.send_markers)
538
- ctx.send_node(resource, attrgetter('_variable_declarations'), ctx.send_tree)
539
- ctx.send_value(resource, attrgetter('_terminated_with_semicolon'))
540
- return resource
541
-
542
- def visit_catch(self, catch: Try.Catch, ctx: SenderContext) -> J:
543
- ctx.send_value(catch, attrgetter('_id'))
544
- ctx.send_node(catch, attrgetter('_prefix'), JavaSender.send_space)
545
- ctx.send_node(catch, attrgetter('_markers'), ctx.send_markers)
546
- ctx.send_node(catch, attrgetter('_parameter'), ctx.send_tree)
547
- ctx.send_node(catch, attrgetter('_body'), ctx.send_tree)
548
- return catch
549
-
550
- def visit_type_cast(self, type_cast: TypeCast, ctx: SenderContext) -> J:
551
- ctx.send_value(type_cast, attrgetter('_id'))
552
- ctx.send_node(type_cast, attrgetter('_prefix'), JavaSender.send_space)
553
- ctx.send_node(type_cast, attrgetter('_markers'), ctx.send_markers)
554
- ctx.send_node(type_cast, attrgetter('_clazz'), ctx.send_tree)
555
- ctx.send_node(type_cast, attrgetter('_expression'), ctx.send_tree)
556
- return type_cast
557
-
558
- def visit_type_parameter(self, type_parameter: TypeParameter, ctx: SenderContext) -> J:
559
- ctx.send_value(type_parameter, attrgetter('_id'))
560
- ctx.send_node(type_parameter, attrgetter('_prefix'), JavaSender.send_space)
561
- ctx.send_node(type_parameter, attrgetter('_markers'), ctx.send_markers)
562
- ctx.send_nodes(type_parameter, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
563
- ctx.send_nodes(type_parameter, attrgetter('_modifiers'), ctx.send_tree, attrgetter('id'))
564
- ctx.send_node(type_parameter, attrgetter('_name'), ctx.send_tree)
565
- ctx.send_node(type_parameter, attrgetter('_bounds'), JavaSender.send_container)
566
- return type_parameter
567
-
568
- def visit_type_parameters(self, type_parameters: TypeParameters, ctx: SenderContext) -> J:
569
- ctx.send_value(type_parameters, attrgetter('_id'))
570
- ctx.send_node(type_parameters, attrgetter('_prefix'), JavaSender.send_space)
571
- ctx.send_node(type_parameters, attrgetter('_markers'), ctx.send_markers)
572
- ctx.send_nodes(type_parameters, attrgetter('_annotations'), ctx.send_tree, attrgetter('id'))
573
- ctx.send_nodes(type_parameters, attrgetter('_type_parameters'), JavaSender.send_right_padded, lambda t: t.element.id)
574
- return type_parameters
575
-
576
- def visit_unary(self, unary: Unary, ctx: SenderContext) -> J:
577
- ctx.send_value(unary, attrgetter('_id'))
578
- ctx.send_node(unary, attrgetter('_prefix'), JavaSender.send_space)
579
- ctx.send_node(unary, attrgetter('_markers'), ctx.send_markers)
580
- ctx.send_node(unary, attrgetter('_operator'), JavaSender.send_left_padded)
581
- ctx.send_node(unary, attrgetter('_expression'), ctx.send_tree)
582
- ctx.send_typed_value(unary, attrgetter('_type'))
583
- return unary
584
-
585
- def visit_variable_declarations(self, variable_declarations: VariableDeclarations, ctx: SenderContext) -> J:
586
- ctx.send_value(variable_declarations, attrgetter('_id'))
587
- ctx.send_node(variable_declarations, attrgetter('_prefix'), JavaSender.send_space)
588
- ctx.send_node(variable_declarations, attrgetter('_markers'), ctx.send_markers)
589
- ctx.send_nodes(variable_declarations, attrgetter('_leading_annotations'), ctx.send_tree, attrgetter('id'))
590
- ctx.send_nodes(variable_declarations, attrgetter('_modifiers'), ctx.send_tree, attrgetter('id'))
591
- ctx.send_node(variable_declarations, attrgetter('_type_expression'), ctx.send_tree)
592
- ctx.send_node(variable_declarations, attrgetter('_varargs'), JavaSender.send_space)
593
- ctx.send_nodes(variable_declarations, attrgetter('_dimensions_before_name'), JavaSender.send_left_padded, lambda t: t)
594
- ctx.send_nodes(variable_declarations, attrgetter('_variables'), JavaSender.send_right_padded, lambda t: t.element.id)
595
- return variable_declarations
596
-
597
- def visit_variable(self, named_variable: VariableDeclarations.NamedVariable, ctx: SenderContext) -> J:
598
- ctx.send_value(named_variable, attrgetter('_id'))
599
- ctx.send_node(named_variable, attrgetter('_prefix'), JavaSender.send_space)
600
- ctx.send_node(named_variable, attrgetter('_markers'), ctx.send_markers)
601
- ctx.send_node(named_variable, attrgetter('_name'), ctx.send_tree)
602
- ctx.send_nodes(named_variable, attrgetter('_dimensions_after_name'), JavaSender.send_left_padded, lambda t: t)
603
- ctx.send_node(named_variable, attrgetter('_initializer'), JavaSender.send_left_padded)
604
- ctx.send_typed_value(named_variable, attrgetter('_variable_type'))
605
- return named_variable
606
-
607
- def visit_while_loop(self, while_loop: WhileLoop, ctx: SenderContext) -> J:
608
- ctx.send_value(while_loop, attrgetter('_id'))
609
- ctx.send_node(while_loop, attrgetter('_prefix'), JavaSender.send_space)
610
- ctx.send_node(while_loop, attrgetter('_markers'), ctx.send_markers)
611
- ctx.send_node(while_loop, attrgetter('_condition'), ctx.send_tree)
612
- ctx.send_node(while_loop, attrgetter('_body'), JavaSender.send_right_padded)
613
- return while_loop
614
-
615
- def visit_wildcard(self, wildcard: Wildcard, ctx: SenderContext) -> J:
616
- ctx.send_value(wildcard, attrgetter('_id'))
617
- ctx.send_node(wildcard, attrgetter('_prefix'), JavaSender.send_space)
618
- ctx.send_node(wildcard, attrgetter('_markers'), ctx.send_markers)
619
- ctx.send_node(wildcard, attrgetter('_bound'), JavaSender.send_left_padded)
620
- ctx.send_node(wildcard, attrgetter('_bounded_type'), ctx.send_tree)
621
- return wildcard
622
-
623
- def visit_yield(self, yield_: Yield, ctx: SenderContext) -> J:
624
- ctx.send_value(yield_, attrgetter('_id'))
625
- ctx.send_node(yield_, attrgetter('_prefix'), JavaSender.send_space)
626
- ctx.send_node(yield_, attrgetter('_markers'), ctx.send_markers)
627
- ctx.send_value(yield_, attrgetter('_implicit'))
628
- ctx.send_node(yield_, attrgetter('_value'), ctx.send_tree)
629
- return yield_
630
-
631
- def visit_unknown(self, unknown: Unknown, ctx: SenderContext) -> J:
632
- ctx.send_value(unknown, attrgetter('_id'))
633
- ctx.send_node(unknown, attrgetter('_prefix'), JavaSender.send_space)
634
- ctx.send_node(unknown, attrgetter('_markers'), ctx.send_markers)
635
- ctx.send_node(unknown, attrgetter('_source'), ctx.send_tree)
636
- return unknown
637
-
638
- def visit_unknown_source(self, source: Unknown.Source, ctx: SenderContext) -> J:
639
- ctx.send_value(source, attrgetter('_id'))
640
- ctx.send_node(source, attrgetter('_prefix'), JavaSender.send_space)
641
- ctx.send_node(source, attrgetter('_markers'), ctx.send_markers)
642
- ctx.send_value(source, attrgetter('_text'))
643
- return source
644
-
645
- @classmethod
646
- def send_container(cls, container: JContainer[T], ctx: SenderContext):
647
- extensions.send_container(container, ctx)
648
-
649
- @classmethod
650
- def send_left_padded(cls, left_padded: JLeftPadded[T], ctx: SenderContext):
651
- extensions.send_left_padded(left_padded, ctx)
652
-
653
- @classmethod
654
- def send_right_padded(cls, right_padded: JRightPadded[T], ctx: SenderContext):
655
- extensions.send_right_padded(right_padded, ctx)
656
-
657
- @classmethod
658
- def send_space(cls, space: Space, ctx: SenderContext):
659
- extensions.send_space(space, ctx)