acts-as-messageable 0.5.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/test.yml +152 -0
  4. data/.rubocop.yml +14 -1
  5. data/.rubocop_todo.yml +49 -7
  6. data/.ruby-version +1 -0
  7. data/Appraisals +11 -0
  8. data/Dockerfile +2 -1
  9. data/Gemfile +19 -13
  10. data/Gemfile.lock +186 -97
  11. data/README.md +2 -3
  12. data/Rakefile +6 -1
  13. data/VERSION +1 -1
  14. data/acts-as-messageable.gemspec +193 -40
  15. data/bin/tapioca +29 -0
  16. data/docker-compose.yml +82 -71
  17. data/gemfiles/rails_3.2.gemfile +14 -9
  18. data/gemfiles/rails_4.2.gemfile +14 -9
  19. data/gemfiles/rails_5.2.gemfile +14 -9
  20. data/gemfiles/rails_6.0.gemfile +14 -9
  21. data/gemfiles/rails_7.0.gemfile +29 -0
  22. data/gemfiles/rails_master.gemfile +15 -9
  23. data/lib/acts-as-messageable.rb +1 -0
  24. data/lib/acts_as_messageable/message.rb +62 -5
  25. data/lib/acts_as_messageable/model.rb +71 -20
  26. data/lib/acts_as_messageable/rails3.rb +27 -2
  27. data/lib/acts_as_messageable/rails4.rb +31 -4
  28. data/lib/acts_as_messageable/rails6.rb +34 -2
  29. data/lib/acts_as_messageable/railtie.rb +1 -0
  30. data/lib/acts_as_messageable/relation.rb +18 -2
  31. data/lib/acts_as_messageable/scopes.rb +11 -0
  32. data/lib/acts_as_messageable.rb +18 -0
  33. data/lib/generators/acts_as_messageable/migration/migration_generator.rb +4 -0
  34. data/lib/generators/acts_as_messageable/migration/templates/migration.rb +1 -0
  35. data/lib/generators/acts_as_messageable/migration/templates/migration_indexes.rb +1 -0
  36. data/lib/generators/acts_as_messageable/migration/templates/migration_opened_as_datetime.rb +1 -0
  37. data/lib/generators/acts_as_messageable/migration/templates/migration_permanent.rb +1 -0
  38. data/sorbet/config +4 -0
  39. data/sorbet/rbi/annotations/actionpack.rbi +428 -0
  40. data/sorbet/rbi/annotations/actionview.rbi +77 -0
  41. data/sorbet/rbi/annotations/activerecord.rbi +18 -0
  42. data/sorbet/rbi/annotations/activesupport.rbi +52 -0
  43. data/sorbet/rbi/annotations/faraday.rbi +17 -0
  44. data/sorbet/rbi/annotations/railties.rbi +58 -0
  45. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  46. data/sorbet/rbi/dsl/abstract_controller/caching/fragments.rbi +23 -0
  47. data/sorbet/rbi/dsl/abstract_controller/caching.rbi +30 -0
  48. data/sorbet/rbi/dsl/abstract_controller/callbacks.rbi +23 -0
  49. data/sorbet/rbi/dsl/abstract_controller/helpers.rbi +23 -0
  50. data/sorbet/rbi/dsl/abstract_controller/rendering.rbi +9 -0
  51. data/sorbet/rbi/dsl/abstract_controller/url_for.rbi +23 -0
  52. data/sorbet/rbi/dsl/action_controller/caching.rbi +29 -0
  53. data/sorbet/rbi/dsl/action_controller/conditional_get.rbi +23 -0
  54. data/sorbet/rbi/dsl/action_controller/content_security_policy.rbi +31 -0
  55. data/sorbet/rbi/dsl/action_controller/data_streaming.rbi +9 -0
  56. data/sorbet/rbi/dsl/action_controller/etag_with_flash.rbi +24 -0
  57. data/sorbet/rbi/dsl/action_controller/etag_with_template_digest.rbi +30 -0
  58. data/sorbet/rbi/dsl/action_controller/flash.rbi +19 -0
  59. data/sorbet/rbi/dsl/action_controller/form_builder.rbi +19 -0
  60. data/sorbet/rbi/dsl/action_controller/helpers.rbi +36 -0
  61. data/sorbet/rbi/dsl/action_controller/params_wrapper.rbi +23 -0
  62. data/sorbet/rbi/dsl/action_controller/redirecting.rbi +24 -0
  63. data/sorbet/rbi/dsl/action_controller/renderers/all.rbi +24 -0
  64. data/sorbet/rbi/dsl/action_controller/renderers.rbi +23 -0
  65. data/sorbet/rbi/dsl/action_controller/request_forgery_protection.rbi +31 -0
  66. data/sorbet/rbi/dsl/action_controller/rescue.rbi +24 -0
  67. data/sorbet/rbi/dsl/action_controller/test_case/behavior.rbi +24 -0
  68. data/sorbet/rbi/dsl/action_controller/url_for.rbi +24 -0
  69. data/sorbet/rbi/dsl/action_dispatch/routing/url_for.rbi +23 -0
  70. data/sorbet/rbi/dsl/action_view/helpers/form_helper.rbi +10 -0
  71. data/sorbet/rbi/dsl/action_view/helpers/form_tag_helper.rbi +10 -0
  72. data/sorbet/rbi/dsl/action_view/helpers/text_helper.rbi +9 -0
  73. data/sorbet/rbi/dsl/action_view/helpers.rbi +10 -0
  74. data/sorbet/rbi/dsl/action_view/layouts.rbi +24 -0
  75. data/sorbet/rbi/dsl/action_view/rendering.rbi +9 -0
  76. data/sorbet/rbi/dsl/active_model/attribute_methods.rbi +27 -0
  77. data/sorbet/rbi/dsl/active_model/attributes.rbi +34 -0
  78. data/sorbet/rbi/dsl/active_model/dirty.rbi +28 -0
  79. data/sorbet/rbi/dsl/active_model/serializers/json.rbi +22 -0
  80. data/sorbet/rbi/dsl/active_model/validations/callbacks.rbi +22 -0
  81. data/sorbet/rbi/dsl/active_model/validations.rbi +27 -0
  82. data/sorbet/rbi/dsl/active_record/attribute_methods/dirty.rbi +38 -0
  83. data/sorbet/rbi/dsl/active_record/attribute_methods/time_zone_conversion.rbi +32 -0
  84. data/sorbet/rbi/dsl/active_record/attribute_methods.rbi +53 -0
  85. data/sorbet/rbi/dsl/active_record/attributes.rbi +19 -0
  86. data/sorbet/rbi/dsl/active_record/callbacks.rbi +22 -0
  87. data/sorbet/rbi/dsl/active_record/core.rbi +55 -0
  88. data/sorbet/rbi/dsl/active_record/encryption/encryptable_record.rbi +23 -0
  89. data/sorbet/rbi/dsl/active_record/inheritance.rbi +27 -0
  90. data/sorbet/rbi/dsl/active_record/integration.rbi +32 -0
  91. data/sorbet/rbi/dsl/active_record/locking/optimistic.rbi +22 -0
  92. data/sorbet/rbi/dsl/active_record/model_schema.rbi +52 -0
  93. data/sorbet/rbi/dsl/active_record/nested_attributes.rbi +22 -0
  94. data/sorbet/rbi/dsl/active_record/readonly_attributes.rbi +19 -0
  95. data/sorbet/rbi/dsl/active_record/reflection.rbi +32 -0
  96. data/sorbet/rbi/dsl/active_record/scoping/default.rbi +23 -0
  97. data/sorbet/rbi/dsl/active_record/scoping.rbi +23 -0
  98. data/sorbet/rbi/dsl/active_record/serialization.rbi +22 -0
  99. data/sorbet/rbi/dsl/active_record/signed_id.rbi +22 -0
  100. data/sorbet/rbi/dsl/active_record/test_fixtures.rbi +58 -0
  101. data/sorbet/rbi/dsl/active_record/timestamp.rbi +23 -0
  102. data/sorbet/rbi/dsl/active_record/validations.rbi +28 -0
  103. data/sorbet/rbi/dsl/active_support/actionable_error.rbi +23 -0
  104. data/sorbet/rbi/dsl/active_support/callbacks.rbi +22 -0
  105. data/sorbet/rbi/dsl/active_support/rescuable.rbi +23 -0
  106. data/sorbet/rbi/dsl/active_support/testing/file_fixtures.rbi +22 -0
  107. data/sorbet/rbi/gems/actionpack@7.0.4.3.rbi +19265 -0
  108. data/sorbet/rbi/gems/actionview@7.0.4.3.rbi +15482 -0
  109. data/sorbet/rbi/gems/activemodel@7.0.4.3.rbi +6025 -0
  110. data/sorbet/rbi/gems/activerecord@7.0.4.3.rbi +37852 -0
  111. data/sorbet/rbi/gems/activesupport@7.0.4.3.rbi +18788 -0
  112. data/sorbet/rbi/gems/addressable@2.4.0.rbi +8 -0
  113. data/sorbet/rbi/gems/appraisal@2.4.1.rbi +584 -0
  114. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  115. data/sorbet/rbi/gems/builder@3.2.4.rbi +8 -0
  116. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  117. data/sorbet/rbi/gems/commander@4.6.0.rbi +8 -0
  118. data/sorbet/rbi/gems/concurrent-ruby@1.2.2.rbi +11545 -0
  119. data/sorbet/rbi/gems/coveralls_reborn@0.27.0.rbi +8 -0
  120. data/sorbet/rbi/gems/crass@1.0.6.rbi +622 -0
  121. data/sorbet/rbi/gems/descendants_tracker@0.0.4.rbi +8 -0
  122. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  123. data/sorbet/rbi/gems/docile@1.4.0.rbi +8 -0
  124. data/sorbet/rbi/gems/erubi@1.12.0.rbi +146 -0
  125. data/sorbet/rbi/gems/faraday@0.9.2.rbi +964 -0
  126. data/sorbet/rbi/gems/git@1.11.0.rbi +2700 -0
  127. data/sorbet/rbi/gems/github_api@0.16.0.rbi +8 -0
  128. data/sorbet/rbi/gems/hashie@5.0.0.rbi +8 -0
  129. data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
  130. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  131. data/sorbet/rbi/gems/jeweler@2.3.9.rbi +1591 -0
  132. data/sorbet/rbi/gems/json@2.6.3.rbi +1541 -0
  133. data/sorbet/rbi/gems/jwt@2.5.0.rbi +8 -0
  134. data/sorbet/rbi/gems/loofah@2.19.1.rbi +904 -0
  135. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  136. data/sorbet/rbi/gems/mime-types@2.99.3.rbi +8 -0
  137. data/sorbet/rbi/gems/minitest@5.18.0.rbi +1491 -0
  138. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +8 -0
  139. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +8 -0
  140. data/sorbet/rbi/gems/multipart-post@2.2.3.rbi +8 -0
  141. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  142. data/sorbet/rbi/gems/nokogiri@1.14.2.rbi +7244 -0
  143. data/sorbet/rbi/gems/oauth2@1.4.8.rbi +8 -0
  144. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  145. data/sorbet/rbi/gems/pg@1.4.6.rbi +2574 -0
  146. data/sorbet/rbi/gems/polyfill@1.9.0.rbi +8 -0
  147. data/sorbet/rbi/gems/pry@0.14.2.rbi +10081 -0
  148. data/sorbet/rbi/gems/psych@4.0.6.rbi +1819 -0
  149. data/sorbet/rbi/gems/racc@1.6.2.rbi +155 -0
  150. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +943 -0
  151. data/sorbet/rbi/gems/rack@2.2.6.4.rbi +5659 -0
  152. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +455 -0
  153. data/sorbet/rbi/gems/rails-html-sanitizer@1.5.0.rbi +685 -0
  154. data/sorbet/rbi/gems/railties@7.0.4.3.rbi +4553 -0
  155. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +8 -0
  156. data/sorbet/rbi/gems/rake@13.0.6.rbi +2959 -0
  157. data/sorbet/rbi/gems/rbi@0.0.16.rbi +3008 -0
  158. data/sorbet/rbi/gems/rbs@2.8.0.rbi +8 -0
  159. data/sorbet/rbi/gems/rchardet@1.8.0.rbi +1078 -0
  160. data/sorbet/rbi/gems/rdoc@6.5.0.rbi +12441 -0
  161. data/sorbet/rbi/gems/regexp_parser@2.7.0.rbi +8 -0
  162. data/sorbet/rbi/gems/rexml@3.2.5.rbi +8 -0
  163. data/sorbet/rbi/gems/rspec-core@3.12.0.rbi +10798 -0
  164. data/sorbet/rbi/gems/rspec-expectations@3.12.0.rbi +8090 -0
  165. data/sorbet/rbi/gems/rspec-mocks@3.12.0.rbi +5296 -0
  166. data/sorbet/rbi/gems/rspec-support@3.12.0.rbi +1617 -0
  167. data/sorbet/rbi/gems/rspec@3.12.0.rbi +88 -0
  168. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +8 -0
  169. data/sorbet/rbi/gems/safe_type@1.1.1.rbi +8 -0
  170. data/sorbet/rbi/gems/semver2@3.4.2.rbi +8 -0
  171. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +8 -0
  172. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +8 -0
  173. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +8 -0
  174. data/sorbet/rbi/gems/sorbet-coerce@0.7.0.rbi +8 -0
  175. data/sorbet/rbi/gems/stringio@3.0.2.rbi +8 -0
  176. data/sorbet/rbi/gems/sync@0.5.0.rbi +8 -0
  177. data/sorbet/rbi/gems/term-ansicolor@1.7.1.rbi +8 -0
  178. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  179. data/sorbet/rbi/gems/thread_safe@0.3.6.rbi +8 -0
  180. data/sorbet/rbi/gems/timecop@0.9.6.rbi +361 -0
  181. data/sorbet/rbi/gems/tins@1.32.1.rbi +8 -0
  182. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5917 -0
  183. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +8 -0
  184. data/sorbet/rbi/gems/unparser@0.6.7.rbi +4515 -0
  185. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2553 -0
  186. data/sorbet/rbi/gems/yard@0.9.28.rbi +17954 -0
  187. data/sorbet/rbi/gems/zeitwerk@2.6.7.rbi +966 -0
  188. data/sorbet/rbi/models/acts-as-messageable/message.rbi +668 -0
  189. data/sorbet/rbi/models/acts-as-messageable/user.rbi +343 -0
  190. data/sorbet/rbi/rails-rbi/active_record_base.rbi +119 -0
  191. data/sorbet/rbi/rails-rbi/active_record_relation.rbi +180 -0
  192. data/sorbet/rbi/shims/activerecord.rbi +4 -0
  193. data/sorbet/rbi/shims/model.rbi +9 -0
  194. data/sorbet/tapioca/config.yml +10 -0
  195. data/sorbet/tapioca/pre_require.rb +5 -0
  196. data/sorbet/tapioca/require.rb +10 -0
  197. data/spec/acts_as_messageable_spec.rb +7 -4
  198. data/spec/custom_class_spec.rb +1 -0
  199. data/spec/custom_required_spec.rb +8 -4
  200. data/spec/group_messages_spec.rb +1 -0
  201. data/spec/migrations_spec.rb +2 -1
  202. data/spec/spec_helper.rb +19 -9
  203. data/spec/support/admin.rb +3 -0
  204. data/spec/support/custom_message.rb +3 -0
  205. data/spec/support/custom_message_uuid.rb +1 -0
  206. data/spec/support/custom_search_user.rb +3 -0
  207. data/spec/support/men.rb +1 -0
  208. data/spec/support/send_message.rb +8 -1
  209. data/spec/support/table_schema.rb +7 -6
  210. data/spec/support/user.rb +3 -0
  211. data/spec/support/uuid_user.rb +3 -0
  212. data/tasks/types.rake +46 -0
  213. metadata +261 -11
  214. data/.travis.yml +0 -55
@@ -0,0 +1,4515 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `unparser` gem.
5
+ # Please instead update this file by running `bin/tapioca gem unparser`.
6
+
7
+ # Library namespace
8
+ #
9
+ # source://unparser//lib/unparser/equalizer.rb#3
10
+ module Unparser
11
+ class << self
12
+ # Construct a parser buffer from string
13
+ #
14
+ # @param source [String]
15
+ # @return [Parser::Source::Buffer]
16
+ #
17
+ # source://unparser//lib/unparser.rb#147
18
+ def buffer(source, identification = T.unsafe(nil)); end
19
+
20
+ # Parse string into AST
21
+ #
22
+ # @param source [String]
23
+ # @return [Parser::AST::Node, nil]
24
+ #
25
+ # source://unparser//lib/unparser.rb#105
26
+ def parse(source); end
27
+
28
+ # Parse string into either syntax error or AST
29
+ #
30
+ # @param source [String]
31
+ # @return [Either<Parser::SyntaxError, (Parser::ASTNode, nil)>]
32
+ #
33
+ # source://unparser//lib/unparser.rb#114
34
+ def parse_either(source); end
35
+
36
+ # Parse string into AST, with comments
37
+ #
38
+ # @param source [String]
39
+ # @return [Parser::AST::Node]
40
+ #
41
+ # source://unparser//lib/unparser.rb#125
42
+ def parse_with_comments(source); end
43
+
44
+ # Parser instance that produces AST unparser understands
45
+ #
46
+ # @api private
47
+ # @return [Parser::Base]
48
+ #
49
+ # source://unparser//lib/unparser.rb#134
50
+ def parser; end
51
+
52
+ # Unparse an AST (and, optionally, comments) into a string
53
+ #
54
+ # @api public
55
+ # @param node [Parser::AST::Node, nil]
56
+ # @param comment_array [Array]
57
+ # @raise InvalidNodeError
58
+ # if the node passed is invalid
59
+ # @return [String]
60
+ #
61
+ # source://unparser//lib/unparser.rb#60
62
+ def unparse(node, comment_array = T.unsafe(nil)); end
63
+
64
+ # Unparse capturing errors
65
+ #
66
+ # This is mostly useful for writing testing tools against unparser.
67
+ #
68
+ # @param node [Parser::AST::Node, nil]
69
+ # @return [Either<Exception, String>]
70
+ #
71
+ # source://unparser//lib/unparser.rb#96
72
+ def unparse_either(node); end
73
+
74
+ # Unparse with validation
75
+ #
76
+ # @param node [Parser::AST::Node, nil]
77
+ # @param comment_array [Array]
78
+ # @return [Either<Validation,String>]
79
+ #
80
+ # source://unparser//lib/unparser.rb#78
81
+ def unparse_validate(node, comment_array = T.unsafe(nil)); end
82
+ end
83
+ end
84
+
85
+ # Namespace for AST processing tools
86
+ #
87
+ # source://unparser//lib/unparser/ast.rb#5
88
+ module Unparser::AST
89
+ class << self
90
+ # Return local variables that get assigned in scope
91
+ #
92
+ # @api private
93
+ # @param node [Parser::AST::Node]
94
+ # @return [Set<Symbol>]
95
+ #
96
+ # source://unparser//lib/unparser/ast.rb#57
97
+ def local_variable_assignments(node); end
98
+
99
+ # Return local variables read
100
+ #
101
+ # @api private
102
+ # @param node [Parser::AST::Node]
103
+ # @return [Set<Symbol>]
104
+ #
105
+ # source://unparser//lib/unparser/ast.rb#72
106
+ def local_variable_reads(node); end
107
+
108
+ # Test for local variable inherited scope reset
109
+ #
110
+ # @api private
111
+ # @param node [Parser::AST::Node]
112
+ # @return [Boolean]
113
+ #
114
+ # source://unparser//lib/unparser/ast.rb#33
115
+ def not_close_scope?(node); end
116
+
117
+ # Test for local variable scope reset
118
+ #
119
+ # @api private
120
+ # @param node [Parser::AST::Node]
121
+ # @return [Boolean]
122
+ #
123
+ # source://unparser//lib/unparser/ast.rb#45
124
+ def not_reset_scope?(node); end
125
+ end
126
+ end
127
+
128
+ # Nodes that assign a local variable
129
+ #
130
+ # source://unparser//lib/unparser/ast.rb#14
131
+ Unparser::AST::ASSIGN_NODES = T.let(T.unsafe(nil), Set)
132
+
133
+ # source://unparser//lib/unparser/ast.rb#11
134
+ Unparser::AST::CLOSE_NODES = T.let(T.unsafe(nil), Array)
135
+
136
+ # AST enumerator
137
+ #
138
+ # source://unparser//lib/unparser/ast.rb#80
139
+ class Unparser::AST::Enumerator
140
+ include ::Enumerable
141
+ include ::Unparser::Equalizer::Methods
142
+ include ::Unparser::Adamantium
143
+ include ::Unparser::Adamantium::InstanceMethods
144
+ extend ::Unparser::Adamantium::ModuleMethods
145
+ extend ::Unparser::Adamantium::ClassMethods
146
+
147
+ # Return each node
148
+ #
149
+ # @api private
150
+ # @return [Enumerator<Parser::AST::Node>] if no block given
151
+ # @return [self] otherwise
152
+ #
153
+ # source://unparser//lib/unparser/ast.rb#106
154
+ def each(&block); end
155
+
156
+ # Return nodes selected by type
157
+ #
158
+ # @api private
159
+ # @param type [Symbol]
160
+ # @return [Enumerable<Parser::AST::Node>]
161
+ #
162
+ # source://unparser//lib/unparser/ast.rb#130
163
+ def type(type); end
164
+
165
+ # Return nodes selected by types
166
+ #
167
+ # @api private
168
+ # @param types [Enumerable<Symbol>]
169
+ # @return [Enumerable<Parser::AST::Node>]
170
+ #
171
+ # source://unparser//lib/unparser/ast.rb#118
172
+ def types(types); end
173
+
174
+ class << self
175
+ # Return new instance
176
+ #
177
+ # @api private
178
+ # @param node [Parser::AST::Node]
179
+ # @param controller [#call(node)]
180
+ # @return [Enumerator]
181
+ #
182
+ # source://unparser//lib/unparser/ast.rb#92
183
+ def new(node, controller = T.unsafe(nil)); end
184
+
185
+ private
186
+
187
+ # Return frozne set of objects
188
+ #
189
+ # @api private
190
+ # @param enumerable [Enumerable]
191
+ # @return [Set]
192
+ #
193
+ # source://unparser//lib/unparser/ast.rb#142
194
+ def set(enumerable); end
195
+
196
+ # Return nodes of type
197
+ #
198
+ # @api private
199
+ # @param node [Parser::AST::Node]
200
+ # @param type [Symbol]
201
+ # @return [Enumerable<Parser::AST::Node]] Enumerable<Parser::AST::Node]
202
+ #
203
+ # source://unparser//lib/unparser/ast.rb#156
204
+ def type(node, type); end
205
+ end
206
+ end
207
+
208
+ # source://unparser//lib/unparser/ast.rb#6
209
+ Unparser::AST::FIRST_CHILD = T.let(T.unsafe(nil), Proc)
210
+
211
+ # source://unparser//lib/unparser/ast.rb#10
212
+ Unparser::AST::INHERIT_NODES = T.let(T.unsafe(nil), Array)
213
+
214
+ # Calculated local variable scope for a given node
215
+ #
216
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#7
217
+ class Unparser::AST::LocalVariableScope
218
+ include ::Unparser::Equalizer::Methods
219
+ include ::Unparser::Adamantium
220
+ include ::Unparser::Adamantium::InstanceMethods
221
+ include ::Enumerable
222
+ extend ::Unparser::Adamantium::ModuleMethods
223
+ extend ::Unparser::Adamantium::ClassMethods
224
+
225
+ # Initialize object
226
+ #
227
+ # @api private
228
+ # @param node [Parser::AST::Node]
229
+ # @return [undefined]
230
+ #
231
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#18
232
+ def initialize(node); end
233
+
234
+ # Test if local variable was first at given assignment
235
+ #
236
+ # @api private
237
+ # @param node [Parser::AST::Node]
238
+ # @return [Boolean]
239
+ #
240
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#35
241
+ def first_assignment?(node); end
242
+
243
+ # Test if local variables where first assigned in body and read by conditional
244
+ #
245
+ # @api private
246
+ # @param body [Parser::AST::Node]
247
+ # @param condition [Parser::AST::Node]
248
+ # @return [Boolean]
249
+ #
250
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#64
251
+ def first_assignment_in?(left, right); end
252
+
253
+ # Test if local variable is defined for given node
254
+ #
255
+ # @api private
256
+ # @param node [Parser::AST::Node]
257
+ # @param name [Symbol]
258
+ # @return [Boolean]
259
+ #
260
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#51
261
+ def local_variable_defined_for_node?(node, name); end
262
+
263
+ private
264
+
265
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#76
266
+ def match(needle); end
267
+ end
268
+
269
+ # Local variable scope enumerator
270
+ #
271
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#85
272
+ class Unparser::AST::LocalVariableScopeEnumerator
273
+ include ::Enumerable
274
+
275
+ # Initialize object
276
+ #
277
+ # @api private
278
+ # @return [undefined]
279
+ #
280
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#94
281
+ def initialize; end
282
+
283
+ # Enumerate local variable scope scope
284
+ #
285
+ # @api private
286
+ # @return [self] if block given
287
+ # @return [Enumerator<Array<Symbol>>] ]
288
+ # otherwise
289
+ #
290
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#121
291
+ def each(node, &block); end
292
+
293
+ private
294
+
295
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#127
296
+ def current; end
297
+
298
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#156
299
+ def define(name); end
300
+
301
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#141
302
+ def enter(node); end
303
+
304
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#152
305
+ def leave(node); end
306
+
307
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#168
308
+ def pop; end
309
+
310
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#164
311
+ def push_inherit; end
312
+
313
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#160
314
+ def push_reset; end
315
+
316
+ # @yield [node, current.dup, before]
317
+ #
318
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#131
319
+ def visit(node, &block); end
320
+
321
+ class << self
322
+ # Enumerate each node with its local variable scope
323
+ #
324
+ # @api private
325
+ # @param node [Parser::AST::Node]
326
+ # @return [self]
327
+ #
328
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#106
329
+ def each(node, &block); end
330
+ end
331
+ end
332
+
333
+ # source://unparser//lib/unparser/ast.rb#9
334
+ Unparser::AST::RESET_NODES = T.let(T.unsafe(nil), Array)
335
+
336
+ # source://unparser//lib/unparser/ast.rb#7
337
+ Unparser::AST::TAUTOLOGY = T.let(T.unsafe(nil), Proc)
338
+
339
+ # Controlled AST walker walking the AST in deeth first search with pre order
340
+ #
341
+ # source://unparser//lib/unparser/ast.rb#164
342
+ class Unparser::AST::Walker
343
+ include ::Unparser::Equalizer::Methods
344
+
345
+ # Call walker with node
346
+ #
347
+ # @api private
348
+ # @param node [Parser::AST::Node]
349
+ # @return [undefined]
350
+ #
351
+ # source://unparser//lib/unparser/ast.rb#188
352
+ def call(node); end
353
+
354
+ class << self
355
+ # Call ast walker
356
+ #
357
+ # @api private
358
+ # @param node [Parser::AST::Node]
359
+ # @return [self]
360
+ #
361
+ # source://unparser//lib/unparser/ast.rb#175
362
+ def call(node, controller = T.unsafe(nil), &block); end
363
+ end
364
+ end
365
+
366
+ # Module to allow class and methods to be abstract
367
+ #
368
+ # Original code before vendoring and reduction from: https://github.com/dkubb/abstract_type.
369
+ #
370
+ # source://unparser//lib/unparser/abstract_type.rb#7
371
+ module Unparser::AbstractType
372
+ mixes_in_class_methods ::Unparser::AbstractType::AbstractMethodDeclarations
373
+
374
+ class << self
375
+ private
376
+
377
+ # Define the new method on the abstract type
378
+ #
379
+ # Ensures that the instance cannot be of the abstract type
380
+ # and must be a descendant.
381
+ #
382
+ # @api private
383
+ # @param abstract_class [Class]
384
+ # @return [undefined]
385
+ #
386
+ # source://unparser//lib/unparser/abstract_type.rb#35
387
+ def create_new_method(abstract_class); end
388
+
389
+ # Hook called when module is included
390
+ #
391
+ # @api private
392
+ # @param descendant [Module] the module or class including AbstractType
393
+ # @return [undefined]
394
+ #
395
+ # source://unparser//lib/unparser/abstract_type.rb#17
396
+ def included(descendant); end
397
+ end
398
+ end
399
+
400
+ # source://unparser//lib/unparser/abstract_type.rb#47
401
+ module Unparser::AbstractType::AbstractMethodDeclarations
402
+ # Create abstract instance methods
403
+ #
404
+ # @api public
405
+ # @example
406
+ # class Foo
407
+ # include AbstractType
408
+ #
409
+ # # Create an abstract instance method
410
+ # abstract_method :some_method
411
+ # end
412
+ # @param names [Array<#to_s>]
413
+ # @return [self]
414
+ #
415
+ # source://unparser//lib/unparser/abstract_type.rb#64
416
+ def abstract_method(*names); end
417
+
418
+ # Create abstract singleton methods
419
+ #
420
+ # @api private
421
+ # @example
422
+ # class Foo
423
+ # include AbstractType
424
+ #
425
+ # # Create an abstract instance method
426
+ # abstract_singleton_method :some_method
427
+ # end
428
+ # @param names [Array<#to_s>]
429
+ # @return [self]
430
+ #
431
+ # source://unparser//lib/unparser/abstract_type.rb#84
432
+ def abstract_singleton_method(*names); end
433
+
434
+ private
435
+
436
+ # Create abstract instance method
437
+ #
438
+ # @api private
439
+ # @param name [#to_s] the name of the method to create
440
+ # @return [undefined]
441
+ #
442
+ # source://unparser//lib/unparser/abstract_type.rb#113
443
+ def create_abstract_instance_method(name); end
444
+
445
+ # Create abstract singleton method
446
+ #
447
+ # @api private
448
+ # @param name [#to_s] the name of the method to create
449
+ # @return [undefined]
450
+ #
451
+ # source://unparser//lib/unparser/abstract_type.rb#99
452
+ def create_abstract_singleton_method(name); end
453
+ end
454
+
455
+ # Allows objects to be made immutable
456
+ #
457
+ # Original code before vendoring and reduction from: https://github.com/dkubb/adamantium.
458
+ #
459
+ # source://unparser//lib/unparser/adamantium.rb#7
460
+ module Unparser::Adamantium
461
+ include ::Unparser::Adamantium::InstanceMethods
462
+
463
+ mixes_in_class_methods ::Unparser::Adamantium::ModuleMethods
464
+ mixes_in_class_methods ::Unparser::Adamantium::ClassMethods
465
+
466
+ class << self
467
+ private
468
+
469
+ # ModuleMethods
470
+ #
471
+ # source://unparser//lib/unparser/adamantium.rb#141
472
+ def included(descendant); end
473
+ end
474
+ end
475
+
476
+ # Methods mixed in to adamantium classes
477
+ #
478
+ # source://unparser//lib/unparser/adamantium.rb#70
479
+ module Unparser::Adamantium::ClassMethods
480
+ # Instantiate a new frozen object
481
+ #
482
+ # @api public
483
+ # @return [Object]
484
+ #
485
+ # source://unparser//lib/unparser/adamantium.rb#77
486
+ def new(*_arg0); end
487
+ end
488
+
489
+ # source://unparser//lib/unparser/adamantium.rb#8
490
+ module Unparser::Adamantium::InstanceMethods
491
+ # A noop #dup for immutable objects
492
+ #
493
+ # @api public
494
+ # @return [self]
495
+ #
496
+ # source://unparser//lib/unparser/adamantium.rb#14
497
+ def dup; end
498
+
499
+ # Freeze the object
500
+ #
501
+ # @api public
502
+ # @return [Object]
503
+ #
504
+ # source://unparser//lib/unparser/adamantium.rb#23
505
+ def freeze; end
506
+
507
+ private
508
+
509
+ # source://unparser//lib/unparser/adamantium.rb#30
510
+ def memoized_method_cache; end
511
+ end
512
+
513
+ # Storage for memoized methods
514
+ #
515
+ # source://unparser//lib/unparser/adamantium.rb#37
516
+ class Unparser::Adamantium::Memory
517
+ # Initialize the memory storage for memoized methods
518
+ #
519
+ # @api private
520
+ # @return [undefined]
521
+ #
522
+ # source://unparser//lib/unparser/adamantium.rb#44
523
+ def initialize(values); end
524
+
525
+ # Fetch the value from memory, or evaluate if it does not exist
526
+ #
527
+ # @api public
528
+ # @param name [Symbol]
529
+ # @yieldreturn [Object] the value to memoize
530
+ #
531
+ # source://unparser//lib/unparser/adamantium.rb#58
532
+ def fetch(name); end
533
+ end
534
+
535
+ # Build the memoized method
536
+ #
537
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#6
538
+ class Unparser::Adamantium::MethodBuilder
539
+ # Initialize an object to build a memoized method
540
+ #
541
+ # @api private
542
+ # @param descendant [Module]
543
+ # @param method_name [Symbol]
544
+ # @return [undefined]
545
+ #
546
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#47
547
+ def initialize(descendant, method_name); end
548
+
549
+ # Build a new memoized method
550
+ #
551
+ # @api public
552
+ # @example
553
+ # method_builder.call # => creates new method
554
+ # @return [UnboundMethod]
555
+ #
556
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#63
557
+ def call; end
558
+
559
+ private
560
+
561
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#72
562
+ def assert_arity(arity); end
563
+
564
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#83
565
+ def create_memoized_method; end
566
+
567
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#78
568
+ def remove_original_method; end
569
+
570
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#97
571
+ def set_method_visibility; end
572
+
573
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#101
574
+ def visibility; end
575
+ end
576
+
577
+ # Raised when a block is passed to a memoized method
578
+ #
579
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#25
580
+ class Unparser::Adamantium::MethodBuilder::BlockNotAllowedError < ::ArgumentError
581
+ # Initialize a block not allowed exception
582
+ #
583
+ # @api private
584
+ # @param descendant [Module]
585
+ # @param method [Symbol]
586
+ # @return [BlockNotAllowedError] a new instance of BlockNotAllowedError
587
+ #
588
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#33
589
+ def initialize(descendant, method); end
590
+ end
591
+
592
+ # Raised when the method arity is invalid
593
+ #
594
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#9
595
+ class Unparser::Adamantium::MethodBuilder::InvalidArityError < ::ArgumentError
596
+ # Initialize an invalid arity exception
597
+ #
598
+ # @api private
599
+ # @param descendant [Module]
600
+ # @param method [Symbol]
601
+ # @param arity [Integer]
602
+ # @return [InvalidArityError] a new instance of InvalidArityError
603
+ #
604
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#18
605
+ def initialize(descendant, method, arity); end
606
+ end
607
+
608
+ # Methods mixed in to adamantium modules
609
+ #
610
+ # source://unparser//lib/unparser/adamantium.rb#84
611
+ module Unparser::Adamantium::ModuleMethods
612
+ # Memoize a list of methods
613
+ #
614
+ # @api public
615
+ # @param methods [Array<#to_s>] a list of methods to memoize
616
+ # @return [self]
617
+ #
618
+ # source://unparser//lib/unparser/adamantium.rb#94
619
+ def memoize(*methods); end
620
+
621
+ # Test if method is memoized
622
+ #
623
+ # @param name [Symbol]
624
+ # @return [Bool]
625
+ #
626
+ # source://unparser//lib/unparser/adamantium.rb#104
627
+ def memoized?(method_name); end
628
+
629
+ # Return unmemoized instance method
630
+ #
631
+ # @api public
632
+ # @param name [Symbol]
633
+ # @raise [NameError] raised if the method is unknown
634
+ # @return [UnboundMethod] the memoized method
635
+ #
636
+ # source://unparser//lib/unparser/adamantium.rb#119
637
+ def unmemoized_instance_method(method_name); end
638
+
639
+ private
640
+
641
+ # source://unparser//lib/unparser/adamantium.rb#127
642
+ def memoize_method(method_name); end
643
+
644
+ # source://unparser//lib/unparser/adamantium.rb#135
645
+ def memoized_methods; end
646
+ end
647
+
648
+ # Original code before vendoring and reduction from: https://github.com/mbj/anima.
649
+ #
650
+ # source://unparser//lib/unparser/anima.rb#5
651
+ class Unparser::Anima < ::Module
652
+ include ::Unparser::Equalizer::Methods
653
+ include ::Unparser::Adamantium
654
+ include ::Unparser::Adamantium::InstanceMethods
655
+ extend ::Unparser::Adamantium::ModuleMethods
656
+ extend ::Unparser::Adamantium::ClassMethods
657
+
658
+ # Initialize object
659
+ #
660
+ #
661
+ # @return [undefined]
662
+ #
663
+ # source://unparser//lib/unparser/anima.rb#18
664
+ def initialize(*names); end
665
+
666
+ # Return new anima with attributes added
667
+ #
668
+ # @example
669
+ # anima = Anima.new(:foo)
670
+ # anima.add(:bar) # equals Anima.new(:foo, :bar)
671
+ # @return [Anima]
672
+ #
673
+ # source://unparser//lib/unparser/anima.rb#31
674
+ def add(*names); end
675
+
676
+ # Return attribute names
677
+ #
678
+ # @return [Enumerable<Symbol>]
679
+ #
680
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
681
+ def attribute_names(&block); end
682
+
683
+ # Return names
684
+ #
685
+ # @return [AttributeSet]
686
+ #
687
+ # source://unparser//lib/unparser/anima.rb#11
688
+ def attributes; end
689
+
690
+ # Return attributes hash for instance
691
+ #
692
+ # @param object [Object]
693
+ # @return [Hash]
694
+ #
695
+ # source://unparser//lib/unparser/anima.rb#52
696
+ def attributes_hash(object); end
697
+
698
+ # Initialize instance
699
+ #
700
+ # @param object [Object]
701
+ # @param attribute_hash [Hash]
702
+ # @return [self]
703
+ #
704
+ # source://unparser//lib/unparser/anima.rb#73
705
+ def initialize_instance(object, attribute_hash); end
706
+
707
+ # Return new anima with attributes removed
708
+ #
709
+ # @example
710
+ # anima = Anima.new(:foo, :bar)
711
+ # anima.remove(:bar) # equals Anima.new(:foo)
712
+ # @return [Anima]
713
+ #
714
+ # source://unparser//lib/unparser/anima.rb#43
715
+ def remove(*names); end
716
+
717
+ private
718
+
719
+ # Fail unless keys in +attribute_hash+ matches #attribute_names
720
+ #
721
+ # @param klass [Class] the class being initialized
722
+ # @param attribute_hash [Hash] the attributes to initialize +object+ with
723
+ # @raise [Error]
724
+ # @return [undefined]
725
+ #
726
+ # source://unparser//lib/unparser/anima.rb#164
727
+ def assert_known_attributes(klass, attribute_hash); end
728
+
729
+ # Infect the instance with anima
730
+ #
731
+ # @param scope [Class, Module]
732
+ # @return [undefined]
733
+ #
734
+ # source://unparser//lib/unparser/anima.rb#137
735
+ def included(descendant); end
736
+
737
+ # Return new instance
738
+ #
739
+ # @param attributes [Enumerable<Symbol>]
740
+ # @return [Anima]
741
+ #
742
+ # source://unparser//lib/unparser/anima.rb#180
743
+ def new(attributes); end
744
+ end
745
+
746
+ # An attribute
747
+ #
748
+ # source://unparser//lib/unparser/anima/attribute.rb#6
749
+ class Unparser::Anima::Attribute
750
+ include ::Unparser::Equalizer::Methods
751
+ include ::Unparser::Adamantium
752
+ include ::Unparser::Adamantium::InstanceMethods
753
+ extend ::Unparser::Adamantium::ModuleMethods
754
+ extend ::Unparser::Adamantium::ClassMethods
755
+
756
+ # Initialize attribute
757
+ #
758
+ # @param name [Symbol]
759
+ # @return [Attribute] a new instance of Attribute
760
+ #
761
+ # source://unparser//lib/unparser/anima/attribute.rb#12
762
+ def initialize(name); end
763
+
764
+ # Get attribute value from object
765
+ #
766
+ # @param object [Object]
767
+ # @return [Object]
768
+ #
769
+ # source://unparser//lib/unparser/anima/attribute.rb#42
770
+ def get(object); end
771
+
772
+ # Return instance variable name
773
+ #
774
+ # @return [Symbol]
775
+ #
776
+ # source://unparser//lib/unparser/anima/attribute.rb#25
777
+ def instance_variable_name; end
778
+
779
+ # Load attribute
780
+ #
781
+ # @param object [Object]
782
+ # @param attributes [Hash]
783
+ # @return [self]
784
+ #
785
+ # source://unparser//lib/unparser/anima/attribute.rb#33
786
+ def load(object, attributes); end
787
+
788
+ # Return attribute name
789
+ #
790
+ # @return [Symbol]
791
+ #
792
+ # source://unparser//lib/unparser/anima/attribute.rb#20
793
+ def name; end
794
+
795
+ # Set attribute value in object
796
+ #
797
+ # @param object [Object]
798
+ # @param value [Object]
799
+ # @return [self]
800
+ #
801
+ # source://unparser//lib/unparser/anima/attribute.rb#52
802
+ def set(object, value); end
803
+ end
804
+
805
+ # Abstract base class for anima errors
806
+ #
807
+ # source://unparser//lib/unparser/anima/error.rb#6
808
+ class Unparser::Anima::Error < ::RuntimeError
809
+ # Initialize object
810
+ #
811
+ # @param klass [Class] the class being initialized
812
+ # @param missing [Enumerable<Symbol>]
813
+ # @param unknown [Enumerable<Symbol>]
814
+ # @return [undefined]
815
+ #
816
+ # source://unparser//lib/unparser/anima/error.rb#18
817
+ def initialize(klass, missing, unknown); end
818
+ end
819
+
820
+ # source://unparser//lib/unparser/anima/error.rb#7
821
+ Unparser::Anima::Error::FORMAT = T.let(T.unsafe(nil), String)
822
+
823
+ # Static instance methods for anima infected classes
824
+ #
825
+ # source://unparser//lib/unparser/anima.rb#82
826
+ module Unparser::Anima::InstanceMethods
827
+ # Initialize an anima infected object
828
+ #
829
+ #
830
+ # @param attributes [#to_h] a hash that matches anima defined attributes
831
+ # @return [undefined]
832
+ #
833
+ # source://unparser//lib/unparser/anima.rb#91
834
+ def initialize(attributes); end
835
+
836
+ # Return a hash representation of an anima infected object
837
+ #
838
+ # @api public
839
+ # @example
840
+ # anima.to_h # => { :foo => : bar }
841
+ # @return [Hash]
842
+ #
843
+ # source://unparser//lib/unparser/anima.rb#104
844
+ def to_h; end
845
+
846
+ # Return updated instance
847
+ #
848
+ # @api public
849
+ # @example
850
+ # klass = Class.new do
851
+ # include Anima.new(:foo, :bar)
852
+ # end
853
+ #
854
+ # foo = klass.new(:foo => 1, :bar => 2)
855
+ # updated = foo.with(:foo => 3)
856
+ # updated.foo # => 3
857
+ # updated.bar # => 2
858
+ # @param attributes [Hash]
859
+ # @return [Anima]
860
+ #
861
+ # source://unparser//lib/unparser/anima.rb#125
862
+ def with(attributes); end
863
+ end
864
+
865
+ # Buffer used to emit into
866
+ #
867
+ # source://unparser//lib/unparser/buffer.rb#6
868
+ class Unparser::Buffer
869
+ # Initialize object
870
+ #
871
+ # @api private
872
+ # @return [undefined]
873
+ #
874
+ # source://unparser//lib/unparser/buffer.rb#16
875
+ def initialize; end
876
+
877
+ # Append string
878
+ #
879
+ # @api private
880
+ # @param string [String]
881
+ # @return [self]
882
+ #
883
+ # source://unparser//lib/unparser/buffer.rb#29
884
+ def append(string); end
885
+
886
+ # Append a string without an indentation prefix
887
+ #
888
+ # @api private
889
+ # @param string [String]
890
+ # @return [self]
891
+ #
892
+ # source://unparser//lib/unparser/buffer.rb#45
893
+ def append_without_prefix(string); end
894
+
895
+ # Return content of buffer
896
+ #
897
+ # @api private
898
+ # @return [String]
899
+ #
900
+ # source://unparser//lib/unparser/buffer.rb#104
901
+ def content; end
902
+
903
+ # Test for a fresh line
904
+ #
905
+ # @api private
906
+ # @return [Boolean]
907
+ #
908
+ # source://unparser//lib/unparser/buffer.rb#94
909
+ def fresh_line?; end
910
+
911
+ # Increase indent
912
+ #
913
+ # @api private
914
+ # @return [self]
915
+ #
916
+ # source://unparser//lib/unparser/buffer.rb#55
917
+ def indent; end
918
+
919
+ # Write newline
920
+ #
921
+ # @api private
922
+ # @return [self]
923
+ #
924
+ # source://unparser//lib/unparser/buffer.rb#77
925
+ def nl; end
926
+
927
+ # source://unparser//lib/unparser/buffer.rb#81
928
+ def root_indent; end
929
+
930
+ # Decrease indent
931
+ #
932
+ # @api private
933
+ # @return [self]
934
+ #
935
+ # source://unparser//lib/unparser/buffer.rb#66
936
+ def unindent; end
937
+
938
+ # Write raw fragment to buffer
939
+ #
940
+ # Does not do indentation logic.
941
+ #
942
+ # @param fragment [String]
943
+ # @return [self]
944
+ #
945
+ # source://unparser//lib/unparser/buffer.rb#115
946
+ def write(fragment); end
947
+
948
+ private
949
+
950
+ # source://unparser//lib/unparser/buffer.rb#124
951
+ def prefix; end
952
+ end
953
+
954
+ # source://unparser//lib/unparser/buffer.rb#122
955
+ Unparser::Buffer::INDENT_SPACE = T.let(T.unsafe(nil), String)
956
+
957
+ # source://unparser//lib/unparser/buffer.rb#8
958
+ Unparser::Buffer::NL = T.let(T.unsafe(nil), String)
959
+
960
+ # Unparser specific AST builder defaulting to modern AST format
961
+ #
962
+ # source://unparser//lib/unparser.rb#23
963
+ class Unparser::Builder < ::Parser::Builders::Default
964
+ # @return [Builder] a new instance of Builder
965
+ #
966
+ # source://unparser//lib/unparser.rb#26
967
+ def initialize; end
968
+ end
969
+
970
+ # Unparser CLI implementation
971
+ #
972
+ # source://unparser//lib/unparser/cli.rb#5
973
+ class Unparser::CLI
974
+ # Initialize object
975
+ #
976
+ # @api private
977
+ # @param arguments [Array<String>]
978
+ # @return [undefined]
979
+ #
980
+ # source://unparser//lib/unparser/cli.rb#74
981
+ def initialize(arguments); end
982
+
983
+ # Add options
984
+ #
985
+ #
986
+ # @api private
987
+ # @param builder [OptionParser]
988
+ # @return [undefined]
989
+ #
990
+ # source://unparser//lib/unparser/cli.rb#102
991
+ def add_options(builder); end
992
+
993
+ # Return exit status
994
+ #
995
+ # @api private
996
+ # @return [Integer]
997
+ #
998
+ # source://unparser//lib/unparser/cli.rb#132
999
+ def exit_status; end
1000
+
1001
+ private
1002
+
1003
+ # source://unparser//lib/unparser/cli.rb#155
1004
+ def effective_targets; end
1005
+
1006
+ # source://unparser//lib/unparser/cli.rb#143
1007
+ def process_target(target); end
1008
+
1009
+ # source://unparser//lib/unparser/cli.rb#170
1010
+ def targets(file_name); end
1011
+
1012
+ class << self
1013
+ # Run CLI
1014
+ #
1015
+ # @api private
1016
+ # @param arguments [Array<String>]
1017
+ # @return [Integer] the exit status
1018
+ #
1019
+ # source://unparser//lib/unparser/cli.rb#63
1020
+ def run(*arguments); end
1021
+ end
1022
+ end
1023
+
1024
+ # source://unparser//lib/unparser/cli.rb#8
1025
+ Unparser::CLI::EXIT_FAILURE = T.let(T.unsafe(nil), Integer)
1026
+
1027
+ # source://unparser//lib/unparser/cli.rb#7
1028
+ Unparser::CLI::EXIT_SUCCESS = T.let(T.unsafe(nil), Integer)
1029
+
1030
+ # source://unparser//lib/unparser/cli.rb#10
1031
+ class Unparser::CLI::Target
1032
+ include ::Unparser::AbstractType
1033
+ extend ::Unparser::AbstractType::AbstractMethodDeclarations
1034
+
1035
+ class << self
1036
+ # source://unparser//lib/unparser/abstract_type.rb#36
1037
+ def new(*args, &block); end
1038
+ end
1039
+ end
1040
+
1041
+ # Path target
1042
+ #
1043
+ # source://unparser//lib/unparser/cli.rb#14
1044
+ class Unparser::CLI::Target::Path < ::Unparser::CLI::Target
1045
+ include ::Unparser::Equalizer::Methods
1046
+
1047
+ # Literal for this target
1048
+ #
1049
+ # @return [Validation]
1050
+ #
1051
+ # source://unparser//lib/unparser/cli.rb#27
1052
+ def literal_validation; end
1053
+
1054
+ # Validation for this target
1055
+ #
1056
+ # @return [Validation]
1057
+ #
1058
+ # source://unparser//lib/unparser/cli.rb#20
1059
+ def validation; end
1060
+ end
1061
+
1062
+ # String target
1063
+ #
1064
+ # source://unparser//lib/unparser/cli.rb#33
1065
+ class Unparser::CLI::Target::String
1066
+ include ::Unparser::Equalizer::Methods
1067
+
1068
+ # Literal for this target
1069
+ #
1070
+ # @return [Validation]
1071
+ #
1072
+ # source://unparser//lib/unparser/cli.rb#46
1073
+ def literal_validation; end
1074
+
1075
+ # Validation for this target
1076
+ #
1077
+ # @return [Validation]
1078
+ #
1079
+ # source://unparser//lib/unparser/cli.rb#39
1080
+ def validation; end
1081
+ end
1082
+
1083
+ # Class to colorize strings
1084
+ #
1085
+ # source://unparser//lib/unparser/color.rb#5
1086
+ class Unparser::Color
1087
+ include ::Unparser::Equalizer::Methods
1088
+ include ::Unparser::Adamantium
1089
+ include ::Unparser::Adamantium::InstanceMethods
1090
+ extend ::Unparser::Adamantium::ModuleMethods
1091
+ extend ::Unparser::Adamantium::ClassMethods
1092
+
1093
+ # Format text with color
1094
+ #
1095
+ # @param text [String]
1096
+ # @return [String]
1097
+ #
1098
+ # source://unparser//lib/unparser/color.rb#13
1099
+ def format(text); end
1100
+ end
1101
+
1102
+ # source://unparser//lib/unparser/color.rb#39
1103
+ Unparser::Color::GREEN = T.let(T.unsafe(nil), Unparser::Color)
1104
+
1105
+ # source://unparser//lib/unparser/color.rb#17
1106
+ Unparser::Color::NONE = T.let(T.unsafe(nil), T.untyped)
1107
+
1108
+ # source://unparser//lib/unparser/color.rb#38
1109
+ Unparser::Color::RED = T.let(T.unsafe(nil), Unparser::Color)
1110
+
1111
+ # Holds the comments that remain to be emitted
1112
+ #
1113
+ # source://unparser//lib/unparser/comments.rb#6
1114
+ class Unparser::Comments
1115
+ # Initialize object
1116
+ #
1117
+ # @api private
1118
+ # @param comments [Array]
1119
+ # @return [undefined]
1120
+ #
1121
+ # source://unparser//lib/unparser/comments.rb#30
1122
+ def initialize(comments); end
1123
+
1124
+ # Consume part or all of the node
1125
+ #
1126
+ # @api private
1127
+ # @param node [Parser::AST::Node]
1128
+ # @param source_part [Symbol]
1129
+ # @return [undefined]
1130
+ #
1131
+ # source://unparser//lib/unparser/comments.rb#44
1132
+ def consume(node, source_part = T.unsafe(nil)); end
1133
+
1134
+ # Proxy to singleton
1135
+ #
1136
+ # NOTICE:
1137
+ # Delegating to stateless helpers is a pattern I saw many times in our code.
1138
+ # Maybe we should make another helper module? include SingletonDelegator.new(:source_range) ?
1139
+ #
1140
+ # @api private
1141
+ # @return [undefined]
1142
+ #
1143
+ # source://unparser//lib/unparser/comments.rb#18
1144
+ def source_range(*arguments); end
1145
+
1146
+ # Take all remaining comments
1147
+ #
1148
+ # @api private
1149
+ # @return [Array]
1150
+ #
1151
+ # source://unparser//lib/unparser/comments.rb#68
1152
+ def take_all; end
1153
+
1154
+ # Take comments appear in the source before the specified part of the node
1155
+ #
1156
+ # @api private
1157
+ # @param node [Parser::AST::Node]
1158
+ # @param source_part [Symbol]
1159
+ # @return [Array]
1160
+ #
1161
+ # source://unparser//lib/unparser/comments.rb#81
1162
+ def take_before(node, source_part); end
1163
+
1164
+ # Take end-of-line comments
1165
+ #
1166
+ # @api private
1167
+ # @return [Array]
1168
+ #
1169
+ # source://unparser//lib/unparser/comments.rb#55
1170
+ def take_eol_comments; end
1171
+
1172
+ private
1173
+
1174
+ # source://unparser//lib/unparser/comments.rb#119
1175
+ def take_up_to_line(line); end
1176
+
1177
+ # source://unparser//lib/unparser/comments.rb#114
1178
+ def take_while; end
1179
+
1180
+ # source://unparser//lib/unparser/comments.rb#123
1181
+ def unshift_documents(comments); end
1182
+
1183
+ class << self
1184
+ # Return source location part
1185
+ #
1186
+ # FIXME: This method should not be needed. It does to much inline signalling.
1187
+ #
1188
+ # :reek:ManualDispatch
1189
+ #
1190
+ # @api private
1191
+ # @param node [Parser::AST::Node]
1192
+ # @param part [Symbol]
1193
+ # @return [Parser::Source::Range] if present
1194
+ # @return [nil] otherwise
1195
+ #
1196
+ # source://unparser//lib/unparser/comments.rb#107
1197
+ def source_range(node, part); end
1198
+ end
1199
+ end
1200
+
1201
+ # A mixin to define a composition
1202
+ #
1203
+ # Original code before vendoring and reduction from: https://github.com/mbj/concord.
1204
+ #
1205
+ # source://unparser//lib/unparser/concord.rb#7
1206
+ class Unparser::Concord < ::Module
1207
+ include ::Unparser::Equalizer::Methods
1208
+ include ::Unparser::Adamantium
1209
+ include ::Unparser::Adamantium::InstanceMethods
1210
+ extend ::Unparser::Adamantium::ModuleMethods
1211
+ extend ::Unparser::Adamantium::ClassMethods
1212
+
1213
+ # Initialize object
1214
+ #
1215
+ #
1216
+ # @api private
1217
+ # @return [undefined]
1218
+ #
1219
+ # source://unparser//lib/unparser/concord.rb#30
1220
+ def initialize(*names); end
1221
+
1222
+ # Return names
1223
+ #
1224
+ # @api private
1225
+ # @return [Enumerable<Symbol>]
1226
+ #
1227
+ # source://unparser//lib/unparser/concord.rb#19
1228
+ def names; end
1229
+
1230
+ private
1231
+
1232
+ # Define equalizer
1233
+ #
1234
+ # @api private
1235
+ # @return [undefined]
1236
+ #
1237
+ # source://unparser//lib/unparser/concord.rb#48
1238
+ def define_equalizer; end
1239
+
1240
+ # Define initialize method
1241
+ #
1242
+ # @api private
1243
+ # @return [undefined]
1244
+ #
1245
+ # source://unparser//lib/unparser/concord.rb#72
1246
+ def define_initialize; end
1247
+
1248
+ # Define readers
1249
+ #
1250
+ # @api private
1251
+ # @return [undefined]
1252
+ #
1253
+ # source://unparser//lib/unparser/concord.rb#58
1254
+ def define_readers; end
1255
+
1256
+ # Return instance variable names
1257
+ #
1258
+ # @api private
1259
+ # @return [String]
1260
+ #
1261
+ # source://unparser//lib/unparser/concord.rb#92
1262
+ def instance_variable_names; end
1263
+ end
1264
+
1265
+ # The maximum number of objects the hosting class is composed of
1266
+ #
1267
+ # source://unparser//lib/unparser/concord.rb#11
1268
+ Unparser::Concord::MAX_NR_OF_OBJECTS = T.let(T.unsafe(nil), Integer)
1269
+
1270
+ # Mixin for public attribute readers
1271
+ #
1272
+ # source://unparser//lib/unparser/concord.rb#97
1273
+ class Unparser::Concord::Public < ::Unparser::Concord
1274
+ # Hook called when module is included
1275
+ #
1276
+ # @api private
1277
+ # @param descendant [Class, Module]
1278
+ # @return [undefined]
1279
+ #
1280
+ # source://unparser//lib/unparser/concord.rb#107
1281
+ def included(descendant); end
1282
+ end
1283
+
1284
+ # All unparser constants maybe included in other libraries.
1285
+ #
1286
+ # source://unparser//lib/unparser/constants.rb#5
1287
+ module Unparser::Constants; end
1288
+
1289
+ # All binary operators of the ruby language
1290
+ #
1291
+ # source://unparser//lib/unparser/constants.rb#13
1292
+ Unparser::Constants::BINARY_OPERATORS = T.let(T.unsafe(nil), Set)
1293
+
1294
+ # source://unparser//lib/unparser/constants.rb#63
1295
+ Unparser::Constants::KEYWORDS = T.let(T.unsafe(nil), Set)
1296
+
1297
+ # source://unparser//lib/unparser/constants.rb#45
1298
+ Unparser::Constants::K_ALIAS = T.let(T.unsafe(nil), String)
1299
+
1300
+ # source://unparser//lib/unparser/constants.rb#44
1301
+ Unparser::Constants::K_AND = T.let(T.unsafe(nil), String)
1302
+
1303
+ # source://unparser//lib/unparser/constants.rb#23
1304
+ Unparser::Constants::K_BEGIN = T.let(T.unsafe(nil), String)
1305
+
1306
+ # source://unparser//lib/unparser/constants.rb#37
1307
+ Unparser::Constants::K_BREAK = T.let(T.unsafe(nil), String)
1308
+
1309
+ # source://unparser//lib/unparser/constants.rb#24
1310
+ Unparser::Constants::K_CASE = T.let(T.unsafe(nil), String)
1311
+
1312
+ # source://unparser//lib/unparser/constants.rb#25
1313
+ Unparser::Constants::K_CLASS = T.let(T.unsafe(nil), String)
1314
+
1315
+ # source://unparser//lib/unparser/constants.rb#21
1316
+ Unparser::Constants::K_DEF = T.let(T.unsafe(nil), String)
1317
+
1318
+ # source://unparser//lib/unparser/constants.rb#28
1319
+ Unparser::Constants::K_DEFINE = T.let(T.unsafe(nil), String)
1320
+
1321
+ # source://unparser//lib/unparser/constants.rb#33
1322
+ Unparser::Constants::K_DEFINED = T.let(T.unsafe(nil), String)
1323
+
1324
+ # Keywords
1325
+ #
1326
+ # source://unparser//lib/unparser/constants.rb#20
1327
+ Unparser::Constants::K_DO = T.let(T.unsafe(nil), String)
1328
+
1329
+ # source://unparser//lib/unparser/constants.rb#59
1330
+ Unparser::Constants::K_EEND = T.let(T.unsafe(nil), String)
1331
+
1332
+ # source://unparser//lib/unparser/constants.rb#46
1333
+ Unparser::Constants::K_ELSE = T.let(T.unsafe(nil), String)
1334
+
1335
+ # source://unparser//lib/unparser/constants.rb#47
1336
+ Unparser::Constants::K_ELSIF = T.let(T.unsafe(nil), String)
1337
+
1338
+ # source://unparser//lib/unparser/constants.rb#58
1339
+ Unparser::Constants::K_ENCODING = T.let(T.unsafe(nil), String)
1340
+
1341
+ # source://unparser//lib/unparser/constants.rb#22
1342
+ Unparser::Constants::K_END = T.let(T.unsafe(nil), String)
1343
+
1344
+ # source://unparser//lib/unparser/constants.rb#27
1345
+ Unparser::Constants::K_ENSURE = T.let(T.unsafe(nil), String)
1346
+
1347
+ # source://unparser//lib/unparser/constants.rb#41
1348
+ Unparser::Constants::K_FALSE = T.let(T.unsafe(nil), String)
1349
+
1350
+ # source://unparser//lib/unparser/constants.rb#60
1351
+ Unparser::Constants::K_FILE = T.let(T.unsafe(nil), String)
1352
+
1353
+ # source://unparser//lib/unparser/constants.rb#48
1354
+ Unparser::Constants::K_FOR = T.let(T.unsafe(nil), String)
1355
+
1356
+ # source://unparser//lib/unparser/constants.rb#43
1357
+ Unparser::Constants::K_IF = T.let(T.unsafe(nil), String)
1358
+
1359
+ # source://unparser//lib/unparser/constants.rb#51
1360
+ Unparser::Constants::K_IN = T.let(T.unsafe(nil), String)
1361
+
1362
+ # source://unparser//lib/unparser/constants.rb#29
1363
+ Unparser::Constants::K_MODULE = T.let(T.unsafe(nil), String)
1364
+
1365
+ # source://unparser//lib/unparser/constants.rb#40
1366
+ Unparser::Constants::K_NEXT = T.let(T.unsafe(nil), String)
1367
+
1368
+ # source://unparser//lib/unparser/constants.rb#49
1369
+ Unparser::Constants::K_NIL = T.let(T.unsafe(nil), String)
1370
+
1371
+ # source://unparser//lib/unparser/constants.rb#50
1372
+ Unparser::Constants::K_NOT = T.let(T.unsafe(nil), String)
1373
+
1374
+ # source://unparser//lib/unparser/constants.rb#52
1375
+ Unparser::Constants::K_OR = T.let(T.unsafe(nil), String)
1376
+
1377
+ # source://unparser//lib/unparser/constants.rb#35
1378
+ Unparser::Constants::K_POSTEXE = T.let(T.unsafe(nil), String)
1379
+
1380
+ # source://unparser//lib/unparser/constants.rb#34
1381
+ Unparser::Constants::K_PREEXE = T.let(T.unsafe(nil), String)
1382
+
1383
+ # source://unparser//lib/unparser/constants.rb#39
1384
+ Unparser::Constants::K_REDO = T.let(T.unsafe(nil), String)
1385
+
1386
+ # source://unparser//lib/unparser/constants.rb#30
1387
+ Unparser::Constants::K_RESCUE = T.let(T.unsafe(nil), String)
1388
+
1389
+ # source://unparser//lib/unparser/constants.rb#38
1390
+ Unparser::Constants::K_RETRY = T.let(T.unsafe(nil), String)
1391
+
1392
+ # source://unparser//lib/unparser/constants.rb#31
1393
+ Unparser::Constants::K_RETURN = T.let(T.unsafe(nil), String)
1394
+
1395
+ # source://unparser//lib/unparser/constants.rb#26
1396
+ Unparser::Constants::K_SELF = T.let(T.unsafe(nil), String)
1397
+
1398
+ # source://unparser//lib/unparser/constants.rb#36
1399
+ Unparser::Constants::K_SUPER = T.let(T.unsafe(nil), String)
1400
+
1401
+ # source://unparser//lib/unparser/constants.rb#61
1402
+ Unparser::Constants::K_THEN = T.let(T.unsafe(nil), String)
1403
+
1404
+ # source://unparser//lib/unparser/constants.rb#42
1405
+ Unparser::Constants::K_TRUE = T.let(T.unsafe(nil), String)
1406
+
1407
+ # source://unparser//lib/unparser/constants.rb#32
1408
+ Unparser::Constants::K_UNDEF = T.let(T.unsafe(nil), String)
1409
+
1410
+ # source://unparser//lib/unparser/constants.rb#53
1411
+ Unparser::Constants::K_UNLESS = T.let(T.unsafe(nil), String)
1412
+
1413
+ # source://unparser//lib/unparser/constants.rb#56
1414
+ Unparser::Constants::K_UNTIL = T.let(T.unsafe(nil), String)
1415
+
1416
+ # source://unparser//lib/unparser/constants.rb#54
1417
+ Unparser::Constants::K_WHEN = T.let(T.unsafe(nil), String)
1418
+
1419
+ # source://unparser//lib/unparser/constants.rb#55
1420
+ Unparser::Constants::K_WHILE = T.let(T.unsafe(nil), String)
1421
+
1422
+ # source://unparser//lib/unparser/constants.rb#57
1423
+ Unparser::Constants::K_YIELD = T.let(T.unsafe(nil), String)
1424
+
1425
+ # All unary operators of the ruby language
1426
+ #
1427
+ # source://unparser//lib/unparser/constants.rb#8
1428
+ Unparser::Constants::UNARY_OPERATORS = T.let(T.unsafe(nil), Set)
1429
+
1430
+ # DSL to help defining emitters
1431
+ #
1432
+ # source://unparser//lib/unparser/dsl.rb#5
1433
+ module Unparser::DSL
1434
+ private
1435
+
1436
+ # source://unparser//lib/unparser/dsl.rb#32
1437
+ def children(*names); end
1438
+
1439
+ # source://unparser//lib/unparser/dsl.rb#17
1440
+ def define_child(name, index); end
1441
+
1442
+ # source://unparser//lib/unparser/dsl.rb#24
1443
+ def define_group(name, range); end
1444
+
1445
+ # source://unparser//lib/unparser/dsl.rb#9
1446
+ def define_remaining_children(names); end
1447
+ end
1448
+
1449
+ # Class to create diffs from source code
1450
+ #
1451
+ # source://unparser//lib/unparser/diff.rb#5
1452
+ class Unparser::Diff
1453
+ include ::Unparser::Equalizer::Methods
1454
+ include ::Unparser::Adamantium
1455
+ include ::Unparser::Adamantium::InstanceMethods
1456
+ extend ::Unparser::Adamantium::ModuleMethods
1457
+ extend ::Unparser::Adamantium::ClassMethods
1458
+
1459
+ # Colorized unified source diff between old and new
1460
+ #
1461
+ # @return [String] if there is a diff
1462
+ # @return [nil] otherwise
1463
+ #
1464
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1465
+ def colorized_diff(&block); end
1466
+
1467
+ # Unified source diff between old and new
1468
+ #
1469
+ # @return [String] if there is exactly one diff
1470
+ # @return [nil] otherwise
1471
+ #
1472
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1473
+ def diff(&block); end
1474
+
1475
+ private
1476
+
1477
+ # source://unparser//lib/unparser/diff.rb#62
1478
+ def diffs; end
1479
+
1480
+ # source://unparser//lib/unparser/diff.rb#66
1481
+ def hunks; end
1482
+
1483
+ # source://unparser//lib/unparser/diff.rb#81
1484
+ def max_length; end
1485
+
1486
+ # source://unparser//lib/unparser/diff.rb#72
1487
+ def minimized_hunk; end
1488
+
1489
+ class << self
1490
+ # Build new object from source strings
1491
+ #
1492
+ # @param old [String]
1493
+ # @param new [String]
1494
+ # @return [Diff]
1495
+ #
1496
+ # source://unparser//lib/unparser/diff.rb#46
1497
+ def build(old, new); end
1498
+
1499
+ private
1500
+
1501
+ # source://unparser//lib/unparser/diff.rb#85
1502
+ def colorize_line(line); end
1503
+
1504
+ # Break up source into lines
1505
+ #
1506
+ # @param source [String]
1507
+ # @return [Array<String>]
1508
+ #
1509
+ # source://unparser//lib/unparser/diff.rb#55
1510
+ def lines(source); end
1511
+ end
1512
+ end
1513
+
1514
+ # source://unparser//lib/unparser/diff.rb#8
1515
+ Unparser::Diff::ADDITION = T.let(T.unsafe(nil), String)
1516
+
1517
+ # source://unparser//lib/unparser/diff.rb#9
1518
+ Unparser::Diff::DELETION = T.let(T.unsafe(nil), String)
1519
+
1520
+ # source://unparser//lib/unparser/diff.rb#10
1521
+ Unparser::Diff::NEWLINE = T.let(T.unsafe(nil), String)
1522
+
1523
+ # source://unparser//lib/unparser.rb#34
1524
+ Unparser::EMPTY_ARRAY = T.let(T.unsafe(nil), Array)
1525
+
1526
+ # source://unparser//lib/unparser.rb#33
1527
+ Unparser::EMPTY_STRING = T.let(T.unsafe(nil), String)
1528
+
1529
+ # RequireBLock
1530
+ #
1531
+ # source://unparser//lib/unparser/either.rb#21
1532
+ class Unparser::Either
1533
+ include ::Unparser::RequireBlock
1534
+ include ::Unparser::Equalizer::Methods
1535
+ include ::Unparser::Adamantium
1536
+ include ::Unparser::Adamantium::InstanceMethods
1537
+ extend ::Unparser::Adamantium::ModuleMethods
1538
+ extend ::Unparser::Adamantium::ClassMethods
1539
+
1540
+ # Test for left constructor
1541
+ #
1542
+ # @return [Boolean]
1543
+ #
1544
+ # source://unparser//lib/unparser/either.rb#42
1545
+ def left?; end
1546
+
1547
+ # Test for right constructor
1548
+ #
1549
+ # @return [Boolean]
1550
+ #
1551
+ # source://unparser//lib/unparser/either.rb#49
1552
+ def right?; end
1553
+
1554
+ class << self
1555
+ # Execute block and wrap error in left
1556
+ #
1557
+ # @param exception [Class<Exception>]
1558
+ # @return [Either<Exception, Object>]
1559
+ #
1560
+ # source://unparser//lib/unparser/either.rb#33
1561
+ def wrap_error(*exceptions); end
1562
+ end
1563
+ end
1564
+
1565
+ # source://unparser//lib/unparser/either.rb#56
1566
+ class Unparser::Either::Left < ::Unparser::Either
1567
+ # Evaluate applicative block
1568
+ #
1569
+ # @return [Either::Left<Object>]
1570
+ #
1571
+ # source://unparser//lib/unparser/either.rb#64
1572
+ def bind(&block); end
1573
+
1574
+ # Evaluate left side of branch
1575
+ #
1576
+ # @param left [#call]
1577
+ # @param _right [#call]
1578
+ #
1579
+ # source://unparser//lib/unparser/either.rb#98
1580
+ def either(left, _right); end
1581
+
1582
+ # Evaluate functor block
1583
+ #
1584
+ # @return [Either::Left<Object>]
1585
+ #
1586
+ # source://unparser//lib/unparser/either.rb#57
1587
+ def fmap(&block); end
1588
+
1589
+ # Unwrap value from left
1590
+ #
1591
+ # @return [Object]
1592
+ #
1593
+ # source://unparser//lib/unparser/either.rb#71
1594
+ def from_left; end
1595
+
1596
+ # Unwrap value from right
1597
+ #
1598
+ # @return [Object]
1599
+ #
1600
+ # source://unparser//lib/unparser/either.rb#79
1601
+ def from_right; end
1602
+
1603
+ # Map over left value
1604
+ #
1605
+ # @return [Either::Right<Object>]
1606
+ #
1607
+ # source://unparser//lib/unparser/either.rb#90
1608
+ def lmap; end
1609
+ end
1610
+
1611
+ # Left
1612
+ #
1613
+ # source://unparser//lib/unparser/either.rb#106
1614
+ class Unparser::Either::Right < ::Unparser::Either
1615
+ # Evaluate applicative block
1616
+ #
1617
+ # @return [Either<Object>]
1618
+ # @yield [value]
1619
+ #
1620
+ # source://unparser//lib/unparser/either.rb#114
1621
+ def bind; end
1622
+
1623
+ # Evaluate right side of branch
1624
+ #
1625
+ # @param _left [#call]
1626
+ # @param right [#call]
1627
+ #
1628
+ # source://unparser//lib/unparser/either.rb#148
1629
+ def either(_left, right); end
1630
+
1631
+ # Evaluate functor block
1632
+ #
1633
+ # @return [Either::Right<Object>]
1634
+ #
1635
+ # source://unparser//lib/unparser/either.rb#107
1636
+ def fmap; end
1637
+
1638
+ # Unwrap value from left
1639
+ #
1640
+ # @return [Object]
1641
+ #
1642
+ # source://unparser//lib/unparser/either.rb#122
1643
+ def from_left; end
1644
+
1645
+ # Unwrap value from right
1646
+ #
1647
+ # @return [Object]
1648
+ #
1649
+ # source://unparser//lib/unparser/either.rb#133
1650
+ def from_right; end
1651
+
1652
+ # Map over left value
1653
+ #
1654
+ # @return [Either::Right<Object>]
1655
+ #
1656
+ # source://unparser//lib/unparser/either.rb#140
1657
+ def lmap(&block); end
1658
+ end
1659
+
1660
+ # Emitter base class
1661
+ #
1662
+ # source://unparser//lib/unparser/emitter.rb#7
1663
+ class Unparser::Emitter
1664
+ include ::Unparser::NodeHelpers
1665
+ include ::Unparser::Generation
1666
+ include ::Unparser::Constants
1667
+ include ::Unparser::AbstractType
1668
+ include ::Unparser::Adamantium
1669
+ include ::Unparser::Adamantium::InstanceMethods
1670
+ include ::Unparser::Anima::InstanceMethods
1671
+ include ::Unparser::Equalizer::Methods
1672
+ extend ::Unparser::AbstractType::AbstractMethodDeclarations
1673
+ extend ::Unparser::Adamantium::ModuleMethods
1674
+ extend ::Unparser::Adamantium::ClassMethods
1675
+ extend ::Unparser::DSL
1676
+
1677
+ # source://unparser//lib/unparser/anima.rb#146
1678
+ def buffer; end
1679
+
1680
+ # source://unparser//lib/unparser/anima.rb#146
1681
+ def comments; end
1682
+
1683
+ # Dispatch node write as statement
1684
+ #
1685
+ # @api private
1686
+ # @return [undefined]
1687
+ #
1688
+ # source://unparser//lib/unparser/abstract_type.rb#114
1689
+ def dispatch(*_arg0); end
1690
+
1691
+ # source://unparser//lib/unparser/emitter.rb#59
1692
+ def emit_mlhs; end
1693
+
1694
+ # source://unparser//lib/unparser/anima.rb#146
1695
+ def local_variable_scope; end
1696
+
1697
+ # source://unparser//lib/unparser/anima.rb#146
1698
+ def node; end
1699
+
1700
+ # LocalVariableRoot
1701
+ #
1702
+ # source://unparser//lib/unparser/emitter.rb#38
1703
+ def node_type; end
1704
+
1705
+ class << self
1706
+ # source://unparser//lib/unparser/anima.rb#140
1707
+ def anima; end
1708
+
1709
+ # Return emitter
1710
+ #
1711
+ #
1712
+ # @api private
1713
+ # @return [Emitter]
1714
+ #
1715
+ # source://unparser//lib/unparser/emitter.rb#70
1716
+ def emitter(buffer:, comments:, node:, local_variable_scope:); end
1717
+
1718
+ # source://unparser//lib/unparser/abstract_type.rb#36
1719
+ def new(*args, &block); end
1720
+
1721
+ private
1722
+
1723
+ # Register emitter for type
1724
+ #
1725
+ # @api private
1726
+ # @param types [Symbol]
1727
+ # @return [undefined]
1728
+ #
1729
+ # source://unparser//lib/unparser/emitter.rb#50
1730
+ def handle(*types); end
1731
+ end
1732
+ end
1733
+
1734
+ # Emitter for alias nodes
1735
+ #
1736
+ # source://unparser//lib/unparser/emitter/alias.rb#6
1737
+ class Unparser::Emitter::Alias < ::Unparser::Emitter
1738
+ private
1739
+
1740
+ # source://unparser//lib/unparser/emitter/alias.rb#14
1741
+ def dispatch; end
1742
+
1743
+ # source://unparser//lib/unparser/dsl.rb#11
1744
+ def remaining_children; end
1745
+
1746
+ # source://unparser//lib/unparser/dsl.rb#18
1747
+ def source; end
1748
+
1749
+ # source://unparser//lib/unparser/dsl.rb#18
1750
+ def target; end
1751
+ end
1752
+
1753
+ # Arguments emitter
1754
+ #
1755
+ # source://unparser//lib/unparser/emitter/args.rb#6
1756
+ class Unparser::Emitter::Args < ::Unparser::Emitter
1757
+ # source://unparser//lib/unparser/emitter/args.rb#7
1758
+ def emit_block_arguments; end
1759
+
1760
+ # source://unparser//lib/unparser/emitter/args.rb#15
1761
+ def emit_def_arguments; end
1762
+
1763
+ # source://unparser//lib/unparser/emitter/args.rb#19
1764
+ def emit_lambda_arguments; end
1765
+
1766
+ private
1767
+
1768
+ # source://unparser//lib/unparser/emitter/args.rb#26
1769
+ def emit_shadowargs; end
1770
+
1771
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1772
+ def normal_arguments(&block); end
1773
+
1774
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1775
+ def shadowargs(&block); end
1776
+ end
1777
+
1778
+ # Argument emitter
1779
+ #
1780
+ # source://unparser//lib/unparser/emitter/argument.rb#84
1781
+ class Unparser::Emitter::Argument < ::Unparser::Emitter
1782
+ private
1783
+
1784
+ # source://unparser//lib/unparser/emitter/argument.rb#91
1785
+ def dispatch; end
1786
+
1787
+ # source://unparser//lib/unparser/dsl.rb#18
1788
+ def name; end
1789
+
1790
+ # source://unparser//lib/unparser/dsl.rb#11
1791
+ def remaining_children; end
1792
+ end
1793
+
1794
+ # Array literal emitter
1795
+ #
1796
+ # source://unparser//lib/unparser/emitter/array.rb#6
1797
+ class Unparser::Emitter::Array < ::Unparser::Emitter
1798
+ # source://unparser//lib/unparser/emitter/array.rb#9
1799
+ def emit_heredoc_reminders; end
1800
+
1801
+ private
1802
+
1803
+ # source://unparser//lib/unparser/emitter/array.rb#15
1804
+ def dispatch; end
1805
+
1806
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1807
+ def emitters(&block); end
1808
+ end
1809
+
1810
+ # Emitter for array patterns
1811
+ #
1812
+ # source://unparser//lib/unparser/emitter/array_pattern.rb#6
1813
+ class Unparser::Emitter::ArrayPattern < ::Unparser::Emitter
1814
+ private
1815
+
1816
+ # source://unparser//lib/unparser/emitter/array_pattern.rb#13
1817
+ def dispatch; end
1818
+
1819
+ # source://unparser//lib/unparser/emitter/array_pattern.rb#20
1820
+ def emit_member(node); end
1821
+ end
1822
+
1823
+ # Base class for assignment emitters
1824
+ #
1825
+ # source://unparser//lib/unparser/emitter/assignment.rb#7
1826
+ class Unparser::Emitter::Assignment < ::Unparser::Emitter
1827
+ # source://unparser//lib/unparser/emitter/assignment.rb#14
1828
+ def emit_heredoc_reminders; end
1829
+
1830
+ # source://unparser//lib/unparser/abstract_type.rb#114
1831
+ def emit_left(*_arg0); end
1832
+
1833
+ # source://unparser//lib/unparser/emitter/assignment.rb#10
1834
+ def symbol_name; end
1835
+
1836
+ private
1837
+
1838
+ # source://unparser//lib/unparser/emitter/assignment.rb#22
1839
+ def dispatch; end
1840
+
1841
+ # source://unparser//lib/unparser/emitter/assignment.rb#27
1842
+ def emit_right; end
1843
+ end
1844
+
1845
+ # source://unparser//lib/unparser/emitter/assignment.rb#8
1846
+ Unparser::Emitter::Assignment::BINARY_OPERATOR = T.let(T.unsafe(nil), Array)
1847
+
1848
+ # Constant assignment emitter
1849
+ #
1850
+ # source://unparser//lib/unparser/emitter/assignment.rb#57
1851
+ class Unparser::Emitter::Assignment::Constant < ::Unparser::Emitter::Assignment
1852
+ private
1853
+
1854
+ # source://unparser//lib/unparser/dsl.rb#18
1855
+ def base; end
1856
+
1857
+ # source://unparser//lib/unparser/emitter/assignment.rb#65
1858
+ def emit_left; end
1859
+
1860
+ # source://unparser//lib/unparser/dsl.rb#18
1861
+ def name; end
1862
+
1863
+ # source://unparser//lib/unparser/dsl.rb#11
1864
+ def remaining_children; end
1865
+
1866
+ # source://unparser//lib/unparser/dsl.rb#18
1867
+ def right; end
1868
+ end
1869
+
1870
+ # Variable assignment emitter
1871
+ #
1872
+ # source://unparser//lib/unparser/emitter/assignment.rb#42
1873
+ class Unparser::Emitter::Assignment::Variable < ::Unparser::Emitter::Assignment
1874
+ private
1875
+
1876
+ # source://unparser//lib/unparser/emitter/assignment.rb#50
1877
+ def emit_left; end
1878
+
1879
+ # source://unparser//lib/unparser/dsl.rb#18
1880
+ def name; end
1881
+
1882
+ # source://unparser//lib/unparser/dsl.rb#11
1883
+ def remaining_children; end
1884
+
1885
+ # source://unparser//lib/unparser/dsl.rb#18
1886
+ def right; end
1887
+ end
1888
+
1889
+ # Emitter for begin nodes
1890
+ #
1891
+ # source://unparser//lib/unparser/emitter/begin.rb#7
1892
+ class Unparser::Emitter::Begin < ::Unparser::Emitter
1893
+ # source://unparser//lib/unparser/emitter/begin.rb#11
1894
+ def emit_heredoc_reminders; end
1895
+
1896
+ private
1897
+
1898
+ # source://unparser//lib/unparser/dsl.rb#18
1899
+ def body; end
1900
+
1901
+ # source://unparser//lib/unparser/emitter/begin.rb#19
1902
+ def dispatch; end
1903
+
1904
+ # source://unparser//lib/unparser/dsl.rb#11
1905
+ def remaining_children; end
1906
+ end
1907
+
1908
+ # Non send binary operator / keyword emitter
1909
+ #
1910
+ # source://unparser//lib/unparser/emitter/binary.rb#6
1911
+ class Unparser::Emitter::Binary < ::Unparser::Emitter
1912
+ private
1913
+
1914
+ # source://unparser//lib/unparser/emitter/binary.rb#11
1915
+ def dispatch; end
1916
+
1917
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1918
+ def writer(&block); end
1919
+ end
1920
+
1921
+ # Base class for and and or op-assign
1922
+ #
1923
+ # source://unparser//lib/unparser/emitter/op_assign.rb#7
1924
+ class Unparser::Emitter::BinaryAssign < ::Unparser::Emitter
1925
+ # source://unparser//lib/unparser/emitter/op_assign.rb#17
1926
+ def emit_heredoc_reminders; end
1927
+
1928
+ private
1929
+
1930
+ # source://unparser//lib/unparser/emitter/op_assign.rb#24
1931
+ def dispatch; end
1932
+
1933
+ # source://unparser//lib/unparser/dsl.rb#18
1934
+ def expression; end
1935
+
1936
+ # source://unparser//lib/unparser/dsl.rb#11
1937
+ def remaining_children; end
1938
+
1939
+ # source://unparser//lib/unparser/dsl.rb#18
1940
+ def target; end
1941
+ end
1942
+
1943
+ # source://unparser//lib/unparser/emitter/op_assign.rb#10
1944
+ Unparser::Emitter::BinaryAssign::MAP = T.let(T.unsafe(nil), Hash)
1945
+
1946
+ # Block emitter
1947
+ #
1948
+ # source://unparser//lib/unparser/emitter/block.rb#7
1949
+ class Unparser::Emitter::Block < ::Unparser::Emitter
1950
+ private
1951
+
1952
+ # source://unparser//lib/unparser/dsl.rb#18
1953
+ def arguments; end
1954
+
1955
+ # source://unparser//lib/unparser/dsl.rb#18
1956
+ def body; end
1957
+
1958
+ # source://unparser//lib/unparser/emitter/block.rb#14
1959
+ def dispatch; end
1960
+
1961
+ # source://unparser//lib/unparser/emitter/block.rb#75
1962
+ def emit_block_arguments; end
1963
+
1964
+ # source://unparser//lib/unparser/emitter/block.rb#67
1965
+ def emit_lambda_arguments; end
1966
+
1967
+ # source://unparser//lib/unparser/emitter/block.rb#61
1968
+ def emit_send_target; end
1969
+
1970
+ # source://unparser//lib/unparser/emitter/block.rb#49
1971
+ def emit_target; end
1972
+
1973
+ # @return [Boolean]
1974
+ #
1975
+ # source://unparser//lib/unparser/emitter/block.rb#24
1976
+ def need_do?; end
1977
+
1978
+ # @return [Boolean]
1979
+ #
1980
+ # source://unparser//lib/unparser/emitter/block.rb#71
1981
+ def numblock?; end
1982
+
1983
+ # source://unparser//lib/unparser/dsl.rb#11
1984
+ def remaining_children; end
1985
+
1986
+ # source://unparser//lib/unparser/dsl.rb#18
1987
+ def target; end
1988
+
1989
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1990
+ def target_writer(&block); end
1991
+
1992
+ # source://unparser//lib/unparser/emitter/block.rb#36
1993
+ def write_close; end
1994
+
1995
+ # source://unparser//lib/unparser/emitter/block.rb#28
1996
+ def write_open; end
1997
+ end
1998
+
1999
+ # Block pass node emitter
2000
+ #
2001
+ # source://unparser//lib/unparser/emitter/argument.rb#123
2002
+ class Unparser::Emitter::BlockPass < ::Unparser::Emitter
2003
+ private
2004
+
2005
+ # source://unparser//lib/unparser/emitter/argument.rb#130
2006
+ def dispatch; end
2007
+
2008
+ # source://unparser//lib/unparser/dsl.rb#18
2009
+ def name; end
2010
+
2011
+ # source://unparser//lib/unparser/dsl.rb#11
2012
+ def remaining_children; end
2013
+ end
2014
+
2015
+ # Emitter for toplevel constant reference nodes
2016
+ #
2017
+ # source://unparser//lib/unparser/emitter/cbase.rb#6
2018
+ class Unparser::Emitter::CBase < ::Unparser::Emitter
2019
+ private
2020
+
2021
+ # Perform dispatch
2022
+ #
2023
+ # @api private
2024
+ # @return [undefined]
2025
+ #
2026
+ # source://unparser//lib/unparser/emitter/cbase.rb#17
2027
+ def dispatch; end
2028
+ end
2029
+
2030
+ # Emitter for case nodes
2031
+ #
2032
+ # source://unparser//lib/unparser/emitter/case.rb#6
2033
+ class Unparser::Emitter::Case < ::Unparser::Emitter
2034
+ private
2035
+
2036
+ # source://unparser//lib/unparser/dsl.rb#18
2037
+ def condition; end
2038
+
2039
+ # source://unparser//lib/unparser/emitter/case.rb#14
2040
+ def dispatch; end
2041
+
2042
+ # source://unparser//lib/unparser/emitter/case.rb#35
2043
+ def emit_condition; end
2044
+
2045
+ # source://unparser//lib/unparser/emitter/case.rb#22
2046
+ def emit_else; end
2047
+
2048
+ # source://unparser//lib/unparser/emitter/case.rb#30
2049
+ def emit_whens; end
2050
+
2051
+ # source://unparser//lib/unparser/dsl.rb#11
2052
+ def remaining_children; end
2053
+
2054
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2055
+ def whens(&block); end
2056
+ end
2057
+
2058
+ # Emitter for case guards
2059
+ #
2060
+ # source://unparser//lib/unparser/emitter/case_guard.rb#6
2061
+ class Unparser::Emitter::CaseGuard < ::Unparser::Emitter
2062
+ private
2063
+
2064
+ # source://unparser//lib/unparser/dsl.rb#18
2065
+ def condition; end
2066
+
2067
+ # source://unparser//lib/unparser/emitter/case_guard.rb#19
2068
+ def dispatch; end
2069
+
2070
+ # source://unparser//lib/unparser/dsl.rb#11
2071
+ def remaining_children; end
2072
+ end
2073
+
2074
+ # source://unparser//lib/unparser/emitter/case_guard.rb#10
2075
+ Unparser::Emitter::CaseGuard::MAP = T.let(T.unsafe(nil), Hash)
2076
+
2077
+ # Emitter for case matches
2078
+ #
2079
+ # source://unparser//lib/unparser/emitter/case_match.rb#6
2080
+ class Unparser::Emitter::CaseMatch < ::Unparser::Emitter
2081
+ private
2082
+
2083
+ # source://unparser//lib/unparser/emitter/case_match.rb#20
2084
+ def dispatch; end
2085
+
2086
+ # source://unparser//lib/unparser/emitter/case_match.rb#16
2087
+ def else_branch; end
2088
+
2089
+ # source://unparser//lib/unparser/emitter/case_match.rb#30
2090
+ def emit_else_branch; end
2091
+
2092
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2093
+ def patterns(&block); end
2094
+
2095
+ # source://unparser//lib/unparser/dsl.rb#11
2096
+ def remaining_children; end
2097
+
2098
+ # source://unparser//lib/unparser/dsl.rb#18
2099
+ def target; end
2100
+ end
2101
+
2102
+ # Emitter for class nodes
2103
+ #
2104
+ # source://unparser//lib/unparser/emitter/class.rb#6
2105
+ class Unparser::Emitter::Class < ::Unparser::Emitter
2106
+ include ::Unparser::Emitter::LocalVariableRoot
2107
+
2108
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2109
+ def local_variable_scope(&block); end
2110
+
2111
+ private
2112
+
2113
+ # source://unparser//lib/unparser/dsl.rb#18
2114
+ def body; end
2115
+
2116
+ # source://unparser//lib/unparser/emitter/class.rb#15
2117
+ def dispatch; end
2118
+
2119
+ # source://unparser//lib/unparser/emitter/class.rb#23
2120
+ def emit_superclass; end
2121
+
2122
+ # source://unparser//lib/unparser/dsl.rb#18
2123
+ def name; end
2124
+
2125
+ # source://unparser//lib/unparser/dsl.rb#11
2126
+ def remaining_children; end
2127
+
2128
+ # source://unparser//lib/unparser/dsl.rb#18
2129
+ def superclass; end
2130
+ end
2131
+
2132
+ # Emitter for constant access
2133
+ #
2134
+ # source://unparser//lib/unparser/emitter/variable.rb#21
2135
+ class Unparser::Emitter::Const < ::Unparser::Emitter
2136
+ private
2137
+
2138
+ # source://unparser//lib/unparser/emitter/variable.rb#28
2139
+ def dispatch; end
2140
+
2141
+ # source://unparser//lib/unparser/emitter/variable.rb#33
2142
+ def emit_scope; end
2143
+
2144
+ # source://unparser//lib/unparser/dsl.rb#18
2145
+ def name; end
2146
+
2147
+ # source://unparser//lib/unparser/dsl.rb#11
2148
+ def remaining_children; end
2149
+
2150
+ # source://unparser//lib/unparser/dsl.rb#18
2151
+ def scope; end
2152
+ end
2153
+
2154
+ # Emitter for const pattern node
2155
+ #
2156
+ # source://unparser//lib/unparser/emitter/const_pattern.rb#6
2157
+ class Unparser::Emitter::ConstPattern < ::Unparser::Emitter
2158
+ private
2159
+
2160
+ # source://unparser//lib/unparser/dsl.rb#18
2161
+ def const; end
2162
+
2163
+ # source://unparser//lib/unparser/emitter/const_pattern.rb#14
2164
+ def dispatch; end
2165
+
2166
+ # source://unparser//lib/unparser/dsl.rb#18
2167
+ def pattern; end
2168
+
2169
+ # source://unparser//lib/unparser/dsl.rb#11
2170
+ def remaining_children; end
2171
+ end
2172
+
2173
+ # Dynamic string emitter
2174
+ #
2175
+ # source://unparser//lib/unparser/emitter/dstr.rb#6
2176
+ class Unparser::Emitter::DStr < ::Unparser::Emitter
2177
+ # source://unparser//lib/unparser/emitter/dstr.rb#10
2178
+ def emit_heredoc_reminders; end
2179
+
2180
+ private
2181
+
2182
+ # source://unparser//lib/unparser/emitter/dstr.rb#16
2183
+ def dispatch; end
2184
+ end
2185
+
2186
+ # Dynamic symbol literal emitter
2187
+ #
2188
+ # source://unparser//lib/unparser/emitter/dsym.rb#6
2189
+ class Unparser::Emitter::DSym < ::Unparser::Emitter
2190
+ private
2191
+
2192
+ # source://unparser//lib/unparser/emitter/dsym.rb#11
2193
+ def dispatch; end
2194
+
2195
+ # source://unparser//lib/unparser/emitter/dsym.rb#34
2196
+ def emit_begin_child(component); end
2197
+
2198
+ # source://unparser//lib/unparser/emitter/dsym.rb#24
2199
+ def emit_str_child(value); end
2200
+ end
2201
+
2202
+ # Emitter for def node
2203
+ #
2204
+ # source://unparser//lib/unparser/emitter/def.rb#6
2205
+ class Unparser::Emitter::Def < ::Unparser::Emitter
2206
+ include ::Unparser::Emitter::LocalVariableRoot
2207
+
2208
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2209
+ def local_variable_scope(&block); end
2210
+
2211
+ private
2212
+
2213
+ # source://unparser//lib/unparser/abstract_type.rb#114
2214
+ def body(*_arg0); end
2215
+
2216
+ # source://unparser//lib/unparser/emitter/def.rb#17
2217
+ def dispatch; end
2218
+
2219
+ # source://unparser//lib/unparser/emitter/def.rb#25
2220
+ def emit_arguments; end
2221
+
2222
+ # source://unparser//lib/unparser/abstract_type.rb#114
2223
+ def emit_name(*_arg0); end
2224
+ end
2225
+
2226
+ # Instance def emitter
2227
+ #
2228
+ # source://unparser//lib/unparser/emitter/def.rb#34
2229
+ class Unparser::Emitter::Def::Instance < ::Unparser::Emitter::Def
2230
+ private
2231
+
2232
+ # source://unparser//lib/unparser/dsl.rb#18
2233
+ def arguments; end
2234
+
2235
+ # source://unparser//lib/unparser/dsl.rb#18
2236
+ def body; end
2237
+
2238
+ # source://unparser//lib/unparser/emitter/def.rb#41
2239
+ def emit_name; end
2240
+
2241
+ # source://unparser//lib/unparser/dsl.rb#18
2242
+ def name; end
2243
+
2244
+ # source://unparser//lib/unparser/dsl.rb#11
2245
+ def remaining_children; end
2246
+ end
2247
+
2248
+ # Emitter for defines on singleton
2249
+ #
2250
+ # source://unparser//lib/unparser/emitter/def.rb#48
2251
+ class Unparser::Emitter::Def::Singleton < ::Unparser::Emitter::Def
2252
+ private
2253
+
2254
+ # source://unparser//lib/unparser/dsl.rb#18
2255
+ def arguments; end
2256
+
2257
+ # source://unparser//lib/unparser/dsl.rb#18
2258
+ def body; end
2259
+
2260
+ # source://unparser//lib/unparser/emitter/def.rb#56
2261
+ def emit_name; end
2262
+
2263
+ # source://unparser//lib/unparser/dsl.rb#18
2264
+ def name; end
2265
+
2266
+ # source://unparser//lib/unparser/dsl.rb#11
2267
+ def remaining_children; end
2268
+
2269
+ # source://unparser//lib/unparser/dsl.rb#18
2270
+ def subject; end
2271
+
2272
+ # @return [Boolean]
2273
+ #
2274
+ # source://unparser//lib/unparser/emitter/def.rb#63
2275
+ def subject_without_parens?; end
2276
+ end
2277
+
2278
+ # Emitter for defined? nodes
2279
+ #
2280
+ # source://unparser//lib/unparser/emitter/defined.rb#6
2281
+ class Unparser::Emitter::Defined < ::Unparser::Emitter
2282
+ private
2283
+
2284
+ # source://unparser//lib/unparser/emitter/defined.rb#13
2285
+ def dispatch; end
2286
+
2287
+ # source://unparser//lib/unparser/dsl.rb#11
2288
+ def remaining_children; end
2289
+
2290
+ # source://unparser//lib/unparser/dsl.rb#18
2291
+ def subject; end
2292
+ end
2293
+
2294
+ # Emitter for in pattern nodes
2295
+ #
2296
+ # source://unparser//lib/unparser/emitter/find_pattern.rb#6
2297
+ class Unparser::Emitter::FindPattern < ::Unparser::Emitter
2298
+ private
2299
+
2300
+ # source://unparser//lib/unparser/emitter/find_pattern.rb#11
2301
+ def dispatch; end
2302
+ end
2303
+
2304
+ # Emitter for flip flops
2305
+ #
2306
+ # source://unparser//lib/unparser/emitter/flipflop.rb#6
2307
+ class Unparser::Emitter::FlipFlop < ::Unparser::Emitter
2308
+ # source://unparser//lib/unparser/emitter/flipflop.rb#17
2309
+ def symbol_name; end
2310
+
2311
+ private
2312
+
2313
+ # source://unparser//lib/unparser/emitter/flipflop.rb#27
2314
+ def dispatch; end
2315
+
2316
+ # source://unparser//lib/unparser/dsl.rb#18
2317
+ def left; end
2318
+
2319
+ # source://unparser//lib/unparser/dsl.rb#11
2320
+ def remaining_children; end
2321
+
2322
+ # source://unparser//lib/unparser/dsl.rb#18
2323
+ def right; end
2324
+ end
2325
+
2326
+ # source://unparser//lib/unparser/emitter/flipflop.rb#7
2327
+ Unparser::Emitter::FlipFlop::MAP = T.let(T.unsafe(nil), Hash)
2328
+
2329
+ # source://unparser//lib/unparser/emitter/flipflop.rb#12
2330
+ Unparser::Emitter::FlipFlop::SYMBOLS = T.let(T.unsafe(nil), Hash)
2331
+
2332
+ # Emiter for float literals
2333
+ #
2334
+ # source://unparser//lib/unparser/emitter/float.rb#6
2335
+ class Unparser::Emitter::Float < ::Unparser::Emitter
2336
+ private
2337
+
2338
+ # source://unparser//lib/unparser/emitter/float.rb#16
2339
+ def dispatch; end
2340
+
2341
+ # source://unparser//lib/unparser/dsl.rb#11
2342
+ def remaining_children; end
2343
+
2344
+ # source://unparser//lib/unparser/dsl.rb#18
2345
+ def value; end
2346
+ end
2347
+
2348
+ # source://unparser//lib/unparser/emitter/float.rb#11
2349
+ Unparser::Emitter::Float::INFINITY = T.let(T.unsafe(nil), Float)
2350
+
2351
+ # source://unparser//lib/unparser/emitter/float.rb#12
2352
+ Unparser::Emitter::Float::NEG_INFINITY = T.let(T.unsafe(nil), Float)
2353
+
2354
+ # Emitter control flow modifiers
2355
+ #
2356
+ # source://unparser//lib/unparser/emitter/flow_modifier.rb#6
2357
+ class Unparser::Emitter::FlowModifier < ::Unparser::Emitter
2358
+ # source://unparser//lib/unparser/emitter/flow_modifier.rb#17
2359
+ def emit_heredoc_reminders; end
2360
+
2361
+ private
2362
+
2363
+ # source://unparser//lib/unparser/emitter/flow_modifier.rb#25
2364
+ def dispatch; end
2365
+
2366
+ # source://unparser//lib/unparser/emitter/flow_modifier.rb#36
2367
+ def emit_arguments; end
2368
+ end
2369
+
2370
+ # source://unparser//lib/unparser/emitter/flow_modifier.rb#7
2371
+ Unparser::Emitter::FlowModifier::MAP = T.let(T.unsafe(nil), Hash)
2372
+
2373
+ # Emitter for for nodes
2374
+ #
2375
+ # source://unparser//lib/unparser/emitter/for.rb#6
2376
+ class Unparser::Emitter::For < ::Unparser::Emitter
2377
+ private
2378
+
2379
+ # source://unparser//lib/unparser/dsl.rb#18
2380
+ def assignment; end
2381
+
2382
+ # source://unparser//lib/unparser/dsl.rb#18
2383
+ def body; end
2384
+
2385
+ # source://unparser//lib/unparser/dsl.rb#18
2386
+ def condition; end
2387
+
2388
+ # source://unparser//lib/unparser/emitter/for.rb#13
2389
+ def dispatch; end
2390
+
2391
+ # source://unparser//lib/unparser/emitter/for.rb#20
2392
+ def emit_condition; end
2393
+
2394
+ # source://unparser//lib/unparser/dsl.rb#11
2395
+ def remaining_children; end
2396
+ end
2397
+
2398
+ # Emitter for forwarding arguments
2399
+ #
2400
+ # source://unparser//lib/unparser/emitter/argument.rb#6
2401
+ class Unparser::Emitter::ForwardArg < ::Unparser::Emitter
2402
+ private
2403
+
2404
+ # source://unparser//lib/unparser/emitter/argument.rb#20
2405
+ def dispatch; end
2406
+
2407
+ # source://unparser//lib/unparser/dsl.rb#18
2408
+ def name; end
2409
+
2410
+ # source://unparser//lib/unparser/dsl.rb#11
2411
+ def remaining_children; end
2412
+ end
2413
+
2414
+ # source://unparser//lib/unparser/emitter/argument.rb#7
2415
+ Unparser::Emitter::ForwardArg::MAP = T.let(T.unsafe(nil), Hash)
2416
+
2417
+ # Emitter for Hash literals
2418
+ #
2419
+ # source://unparser//lib/unparser/emitter/hash.rb#6
2420
+ class Unparser::Emitter::Hash < ::Unparser::Emitter
2421
+ # source://unparser//lib/unparser/emitter/hash.rb#9
2422
+ def emit_heredoc_reminders; end
2423
+
2424
+ private
2425
+
2426
+ # source://unparser//lib/unparser/emitter/hash.rb#15
2427
+ def dispatch; end
2428
+
2429
+ # source://unparser//lib/unparser/emitter/hash.rb#31
2430
+ def emit_hash_body; end
2431
+
2432
+ # source://unparser//lib/unparser/emitter/hash.rb#27
2433
+ def emit_heredoc_reminder_member(node); end
2434
+ end
2435
+
2436
+ # Emitter for hash patterns
2437
+ #
2438
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#6
2439
+ class Unparser::Emitter::HashPattern < ::Unparser::Emitter
2440
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#10
2441
+ def emit_const_pattern; end
2442
+
2443
+ private
2444
+
2445
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#18
2446
+ def dispatch; end
2447
+
2448
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#24
2449
+ def emit_hash_body; end
2450
+
2451
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#41
2452
+ def emit_match_var(node); end
2453
+
2454
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#28
2455
+ def emit_member(node); end
2456
+
2457
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#46
2458
+ def emit_pair(node); end
2459
+
2460
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#62
2461
+ def write_symbol_body(symbol); end
2462
+ end
2463
+
2464
+ # Base class for pre and postexe emitters
2465
+ #
2466
+ # source://unparser//lib/unparser/emitter/hookexe.rb#6
2467
+ class Unparser::Emitter::Hookexe < ::Unparser::Emitter
2468
+ private
2469
+
2470
+ # source://unparser//lib/unparser/dsl.rb#18
2471
+ def body; end
2472
+
2473
+ # source://unparser//lib/unparser/emitter/hookexe.rb#19
2474
+ def dispatch; end
2475
+
2476
+ # source://unparser//lib/unparser/dsl.rb#11
2477
+ def remaining_children; end
2478
+ end
2479
+
2480
+ # source://unparser//lib/unparser/emitter/hookexe.rb#8
2481
+ Unparser::Emitter::Hookexe::MAP = T.let(T.unsafe(nil), Hash)
2482
+
2483
+ # Emitter if nodes
2484
+ #
2485
+ # source://unparser//lib/unparser/emitter/if.rb#6
2486
+ class Unparser::Emitter::If < ::Unparser::Emitter
2487
+ # source://unparser//lib/unparser/emitter/if.rb#11
2488
+ def emit_ternary; end
2489
+
2490
+ private
2491
+
2492
+ # source://unparser//lib/unparser/dsl.rb#18
2493
+ def condition; end
2494
+
2495
+ # source://unparser//lib/unparser/emitter/if.rb#21
2496
+ def dispatch; end
2497
+
2498
+ # source://unparser//lib/unparser/dsl.rb#18
2499
+ def else_branch; end
2500
+
2501
+ # source://unparser//lib/unparser/emitter/if.rb#59
2502
+ def emit_condition; end
2503
+
2504
+ # source://unparser//lib/unparser/emitter/if.rb#71
2505
+ def emit_else_branch; end
2506
+
2507
+ # source://unparser//lib/unparser/emitter/if.rb#63
2508
+ def emit_if_branch; end
2509
+
2510
+ # source://unparser//lib/unparser/emitter/if.rb#43
2511
+ def emit_normal; end
2512
+
2513
+ # source://unparser//lib/unparser/emitter/if.rb#37
2514
+ def emit_postcondition; end
2515
+
2516
+ # source://unparser//lib/unparser/dsl.rb#18
2517
+ def if_branch; end
2518
+
2519
+ # source://unparser//lib/unparser/emitter/if.rb#55
2520
+ def keyword; end
2521
+
2522
+ # @return [Boolean]
2523
+ #
2524
+ # source://unparser//lib/unparser/emitter/if.rb#29
2525
+ def postcondition?; end
2526
+
2527
+ # source://unparser//lib/unparser/dsl.rb#11
2528
+ def remaining_children; end
2529
+
2530
+ # @return [Boolean]
2531
+ #
2532
+ # source://unparser//lib/unparser/emitter/if.rb#51
2533
+ def unless?; end
2534
+ end
2535
+
2536
+ # Emitter for in pattern nodes
2537
+ #
2538
+ # source://unparser//lib/unparser/emitter/in_match.rb#6
2539
+ class Unparser::Emitter::InMatch < ::Unparser::Emitter
2540
+ private
2541
+
2542
+ # source://unparser//lib/unparser/emitter/in_match.rb#14
2543
+ def dispatch; end
2544
+
2545
+ # source://unparser//lib/unparser/dsl.rb#18
2546
+ def pattern; end
2547
+
2548
+ # source://unparser//lib/unparser/dsl.rb#11
2549
+ def remaining_children; end
2550
+
2551
+ # source://unparser//lib/unparser/dsl.rb#18
2552
+ def target; end
2553
+ end
2554
+
2555
+ # Emitter for in pattern nodes
2556
+ #
2557
+ # source://unparser//lib/unparser/emitter/in_pattern.rb#6
2558
+ class Unparser::Emitter::InPattern < ::Unparser::Emitter
2559
+ private
2560
+
2561
+ # source://unparser//lib/unparser/dsl.rb#18
2562
+ def branch; end
2563
+
2564
+ # source://unparser//lib/unparser/emitter/in_pattern.rb#14
2565
+ def dispatch; end
2566
+
2567
+ # source://unparser//lib/unparser/dsl.rb#18
2568
+ def else_branch; end
2569
+
2570
+ # source://unparser//lib/unparser/dsl.rb#11
2571
+ def remaining_children; end
2572
+
2573
+ # source://unparser//lib/unparser/dsl.rb#18
2574
+ def target; end
2575
+
2576
+ # source://unparser//lib/unparser/dsl.rb#18
2577
+ def unless_guard; end
2578
+ end
2579
+
2580
+ # Emitter for send to index references
2581
+ #
2582
+ # source://unparser//lib/unparser/emitter/index.rb#6
2583
+ class Unparser::Emitter::Index < ::Unparser::Emitter
2584
+ private
2585
+
2586
+ # source://unparser//lib/unparser/emitter/index.rb#10
2587
+ def dispatch; end
2588
+
2589
+ # source://unparser//lib/unparser/emitter/index.rb#15
2590
+ def emit_receiver; end
2591
+ end
2592
+
2593
+ # Emitter for assign to index nodes
2594
+ #
2595
+ # source://unparser//lib/unparser/emitter/index.rb#34
2596
+ class Unparser::Emitter::Index::Assign < ::Unparser::Emitter::Index
2597
+ # source://unparser//lib/unparser/emitter/index.rb#47
2598
+ def dispatch; end
2599
+
2600
+ # source://unparser//lib/unparser/emitter/index.rb#43
2601
+ def emit_heredoc_reminders; end
2602
+
2603
+ # source://unparser//lib/unparser/emitter/index.rb#54
2604
+ def emit_mlhs; end
2605
+
2606
+ private
2607
+
2608
+ # source://unparser//lib/unparser/emitter/index.rb#61
2609
+ def emit_operation(indices); end
2610
+ end
2611
+
2612
+ # source://unparser//lib/unparser/emitter/index.rb#39
2613
+ Unparser::Emitter::Index::Assign::NO_VALUE_PARENT = T.let(T.unsafe(nil), Set)
2614
+
2615
+ # source://unparser//lib/unparser/emitter/index.rb#38
2616
+ Unparser::Emitter::Index::Assign::VALUE_RANGE = T.let(T.unsafe(nil), Range)
2617
+
2618
+ # source://unparser//lib/unparser/emitter/index.rb#19
2619
+ class Unparser::Emitter::Index::Reference < ::Unparser::Emitter::Index
2620
+ private
2621
+
2622
+ # source://unparser//lib/unparser/emitter/index.rb#26
2623
+ def emit_operation; end
2624
+
2625
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2626
+ def indices(&block); end
2627
+ end
2628
+
2629
+ # Emitter for explicit begins
2630
+ #
2631
+ # source://unparser//lib/unparser/emitter/kwbegin.rb#6
2632
+ class Unparser::Emitter::KWBegin < ::Unparser::Emitter
2633
+ private
2634
+
2635
+ # source://unparser//lib/unparser/emitter/kwbegin.rb#11
2636
+ def dispatch; end
2637
+
2638
+ # source://unparser//lib/unparser/emitter/kwbegin.rb#25
2639
+ def emit_multiple_body; end
2640
+ end
2641
+
2642
+ # Optional keyword argument emitter
2643
+ #
2644
+ # source://unparser//lib/unparser/emitter/argument.rb#41
2645
+ class Unparser::Emitter::KeywordOptional < ::Unparser::Emitter
2646
+ private
2647
+
2648
+ # source://unparser//lib/unparser/emitter/argument.rb#48
2649
+ def dispatch; end
2650
+
2651
+ # source://unparser//lib/unparser/dsl.rb#18
2652
+ def name; end
2653
+
2654
+ # source://unparser//lib/unparser/dsl.rb#11
2655
+ def remaining_children; end
2656
+
2657
+ # source://unparser//lib/unparser/dsl.rb#18
2658
+ def value; end
2659
+ end
2660
+
2661
+ # Emitter for splats
2662
+ #
2663
+ # source://unparser//lib/unparser/emitter/splat.rb#6
2664
+ class Unparser::Emitter::KwSplat < ::Unparser::Emitter
2665
+ private
2666
+
2667
+ # source://unparser//lib/unparser/emitter/splat.rb#13
2668
+ def dispatch; end
2669
+
2670
+ # source://unparser//lib/unparser/dsl.rb#11
2671
+ def remaining_children; end
2672
+
2673
+ # source://unparser//lib/unparser/dsl.rb#18
2674
+ def subject; end
2675
+ end
2676
+
2677
+ # Keyword argument emitter
2678
+ #
2679
+ # source://unparser//lib/unparser/emitter/argument.rb#56
2680
+ class Unparser::Emitter::Kwarg < ::Unparser::Emitter
2681
+ private
2682
+
2683
+ # source://unparser//lib/unparser/emitter/argument.rb#63
2684
+ def dispatch; end
2685
+
2686
+ # source://unparser//lib/unparser/dsl.rb#18
2687
+ def name; end
2688
+
2689
+ # source://unparser//lib/unparser/dsl.rb#11
2690
+ def remaining_children; end
2691
+ end
2692
+
2693
+ # source://unparser//lib/unparser/emitter/kwargs.rb#5
2694
+ class Unparser::Emitter::Kwargs < ::Unparser::Emitter
2695
+ # source://unparser//lib/unparser/emitter/kwargs.rb#8
2696
+ def dispatch; end
2697
+ end
2698
+
2699
+ # Emitter for lambda nodes
2700
+ #
2701
+ # source://unparser//lib/unparser/emitter/lambda.rb#6
2702
+ class Unparser::Emitter::Lambda < ::Unparser::Emitter
2703
+ private
2704
+
2705
+ # source://unparser//lib/unparser/emitter/lambda.rb#11
2706
+ def dispatch; end
2707
+ end
2708
+
2709
+ # source://unparser//lib/unparser/emitter.rb#20
2710
+ module Unparser::Emitter::LocalVariableRoot
2711
+ # Return local variable root
2712
+ #
2713
+ # @api private
2714
+ # @return [Parser::AST::Node]
2715
+ #
2716
+ # source://unparser//lib/unparser/emitter.rb#27
2717
+ def local_variable_scope; end
2718
+
2719
+ class << self
2720
+ # @private
2721
+ #
2722
+ # source://unparser//lib/unparser/emitter.rb#31
2723
+ def included(descendant); end
2724
+ end
2725
+ end
2726
+
2727
+ # Emitter for multiple assignment nodes
2728
+ #
2729
+ # source://unparser//lib/unparser/emitter/masgn.rb#6
2730
+ class Unparser::Emitter::MASGN < ::Unparser::Emitter
2731
+ private
2732
+
2733
+ # source://unparser//lib/unparser/emitter/masgn.rb#13
2734
+ def dispatch; end
2735
+
2736
+ # source://unparser//lib/unparser/dsl.rb#11
2737
+ def remaining_children; end
2738
+
2739
+ # source://unparser//lib/unparser/dsl.rb#18
2740
+ def source; end
2741
+
2742
+ # source://unparser//lib/unparser/dsl.rb#18
2743
+ def target; end
2744
+ end
2745
+
2746
+ # Emitter for multiple assignment left hand side
2747
+ #
2748
+ # source://unparser//lib/unparser/emitter/mlhs.rb#6
2749
+ class Unparser::Emitter::MLHS < ::Unparser::Emitter
2750
+ private
2751
+
2752
+ # source://unparser//lib/unparser/emitter/mlhs.rb#15
2753
+ def dispatch; end
2754
+
2755
+ # source://unparser//lib/unparser/emitter/mlhs.rb#31
2756
+ def emit_many; end
2757
+
2758
+ # source://unparser//lib/unparser/emitter/mlhs.rb#23
2759
+ def emit_one_child_mlhs; end
2760
+ end
2761
+
2762
+ # source://unparser//lib/unparser/emitter/mlhs.rb#9
2763
+ Unparser::Emitter::MLHS::NO_COMMA = T.let(T.unsafe(nil), Array)
2764
+
2765
+ # Base class for special match node emitters
2766
+ #
2767
+ # source://unparser//lib/unparser/emitter/match.rb#8
2768
+ class Unparser::Emitter::Match < ::Unparser::Emitter; end
2769
+
2770
+ # Emitter for match current line
2771
+ #
2772
+ # source://unparser//lib/unparser/emitter/match.rb#25
2773
+ class Unparser::Emitter::Match::CurrentLine < ::Unparser::Emitter::Match
2774
+ private
2775
+
2776
+ # source://unparser//lib/unparser/emitter/match.rb#32
2777
+ def dispatch; end
2778
+
2779
+ # source://unparser//lib/unparser/dsl.rb#18
2780
+ def regexp; end
2781
+
2782
+ # source://unparser//lib/unparser/dsl.rb#11
2783
+ def remaining_children; end
2784
+ end
2785
+
2786
+ # Emitter for match with local variable assignment
2787
+ #
2788
+ # source://unparser//lib/unparser/emitter/match.rb#9
2789
+ class Unparser::Emitter::Match::Lvasgn < ::Unparser::Emitter::Match
2790
+ private
2791
+
2792
+ # source://unparser//lib/unparser/emitter/match.rb#16
2793
+ def dispatch; end
2794
+
2795
+ # source://unparser//lib/unparser/dsl.rb#18
2796
+ def lvasgn; end
2797
+
2798
+ # source://unparser//lib/unparser/dsl.rb#18
2799
+ def regexp; end
2800
+
2801
+ # source://unparser//lib/unparser/dsl.rb#11
2802
+ def remaining_children; end
2803
+ end
2804
+
2805
+ # Emitter for in pattern nodes
2806
+ #
2807
+ # source://unparser//lib/unparser/emitter/match_alt.rb#6
2808
+ class Unparser::Emitter::MatchAlt < ::Unparser::Emitter
2809
+ private
2810
+
2811
+ # source://unparser//lib/unparser/emitter/match_alt.rb#14
2812
+ def dispatch; end
2813
+
2814
+ # source://unparser//lib/unparser/dsl.rb#18
2815
+ def left; end
2816
+
2817
+ # source://unparser//lib/unparser/dsl.rb#11
2818
+ def remaining_children; end
2819
+
2820
+ # source://unparser//lib/unparser/dsl.rb#18
2821
+ def right; end
2822
+ end
2823
+
2824
+ # Emitter for in pattern nodes
2825
+ #
2826
+ # source://unparser//lib/unparser/emitter/match_as.rb#6
2827
+ class Unparser::Emitter::MatchAs < ::Unparser::Emitter
2828
+ private
2829
+
2830
+ # source://unparser//lib/unparser/emitter/match_as.rb#14
2831
+ def dispatch; end
2832
+
2833
+ # source://unparser//lib/unparser/dsl.rb#18
2834
+ def left; end
2835
+
2836
+ # source://unparser//lib/unparser/dsl.rb#11
2837
+ def remaining_children; end
2838
+
2839
+ # source://unparser//lib/unparser/dsl.rb#18
2840
+ def right; end
2841
+ end
2842
+
2843
+ # Emitter for in pattern nodes
2844
+ #
2845
+ # source://unparser//lib/unparser/emitter/match_pattern.rb#6
2846
+ class Unparser::Emitter::MatchPattern < ::Unparser::Emitter
2847
+ private
2848
+
2849
+ # source://unparser//lib/unparser/emitter/match_pattern.rb#23
2850
+ def dispatch; end
2851
+
2852
+ # source://unparser//lib/unparser/dsl.rb#18
2853
+ def pattern; end
2854
+
2855
+ # source://unparser//lib/unparser/dsl.rb#11
2856
+ def remaining_children; end
2857
+
2858
+ # source://unparser//lib/unparser/dsl.rb#18
2859
+ def target; end
2860
+ end
2861
+
2862
+ # Modern ast format emits `match_pattern`
2863
+ # node on single line pre 3.0, but 3.0+ uses `match_pattern_p`
2864
+ #
2865
+ # source://unparser//lib/unparser/emitter/match_pattern.rb#14
2866
+ Unparser::Emitter::MatchPattern::SYMBOL = T.let(T.unsafe(nil), String)
2867
+
2868
+ # source://unparser//lib/unparser/emitter/match_pattern_p.rb#5
2869
+ class Unparser::Emitter::MatchPatternP < ::Unparser::Emitter
2870
+ private
2871
+
2872
+ # source://unparser//lib/unparser/emitter/match_pattern_p.rb#13
2873
+ def dispatch; end
2874
+
2875
+ # source://unparser//lib/unparser/dsl.rb#18
2876
+ def pattern; end
2877
+
2878
+ # source://unparser//lib/unparser/dsl.rb#11
2879
+ def remaining_children; end
2880
+
2881
+ # source://unparser//lib/unparser/dsl.rb#18
2882
+ def target; end
2883
+ end
2884
+
2885
+ # Emiter for match rest nodes
2886
+ #
2887
+ # source://unparser//lib/unparser/emitter/match_rest.rb#6
2888
+ class Unparser::Emitter::MatchRest < ::Unparser::Emitter
2889
+ # source://unparser//lib/unparser/emitter/match_rest.rb#11
2890
+ def dispatch; end
2891
+
2892
+ # source://unparser//lib/unparser/emitter/match_rest.rb#16
2893
+ def emit_array_pattern; end
2894
+
2895
+ # source://unparser//lib/unparser/emitter/match_rest.rb#21
2896
+ def emit_hash_pattern; end
2897
+
2898
+ private
2899
+
2900
+ # source://unparser//lib/unparser/emitter/match_rest.rb#28
2901
+ def emit_match_var; end
2902
+
2903
+ # source://unparser//lib/unparser/dsl.rb#18
2904
+ def match_var; end
2905
+
2906
+ # source://unparser//lib/unparser/dsl.rb#11
2907
+ def remaining_children; end
2908
+ end
2909
+
2910
+ # Emitter for in pattern nodes
2911
+ #
2912
+ # source://unparser//lib/unparser/emitter/match_var.rb#6
2913
+ class Unparser::Emitter::MatchVar < ::Unparser::Emitter
2914
+ private
2915
+
2916
+ # source://unparser//lib/unparser/emitter/match_var.rb#14
2917
+ def dispatch; end
2918
+
2919
+ # source://unparser//lib/unparser/dsl.rb#18
2920
+ def name; end
2921
+
2922
+ # source://unparser//lib/unparser/dsl.rb#11
2923
+ def remaining_children; end
2924
+ end
2925
+
2926
+ # Emitter for module nodes
2927
+ #
2928
+ # source://unparser//lib/unparser/emitter/module.rb#6
2929
+ class Unparser::Emitter::Module < ::Unparser::Emitter
2930
+ include ::Unparser::Emitter::LocalVariableRoot
2931
+
2932
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2933
+ def local_variable_scope(&block); end
2934
+
2935
+ private
2936
+
2937
+ # source://unparser//lib/unparser/dsl.rb#18
2938
+ def body; end
2939
+
2940
+ # source://unparser//lib/unparser/emitter/module.rb#15
2941
+ def dispatch; end
2942
+
2943
+ # source://unparser//lib/unparser/dsl.rb#18
2944
+ def name; end
2945
+
2946
+ # source://unparser//lib/unparser/dsl.rb#11
2947
+ def remaining_children; end
2948
+ end
2949
+
2950
+ # source://unparser//lib/unparser/emitter.rb#18
2951
+ Unparser::Emitter::NO_INDENT = T.let(T.unsafe(nil), Array)
2952
+
2953
+ # Emitter for nth_ref nodes (regexp captures)
2954
+ #
2955
+ # source://unparser//lib/unparser/emitter/variable.rb#42
2956
+ class Unparser::Emitter::NthRef < ::Unparser::Emitter
2957
+ private
2958
+
2959
+ # source://unparser//lib/unparser/emitter/variable.rb#50
2960
+ def dispatch; end
2961
+
2962
+ # source://unparser//lib/unparser/dsl.rb#18
2963
+ def name; end
2964
+
2965
+ # source://unparser//lib/unparser/dsl.rb#11
2966
+ def remaining_children; end
2967
+ end
2968
+
2969
+ # source://unparser//lib/unparser/emitter/variable.rb#43
2970
+ Unparser::Emitter::NthRef::PREFIX = T.let(T.unsafe(nil), String)
2971
+
2972
+ # Emitter for op assign
2973
+ #
2974
+ # source://unparser//lib/unparser/emitter/op_assign.rb#33
2975
+ class Unparser::Emitter::OpAssign < ::Unparser::Emitter
2976
+ private
2977
+
2978
+ # source://unparser//lib/unparser/emitter/op_assign.rb#40
2979
+ def dispatch; end
2980
+
2981
+ # source://unparser//lib/unparser/emitter/op_assign.rb#46
2982
+ def emit_operator; end
2983
+
2984
+ # source://unparser//lib/unparser/dsl.rb#18
2985
+ def operator; end
2986
+
2987
+ # source://unparser//lib/unparser/dsl.rb#11
2988
+ def remaining_children; end
2989
+
2990
+ # source://unparser//lib/unparser/dsl.rb#18
2991
+ def target; end
2992
+
2993
+ # source://unparser//lib/unparser/dsl.rb#18
2994
+ def value; end
2995
+ end
2996
+
2997
+ # Optional argument emitter
2998
+ #
2999
+ # source://unparser//lib/unparser/emitter/argument.rb#27
3000
+ class Unparser::Emitter::Optarg < ::Unparser::Emitter
3001
+ private
3002
+
3003
+ # source://unparser//lib/unparser/emitter/argument.rb#34
3004
+ def dispatch; end
3005
+
3006
+ # source://unparser//lib/unparser/dsl.rb#18
3007
+ def name; end
3008
+
3009
+ # source://unparser//lib/unparser/dsl.rb#11
3010
+ def remaining_children; end
3011
+
3012
+ # source://unparser//lib/unparser/dsl.rb#18
3013
+ def value; end
3014
+ end
3015
+
3016
+ # Emitter for key value pairs in hash literals or kwargs
3017
+ #
3018
+ # source://unparser//lib/unparser/emitter/pair.rb#6
3019
+ class Unparser::Emitter::Pair < ::Unparser::Emitter
3020
+ private
3021
+
3022
+ # @return [Boolean]
3023
+ #
3024
+ # source://unparser//lib/unparser/emitter/pair.rb#28
3025
+ def colon?(key); end
3026
+
3027
+ # source://unparser//lib/unparser/emitter/pair.rb#17
3028
+ def dispatch; end
3029
+
3030
+ # source://unparser//lib/unparser/dsl.rb#18
3031
+ def key; end
3032
+
3033
+ # source://unparser//lib/unparser/dsl.rb#11
3034
+ def remaining_children; end
3035
+
3036
+ # source://unparser//lib/unparser/dsl.rb#18
3037
+ def value; end
3038
+ end
3039
+
3040
+ # source://unparser//lib/unparser/emitter/pair.rb#7
3041
+ Unparser::Emitter::Pair::BAREWORD = T.let(T.unsafe(nil), Regexp)
3042
+
3043
+ # Emitter for pin nodes
3044
+ #
3045
+ # source://unparser//lib/unparser/emitter/pin.rb#6
3046
+ class Unparser::Emitter::Pin < ::Unparser::Emitter
3047
+ private
3048
+
3049
+ # source://unparser//lib/unparser/emitter/pin.rb#13
3050
+ def dispatch; end
3051
+
3052
+ # source://unparser//lib/unparser/dsl.rb#11
3053
+ def remaining_children; end
3054
+
3055
+ # source://unparser//lib/unparser/dsl.rb#18
3056
+ def target; end
3057
+ end
3058
+
3059
+ # Emitter for postconditions
3060
+ #
3061
+ # source://unparser//lib/unparser/emitter/repetition.rb#7
3062
+ class Unparser::Emitter::Post < ::Unparser::Emitter
3063
+ private
3064
+
3065
+ # source://unparser//lib/unparser/dsl.rb#18
3066
+ def body; end
3067
+
3068
+ # source://unparser//lib/unparser/dsl.rb#18
3069
+ def condition; end
3070
+
3071
+ # source://unparser//lib/unparser/emitter/repetition.rb#19
3072
+ def dispatch; end
3073
+
3074
+ # source://unparser//lib/unparser/dsl.rb#11
3075
+ def remaining_children; end
3076
+ end
3077
+
3078
+ # source://unparser//lib/unparser/emitter/repetition.rb#10
3079
+ Unparser::Emitter::Post::MAP = T.let(T.unsafe(nil), Hash)
3080
+
3081
+ # Base class for primitive emitters
3082
+ #
3083
+ # source://unparser//lib/unparser/emitter/primitive.rb#6
3084
+ class Unparser::Emitter::Primitive < ::Unparser::Emitter
3085
+ private
3086
+
3087
+ # source://unparser//lib/unparser/dsl.rb#11
3088
+ def remaining_children; end
3089
+
3090
+ # source://unparser//lib/unparser/dsl.rb#18
3091
+ def value; end
3092
+ end
3093
+
3094
+ # Emitter for complex literals
3095
+ #
3096
+ # source://unparser//lib/unparser/emitter/primitive.rb#24
3097
+ class Unparser::Emitter::Primitive::Complex < ::Unparser::Emitter::Primitive
3098
+ private
3099
+
3100
+ # source://unparser//lib/unparser/emitter/primitive.rb#39
3101
+ def dispatch; end
3102
+
3103
+ # source://unparser//lib/unparser/emitter/primitive.rb#44
3104
+ def emit_imaginary; end
3105
+
3106
+ # source://unparser//lib/unparser/emitter/primitive.rb#48
3107
+ def imaginary_node; end
3108
+ end
3109
+
3110
+ # source://unparser//lib/unparser/emitter/primitive.rb#30
3111
+ Unparser::Emitter::Primitive::Complex::MAP = T.let(T.unsafe(nil), Hash)
3112
+
3113
+ # source://unparser//lib/unparser/emitter/primitive.rb#28
3114
+ Unparser::Emitter::Primitive::Complex::RATIONAL_FORMAT = T.let(T.unsafe(nil), String)
3115
+
3116
+ # Emitter for primitives based on Object#inspect
3117
+ #
3118
+ # source://unparser//lib/unparser/emitter/primitive.rb#11
3119
+ class Unparser::Emitter::Primitive::Inspect < ::Unparser::Emitter::Primitive
3120
+ private
3121
+
3122
+ # source://unparser//lib/unparser/emitter/primitive.rb#17
3123
+ def dispatch; end
3124
+ end
3125
+
3126
+ # Emiter for numeric literals
3127
+ #
3128
+ # source://unparser//lib/unparser/emitter/primitive.rb#80
3129
+ class Unparser::Emitter::Primitive::Numeric < ::Unparser::Emitter::Primitive
3130
+ private
3131
+
3132
+ # source://unparser//lib/unparser/emitter/primitive.rb#86
3133
+ def dispatch; end
3134
+ end
3135
+
3136
+ # Emitter for rational literals
3137
+ #
3138
+ # source://unparser//lib/unparser/emitter/primitive.rb#56
3139
+ class Unparser::Emitter::Primitive::Rational < ::Unparser::Emitter::Primitive
3140
+ private
3141
+
3142
+ # source://unparser//lib/unparser/emitter/primitive.rb#65
3143
+ def dispatch; end
3144
+
3145
+ # source://unparser//lib/unparser/emitter/primitive.rb#73
3146
+ def write_rational(value); end
3147
+ end
3148
+
3149
+ # source://unparser//lib/unparser/emitter/primitive.rb#60
3150
+ Unparser::Emitter::Primitive::Rational::RATIONAL_FORMAT = T.let(T.unsafe(nil), String)
3151
+
3152
+ # Progarg emitter
3153
+ #
3154
+ # source://unparser//lib/unparser/emitter/argument.rb#98
3155
+ class Unparser::Emitter::Procarg < ::Unparser::Emitter
3156
+ private
3157
+
3158
+ # source://unparser//lib/unparser/emitter/argument.rb#105
3159
+ def dispatch; end
3160
+
3161
+ # @return [Boolean]
3162
+ #
3163
+ # source://unparser//lib/unparser/emitter/argument.rb#115
3164
+ def needs_parens?; end
3165
+ end
3166
+
3167
+ # source://unparser//lib/unparser/emitter/argument.rb#101
3168
+ Unparser::Emitter::Procarg::PARENS = T.let(T.unsafe(nil), Array)
3169
+
3170
+ # Registry for node emitters
3171
+ #
3172
+ # source://unparser//lib/unparser/emitter.rb#16
3173
+ Unparser::Emitter::REGISTRY = T.let(T.unsafe(nil), Hash)
3174
+
3175
+ # Range emitters
3176
+ #
3177
+ # source://unparser//lib/unparser/emitter/range.rb#6
3178
+ class Unparser::Emitter::Range < ::Unparser::Emitter
3179
+ # source://unparser//lib/unparser/emitter/range.rb#17
3180
+ def symbol_name; end
3181
+
3182
+ private
3183
+
3184
+ # source://unparser//lib/unparser/dsl.rb#18
3185
+ def begin_node; end
3186
+
3187
+ # source://unparser//lib/unparser/emitter/range.rb#27
3188
+ def dispatch; end
3189
+
3190
+ # source://unparser//lib/unparser/dsl.rb#18
3191
+ def end_node; end
3192
+
3193
+ # source://unparser//lib/unparser/dsl.rb#11
3194
+ def remaining_children; end
3195
+ end
3196
+
3197
+ # source://unparser//lib/unparser/emitter/range.rb#12
3198
+ Unparser::Emitter::Range::SYMBOLS = T.let(T.unsafe(nil), Hash)
3199
+
3200
+ # source://unparser//lib/unparser/emitter/range.rb#7
3201
+ Unparser::Emitter::Range::TOKENS = T.let(T.unsafe(nil), Hash)
3202
+
3203
+ # Emitter for regexp literals
3204
+ #
3205
+ # source://unparser//lib/unparser/emitter/regexp.rb#6
3206
+ class Unparser::Emitter::Regexp < ::Unparser::Emitter
3207
+ private
3208
+
3209
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3210
+ def body(&block); end
3211
+
3212
+ # source://unparser//lib/unparser/emitter/regexp.rb#13
3213
+ def dispatch; end
3214
+
3215
+ # source://unparser//lib/unparser/emitter/regexp.rb#24
3216
+ def emit_body(node); end
3217
+
3218
+ # source://unparser//lib/unparser/emitter/regexp.rb#20
3219
+ def emit_options; end
3220
+ end
3221
+
3222
+ # Emitter for while and until nodes
3223
+ #
3224
+ # source://unparser//lib/unparser/emitter/repetition.rb#27
3225
+ class Unparser::Emitter::Repetition < ::Unparser::Emitter
3226
+ private
3227
+
3228
+ # source://unparser//lib/unparser/dsl.rb#18
3229
+ def body; end
3230
+
3231
+ # source://unparser//lib/unparser/dsl.rb#18
3232
+ def condition; end
3233
+
3234
+ # source://unparser//lib/unparser/emitter/repetition.rb#39
3235
+ def dispatch; end
3236
+
3237
+ # source://unparser//lib/unparser/emitter/repetition.rb#51
3238
+ def emit_keyword; end
3239
+
3240
+ # source://unparser//lib/unparser/emitter/repetition.rb#55
3241
+ def emit_normal; end
3242
+
3243
+ # source://unparser//lib/unparser/emitter/repetition.rb#66
3244
+ def emit_postcontrol; end
3245
+
3246
+ # @return [Boolean]
3247
+ #
3248
+ # source://unparser//lib/unparser/emitter/repetition.rb#47
3249
+ def postcontrol?; end
3250
+
3251
+ # source://unparser//lib/unparser/dsl.rb#11
3252
+ def remaining_children; end
3253
+ end
3254
+
3255
+ # source://unparser//lib/unparser/emitter/repetition.rb#28
3256
+ Unparser::Emitter::Repetition::MAP = T.let(T.unsafe(nil), Hash)
3257
+
3258
+ # Emitter for rescue nodes
3259
+ #
3260
+ # source://unparser//lib/unparser/emitter/rescue.rb#6
3261
+ class Unparser::Emitter::Rescue < ::Unparser::Emitter
3262
+ private
3263
+
3264
+ # source://unparser//lib/unparser/emitter/rescue.rb#11
3265
+ def dispatch; end
3266
+ end
3267
+
3268
+ # Rest argument emitter
3269
+ #
3270
+ # source://unparser//lib/unparser/emitter/argument.rb#70
3271
+ class Unparser::Emitter::Restarg < ::Unparser::Emitter
3272
+ private
3273
+
3274
+ # source://unparser//lib/unparser/emitter/argument.rb#77
3275
+ def dispatch; end
3276
+
3277
+ # source://unparser//lib/unparser/dsl.rb#18
3278
+ def name; end
3279
+
3280
+ # source://unparser//lib/unparser/dsl.rb#11
3281
+ def remaining_children; end
3282
+ end
3283
+
3284
+ # Root emitter a special case
3285
+ #
3286
+ # source://unparser//lib/unparser/emitter/root.rb#6
3287
+ class Unparser::Emitter::Root < ::Unparser::Emitter
3288
+ include ::Unparser::Emitter::LocalVariableRoot
3289
+
3290
+ # source://unparser//lib/unparser/emitter/root.rb#14
3291
+ def dispatch; end
3292
+
3293
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3294
+ def local_variable_scope(&block); end
3295
+ end
3296
+
3297
+ # source://unparser//lib/unparser/emitter/root.rb#10
3298
+ Unparser::Emitter::Root::END_NL = T.let(T.unsafe(nil), Array)
3299
+
3300
+ # Emitter for sclass nodes
3301
+ #
3302
+ # source://unparser//lib/unparser/emitter/class.rb#33
3303
+ class Unparser::Emitter::SClass < ::Unparser::Emitter
3304
+ private
3305
+
3306
+ # source://unparser//lib/unparser/dsl.rb#18
3307
+ def body; end
3308
+
3309
+ # source://unparser//lib/unparser/emitter/class.rb#40
3310
+ def dispatch; end
3311
+
3312
+ # source://unparser//lib/unparser/dsl.rb#18
3313
+ def object; end
3314
+
3315
+ # source://unparser//lib/unparser/dsl.rb#11
3316
+ def remaining_children; end
3317
+ end
3318
+
3319
+ # Emitter for send
3320
+ #
3321
+ # source://unparser//lib/unparser/emitter/send.rb#6
3322
+ class Unparser::Emitter::Send < ::Unparser::Emitter
3323
+ # source://unparser//lib/unparser/emitter/send.rb#13
3324
+ def emit_heredoc_reminders; end
3325
+
3326
+ # source://unparser//lib/unparser/emitter/send.rb#9
3327
+ def emit_mlhs; end
3328
+
3329
+ private
3330
+
3331
+ # source://unparser//lib/unparser/emitter/send.rb#19
3332
+ def dispatch; end
3333
+
3334
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3335
+ def writer(&block); end
3336
+ end
3337
+
3338
+ # Emitter for simple nodes that generate a single token
3339
+ #
3340
+ # source://unparser//lib/unparser/emitter/simple.rb#6
3341
+ class Unparser::Emitter::Simple < ::Unparser::Emitter
3342
+ private
3343
+
3344
+ # source://unparser//lib/unparser/emitter/simple.rb#28
3345
+ def dispatch; end
3346
+ end
3347
+
3348
+ # source://unparser//lib/unparser/emitter/simple.rb#7
3349
+ Unparser::Emitter::Simple::MAP = T.let(T.unsafe(nil), Hash)
3350
+
3351
+ # Emitter for splats
3352
+ #
3353
+ # source://unparser//lib/unparser/emitter/splat.rb#20
3354
+ class Unparser::Emitter::Splat < ::Unparser::Emitter
3355
+ # source://unparser//lib/unparser/emitter/splat.rb#25
3356
+ def emit_mlhs; end
3357
+
3358
+ private
3359
+
3360
+ # source://unparser//lib/unparser/emitter/splat.rb#32
3361
+ def dispatch; end
3362
+
3363
+ # source://unparser//lib/unparser/dsl.rb#11
3364
+ def remaining_children; end
3365
+
3366
+ # source://unparser//lib/unparser/dsl.rb#18
3367
+ def subject; end
3368
+
3369
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3370
+ def subject_emitter(&block); end
3371
+ end
3372
+
3373
+ # Emitter for super nodes
3374
+ #
3375
+ # source://unparser//lib/unparser/emitter/super.rb#7
3376
+ class Unparser::Emitter::Super < ::Unparser::Emitter
3377
+ private
3378
+
3379
+ # source://unparser//lib/unparser/emitter/super.rb#12
3380
+ def dispatch; end
3381
+ end
3382
+
3383
+ # Emitter for undef nodes
3384
+ #
3385
+ # source://unparser//lib/unparser/emitter/undef.rb#6
3386
+ class Unparser::Emitter::Undef < ::Unparser::Emitter
3387
+ private
3388
+
3389
+ # source://unparser//lib/unparser/emitter/undef.rb#11
3390
+ def dispatch; end
3391
+ end
3392
+
3393
+ # Emitter for various variable accesses
3394
+ #
3395
+ # source://unparser//lib/unparser/emitter/variable.rb#7
3396
+ class Unparser::Emitter::Variable < ::Unparser::Emitter
3397
+ private
3398
+
3399
+ # source://unparser//lib/unparser/emitter/variable.rb#14
3400
+ def dispatch; end
3401
+
3402
+ # source://unparser//lib/unparser/dsl.rb#18
3403
+ def name; end
3404
+
3405
+ # source://unparser//lib/unparser/dsl.rb#11
3406
+ def remaining_children; end
3407
+ end
3408
+
3409
+ # Emitter for when nodes
3410
+ #
3411
+ # source://unparser//lib/unparser/emitter/case.rb#44
3412
+ class Unparser::Emitter::When < ::Unparser::Emitter
3413
+ private
3414
+
3415
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3416
+ def captures(&block); end
3417
+
3418
+ # source://unparser//lib/unparser/emitter/case.rb#51
3419
+ def dispatch; end
3420
+
3421
+ # source://unparser//lib/unparser/emitter/case.rb#57
3422
+ def emit_captures; end
3423
+ end
3424
+
3425
+ # Dynamic execute string literal emitter
3426
+ #
3427
+ # source://unparser//lib/unparser/emitter/xstr.rb#6
3428
+ class Unparser::Emitter::XStr < ::Unparser::Emitter
3429
+ private
3430
+
3431
+ # source://unparser//lib/unparser/emitter/xstr.rb#12
3432
+ def dispatch; end
3433
+
3434
+ # source://unparser//lib/unparser/emitter/xstr.rb#65
3435
+ def emit_begin(component); end
3436
+
3437
+ # source://unparser//lib/unparser/emitter/xstr.rb#24
3438
+ def emit_heredoc; end
3439
+
3440
+ # source://unparser//lib/unparser/emitter/xstr.rb#51
3441
+ def emit_string(value); end
3442
+
3443
+ # source://unparser//lib/unparser/emitter/xstr.rb#39
3444
+ def emit_xstr; end
3445
+
3446
+ # source://unparser//lib/unparser/emitter/xstr.rb#55
3447
+ def escape_xstr(input); end
3448
+
3449
+ # @return [Boolean]
3450
+ #
3451
+ # source://unparser//lib/unparser/emitter/xstr.rb#20
3452
+ def heredoc?; end
3453
+ end
3454
+
3455
+ # Emitter for yield node
3456
+ #
3457
+ # source://unparser//lib/unparser/emitter/yield.rb#7
3458
+ class Unparser::Emitter::Yield < ::Unparser::Emitter
3459
+ private
3460
+
3461
+ # source://unparser//lib/unparser/emitter/yield.rb#12
3462
+ def dispatch; end
3463
+ end
3464
+
3465
+ # Define equality, equivalence and inspection methods
3466
+ #
3467
+ # Original code before vendoring and reduction from: https://github.com/dkubb/equalizer.
3468
+ #
3469
+ # source://unparser//lib/unparser/equalizer.rb#19
3470
+ class Unparser::Equalizer < ::Module
3471
+ # Initialize an Equalizer with the given keys
3472
+ #
3473
+ # Will use the keys with which it is initialized to define #cmp?,
3474
+ # #hash, and #inspect
3475
+ #
3476
+ #
3477
+ # @api private
3478
+ # @param keys [Array<Symbol>]
3479
+ # @return [undefined]
3480
+ #
3481
+ # source://unparser//lib/unparser/equalizer.rb#20
3482
+ def initialize(*keys); end
3483
+
3484
+ private
3485
+
3486
+ # source://unparser//lib/unparser/equalizer.rb#39
3487
+ def define_cmp_method; end
3488
+
3489
+ # source://unparser//lib/unparser/equalizer.rb#49
3490
+ def define_hash_method; end
3491
+
3492
+ # source://unparser//lib/unparser/equalizer.rb#56
3493
+ def define_inspect_method; end
3494
+
3495
+ # source://unparser//lib/unparser/equalizer.rb#33
3496
+ def define_methods; end
3497
+
3498
+ # source://unparser//lib/unparser/equalizer.rb#29
3499
+ def included(descendant); end
3500
+ end
3501
+
3502
+ # The comparison methods
3503
+ #
3504
+ # source://unparser//lib/unparser/equalizer.rb#66
3505
+ module Unparser::Equalizer::Methods
3506
+ # Compare the object with other object for equivalency
3507
+ #
3508
+ # @api public
3509
+ # @example
3510
+ # object == other # => true or false
3511
+ # @param other [Object] the other object to compare with
3512
+ # @return [Boolean]
3513
+ #
3514
+ # source://unparser//lib/unparser/equalizer.rb#93
3515
+ def ==(other); end
3516
+
3517
+ # Compare the object with other object for equality
3518
+ #
3519
+ # @api public
3520
+ # @example
3521
+ # object.eql?(other) # => true or false
3522
+ # @param other [Object] the other object to compare with
3523
+ # @return [Boolean]
3524
+ #
3525
+ # source://unparser//lib/unparser/equalizer.rb#78
3526
+ def eql?(other); end
3527
+ end
3528
+
3529
+ # source://unparser//lib/unparser/generation.rb#5
3530
+ module Unparser::Generation
3531
+ # source://unparser//lib/unparser/generation.rb#10
3532
+ def emit_heredoc_reminders; end
3533
+
3534
+ # source://unparser//lib/unparser/generation.rb#12
3535
+ def symbol_name; end
3536
+
3537
+ # source://unparser//lib/unparser/generation.rb#14
3538
+ def write_to_buffer; end
3539
+
3540
+ private
3541
+
3542
+ # source://unparser//lib/unparser/generation.rb#247
3543
+ def children; end
3544
+
3545
+ # source://unparser//lib/unparser/generation.rb#239
3546
+ def conditional_parentheses(flag, &block); end
3547
+
3548
+ # source://unparser//lib/unparser/generation.rb#21
3549
+ def delimited(nodes, delimiter = T.unsafe(nil), &block); end
3550
+
3551
+ # source://unparser//lib/unparser/generation.rb#123
3552
+ def emit_body(node, indent: T.unsafe(nil)); end
3553
+
3554
+ # source://unparser//lib/unparser/generation.rb#196
3555
+ def emit_body_ensure_rescue(node); end
3556
+
3557
+ # source://unparser//lib/unparser/generation.rb#145
3558
+ def emit_body_inner(node); end
3559
+
3560
+ # source://unparser//lib/unparser/generation.rb#158
3561
+ def emit_body_member(node); end
3562
+
3563
+ # source://unparser//lib/unparser/generation.rb#180
3564
+ def emit_body_rescue(node); end
3565
+
3566
+ # source://unparser//lib/unparser/generation.rb#77
3567
+ def emit_comments(comments); end
3568
+
3569
+ # source://unparser//lib/unparser/generation.rb#69
3570
+ def emit_comments_before(source_part = T.unsafe(nil)); end
3571
+
3572
+ # source://unparser//lib/unparser/generation.rb#166
3573
+ def emit_ensure(node); end
3574
+
3575
+ # source://unparser//lib/unparser/generation.rb#60
3576
+ def emit_eof_comments; end
3577
+
3578
+ # source://unparser//lib/unparser/generation.rb#54
3579
+ def emit_eol_comments; end
3580
+
3581
+ # source://unparser//lib/unparser/generation.rb#27
3582
+ def emit_join(nodes, emit_node, emit_delimiter); end
3583
+
3584
+ # source://unparser//lib/unparser/generation.rb#115
3585
+ def emit_optional_body(node, indent: T.unsafe(nil)); end
3586
+
3587
+ # source://unparser//lib/unparser/generation.rb#188
3588
+ def emit_optional_body_ensure_rescue(node); end
3589
+
3590
+ # source://unparser//lib/unparser/generation.rb#206
3591
+ def emit_rescue_postcontrol(node); end
3592
+
3593
+ # source://unparser//lib/unparser/generation.rb#212
3594
+ def emit_rescue_regular(node); end
3595
+
3596
+ # source://unparser//lib/unparser/generation.rb#220
3597
+ def emitter(node); end
3598
+
3599
+ # source://unparser//lib/unparser/generation.rb#235
3600
+ def first_child; end
3601
+
3602
+ # source://unparser//lib/unparser/generation.rb#106
3603
+ def indented; end
3604
+
3605
+ # source://unparser//lib/unparser/generation.rb#93
3606
+ def k_end; end
3607
+
3608
+ # source://unparser//lib/unparser/generation.rb#39
3609
+ def nl; end
3610
+
3611
+ # source://unparser//lib/unparser/generation.rb#100
3612
+ def parentheses(open = T.unsafe(nil), close = T.unsafe(nil)); end
3613
+
3614
+ # source://unparser//lib/unparser/generation.rb#224
3615
+ def visit(node); end
3616
+
3617
+ # source://unparser//lib/unparser/generation.rb#228
3618
+ def visit_deep(node); end
3619
+
3620
+ # source://unparser//lib/unparser/generation.rb#44
3621
+ def with_comments; end
3622
+
3623
+ # source://unparser//lib/unparser/generation.rb#89
3624
+ def write(*strings); end
3625
+
3626
+ # source://unparser//lib/unparser/generation.rb#216
3627
+ def writer_with(klass, node); end
3628
+
3629
+ # source://unparser//lib/unparser/generation.rb#50
3630
+ def ws; end
3631
+ end
3632
+
3633
+ # source://unparser//lib/unparser/generation.rb#6
3634
+ Unparser::Generation::EXTRA_NL = T.let(T.unsafe(nil), Array)
3635
+
3636
+ # Error raised when unparser encounters an invalid AST
3637
+ #
3638
+ # source://unparser//lib/unparser.rb#39
3639
+ class Unparser::InvalidNodeError < ::RuntimeError
3640
+ # @return [InvalidNodeError] a new instance of InvalidNodeError
3641
+ #
3642
+ # source://unparser//lib/unparser.rb#42
3643
+ def initialize(message, node); end
3644
+
3645
+ # Returns the value of attribute node.
3646
+ #
3647
+ # source://unparser//lib/unparser.rb#40
3648
+ def node; end
3649
+ end
3650
+
3651
+ # source://unparser//lib/unparser/node_details.rb#4
3652
+ module Unparser::NodeDetails
3653
+ include ::Unparser::NodeHelpers
3654
+ include ::Unparser::Constants
3655
+
3656
+ private
3657
+
3658
+ # source://unparser//lib/unparser/node_details.rb#17
3659
+ def children; end
3660
+
3661
+ class << self
3662
+ # @private
3663
+ #
3664
+ # source://unparser//lib/unparser/node_details.rb#7
3665
+ def included(descendant); end
3666
+ end
3667
+ end
3668
+
3669
+ # source://unparser//lib/unparser/node_details/send.rb#5
3670
+ class Unparser::NodeDetails::Send
3671
+ include ::Unparser::NodeHelpers
3672
+ include ::Unparser::Constants
3673
+ include ::Unparser::NodeDetails
3674
+ include ::Unparser::Equalizer::Methods
3675
+ include ::Unparser::Adamantium
3676
+ include ::Unparser::Adamantium::InstanceMethods
3677
+ extend ::Unparser::Adamantium::ModuleMethods
3678
+ extend ::Unparser::Adamantium::ClassMethods
3679
+ extend ::Unparser::DSL
3680
+
3681
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3682
+ def arguments(&block); end
3683
+
3684
+ # @return [Boolean]
3685
+ #
3686
+ # source://unparser//lib/unparser/node_details/send.rb#36
3687
+ def arguments?; end
3688
+
3689
+ # @return [Boolean]
3690
+ #
3691
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3692
+ def assignment?(&block); end
3693
+
3694
+ # @return [Boolean]
3695
+ #
3696
+ # source://unparser//lib/unparser/node_details/send.rb#32
3697
+ def assignment_operator?; end
3698
+
3699
+ # @return [Boolean]
3700
+ #
3701
+ # source://unparser//lib/unparser/node_details/send.rb#21
3702
+ def binary_syntax_allowed?; end
3703
+
3704
+ # source://unparser//lib/unparser/node_details/send.rb#40
3705
+ def non_assignment_selector; end
3706
+
3707
+ # source://unparser//lib/unparser/dsl.rb#18
3708
+ def receiver; end
3709
+
3710
+ # source://unparser//lib/unparser/dsl.rb#18
3711
+ def selector; end
3712
+
3713
+ # @return [Boolean]
3714
+ #
3715
+ # source://unparser//lib/unparser/node_details/send.rb#17
3716
+ def selector_binary_operator?; end
3717
+
3718
+ # @return [Boolean]
3719
+ #
3720
+ # source://unparser//lib/unparser/node_details/send.rb#28
3721
+ def selector_unary_operator?; end
3722
+
3723
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3724
+ def string_selector(&block); end
3725
+
3726
+ private
3727
+
3728
+ # source://unparser//lib/unparser/dsl.rb#11
3729
+ def remaining_children; end
3730
+ end
3731
+
3732
+ # source://unparser//lib/unparser/node_details/send.rb#8
3733
+ Unparser::NodeDetails::Send::ASSIGN_SUFFIX = T.let(T.unsafe(nil), String)
3734
+
3735
+ # source://unparser//lib/unparser/node_details/send.rb#9
3736
+ Unparser::NodeDetails::Send::NON_ASSIGN_RANGE = T.let(T.unsafe(nil), Range)
3737
+
3738
+ # source://unparser//lib/unparser/node_helpers.rb#4
3739
+ module Unparser::NodeHelpers
3740
+ # Helper for building nodes
3741
+ #
3742
+ # @api private
3743
+ # @param type [Symbol]
3744
+ # @param children [Array]
3745
+ # @return [Parser::AST::Node]
3746
+ #
3747
+ # source://unparser//lib/unparser/node_helpers.rb#26
3748
+ def n(type, children = T.unsafe(nil)); end
3749
+
3750
+ # @return [Boolean]
3751
+ #
3752
+ # source://unparser//lib/unparser/node_helpers.rb#30
3753
+ def n?(type, node); end
3754
+
3755
+ # Helper for building nodes
3756
+ #
3757
+ # @api private
3758
+ # @param type [Symbol]
3759
+ # @param children [Parser::AST::Node]
3760
+ # @return [Parser::AST::Node]
3761
+ #
3762
+ # source://unparser//lib/unparser/node_helpers.rb#14
3763
+ def s(type, *children); end
3764
+
3765
+ # source://unparser//lib/unparser/node_helpers.rb#71
3766
+ def unwrap_single_begin(node); end
3767
+
3768
+ private
3769
+
3770
+ # source://unparser//lib/unparser/node_helpers.rb#65
3771
+ def n_arg?(node); end
3772
+
3773
+ # source://unparser//lib/unparser/node_helpers.rb#65
3774
+ def n_args?(node); end
3775
+
3776
+ # source://unparser//lib/unparser/node_helpers.rb#65
3777
+ def n_array?(node); end
3778
+
3779
+ # source://unparser//lib/unparser/node_helpers.rb#65
3780
+ def n_array_pattern?(node); end
3781
+
3782
+ # source://unparser//lib/unparser/node_helpers.rb#65
3783
+ def n_begin?(node); end
3784
+
3785
+ # source://unparser//lib/unparser/node_helpers.rb#65
3786
+ def n_block?(node); end
3787
+
3788
+ # source://unparser//lib/unparser/node_helpers.rb#65
3789
+ def n_cbase?(node); end
3790
+
3791
+ # source://unparser//lib/unparser/node_helpers.rb#65
3792
+ def n_const?(node); end
3793
+
3794
+ # source://unparser//lib/unparser/node_helpers.rb#65
3795
+ def n_dstr?(node); end
3796
+
3797
+ # source://unparser//lib/unparser/node_helpers.rb#65
3798
+ def n_empty_else?(node); end
3799
+
3800
+ # source://unparser//lib/unparser/node_helpers.rb#65
3801
+ def n_ensure?(node); end
3802
+
3803
+ # source://unparser//lib/unparser/node_helpers.rb#65
3804
+ def n_hash?(node); end
3805
+
3806
+ # source://unparser//lib/unparser/node_helpers.rb#65
3807
+ def n_hash_pattern?(node); end
3808
+
3809
+ # source://unparser//lib/unparser/node_helpers.rb#65
3810
+ def n_if?(node); end
3811
+
3812
+ # source://unparser//lib/unparser/node_helpers.rb#65
3813
+ def n_in_pattern?(node); end
3814
+
3815
+ # source://unparser//lib/unparser/node_helpers.rb#65
3816
+ def n_int?(node); end
3817
+
3818
+ # source://unparser//lib/unparser/node_helpers.rb#65
3819
+ def n_kwarg?(node); end
3820
+
3821
+ # source://unparser//lib/unparser/node_helpers.rb#65
3822
+ def n_kwargs?(node); end
3823
+
3824
+ # source://unparser//lib/unparser/node_helpers.rb#65
3825
+ def n_kwsplat?(node); end
3826
+
3827
+ # source://unparser//lib/unparser/node_helpers.rb#65
3828
+ def n_lambda?(node); end
3829
+
3830
+ # source://unparser//lib/unparser/node_helpers.rb#65
3831
+ def n_match_rest?(node); end
3832
+
3833
+ # source://unparser//lib/unparser/node_helpers.rb#65
3834
+ def n_pair?(node); end
3835
+
3836
+ # source://unparser//lib/unparser/node_helpers.rb#65
3837
+ def n_rescue?(node); end
3838
+
3839
+ # source://unparser//lib/unparser/node_helpers.rb#65
3840
+ def n_send?(node); end
3841
+
3842
+ # source://unparser//lib/unparser/node_helpers.rb#65
3843
+ def n_shadowarg?(node); end
3844
+
3845
+ # source://unparser//lib/unparser/node_helpers.rb#65
3846
+ def n_splat?(node); end
3847
+
3848
+ # source://unparser//lib/unparser/node_helpers.rb#65
3849
+ def n_str?(node); end
3850
+
3851
+ # source://unparser//lib/unparser/node_helpers.rb#65
3852
+ def n_sym?(node); end
3853
+ end
3854
+
3855
+ # source://unparser//lib/unparser/either.rb#4
3856
+ module Unparser::RequireBlock
3857
+ private
3858
+
3859
+ # Raise error unless block is provided
3860
+ #
3861
+ # @raise [MissingBlockError] if no block is given
3862
+ # @return [self]
3863
+ #
3864
+ # source://unparser//lib/unparser/either.rb#14
3865
+ def require_block; end
3866
+ end
3867
+
3868
+ # source://unparser//lib/unparser/emitter.rb#4
3869
+ class Unparser::UnknownNodeError < ::ArgumentError; end
3870
+
3871
+ # Validation of unparser results
3872
+ #
3873
+ # source://unparser//lib/unparser/validation.rb#5
3874
+ class Unparser::Validation
3875
+ include ::Unparser::Anima::InstanceMethods
3876
+ include ::Unparser::Equalizer::Methods
3877
+ include ::Unparser::Adamantium
3878
+ include ::Unparser::Adamantium::InstanceMethods
3879
+ extend ::Unparser::Adamantium::ModuleMethods
3880
+ extend ::Unparser::Adamantium::ClassMethods
3881
+
3882
+ # source://unparser//lib/unparser/anima.rb#146
3883
+ def generated_node; end
3884
+
3885
+ # source://unparser//lib/unparser/anima.rb#146
3886
+ def generated_source; end
3887
+
3888
+ # source://unparser//lib/unparser/anima.rb#146
3889
+ def identification; end
3890
+
3891
+ # source://unparser//lib/unparser/anima.rb#146
3892
+ def original_node; end
3893
+
3894
+ # source://unparser//lib/unparser/anima.rb#146
3895
+ def original_source; end
3896
+
3897
+ # Return error report
3898
+ #
3899
+ # @api private
3900
+ # @return [String]
3901
+ #
3902
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3903
+ def report(&block); end
3904
+
3905
+ # Test if source could be unparsed successfully
3906
+ #
3907
+ # @api private
3908
+ # @return [Boolean]
3909
+ #
3910
+ # source://unparser//lib/unparser/validation.rb#20
3911
+ def success?; end
3912
+
3913
+ private
3914
+
3915
+ # source://unparser//lib/unparser/validation.rb#106
3916
+ def make_report(label, attribute_name); end
3917
+
3918
+ # source://unparser//lib/unparser/validation.rb#118
3919
+ def node_diff_report; end
3920
+
3921
+ # source://unparser//lib/unparser/validation.rb#110
3922
+ def report_exception(exception); end
3923
+
3924
+ class << self
3925
+ # source://unparser//lib/unparser/anima.rb#140
3926
+ def anima; end
3927
+
3928
+ # Create validator from node
3929
+ #
3930
+ # @param original_node [Parser::AST::Node]
3931
+ # @return [Validator]
3932
+ #
3933
+ # source://unparser//lib/unparser/validation.rb#79
3934
+ def from_node(original_node); end
3935
+
3936
+ # Create validator from file
3937
+ #
3938
+ # @param path [Pathname]
3939
+ # @return [Validator]
3940
+ #
3941
+ # source://unparser//lib/unparser/validation.rb#100
3942
+ def from_path(path); end
3943
+
3944
+ # Create validator from string
3945
+ #
3946
+ # @param original_source [String]
3947
+ # @return [Validator]
3948
+ #
3949
+ # source://unparser//lib/unparser/validation.rb#53
3950
+ def from_string(original_source); end
3951
+
3952
+ private
3953
+
3954
+ # source://unparser//lib/unparser/validation.rb#133
3955
+ def const_unit(_value); end
3956
+ end
3957
+ end
3958
+
3959
+ # source://unparser//lib/unparser/validation.rb#136
3960
+ class Unparser::Validation::Literal < ::Unparser::Validation
3961
+ # source://unparser//lib/unparser/validation.rb#141
3962
+ def report; end
3963
+
3964
+ # @return [Boolean]
3965
+ #
3966
+ # source://unparser//lib/unparser/validation.rb#137
3967
+ def success?; end
3968
+
3969
+ private
3970
+
3971
+ # source://unparser//lib/unparser/validation.rb#156
3972
+ def source_diff_report; end
3973
+ end
3974
+
3975
+ # source://unparser//lib/unparser/writer.rb#4
3976
+ module Unparser::Writer
3977
+ include ::Unparser::NodeHelpers
3978
+ include ::Unparser::Generation
3979
+ include ::Unparser::Anima::InstanceMethods
3980
+ include ::Unparser::Equalizer::Methods
3981
+
3982
+ mixes_in_class_methods ::Unparser::DSL
3983
+
3984
+ class << self
3985
+ # @private
3986
+ #
3987
+ # source://unparser//lib/unparser/writer.rb#7
3988
+ def included(descendant); end
3989
+ end
3990
+ end
3991
+
3992
+ # source://unparser//lib/unparser/writer/binary.rb#5
3993
+ class Unparser::Writer::Binary
3994
+ include ::Unparser::Adamantium
3995
+ include ::Unparser::Adamantium::InstanceMethods
3996
+ include ::Unparser::NodeHelpers
3997
+ include ::Unparser::Generation
3998
+ include ::Unparser::Writer
3999
+ include ::Unparser::Anima::InstanceMethods
4000
+ include ::Unparser::Equalizer::Methods
4001
+ extend ::Unparser::Adamantium::ModuleMethods
4002
+ extend ::Unparser::Adamantium::ClassMethods
4003
+ extend ::Unparser::DSL
4004
+
4005
+ # source://unparser//lib/unparser/anima.rb#146
4006
+ def buffer; end
4007
+
4008
+ # source://unparser//lib/unparser/anima.rb#146
4009
+ def comments; end
4010
+
4011
+ # source://unparser//lib/unparser/writer/binary.rb#54
4012
+ def dispatch; end
4013
+
4014
+ # source://unparser//lib/unparser/writer/binary.rb#46
4015
+ def emit_operator; end
4016
+
4017
+ # source://unparser//lib/unparser/anima.rb#146
4018
+ def local_variable_scope; end
4019
+
4020
+ # source://unparser//lib/unparser/anima.rb#146
4021
+ def node; end
4022
+
4023
+ # source://unparser//lib/unparser/writer/binary.rb#50
4024
+ def symbol_name; end
4025
+
4026
+ private
4027
+
4028
+ # source://unparser//lib/unparser/writer/binary.rb#62
4029
+ def effective_symbol; end
4030
+
4031
+ # source://unparser//lib/unparser/writer/binary.rb#74
4032
+ def emit_with(map); end
4033
+
4034
+ # source://unparser//lib/unparser/writer/binary.rb#80
4035
+ def keyword_symbol; end
4036
+
4037
+ # source://unparser//lib/unparser/dsl.rb#18
4038
+ def left; end
4039
+
4040
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
4041
+ def left_emitter(&block); end
4042
+
4043
+ # source://unparser//lib/unparser/writer/binary.rb#84
4044
+ def operator_symbol; end
4045
+
4046
+ # source://unparser//lib/unparser/dsl.rb#11
4047
+ def remaining_children; end
4048
+
4049
+ # source://unparser//lib/unparser/dsl.rb#18
4050
+ def right; end
4051
+
4052
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
4053
+ def right_emitter(&block); end
4054
+
4055
+ class << self
4056
+ # source://unparser//lib/unparser/anima.rb#140
4057
+ def anima; end
4058
+ end
4059
+ end
4060
+
4061
+ # source://unparser//lib/unparser/writer/binary.rb#22
4062
+ Unparser::Writer::Binary::KEYWORD_SYMBOLS = T.let(T.unsafe(nil), Hash)
4063
+
4064
+ # source://unparser//lib/unparser/writer/binary.rb#16
4065
+ Unparser::Writer::Binary::KEYWORD_TOKENS = T.let(T.unsafe(nil), Hash)
4066
+
4067
+ # source://unparser//lib/unparser/writer/binary.rb#34
4068
+ Unparser::Writer::Binary::MAP = T.let(T.unsafe(nil), Hash)
4069
+
4070
+ # source://unparser//lib/unparser/writer/binary.rb#42
4071
+ Unparser::Writer::Binary::NEED_KEYWORD = T.let(T.unsafe(nil), Array)
4072
+
4073
+ # source://unparser//lib/unparser/writer/binary.rb#28
4074
+ Unparser::Writer::Binary::OPERATOR_SYMBOLS = T.let(T.unsafe(nil), Hash)
4075
+
4076
+ # source://unparser//lib/unparser/writer/binary.rb#10
4077
+ Unparser::Writer::Binary::OPERATOR_TOKENS = T.let(T.unsafe(nil), Hash)
4078
+
4079
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#5
4080
+ class Unparser::Writer::DynamicString
4081
+ include ::Unparser::Adamantium
4082
+ include ::Unparser::Adamantium::InstanceMethods
4083
+ include ::Unparser::NodeHelpers
4084
+ include ::Unparser::Generation
4085
+ include ::Unparser::Writer
4086
+ include ::Unparser::Anima::InstanceMethods
4087
+ include ::Unparser::Equalizer::Methods
4088
+ extend ::Unparser::Adamantium::ModuleMethods
4089
+ extend ::Unparser::Adamantium::ClassMethods
4090
+ extend ::Unparser::DSL
4091
+
4092
+ # source://unparser//lib/unparser/anima.rb#146
4093
+ def buffer; end
4094
+
4095
+ # source://unparser//lib/unparser/anima.rb#146
4096
+ def comments; end
4097
+
4098
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#32
4099
+ def dispatch; end
4100
+
4101
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#25
4102
+ def emit_heredoc_reminder; end
4103
+
4104
+ # source://unparser//lib/unparser/anima.rb#146
4105
+ def local_variable_scope; end
4106
+
4107
+ # source://unparser//lib/unparser/anima.rb#146
4108
+ def node; end
4109
+
4110
+ private
4111
+
4112
+ # @return [Boolean]
4113
+ #
4114
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#159
4115
+ def breakpoint?(child, current); end
4116
+
4117
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#63
4118
+ def classify(node); end
4119
+
4120
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#71
4121
+ def classify_str(node); end
4122
+
4123
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#193
4124
+ def emit_body(children); end
4125
+
4126
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#149
4127
+ def emit_dstr; end
4128
+
4129
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#132
4130
+ def emit_dynamic(child); end
4131
+
4132
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#145
4133
+ def emit_dynamic_component(node); end
4134
+
4135
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#54
4136
+ def emit_heredoc_body; end
4137
+
4138
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#59
4139
+ def emit_heredoc_footer; end
4140
+
4141
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#50
4142
+ def emit_heredoc_header; end
4143
+
4144
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#116
4145
+ def emit_normal_heredoc_body; end
4146
+
4147
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#185
4148
+ def emit_segment(children, index); end
4149
+
4150
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#128
4151
+ def escape_dynamic(string); end
4152
+
4153
+ # @return [Boolean]
4154
+ #
4155
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#46
4156
+ def heredoc?; end
4157
+
4158
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#42
4159
+ def heredoc_header; end
4160
+
4161
+ # @return [Boolean]
4162
+ #
4163
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#95
4164
+ def heredoc_pattern?; end
4165
+
4166
+ # @return [Boolean]
4167
+ #
4168
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#105
4169
+ def heredoc_pattern_2?; end
4170
+
4171
+ # @return [Boolean]
4172
+ #
4173
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#99
4174
+ def heredoc_pattern_3?; end
4175
+
4176
+ # @return [Boolean]
4177
+ #
4178
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#111
4179
+ def nl_last_child?; end
4180
+
4181
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#169
4182
+ def segments; end
4183
+
4184
+ # @return [Boolean]
4185
+ #
4186
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#87
4187
+ def str_empty?(node); end
4188
+
4189
+ # @return [Boolean]
4190
+ #
4191
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#83
4192
+ def str_nl?(node); end
4193
+
4194
+ # @return [Boolean]
4195
+ #
4196
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#91
4197
+ def str_ws?(node); end
4198
+
4199
+ class << self
4200
+ # source://unparser//lib/unparser/anima.rb#140
4201
+ def anima; end
4202
+ end
4203
+ end
4204
+
4205
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#21
4206
+ Unparser::Writer::DynamicString::FLAT_INTERPOLATION = T.let(T.unsafe(nil), Set)
4207
+
4208
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#8
4209
+ Unparser::Writer::DynamicString::PATTERNS_2 = T.let(T.unsafe(nil), Array)
4210
+
4211
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#14
4212
+ Unparser::Writer::DynamicString::PATTERNS_3 = T.let(T.unsafe(nil), Array)
4213
+
4214
+ # Writer for rescue bodies
4215
+ #
4216
+ # source://unparser//lib/unparser/writer/resbody.rb#6
4217
+ class Unparser::Writer::Resbody
4218
+ include ::Unparser::NodeHelpers
4219
+ include ::Unparser::Generation
4220
+ include ::Unparser::Writer
4221
+ include ::Unparser::Anima::InstanceMethods
4222
+ include ::Unparser::Equalizer::Methods
4223
+ extend ::Unparser::DSL
4224
+
4225
+ # source://unparser//lib/unparser/anima.rb#146
4226
+ def buffer; end
4227
+
4228
+ # source://unparser//lib/unparser/anima.rb#146
4229
+ def comments; end
4230
+
4231
+ # source://unparser//lib/unparser/writer/resbody.rb#11
4232
+ def emit_postcontrol; end
4233
+
4234
+ # source://unparser//lib/unparser/writer/resbody.rb#16
4235
+ def emit_regular; end
4236
+
4237
+ # source://unparser//lib/unparser/anima.rb#146
4238
+ def local_variable_scope; end
4239
+
4240
+ # source://unparser//lib/unparser/anima.rb#146
4241
+ def node; end
4242
+
4243
+ private
4244
+
4245
+ # source://unparser//lib/unparser/dsl.rb#18
4246
+ def assignment; end
4247
+
4248
+ # source://unparser//lib/unparser/dsl.rb#18
4249
+ def body; end
4250
+
4251
+ # source://unparser//lib/unparser/writer/resbody.rb#32
4252
+ def emit_assignment; end
4253
+
4254
+ # source://unparser//lib/unparser/writer/resbody.rb#25
4255
+ def emit_exception; end
4256
+
4257
+ # source://unparser//lib/unparser/dsl.rb#18
4258
+ def exception; end
4259
+
4260
+ # source://unparser//lib/unparser/dsl.rb#11
4261
+ def remaining_children; end
4262
+
4263
+ class << self
4264
+ # source://unparser//lib/unparser/anima.rb#140
4265
+ def anima; end
4266
+ end
4267
+ end
4268
+
4269
+ # source://unparser//lib/unparser/writer/rescue.rb#5
4270
+ class Unparser::Writer::Rescue
4271
+ include ::Unparser::Adamantium
4272
+ include ::Unparser::Adamantium::InstanceMethods
4273
+ include ::Unparser::NodeHelpers
4274
+ include ::Unparser::Generation
4275
+ include ::Unparser::Writer
4276
+ include ::Unparser::Anima::InstanceMethods
4277
+ include ::Unparser::Equalizer::Methods
4278
+ extend ::Unparser::Adamantium::ModuleMethods
4279
+ extend ::Unparser::Adamantium::ClassMethods
4280
+ extend ::Unparser::DSL
4281
+
4282
+ # source://unparser//lib/unparser/anima.rb#146
4283
+ def buffer; end
4284
+
4285
+ # source://unparser//lib/unparser/anima.rb#146
4286
+ def comments; end
4287
+
4288
+ # source://unparser//lib/unparser/writer/rescue.rb#23
4289
+ def emit_heredoc_reminders; end
4290
+
4291
+ # source://unparser//lib/unparser/writer/rescue.rb#27
4292
+ def emit_postcontrol; end
4293
+
4294
+ # source://unparser//lib/unparser/writer/rescue.rb#12
4295
+ def emit_regular; end
4296
+
4297
+ # source://unparser//lib/unparser/anima.rb#146
4298
+ def local_variable_scope; end
4299
+
4300
+ # source://unparser//lib/unparser/anima.rb#146
4301
+ def node; end
4302
+
4303
+ private
4304
+
4305
+ # source://unparser//lib/unparser/dsl.rb#18
4306
+ def body; end
4307
+
4308
+ # source://unparser//lib/unparser/writer/rescue.rb#34
4309
+ def else_node; end
4310
+
4311
+ # source://unparser//lib/unparser/writer/rescue.rb#38
4312
+ def emit_rescue_body(node); end
4313
+
4314
+ # source://unparser//lib/unparser/dsl.rb#11
4315
+ def remaining_children; end
4316
+
4317
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
4318
+ def rescue_bodies(&block); end
4319
+
4320
+ # source://unparser//lib/unparser/dsl.rb#18
4321
+ def rescue_body; end
4322
+
4323
+ class << self
4324
+ # source://unparser//lib/unparser/anima.rb#140
4325
+ def anima; end
4326
+ end
4327
+ end
4328
+
4329
+ # Writer for send
4330
+ #
4331
+ # source://unparser//lib/unparser/writer/send.rb#6
4332
+ class Unparser::Writer::Send
4333
+ include ::Unparser::NodeHelpers
4334
+ include ::Unparser::Generation
4335
+ include ::Unparser::Constants
4336
+ include ::Unparser::Adamantium
4337
+ include ::Unparser::Adamantium::InstanceMethods
4338
+ include ::Unparser::Writer
4339
+ include ::Unparser::Anima::InstanceMethods
4340
+ include ::Unparser::Equalizer::Methods
4341
+ extend ::Unparser::Adamantium::ModuleMethods
4342
+ extend ::Unparser::Adamantium::ClassMethods
4343
+ extend ::Unparser::DSL
4344
+
4345
+ # source://unparser//lib/unparser/anima.rb#146
4346
+ def buffer; end
4347
+
4348
+ # source://unparser//lib/unparser/anima.rb#146
4349
+ def comments; end
4350
+
4351
+ # source://unparser//lib/unparser/writer/send.rb#21
4352
+ def dispatch; end
4353
+
4354
+ # source://unparser//lib/unparser/writer/send.rb#33
4355
+ def emit_heredoc_reminders; end
4356
+
4357
+ # source://unparser//lib/unparser/writer/send.rb#25
4358
+ def emit_mlhs; end
4359
+
4360
+ # source://unparser//lib/unparser/writer/send.rb#29
4361
+ def emit_selector; end
4362
+
4363
+ # source://unparser//lib/unparser/anima.rb#146
4364
+ def local_variable_scope; end
4365
+
4366
+ # source://unparser//lib/unparser/anima.rb#146
4367
+ def node; end
4368
+
4369
+ private
4370
+
4371
+ # source://unparser//lib/unparser/writer/send.rb#73
4372
+ def arguments; end
4373
+
4374
+ # @return [Boolean]
4375
+ #
4376
+ # source://unparser//lib/unparser/writer/send.rb#85
4377
+ def avoid_clash?; end
4378
+
4379
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
4380
+ def details(&block); end
4381
+
4382
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
4383
+ def effective_writer(&block); end
4384
+
4385
+ # source://unparser//lib/unparser/writer/send.rb#45
4386
+ def effective_writer_class; end
4387
+
4388
+ # source://unparser//lib/unparser/writer/send.rb#65
4389
+ def emit_arguments; end
4390
+
4391
+ # source://unparser//lib/unparser/writer/send.rb#81
4392
+ def emit_heredoc_reminder(argument); end
4393
+
4394
+ # source://unparser//lib/unparser/writer/send.rb#77
4395
+ def emit_normal_arguments; end
4396
+
4397
+ # source://unparser//lib/unparser/writer/send.rb#61
4398
+ def emit_operator; end
4399
+
4400
+ # source://unparser//lib/unparser/writer/send.rb#106
4401
+ def emit_send_regular(node); end
4402
+
4403
+ # @return [Boolean]
4404
+ #
4405
+ # source://unparser//lib/unparser/writer/send.rb#89
4406
+ def local_variable_clash?; end
4407
+
4408
+ # @return [Boolean]
4409
+ #
4410
+ # source://unparser//lib/unparser/writer/send.rb#93
4411
+ def parses_as_constant?; end
4412
+
4413
+ # source://unparser//lib/unparser/dsl.rb#18
4414
+ def receiver; end
4415
+
4416
+ # source://unparser//lib/unparser/dsl.rb#11
4417
+ def remaining_children; end
4418
+
4419
+ # source://unparser//lib/unparser/dsl.rb#18
4420
+ def selector; end
4421
+
4422
+ # @return [Boolean]
4423
+ #
4424
+ # source://unparser//lib/unparser/writer/send.rb#57
4425
+ def write_as_attribute_assignment?; end
4426
+
4427
+ class << self
4428
+ # source://unparser//lib/unparser/anima.rb#140
4429
+ def anima; end
4430
+ end
4431
+ end
4432
+
4433
+ # Writer for send as attribute assignment
4434
+ #
4435
+ # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#7
4436
+ class Unparser::Writer::Send::AttributeAssignment < ::Unparser::Writer::Send
4437
+ # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#10
4438
+ def dispatch; end
4439
+
4440
+ # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#22
4441
+ def emit_send_mlhs; end
4442
+
4443
+ private
4444
+
4445
+ # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#34
4446
+ def emit_attribute; end
4447
+
4448
+ # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#29
4449
+ def emit_receiver; end
4450
+
4451
+ # source://unparser//lib/unparser/dsl.rb#18
4452
+ def first_argument; end
4453
+
4454
+ # source://unparser//lib/unparser/dsl.rb#18
4455
+ def receiver; end
4456
+
4457
+ # source://unparser//lib/unparser/dsl.rb#11
4458
+ def remaining_children; end
4459
+
4460
+ # source://unparser//lib/unparser/dsl.rb#18
4461
+ def selector; end
4462
+ end
4463
+
4464
+ # Writer for binary sends
4465
+ #
4466
+ # source://unparser//lib/unparser/writer/send/binary.rb#7
4467
+ class Unparser::Writer::Send::Binary < ::Unparser::Writer::Send
4468
+ # source://unparser//lib/unparser/writer/send/binary.rb#8
4469
+ def dispatch; end
4470
+
4471
+ private
4472
+
4473
+ # source://unparser//lib/unparser/writer/send/binary.rb#16
4474
+ def emit_operator; end
4475
+
4476
+ # source://unparser//lib/unparser/writer/send/binary.rb#20
4477
+ def emit_right; end
4478
+ end
4479
+
4480
+ # source://unparser//lib/unparser/writer/send.rb#9
4481
+ Unparser::Writer::Send::INDEX_ASSIGN = T.let(T.unsafe(nil), Symbol)
4482
+
4483
+ # source://unparser//lib/unparser/writer/send.rb#10
4484
+ Unparser::Writer::Send::INDEX_REFERENCE = T.let(T.unsafe(nil), Symbol)
4485
+
4486
+ # source://unparser//lib/unparser/writer/send.rb#12
4487
+ Unparser::Writer::Send::OPERATORS = T.let(T.unsafe(nil), Hash)
4488
+
4489
+ # Writer for "regular" receiver.selector(arguments...) case
4490
+ #
4491
+ # source://unparser//lib/unparser/writer/send/regular.rb#7
4492
+ class Unparser::Writer::Send::Regular < ::Unparser::Writer::Send
4493
+ # source://unparser//lib/unparser/writer/send/regular.rb#8
4494
+ def dispatch; end
4495
+
4496
+ # source://unparser//lib/unparser/writer/send/regular.rb#18
4497
+ def emit_arguments_without_heredoc_body; end
4498
+
4499
+ # source://unparser//lib/unparser/writer/send/regular.rb#22
4500
+ def emit_receiver; end
4501
+
4502
+ # source://unparser//lib/unparser/writer/send/regular.rb#14
4503
+ def emit_send_mlhs; end
4504
+ end
4505
+
4506
+ # Writer for unary sends
4507
+ #
4508
+ # source://unparser//lib/unparser/writer/send/unary.rb#7
4509
+ class Unparser::Writer::Send::Unary < ::Unparser::Writer::Send
4510
+ # source://unparser//lib/unparser/writer/send/unary.rb#15
4511
+ def dispatch; end
4512
+ end
4513
+
4514
+ # source://unparser//lib/unparser/writer/send/unary.rb#8
4515
+ Unparser::Writer::Send::Unary::MAP = T.let(T.unsafe(nil), Hash)