inkcpp_rb 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. checksums.yaml +7 -0
  2. data/.ruby-version +1 -0
  3. data/CHANGELOG.md +1 -0
  4. data/Gemfile +10 -0
  5. data/Gemfile.lock +84 -0
  6. data/LICENSE +7 -0
  7. data/README.md +3 -0
  8. data/Rakefile +16 -0
  9. data/bin/console +15 -0
  10. data/bin/setup +10 -0
  11. data/bin/tapioca +29 -0
  12. data/ext/inkcpp_rb/extconf.rb +19 -0
  13. data/ext/inkcpp_rb/inkcpp/.clang-format +99 -0
  14. data/ext/inkcpp_rb/inkcpp/.github/FUNDING.yml +1 -0
  15. data/ext/inkcpp_rb/inkcpp/.github/workflows/build.yml +344 -0
  16. data/ext/inkcpp_rb/inkcpp/.github/workflows/release.yml +49 -0
  17. data/ext/inkcpp_rb/inkcpp/.gitignore +25 -0
  18. data/ext/inkcpp_rb/inkcpp/.gitmodules +9 -0
  19. data/ext/inkcpp_rb/inkcpp/CMakeLists.txt +170 -0
  20. data/ext/inkcpp_rb/inkcpp/CODE_OF_CONDUCT.md +76 -0
  21. data/ext/inkcpp_rb/inkcpp/CONTRIBUTING.md +55 -0
  22. data/ext/inkcpp_rb/inkcpp/Config.cmake.in +2 -0
  23. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/CMakeLists.txt +13 -0
  24. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/main.c +38 -0
  25. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/main.cpp +40 -0
  26. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/test.ink +8 -0
  27. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/test.ink.json +1 -0
  28. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example.zip +0 -0
  29. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/InkCPP_DEMO.zip +0 -0
  30. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/CreateThread.png +0 -0
  31. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/HandleChoice.png +0 -0
  32. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/ListElementOf.png +0 -0
  33. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/MinimalRuntime.png +0 -0
  34. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/MinimalThread.png +0 -0
  35. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/ObseverChange.png +0 -0
  36. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/TagListGetValue.png +0 -0
  37. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/YieldResume.png +0 -0
  38. data/ext/inkcpp_rb/inkcpp/Doxyfile +2825 -0
  39. data/ext/inkcpp_rb/inkcpp/LICENSE.txt +22 -0
  40. data/ext/inkcpp_rb/inkcpp/Minimal.runsettings +8 -0
  41. data/ext/inkcpp_rb/inkcpp/README.md +192 -0
  42. data/ext/inkcpp_rb/inkcpp/inkcpp/CMakeLists.txt +67 -0
  43. data/ext/inkcpp_rb/inkcpp/inkcpp/array.h +481 -0
  44. data/ext/inkcpp_rb/inkcpp/inkcpp/avl_array.h +833 -0
  45. data/ext/inkcpp_rb/inkcpp/inkcpp/casting.h +93 -0
  46. data/ext/inkcpp_rb/inkcpp/inkcpp/choice.cpp +54 -0
  47. data/ext/inkcpp_rb/inkcpp/inkcpp/collections/restorable.cpp +124 -0
  48. data/ext/inkcpp_rb/inkcpp/inkcpp/collections/restorable.h +406 -0
  49. data/ext/inkcpp_rb/inkcpp/inkcpp/container_operations.cpp +52 -0
  50. data/ext/inkcpp_rb/inkcpp/inkcpp/container_operations.h +34 -0
  51. data/ext/inkcpp_rb/inkcpp/inkcpp/executioner.h +179 -0
  52. data/ext/inkcpp_rb/inkcpp/inkcpp/functional.cpp +86 -0
  53. data/ext/inkcpp_rb/inkcpp/inkcpp/functions.cpp +54 -0
  54. data/ext/inkcpp_rb/inkcpp/inkcpp/functions.h +40 -0
  55. data/ext/inkcpp_rb/inkcpp/inkcpp/globals_impl.cpp +289 -0
  56. data/ext/inkcpp_rb/inkcpp/inkcpp/globals_impl.h +149 -0
  57. data/ext/inkcpp_rb/inkcpp/inkcpp/header.cpp +44 -0
  58. data/ext/inkcpp_rb/inkcpp/inkcpp/include/choice.h +106 -0
  59. data/ext/inkcpp_rb/inkcpp/inkcpp/include/functional.h +327 -0
  60. data/ext/inkcpp_rb/inkcpp/inkcpp/include/globals.h +196 -0
  61. data/ext/inkcpp_rb/inkcpp/inkcpp/include/list.h +187 -0
  62. data/ext/inkcpp_rb/inkcpp/inkcpp/include/runner.h +291 -0
  63. data/ext/inkcpp_rb/inkcpp/inkcpp/include/snapshot.h +61 -0
  64. data/ext/inkcpp_rb/inkcpp/inkcpp/include/story.h +219 -0
  65. data/ext/inkcpp_rb/inkcpp/inkcpp/include/story_ptr.h +233 -0
  66. data/ext/inkcpp_rb/inkcpp/inkcpp/include/traits.h +270 -0
  67. data/ext/inkcpp_rb/inkcpp/inkcpp/include/types.h +169 -0
  68. data/ext/inkcpp_rb/inkcpp/inkcpp/list_impl.cpp +79 -0
  69. data/ext/inkcpp_rb/inkcpp/inkcpp/list_impl.h +39 -0
  70. data/ext/inkcpp_rb/inkcpp/inkcpp/list_operations.cpp +276 -0
  71. data/ext/inkcpp_rb/inkcpp/inkcpp/list_operations.h +356 -0
  72. data/ext/inkcpp_rb/inkcpp/inkcpp/list_table.cpp +841 -0
  73. data/ext/inkcpp_rb/inkcpp/inkcpp/list_table.h +450 -0
  74. data/ext/inkcpp_rb/inkcpp/inkcpp/numeric_operations.cpp +40 -0
  75. data/ext/inkcpp_rb/inkcpp/inkcpp/numeric_operations.h +529 -0
  76. data/ext/inkcpp_rb/inkcpp/inkcpp/operation_bases.h +164 -0
  77. data/ext/inkcpp_rb/inkcpp/inkcpp/operations.h +100 -0
  78. data/ext/inkcpp_rb/inkcpp/inkcpp/output.cpp +528 -0
  79. data/ext/inkcpp_rb/inkcpp/inkcpp/output.h +153 -0
  80. data/ext/inkcpp_rb/inkcpp/inkcpp/platform.h +22 -0
  81. data/ext/inkcpp_rb/inkcpp/inkcpp/random.h +38 -0
  82. data/ext/inkcpp_rb/inkcpp/inkcpp/runner_impl.cpp +1396 -0
  83. data/ext/inkcpp_rb/inkcpp/inkcpp/runner_impl.h +336 -0
  84. data/ext/inkcpp_rb/inkcpp/inkcpp/simple_restorable_stack.h +335 -0
  85. data/ext/inkcpp_rb/inkcpp/inkcpp/snapshot_impl.cpp +182 -0
  86. data/ext/inkcpp_rb/inkcpp/inkcpp/snapshot_impl.h +91 -0
  87. data/ext/inkcpp_rb/inkcpp/inkcpp/snapshot_interface.h +57 -0
  88. data/ext/inkcpp_rb/inkcpp/inkcpp/stack.cpp +618 -0
  89. data/ext/inkcpp_rb/inkcpp/inkcpp/stack.h +243 -0
  90. data/ext/inkcpp_rb/inkcpp/inkcpp/story_impl.cpp +361 -0
  91. data/ext/inkcpp_rb/inkcpp/inkcpp/story_impl.h +92 -0
  92. data/ext/inkcpp_rb/inkcpp/inkcpp/story_ptr.cpp +75 -0
  93. data/ext/inkcpp_rb/inkcpp/inkcpp/string_operations.cpp +125 -0
  94. data/ext/inkcpp_rb/inkcpp/inkcpp/string_operations.h +67 -0
  95. data/ext/inkcpp_rb/inkcpp/inkcpp/string_table.cpp +149 -0
  96. data/ext/inkcpp_rb/inkcpp/inkcpp/string_table.h +47 -0
  97. data/ext/inkcpp_rb/inkcpp/inkcpp/string_utils.h +207 -0
  98. data/ext/inkcpp_rb/inkcpp/inkcpp/system.cpp +39 -0
  99. data/ext/inkcpp_rb/inkcpp/inkcpp/tuple.hpp +151 -0
  100. data/ext/inkcpp_rb/inkcpp/inkcpp/value.cpp +279 -0
  101. data/ext/inkcpp_rb/inkcpp/inkcpp/value.h +666 -0
  102. data/ext/inkcpp_rb/inkcpp/inkcpp_c/CMakeLists.txt +62 -0
  103. data/ext/inkcpp_rb/inkcpp/inkcpp_c/include/inkcpp.h +393 -0
  104. data/ext/inkcpp_rb/inkcpp/inkcpp_c/inkcpp.cpp +344 -0
  105. data/ext/inkcpp_rb/inkcpp/inkcpp_c/inkcpp_c.pc.in +10 -0
  106. data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/ExternalFunction.c +56 -0
  107. data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Globals.c +98 -0
  108. data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Lists.c +73 -0
  109. data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Observer.c +36 -0
  110. data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Snapshot.c +65 -0
  111. data/ext/inkcpp_rb/inkcpp/inkcpp_cl/CMakeLists.txt +49 -0
  112. data/ext/inkcpp_rb/inkcpp/inkcpp_cl/inkcpp_cl.cpp +215 -0
  113. data/ext/inkcpp_rb/inkcpp/inkcpp_cl/test.cpp +209 -0
  114. data/ext/inkcpp_rb/inkcpp/inkcpp_cl/test.h +8 -0
  115. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/CMakeLists.txt +37 -0
  116. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_emitter.cpp +446 -0
  117. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_emitter.h +70 -0
  118. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_stream.cpp +166 -0
  119. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_stream.h +79 -0
  120. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/command.cpp +107 -0
  121. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/compiler.cpp +96 -0
  122. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/emitter.cpp +62 -0
  123. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/emitter.h +104 -0
  124. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/include/compilation_results.h +22 -0
  125. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/include/compiler.h +44 -0
  126. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/json.hpp +24596 -0
  127. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/json_compiler.cpp +411 -0
  128. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/json_compiler.h +62 -0
  129. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/list_data.cpp +47 -0
  130. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/list_data.h +70 -0
  131. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/reporter.cpp +107 -0
  132. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/reporter.h +55 -0
  133. data/ext/inkcpp_rb/inkcpp/inkcpp_py/CMakeLists.txt +19 -0
  134. data/ext/inkcpp_rb/inkcpp/inkcpp_py/example.py +78 -0
  135. data/ext/inkcpp_rb/inkcpp/inkcpp_py/src/module.cpp +317 -0
  136. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/conftest.py +53 -0
  137. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_ExternalFunctions.py +35 -0
  138. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Globals.py +40 -0
  139. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Lists.py +43 -0
  140. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Observer.py +27 -0
  141. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Snapshot.py +57 -0
  142. data/ext/inkcpp_rb/inkcpp/inkcpp_py/unreal_example.ink +71 -0
  143. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Array.cpp +115 -0
  144. data/ext/inkcpp_rb/inkcpp/inkcpp_test/CMakeLists.txt +117 -0
  145. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Callstack.cpp +392 -0
  146. data/ext/inkcpp_rb/inkcpp/inkcpp_test/EmptyStringForDivert.cpp +36 -0
  147. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ExternalFunctionsExecuteProperly.cpp +34 -0
  148. data/ext/inkcpp_rb/inkcpp/inkcpp_test/FallbackFunction.cpp +77 -0
  149. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Globals.cpp +73 -0
  150. data/ext/inkcpp_rb/inkcpp/inkcpp_test/InkyJson.cpp +34 -0
  151. data/ext/inkcpp_rb/inkcpp/inkcpp_test/LabelCondition.cpp +60 -0
  152. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Lists.cpp +144 -0
  153. data/ext/inkcpp_rb/inkcpp/inkcpp_test/LookaheadSafe.cpp +46 -0
  154. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Main.cpp +7 -0
  155. data/ext/inkcpp_rb/inkcpp/inkcpp_test/MoveTo.cpp +95 -0
  156. data/ext/inkcpp_rb/inkcpp/inkcpp_test/NewLines.cpp +76 -0
  157. data/ext/inkcpp_rb/inkcpp/inkcpp_test/NoEarlyTags.cpp +33 -0
  158. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Observer.cpp +245 -0
  159. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Pointer.cpp +191 -0
  160. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Restorable.cpp +294 -0
  161. data/ext/inkcpp_rb/inkcpp/inkcpp_test/SpaceAfterBracketChoice.cpp +45 -0
  162. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Stack.cpp +224 -0
  163. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Tags.cpp +131 -0
  164. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ThirdTierChoiceAfterBrackets.cpp +38 -0
  165. data/ext/inkcpp_rb/inkcpp/inkcpp_test/UTF8.cpp +56 -0
  166. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Value.cpp +210 -0
  167. data/ext/inkcpp_rb/inkcpp/inkcpp_test/catch.hpp +17970 -0
  168. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/AHF.ink +7 -0
  169. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ChoiceBracketStory.ink +7 -0
  170. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/EmptyStringForDivert.ink +13 -0
  171. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ExternalFunctionsExecuteProperly.ink +11 -0
  172. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/FallBack.ink +15 -0
  173. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/GlobalStory.ink +9 -0
  174. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/LabelConditionStory.ink +5 -0
  175. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/LinesStory.ink +42 -0
  176. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ListLogicStory.ink +40 -0
  177. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ListStory.ink +8 -0
  178. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/LookaheadSafe.ink +14 -0
  179. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/MoveTo.ink +36 -0
  180. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/NoEarlyTags.ink +19 -0
  181. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ObserverStory.ink +8 -0
  182. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/SimpleStoryFlow.ink +65 -0
  183. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/TagsStory.ink +22 -0
  184. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/TheIntercept.ink +1686 -0
  185. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ThirdTierChoiceAfterBracketsStory.ink +13 -0
  186. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/UTF-8-demo.txt +212 -0
  187. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/UTF8Story.ink +218 -0
  188. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/simple-1.1.1-inklecate.json +154 -0
  189. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/simple-1.1.1-inky.json +160 -0
  190. data/ext/inkcpp_rb/inkcpp/notes/ArchitectureNotes.md +54 -0
  191. data/ext/inkcpp_rb/inkcpp/notes/ListNotes.md +69 -0
  192. data/ext/inkcpp_rb/inkcpp/notes/OperationNotes.md +35 -0
  193. data/ext/inkcpp_rb/inkcpp/notes/TagsNotes.md +24 -0
  194. data/ext/inkcpp_rb/inkcpp/notes/WhitespaceNotes.md +28 -0
  195. data/ext/inkcpp_rb/inkcpp/proofing/README.md +3 -0
  196. data/ext/inkcpp_rb/inkcpp/proofing/inkcpp_runtime_driver +12 -0
  197. data/ext/inkcpp_rb/inkcpp/pyproject.toml +63 -0
  198. data/ext/inkcpp_rb/inkcpp/setup.py +166 -0
  199. data/ext/inkcpp_rb/inkcpp/shared/CMakeLists.txt +14 -0
  200. data/ext/inkcpp_rb/inkcpp/shared/private/command.h +172 -0
  201. data/ext/inkcpp_rb/inkcpp/shared/private/header.h +46 -0
  202. data/ext/inkcpp_rb/inkcpp/shared/public/config.h +53 -0
  203. data/ext/inkcpp_rb/inkcpp/shared/public/system.h +307 -0
  204. data/ext/inkcpp_rb/inkcpp/shared/public/version.h +14 -0
  205. data/ext/inkcpp_rb/inkcpp/tests/TestAllSequenceTypes.ink +59 -0
  206. data/ext/inkcpp_rb/inkcpp/tests/TestArithmetic.ink +17 -0
  207. data/ext/inkcpp_rb/inkcpp/tests/TestBasicStringLiterals.ink +8 -0
  208. data/ext/inkcpp_rb/inkcpp/tests/TestBasicTunnel.ink +10 -0
  209. data/ext/inkcpp_rb/inkcpp/tests/TestBlanksInInlineSequences.ink +51 -0
  210. data/ext/inkcpp_rb/inkcpp/tests/TestCallStackEvaluation.ink +15 -0
  211. data/ext/inkcpp_rb/inkcpp/tests/TestChoiceCount.ink +15 -0
  212. data/ext/inkcpp_rb/inkcpp/tests/TestChoiceDivertsToDone.ink +6 -0
  213. data/ext/inkcpp_rb/inkcpp/tests/TestChoiceWithBracketsOnly.ink +9 -0
  214. data/ext/inkcpp_rb/inkcpp/tests/TestCompareDivertTargets.ink +26 -0
  215. data/ext/inkcpp_rb/inkcpp/tests/TestComplexTunnels.ink +22 -0
  216. data/ext/inkcpp_rb/inkcpp/tests/TestConditionalChoiceInWeave.ink +19 -0
  217. data/ext/inkcpp_rb/inkcpp/tests/TestTunnelOnwardsAfterTunnel.ink +17 -0
  218. data/ext/inkcpp_rb/inkcpp/unreal/CMakeLists.txt +51 -0
  219. data/ext/inkcpp_rb/inkcpp/unreal/UE_example.ink +92 -0
  220. data/ext/inkcpp_rb/inkcpp/unreal/blueprint_filter.js +377 -0
  221. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Resources/Icon128.png +0 -0
  222. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkAsset.cpp +47 -0
  223. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkChoice.cpp +40 -0
  224. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkList.cpp +86 -0
  225. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkRuntime.cpp +265 -0
  226. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkThread.cpp +239 -0
  227. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkVar.cpp +143 -0
  228. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/TagList.cpp +95 -0
  229. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/inkcpp.cpp +13 -0
  230. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkAsset.h +50 -0
  231. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkChoice.h +58 -0
  232. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkDelegates.h +139 -0
  233. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkList.h +102 -0
  234. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkRuntime.h +177 -0
  235. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkSnapshot.h +30 -0
  236. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkThread.h +215 -0
  237. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkVar.h +245 -0
  238. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/TagList.h +77 -0
  239. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/inkcpp.h +217 -0
  240. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/inkcpp.Build.cs +62 -0
  241. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/InkAssetFactory.cpp +237 -0
  242. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/InkAssetFactory.h +43 -0
  243. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/inkcpp_editor.cpp +13 -0
  244. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/inklecate_cmd.cpp.in +24 -0
  245. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Public/inkcpp_editor.h +9 -0
  246. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/inkcpp_editor.Build.cs +61 -0
  247. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/inkcpp.uplugin +44 -0
  248. data/ext/inkcpp_rb/inkcpp/unreal/render.css +1 -0
  249. data/ext/inkcpp_rb/inkcpp_rb.cpp +321 -0
  250. data/inkcpp_rb.gemspec +54 -0
  251. data/rbi/inkcpp_rb.rbi +211 -0
  252. data/sorbet/config +4 -0
  253. data/sorbet/rbi/annotations/.gitattributes +1 -0
  254. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  255. data/sorbet/rbi/gems/.gitattributes +1 -0
  256. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
  257. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  258. data/sorbet/rbi/gems/minitest@5.25.4.rbi +1547 -0
  259. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  260. data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
  261. data/sorbet/rbi/gems/prism@1.3.0.rbi +40040 -0
  262. data/sorbet/rbi/gems/rake-compiler@1.2.8.rbi +9 -0
  263. data/sorbet/rbi/gems/rake@13.2.1.rbi +3033 -0
  264. data/sorbet/rbi/gems/rbi@0.2.2.rbi +4527 -0
  265. data/sorbet/rbi/gems/rice@4.3.3.rbi +44 -0
  266. data/sorbet/rbi/gems/spoom@1.5.0.rbi +4932 -0
  267. data/sorbet/rbi/gems/tapioca@0.16.7.rbi +3611 -0
  268. data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
  269. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  270. data/sorbet/rbi/gems/yard@0.9.37.rbi +18379 -0
  271. data/sorbet/tapioca/config.yml +13 -0
  272. data/sorbet/tapioca/require.rb +4 -0
  273. metadata +400 -0
@@ -0,0 +1,4527 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rbi` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rbi`.
6
+
7
+
8
+ # source://rbi//lib/rbi.rb#7
9
+ module RBI; end
10
+
11
+ # source://rbi//lib/rbi/model.rb#1045
12
+ class RBI::Arg < ::RBI::Node
13
+ # source://rbi//lib/rbi/model.rb#1057
14
+ sig { params(value: ::String, loc: T.nilable(::RBI::Loc)).void }
15
+ def initialize(value, loc: T.unsafe(nil)); end
16
+
17
+ # source://rbi//lib/rbi/model.rb#1063
18
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
19
+ def ==(other); end
20
+
21
+ # source://rbi//lib/rbi/model.rb#1068
22
+ sig { returns(::String) }
23
+ def to_s; end
24
+
25
+ # source://rbi//lib/rbi/model.rb#1049
26
+ sig { returns(::String) }
27
+ def value; end
28
+ end
29
+
30
+ # Attributes
31
+ #
32
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
33
+ #
34
+ # source://rbi//lib/rbi/model.rb#351
35
+ class RBI::Attr < ::RBI::NodeWithComments
36
+ include ::RBI::Indexable
37
+
38
+ abstract!
39
+
40
+ # source://rbi//lib/rbi/model.rb#376
41
+ sig do
42
+ params(
43
+ name: ::Symbol,
44
+ names: T::Array[::Symbol],
45
+ visibility: ::RBI::Visibility,
46
+ sigs: T::Array[::RBI::Sig],
47
+ loc: T.nilable(::RBI::Loc),
48
+ comments: T::Array[::RBI::Comment]
49
+ ).void
50
+ end
51
+ def initialize(name, names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end
52
+
53
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#420
54
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
55
+ def compatible_with?(other); end
56
+
57
+ # @abstract
58
+ #
59
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#61
60
+ sig { abstract.returns(T::Array[::RBI::Method]) }
61
+ def convert_to_methods; end
62
+
63
+ # @abstract
64
+ #
65
+ # source://rbi//lib/rbi/model.rb#384
66
+ sig { abstract.returns(T::Array[::String]) }
67
+ def fully_qualified_names; end
68
+
69
+ # source://rbi//lib/rbi/index.rb#113
70
+ sig { override.returns(T::Array[::String]) }
71
+ def index_ids; end
72
+
73
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#428
74
+ sig { override.params(other: ::RBI::Node).void }
75
+ def merge_with(other); end
76
+
77
+ # source://rbi//lib/rbi/model.rb#358
78
+ sig { returns(T::Array[::Symbol]) }
79
+ def names; end
80
+
81
+ # source://rbi//lib/rbi/model.rb#364
82
+ sig { returns(T::Array[::RBI::Sig]) }
83
+ def sigs; end
84
+
85
+ # source://rbi//lib/rbi/model.rb#361
86
+ sig { returns(::RBI::Visibility) }
87
+ def visibility; end
88
+
89
+ # @return [Visibility]
90
+ #
91
+ # source://rbi//lib/rbi/model.rb#361
92
+ def visibility=(_arg0); end
93
+
94
+ private
95
+
96
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#89
97
+ sig do
98
+ params(
99
+ name: ::String,
100
+ sig: T.nilable(::RBI::Sig),
101
+ visibility: ::RBI::Visibility,
102
+ loc: T.nilable(::RBI::Loc),
103
+ comments: T::Array[::RBI::Comment]
104
+ ).returns(::RBI::Method)
105
+ end
106
+ def create_getter_method(name, sig, visibility, loc, comments); end
107
+
108
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#110
109
+ sig do
110
+ params(
111
+ name: ::String,
112
+ sig: T.nilable(::RBI::Sig),
113
+ attribute_type: T.nilable(T.any(::RBI::Type, ::String)),
114
+ visibility: ::RBI::Visibility,
115
+ loc: T.nilable(::RBI::Loc),
116
+ comments: T::Array[::RBI::Comment]
117
+ ).returns(::RBI::Method)
118
+ end
119
+ def create_setter_method(name, sig, attribute_type, visibility, loc, comments); end
120
+
121
+ # @raise [UnexpectedMultipleSigsError]
122
+ #
123
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#66
124
+ sig(:final) { returns([T.nilable(::RBI::Sig), T.nilable(T.any(::RBI::Type, ::String))]) }
125
+ def parse_sig; end
126
+ end
127
+
128
+ # source://rbi//lib/rbi/model.rb#387
129
+ class RBI::AttrAccessor < ::RBI::Attr
130
+ # source://rbi//lib/rbi/model.rb#401
131
+ sig do
132
+ params(
133
+ name: ::Symbol,
134
+ names: ::Symbol,
135
+ visibility: ::RBI::Visibility,
136
+ sigs: T::Array[::RBI::Sig],
137
+ loc: T.nilable(::RBI::Loc),
138
+ comments: T::Array[::RBI::Comment],
139
+ block: T.nilable(T.proc.params(node: ::RBI::AttrAccessor).void)
140
+ ).void
141
+ end
142
+ def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
143
+
144
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#460
145
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
146
+ def compatible_with?(other); end
147
+
148
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#140
149
+ sig { override.returns(T::Array[::RBI::Method]) }
150
+ def convert_to_methods; end
151
+
152
+ # source://rbi//lib/rbi/model.rb#407
153
+ sig { override.returns(T::Array[::String]) }
154
+ def fully_qualified_names; end
155
+
156
+ # source://rbi//lib/rbi/model.rb#413
157
+ sig { override.returns(::String) }
158
+ def to_s; end
159
+ end
160
+
161
+ # source://rbi//lib/rbi/model.rb#419
162
+ class RBI::AttrReader < ::RBI::Attr
163
+ # source://rbi//lib/rbi/model.rb#433
164
+ sig do
165
+ params(
166
+ name: ::Symbol,
167
+ names: ::Symbol,
168
+ visibility: ::RBI::Visibility,
169
+ sigs: T::Array[::RBI::Sig],
170
+ loc: T.nilable(::RBI::Loc),
171
+ comments: T::Array[::RBI::Comment],
172
+ block: T.nilable(T.proc.params(node: ::RBI::AttrReader).void)
173
+ ).void
174
+ end
175
+ def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
176
+
177
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#442
178
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
179
+ def compatible_with?(other); end
180
+
181
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#154
182
+ sig { override.returns(T::Array[::RBI::Method]) }
183
+ def convert_to_methods; end
184
+
185
+ # source://rbi//lib/rbi/model.rb#439
186
+ sig { override.returns(T::Array[::String]) }
187
+ def fully_qualified_names; end
188
+
189
+ # source://rbi//lib/rbi/model.rb#445
190
+ sig { override.returns(::String) }
191
+ def to_s; end
192
+ end
193
+
194
+ # source://rbi//lib/rbi/model.rb#451
195
+ class RBI::AttrWriter < ::RBI::Attr
196
+ # source://rbi//lib/rbi/model.rb#465
197
+ sig do
198
+ params(
199
+ name: ::Symbol,
200
+ names: ::Symbol,
201
+ visibility: ::RBI::Visibility,
202
+ sigs: T::Array[::RBI::Sig],
203
+ loc: T.nilable(::RBI::Loc),
204
+ comments: T::Array[::RBI::Comment],
205
+ block: T.nilable(T.proc.params(node: ::RBI::AttrWriter).void)
206
+ ).void
207
+ end
208
+ def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
209
+
210
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#451
211
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
212
+ def compatible_with?(other); end
213
+
214
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#163
215
+ sig { override.returns(T::Array[::RBI::Method]) }
216
+ def convert_to_methods; end
217
+
218
+ # source://rbi//lib/rbi/model.rb#471
219
+ sig { override.returns(T::Array[::String]) }
220
+ def fully_qualified_names; end
221
+
222
+ # source://rbi//lib/rbi/model.rb#477
223
+ sig { override.returns(::String) }
224
+ def to_s; end
225
+ end
226
+
227
+ # An arbitrary blank line that can be added both in trees and comments
228
+ #
229
+ # source://rbi//lib/rbi/model.rb#76
230
+ class RBI::BlankLine < ::RBI::Comment
231
+ # source://rbi//lib/rbi/model.rb#80
232
+ sig { params(loc: T.nilable(::RBI::Loc)).void }
233
+ def initialize(loc: T.unsafe(nil)); end
234
+ end
235
+
236
+ # source://rbi//lib/rbi/model.rb#816
237
+ class RBI::BlockParam < ::RBI::Param
238
+ # source://rbi//lib/rbi/model.rb#827
239
+ sig do
240
+ params(
241
+ name: ::String,
242
+ loc: T.nilable(::RBI::Loc),
243
+ comments: T::Array[::RBI::Comment],
244
+ block: T.nilable(T.proc.params(node: ::RBI::BlockParam).void)
245
+ ).void
246
+ end
247
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
248
+
249
+ # source://rbi//lib/rbi/model.rb#838
250
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
251
+ def ==(other); end
252
+
253
+ # source://rbi//lib/rbi/model.rb#833
254
+ sig { override.returns(::String) }
255
+ def to_s; end
256
+ end
257
+
258
+ # source://rbi//lib/rbi/model.rb#220
259
+ class RBI::Class < ::RBI::Scope
260
+ # source://rbi//lib/rbi/model.rb#238
261
+ sig do
262
+ params(
263
+ name: ::String,
264
+ superclass_name: T.nilable(::String),
265
+ loc: T.nilable(::RBI::Loc),
266
+ comments: T::Array[::RBI::Comment],
267
+ block: T.nilable(T.proc.params(node: ::RBI::Class).void)
268
+ ).void
269
+ end
270
+ def initialize(name, superclass_name: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
271
+
272
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#384
273
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
274
+ def compatible_with?(other); end
275
+
276
+ # source://rbi//lib/rbi/model.rb#246
277
+ sig { override.returns(::String) }
278
+ def fully_qualified_name; end
279
+
280
+ # source://rbi//lib/rbi/model.rb#224
281
+ sig { returns(::String) }
282
+ def name; end
283
+
284
+ # @return [String]
285
+ #
286
+ # source://rbi//lib/rbi/model.rb#224
287
+ def name=(_arg0); end
288
+
289
+ # source://rbi//lib/rbi/model.rb#227
290
+ sig { returns(T.nilable(::String)) }
291
+ def superclass_name; end
292
+
293
+ # @return [String, nil]
294
+ #
295
+ # source://rbi//lib/rbi/model.rb#227
296
+ def superclass_name=(_arg0); end
297
+ end
298
+
299
+ # source://rbi//lib/rbi/model.rb#55
300
+ class RBI::Comment < ::RBI::Node
301
+ # source://rbi//lib/rbi/model.rb#62
302
+ sig { params(text: ::String, loc: T.nilable(::RBI::Loc)).void }
303
+ def initialize(text, loc: T.unsafe(nil)); end
304
+
305
+ # source://rbi//lib/rbi/model.rb#68
306
+ sig { params(other: ::Object).returns(T::Boolean) }
307
+ def ==(other); end
308
+
309
+ # source://rbi//lib/rbi/model.rb#59
310
+ sig { returns(::String) }
311
+ def text; end
312
+
313
+ # @return [String]
314
+ #
315
+ # source://rbi//lib/rbi/model.rb#59
316
+ def text=(_arg0); end
317
+ end
318
+
319
+ # A tree showing incompatibles nodes
320
+ #
321
+ # Is rendered as a merge conflict between `left` and` right`:
322
+ # ~~~rb
323
+ # class Foo
324
+ # <<<<<<< left
325
+ # def m1; end
326
+ # def m2(a); end
327
+ # =======
328
+ # def m1(a); end
329
+ # def m2; end
330
+ # >>>>>>> right
331
+ # end
332
+ # ~~~
333
+ #
334
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#583
335
+ class RBI::ConflictTree < ::RBI::Tree
336
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#593
337
+ sig { params(left_name: ::String, right_name: ::String).void }
338
+ def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end
339
+
340
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#587
341
+ sig { returns(::RBI::Tree) }
342
+ def left; end
343
+
344
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#590
345
+ sig { returns(::String) }
346
+ def left_name; end
347
+
348
+ # @return [Tree]
349
+ #
350
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#587
351
+ def right; end
352
+
353
+ # @return [String]
354
+ #
355
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#590
356
+ def right_name; end
357
+ end
358
+
359
+ # Consts
360
+ #
361
+ # source://rbi//lib/rbi/model.rb#314
362
+ class RBI::Const < ::RBI::NodeWithComments
363
+ include ::RBI::Indexable
364
+
365
+ # source://rbi//lib/rbi/model.rb#329
366
+ sig do
367
+ params(
368
+ name: ::String,
369
+ value: ::String,
370
+ loc: T.nilable(::RBI::Loc),
371
+ comments: T::Array[::RBI::Comment],
372
+ block: T.nilable(T.proc.params(node: ::RBI::Const).void)
373
+ ).void
374
+ end
375
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
376
+
377
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#411
378
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
379
+ def compatible_with?(other); end
380
+
381
+ # source://rbi//lib/rbi/model.rb#337
382
+ sig { returns(::String) }
383
+ def fully_qualified_name; end
384
+
385
+ # source://rbi//lib/rbi/index.rb#103
386
+ sig { override.returns(T::Array[::String]) }
387
+ def index_ids; end
388
+
389
+ # source://rbi//lib/rbi/model.rb#318
390
+ sig { returns(::String) }
391
+ def name; end
392
+
393
+ # source://rbi//lib/rbi/model.rb#344
394
+ sig { override.returns(::String) }
395
+ def to_s; end
396
+
397
+ # @return [String]
398
+ #
399
+ # source://rbi//lib/rbi/model.rb#318
400
+ def value; end
401
+ end
402
+
403
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#351
404
+ class RBI::DuplicateNodeError < ::RBI::Error; end
405
+
406
+ # source://rbi//lib/rbi.rb#8
407
+ class RBI::Error < ::StandardError; end
408
+
409
+ # source://rbi//lib/rbi/model.rb#891
410
+ class RBI::Extend < ::RBI::Mixin
411
+ include ::RBI::Indexable
412
+
413
+ # source://rbi//lib/rbi/model.rb#903
414
+ sig do
415
+ params(
416
+ name: ::String,
417
+ names: ::String,
418
+ loc: T.nilable(::RBI::Loc),
419
+ comments: T::Array[::RBI::Comment],
420
+ block: T.nilable(T.proc.params(node: ::RBI::Extend).void)
421
+ ).void
422
+ end
423
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
424
+
425
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#510
426
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
427
+ def compatible_with?(other); end
428
+
429
+ # source://rbi//lib/rbi/index.rb#143
430
+ sig { override.returns(T::Array[::String]) }
431
+ def index_ids; end
432
+
433
+ # source://rbi//lib/rbi/model.rb#909
434
+ sig { override.returns(::String) }
435
+ def to_s; end
436
+ end
437
+
438
+ # source://rbi//lib/rbi/model.rb#139
439
+ class RBI::File
440
+ # source://rbi//lib/rbi/model.rb#158
441
+ sig do
442
+ params(
443
+ strictness: T.nilable(::String),
444
+ comments: T::Array[::RBI::Comment],
445
+ block: T.nilable(T.proc.params(file: ::RBI::File).void)
446
+ ).void
447
+ end
448
+ def initialize(strictness: T.unsafe(nil), comments: T.unsafe(nil), &block); end
449
+
450
+ # source://rbi//lib/rbi/model.rb#166
451
+ sig { params(node: ::RBI::Node).void }
452
+ def <<(node); end
453
+
454
+ # source://rbi//lib/rbi/model.rb#149
455
+ sig { returns(T::Array[::RBI::Comment]) }
456
+ def comments; end
457
+
458
+ # @return [Array<Comment>]
459
+ #
460
+ # source://rbi//lib/rbi/model.rb#149
461
+ def comments=(_arg0); end
462
+
463
+ # source://rbi//lib/rbi/model.rb#171
464
+ sig { returns(T::Boolean) }
465
+ def empty?; end
466
+
467
+ # source://rbi//lib/rbi/printer.rb#743
468
+ sig do
469
+ params(
470
+ out: T.any(::IO, ::StringIO),
471
+ indent: ::Integer,
472
+ print_locs: T::Boolean,
473
+ max_line_length: T.nilable(::Integer)
474
+ ).void
475
+ end
476
+ def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
477
+
478
+ # source://rbi//lib/rbi/rbs_printer.rb#989
479
+ sig { params(out: T.any(::IO, ::StringIO), indent: ::Integer, print_locs: T::Boolean).void }
480
+ def rbs_print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end
481
+
482
+ # source://rbi//lib/rbi/rbs_printer.rb#995
483
+ sig { params(indent: ::Integer, print_locs: T::Boolean).returns(::String) }
484
+ def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end
485
+
486
+ # source://rbi//lib/rbi/model.rb#143
487
+ sig { returns(::RBI::Tree) }
488
+ def root; end
489
+
490
+ # @return [Tree]
491
+ #
492
+ # source://rbi//lib/rbi/model.rb#143
493
+ def root=(_arg0); end
494
+
495
+ # source://rbi//lib/rbi/model.rb#146
496
+ sig { returns(T.nilable(::String)) }
497
+ def strictness; end
498
+
499
+ # @return [String, nil]
500
+ #
501
+ # source://rbi//lib/rbi/model.rb#146
502
+ def strictness=(_arg0); end
503
+
504
+ # source://rbi//lib/rbi/printer.rb#749
505
+ sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) }
506
+ def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
507
+ end
508
+
509
+ # source://rbi//lib/rbi/formatter.rb#5
510
+ class RBI::Formatter
511
+ # source://rbi//lib/rbi/formatter.rb#24
512
+ sig do
513
+ params(
514
+ add_sig_templates: T::Boolean,
515
+ group_nodes: T::Boolean,
516
+ max_line_length: T.nilable(::Integer),
517
+ nest_singleton_methods: T::Boolean,
518
+ nest_non_public_members: T::Boolean,
519
+ sort_nodes: T::Boolean
520
+ ).void
521
+ end
522
+ def initialize(add_sig_templates: T.unsafe(nil), group_nodes: T.unsafe(nil), max_line_length: T.unsafe(nil), nest_singleton_methods: T.unsafe(nil), nest_non_public_members: T.unsafe(nil), sort_nodes: T.unsafe(nil)); end
523
+
524
+ # source://rbi//lib/rbi/formatter.rb#47
525
+ sig { params(file: ::RBI::File).void }
526
+ def format_file(file); end
527
+
528
+ # source://rbi//lib/rbi/formatter.rb#52
529
+ sig { params(tree: ::RBI::Tree).void }
530
+ def format_tree(tree); end
531
+
532
+ # source://rbi//lib/rbi/formatter.rb#12
533
+ sig { returns(T.nilable(::Integer)) }
534
+ def max_line_length; end
535
+
536
+ # @return [Integer, nil]
537
+ #
538
+ # source://rbi//lib/rbi/formatter.rb#12
539
+ def max_line_length=(_arg0); end
540
+
541
+ # source://rbi//lib/rbi/formatter.rb#41
542
+ sig { params(file: ::RBI::File).returns(::String) }
543
+ def print_file(file); end
544
+
545
+ # source://rbi//lib/rbi/formatter.rb#9
546
+ sig { params(sort_nodes: T::Boolean).returns(T::Boolean) }
547
+ def sort_nodes=(sort_nodes); end
548
+ end
549
+
550
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#87
551
+ class RBI::Group < ::RBI::Tree
552
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#94
553
+ sig { params(kind: ::RBI::Group::Kind).void }
554
+ def initialize(kind); end
555
+
556
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#91
557
+ sig { returns(::RBI::Group::Kind) }
558
+ def kind; end
559
+ end
560
+
561
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#99
562
+ class RBI::Group::Kind < ::T::Enum
563
+ enums do
564
+ Attrs = new
565
+ Consts = new
566
+ Helpers = new
567
+ Inits = new
568
+ Methods = new
569
+ MixesInClassMethods = new
570
+ Mixins = new
571
+ RequiredAncestors = new
572
+ Sends = new
573
+ SingletonClasses = new
574
+ TEnums = new
575
+ TStructFields = new
576
+ TypeMembers = new
577
+ end
578
+ end
579
+
580
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#5
581
+ class RBI::GroupNodesError < ::RBI::Error; end
582
+
583
+ # Sorbet's misc.
584
+ #
585
+ # source://rbi//lib/rbi/model.rb#1374
586
+ class RBI::Helper < ::RBI::NodeWithComments
587
+ include ::RBI::Indexable
588
+
589
+ # source://rbi//lib/rbi/model.rb#1388
590
+ sig do
591
+ params(
592
+ name: ::String,
593
+ loc: T.nilable(::RBI::Loc),
594
+ comments: T::Array[::RBI::Comment],
595
+ block: T.nilable(T.proc.params(node: ::RBI::Helper).void)
596
+ ).void
597
+ end
598
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
599
+
600
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#528
601
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
602
+ def compatible_with?(other); end
603
+
604
+ # source://rbi//lib/rbi/index.rb#173
605
+ sig { override.returns(T::Array[::String]) }
606
+ def index_ids; end
607
+
608
+ # source://rbi//lib/rbi/model.rb#1378
609
+ sig { returns(::String) }
610
+ def name; end
611
+
612
+ # source://rbi//lib/rbi/model.rb#1395
613
+ sig { override.returns(::String) }
614
+ def to_s; end
615
+ end
616
+
617
+ # source://rbi//lib/rbi/model.rb#868
618
+ class RBI::Include < ::RBI::Mixin
619
+ include ::RBI::Indexable
620
+
621
+ # source://rbi//lib/rbi/model.rb#880
622
+ sig do
623
+ params(
624
+ name: ::String,
625
+ names: ::String,
626
+ loc: T.nilable(::RBI::Loc),
627
+ comments: T::Array[::RBI::Comment],
628
+ block: T.nilable(T.proc.params(node: ::RBI::Include).void)
629
+ ).void
630
+ end
631
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
632
+
633
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#501
634
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
635
+ def compatible_with?(other); end
636
+
637
+ # source://rbi//lib/rbi/index.rb#133
638
+ sig { override.returns(T::Array[::String]) }
639
+ def index_ids; end
640
+
641
+ # source://rbi//lib/rbi/model.rb#886
642
+ sig { override.returns(::String) }
643
+ def to_s; end
644
+ end
645
+
646
+ # source://rbi//lib/rbi/index.rb#5
647
+ class RBI::Index < ::RBI::Visitor
648
+ # source://rbi//lib/rbi/index.rb#21
649
+ sig { void }
650
+ def initialize; end
651
+
652
+ # source://rbi//lib/rbi/index.rb#32
653
+ sig { params(id: ::String).returns(T::Array[::RBI::Node]) }
654
+ def [](id); end
655
+
656
+ # source://rbi//lib/rbi/index.rb#37
657
+ sig { params(nodes: ::RBI::Node).void }
658
+ def index(*nodes); end
659
+
660
+ # source://rbi//lib/rbi/index.rb#27
661
+ sig { returns(T::Array[::String]) }
662
+ def keys; end
663
+
664
+ # source://rbi//lib/rbi/index.rb#42
665
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
666
+ def visit(node); end
667
+
668
+ private
669
+
670
+ # source://rbi//lib/rbi/index.rb#59
671
+ sig { params(node: T.all(::RBI::Indexable, ::RBI::Node)).void }
672
+ def index_node(node); end
673
+
674
+ class << self
675
+ # source://rbi//lib/rbi/index.rb#13
676
+ sig { params(node: ::RBI::Node).returns(::RBI::Index) }
677
+ def index(*node); end
678
+ end
679
+ end
680
+
681
+ # A Node that can be referred to by a unique ID inside an index
682
+ #
683
+ # @abstract Subclasses must implement the `abstract` methods below.
684
+ #
685
+ # source://rbi//lib/rbi/index.rb#74
686
+ module RBI::Indexable
687
+ interface!
688
+
689
+ # Unique IDs that refer to this node.
690
+ #
691
+ # Some nodes can have multiple ids, for example an attribute accessor matches the ID of the
692
+ # getter and the setter.
693
+ #
694
+ # @abstract
695
+ #
696
+ # source://rbi//lib/rbi/index.rb#85
697
+ sig { abstract.returns(T::Array[::String]) }
698
+ def index_ids; end
699
+ end
700
+
701
+ # source://rbi//lib/rbi/model.rb#1073
702
+ class RBI::KwArg < ::RBI::Arg
703
+ # source://rbi//lib/rbi/model.rb#1086
704
+ sig { params(keyword: ::String, value: ::String, loc: T.nilable(::RBI::Loc)).void }
705
+ def initialize(keyword, value, loc: T.unsafe(nil)); end
706
+
707
+ # source://rbi//lib/rbi/model.rb#1092
708
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
709
+ def ==(other); end
710
+
711
+ # source://rbi//lib/rbi/model.rb#1077
712
+ sig { returns(::String) }
713
+ def keyword; end
714
+
715
+ # source://rbi//lib/rbi/model.rb#1097
716
+ sig { returns(::String) }
717
+ def to_s; end
718
+ end
719
+
720
+ # source://rbi//lib/rbi/model.rb#757
721
+ class RBI::KwOptParam < ::RBI::Param
722
+ # source://rbi//lib/rbi/model.rb#772
723
+ sig do
724
+ params(
725
+ name: ::String,
726
+ value: ::String,
727
+ loc: T.nilable(::RBI::Loc),
728
+ comments: T::Array[::RBI::Comment],
729
+ block: T.nilable(T.proc.params(node: ::RBI::KwOptParam).void)
730
+ ).void
731
+ end
732
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
733
+
734
+ # source://rbi//lib/rbi/model.rb#784
735
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
736
+ def ==(other); end
737
+
738
+ # source://rbi//lib/rbi/model.rb#779
739
+ sig { override.returns(::String) }
740
+ def to_s; end
741
+
742
+ # source://rbi//lib/rbi/model.rb#761
743
+ sig { returns(::String) }
744
+ def value; end
745
+ end
746
+
747
+ # source://rbi//lib/rbi/model.rb#730
748
+ class RBI::KwParam < ::RBI::Param
749
+ # source://rbi//lib/rbi/model.rb#741
750
+ sig do
751
+ params(
752
+ name: ::String,
753
+ loc: T.nilable(::RBI::Loc),
754
+ comments: T::Array[::RBI::Comment],
755
+ block: T.nilable(T.proc.params(node: ::RBI::KwParam).void)
756
+ ).void
757
+ end
758
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
759
+
760
+ # source://rbi//lib/rbi/model.rb#752
761
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
762
+ def ==(other); end
763
+
764
+ # source://rbi//lib/rbi/model.rb#747
765
+ sig { override.returns(::String) }
766
+ def to_s; end
767
+ end
768
+
769
+ # source://rbi//lib/rbi/model.rb#789
770
+ class RBI::KwRestParam < ::RBI::Param
771
+ # source://rbi//lib/rbi/model.rb#800
772
+ sig do
773
+ params(
774
+ name: ::String,
775
+ loc: T.nilable(::RBI::Loc),
776
+ comments: T::Array[::RBI::Comment],
777
+ block: T.nilable(T.proc.params(node: ::RBI::KwRestParam).void)
778
+ ).void
779
+ end
780
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
781
+
782
+ # source://rbi//lib/rbi/model.rb#811
783
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
784
+ def ==(other); end
785
+
786
+ # source://rbi//lib/rbi/model.rb#806
787
+ sig { override.returns(::String) }
788
+ def to_s; end
789
+ end
790
+
791
+ # source://rbi//lib/rbi/loc.rb#5
792
+ class RBI::Loc
793
+ # source://rbi//lib/rbi/loc.rb#38
794
+ sig do
795
+ params(
796
+ file: T.nilable(::String),
797
+ begin_line: T.nilable(::Integer),
798
+ end_line: T.nilable(::Integer),
799
+ begin_column: T.nilable(::Integer),
800
+ end_column: T.nilable(::Integer)
801
+ ).void
802
+ end
803
+ def initialize(file: T.unsafe(nil), begin_line: T.unsafe(nil), end_line: T.unsafe(nil), begin_column: T.unsafe(nil), end_column: T.unsafe(nil)); end
804
+
805
+ # @return [Integer, nil]
806
+ #
807
+ # source://rbi//lib/rbi/loc.rb#27
808
+ def begin_column; end
809
+
810
+ # source://rbi//lib/rbi/loc.rb#27
811
+ sig { returns(T.nilable(::Integer)) }
812
+ def begin_line; end
813
+
814
+ # @return [Integer, nil]
815
+ #
816
+ # source://rbi//lib/rbi/loc.rb#27
817
+ def end_column; end
818
+
819
+ # @return [Integer, nil]
820
+ #
821
+ # source://rbi//lib/rbi/loc.rb#27
822
+ def end_line; end
823
+
824
+ # source://rbi//lib/rbi/loc.rb#24
825
+ sig { returns(T.nilable(::String)) }
826
+ def file; end
827
+
828
+ # source://rbi//lib/rbi/loc.rb#56
829
+ sig { returns(T.nilable(::String)) }
830
+ def source; end
831
+
832
+ # source://rbi//lib/rbi/loc.rb#47
833
+ sig { returns(::String) }
834
+ def to_s; end
835
+
836
+ class << self
837
+ # source://rbi//lib/rbi/loc.rb#12
838
+ sig { params(file: ::String, prism_location: ::Prism::Location).returns(::RBI::Loc) }
839
+ def from_prism(file, prism_location); end
840
+ end
841
+ end
842
+
843
+ # A tree that _might_ contain conflicts
844
+ #
845
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#330
846
+ class RBI::MergeTree < ::RBI::Tree
847
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#344
848
+ sig do
849
+ params(
850
+ loc: T.nilable(::RBI::Loc),
851
+ comments: T::Array[::RBI::Comment],
852
+ conflicts: T::Array[::RBI::Rewriters::Merge::Conflict],
853
+ block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
854
+ ).void
855
+ end
856
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), conflicts: T.unsafe(nil), &block); end
857
+
858
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#334
859
+ sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) }
860
+ def conflicts; end
861
+ end
862
+
863
+ # Methods and args
864
+ #
865
+ # source://rbi//lib/rbi/model.rb#485
866
+ class RBI::Method < ::RBI::NodeWithComments
867
+ include ::RBI::Indexable
868
+
869
+ # source://rbi//lib/rbi/model.rb#515
870
+ sig do
871
+ params(
872
+ name: ::String,
873
+ params: T::Array[::RBI::Param],
874
+ is_singleton: T::Boolean,
875
+ visibility: ::RBI::Visibility,
876
+ sigs: T::Array[::RBI::Sig],
877
+ loc: T.nilable(::RBI::Loc),
878
+ comments: T::Array[::RBI::Comment],
879
+ block: T.nilable(T.proc.params(node: ::RBI::Method).void)
880
+ ).void
881
+ end
882
+ def initialize(name, params: T.unsafe(nil), is_singleton: T.unsafe(nil), visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
883
+
884
+ # source://rbi//lib/rbi/model.rb#535
885
+ sig { params(param: ::RBI::Param).void }
886
+ def <<(param); end
887
+
888
+ # source://rbi//lib/rbi/model.rb#570
889
+ sig { params(name: ::String).void }
890
+ def add_block_param(name); end
891
+
892
+ # source://rbi//lib/rbi/model.rb#560
893
+ sig { params(name: ::String, default_value: ::String).void }
894
+ def add_kw_opt_param(name, default_value); end
895
+
896
+ # source://rbi//lib/rbi/model.rb#555
897
+ sig { params(name: ::String).void }
898
+ def add_kw_param(name); end
899
+
900
+ # source://rbi//lib/rbi/model.rb#565
901
+ sig { params(name: ::String).void }
902
+ def add_kw_rest_param(name); end
903
+
904
+ # source://rbi//lib/rbi/model.rb#545
905
+ sig { params(name: ::String, default_value: ::String).void }
906
+ def add_opt_param(name, default_value); end
907
+
908
+ # source://rbi//lib/rbi/model.rb#540
909
+ sig { params(name: ::String).void }
910
+ def add_param(name); end
911
+
912
+ # source://rbi//lib/rbi/model.rb#550
913
+ sig { params(name: ::String).void }
914
+ def add_rest_param(name); end
915
+
916
+ # source://rbi//lib/rbi/model.rb#587
917
+ sig do
918
+ params(
919
+ params: T::Array[::RBI::SigParam],
920
+ return_type: T.any(::RBI::Type, ::String),
921
+ is_abstract: T::Boolean,
922
+ is_override: T::Boolean,
923
+ is_overridable: T::Boolean,
924
+ is_final: T::Boolean,
925
+ type_params: T::Array[::String],
926
+ checked: T.nilable(::Symbol),
927
+ block: T.nilable(T.proc.params(node: ::RBI::Sig).void)
928
+ ).void
929
+ end
930
+ def add_sig(params: T.unsafe(nil), return_type: T.unsafe(nil), is_abstract: T.unsafe(nil), is_override: T.unsafe(nil), is_overridable: T.unsafe(nil), is_final: T.unsafe(nil), type_params: T.unsafe(nil), checked: T.unsafe(nil), &block); end
931
+
932
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#469
933
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
934
+ def compatible_with?(other); end
935
+
936
+ # source://rbi//lib/rbi/model.rb#613
937
+ sig { returns(::String) }
938
+ def fully_qualified_name; end
939
+
940
+ # source://rbi//lib/rbi/index.rb#123
941
+ sig { override.returns(T::Array[::String]) }
942
+ def index_ids; end
943
+
944
+ # source://rbi//lib/rbi/model.rb#495
945
+ sig { returns(T::Boolean) }
946
+ def is_singleton; end
947
+
948
+ # @return [Boolean]
949
+ #
950
+ # source://rbi//lib/rbi/model.rb#495
951
+ def is_singleton=(_arg0); end
952
+
953
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#478
954
+ sig { override.params(other: ::RBI::Node).void }
955
+ def merge_with(other); end
956
+
957
+ # source://rbi//lib/rbi/model.rb#489
958
+ sig { returns(::String) }
959
+ def name; end
960
+
961
+ # @return [String]
962
+ #
963
+ # source://rbi//lib/rbi/model.rb#489
964
+ def name=(_arg0); end
965
+
966
+ # source://rbi//lib/rbi/model.rb#492
967
+ sig { returns(T::Array[::RBI::Param]) }
968
+ def params; end
969
+
970
+ # source://rbi//lib/rbi/model.rb#501
971
+ sig { returns(T::Array[::RBI::Sig]) }
972
+ def sigs; end
973
+
974
+ # @return [Array<Sig>]
975
+ #
976
+ # source://rbi//lib/rbi/model.rb#501
977
+ def sigs=(_arg0); end
978
+
979
+ # source://rbi//lib/rbi/model.rb#622
980
+ sig { override.returns(::String) }
981
+ def to_s; end
982
+
983
+ # source://rbi//lib/rbi/model.rb#498
984
+ sig { returns(::RBI::Visibility) }
985
+ def visibility; end
986
+
987
+ # @return [Visibility]
988
+ #
989
+ # source://rbi//lib/rbi/model.rb#498
990
+ def visibility=(_arg0); end
991
+ end
992
+
993
+ # source://rbi//lib/rbi/model.rb#1435
994
+ class RBI::MixesInClassMethods < ::RBI::Mixin
995
+ include ::RBI::Indexable
996
+
997
+ # source://rbi//lib/rbi/model.rb#1447
998
+ sig do
999
+ params(
1000
+ name: ::String,
1001
+ names: ::String,
1002
+ loc: T.nilable(::RBI::Loc),
1003
+ comments: T::Array[::RBI::Comment],
1004
+ block: T.nilable(T.proc.params(node: ::RBI::MixesInClassMethods).void)
1005
+ ).void
1006
+ end
1007
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1008
+
1009
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#519
1010
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1011
+ def compatible_with?(other); end
1012
+
1013
+ # source://rbi//lib/rbi/index.rb#153
1014
+ sig { override.returns(T::Array[::String]) }
1015
+ def index_ids; end
1016
+
1017
+ # source://rbi//lib/rbi/model.rb#1453
1018
+ sig { override.returns(::String) }
1019
+ def to_s; end
1020
+ end
1021
+
1022
+ # Mixins
1023
+ #
1024
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1025
+ #
1026
+ # source://rbi//lib/rbi/model.rb#845
1027
+ class RBI::Mixin < ::RBI::NodeWithComments
1028
+ abstract!
1029
+
1030
+ # source://rbi//lib/rbi/model.rb#862
1031
+ sig do
1032
+ params(
1033
+ name: ::String,
1034
+ names: T::Array[::String],
1035
+ loc: T.nilable(::RBI::Loc),
1036
+ comments: T::Array[::RBI::Comment]
1037
+ ).void
1038
+ end
1039
+ def initialize(name, names, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1040
+
1041
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#492
1042
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1043
+ def compatible_with?(other); end
1044
+
1045
+ # source://rbi//lib/rbi/model.rb#852
1046
+ sig { returns(T::Array[::String]) }
1047
+ def names; end
1048
+ end
1049
+
1050
+ # source://rbi//lib/rbi/model.rb#192
1051
+ class RBI::Module < ::RBI::Scope
1052
+ # source://rbi//lib/rbi/model.rb#206
1053
+ sig do
1054
+ params(
1055
+ name: ::String,
1056
+ loc: T.nilable(::RBI::Loc),
1057
+ comments: T::Array[::RBI::Comment],
1058
+ block: T.nilable(T.proc.params(node: ::RBI::Module).void)
1059
+ ).void
1060
+ end
1061
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1062
+
1063
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#393
1064
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1065
+ def compatible_with?(other); end
1066
+
1067
+ # source://rbi//lib/rbi/model.rb#213
1068
+ sig { override.returns(::String) }
1069
+ def fully_qualified_name; end
1070
+
1071
+ # source://rbi//lib/rbi/model.rb#196
1072
+ sig { returns(::String) }
1073
+ def name; end
1074
+
1075
+ # @return [String]
1076
+ #
1077
+ # source://rbi//lib/rbi/model.rb#196
1078
+ def name=(_arg0); end
1079
+ end
1080
+
1081
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1082
+ #
1083
+ # source://rbi//lib/rbi/model.rb#7
1084
+ class RBI::Node
1085
+ abstract!
1086
+
1087
+ # source://rbi//lib/rbi/model.rb#20
1088
+ sig { params(loc: T.nilable(::RBI::Loc)).void }
1089
+ def initialize(loc: T.unsafe(nil)); end
1090
+
1091
+ # Can `self` and `_other` be merged into a single definition?
1092
+ #
1093
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#287
1094
+ sig { params(_other: ::RBI::Node).returns(T::Boolean) }
1095
+ def compatible_with?(_other); end
1096
+
1097
+ # source://rbi//lib/rbi/model.rb#26
1098
+ sig { void }
1099
+ def detach; end
1100
+
1101
+ # source://rbi//lib/rbi/model.rb#17
1102
+ sig { returns(T.nilable(::RBI::Loc)) }
1103
+ def loc; end
1104
+
1105
+ # @return [Loc, nil]
1106
+ #
1107
+ # source://rbi//lib/rbi/model.rb#17
1108
+ def loc=(_arg0); end
1109
+
1110
+ # Merge `self` and `other` into a single definition
1111
+ #
1112
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#293
1113
+ sig { params(other: ::RBI::Node).void }
1114
+ def merge_with(other); end
1115
+
1116
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#296
1117
+ sig { returns(T.nilable(::RBI::ConflictTree)) }
1118
+ def parent_conflict_tree; end
1119
+
1120
+ # source://rbi//lib/rbi/model.rb#48
1121
+ sig { returns(T.nilable(::RBI::Scope)) }
1122
+ def parent_scope; end
1123
+
1124
+ # source://rbi//lib/rbi/model.rb#14
1125
+ sig { returns(T.nilable(::RBI::Tree)) }
1126
+ def parent_tree; end
1127
+
1128
+ # @return [Tree, nil]
1129
+ #
1130
+ # source://rbi//lib/rbi/model.rb#14
1131
+ def parent_tree=(_arg0); end
1132
+
1133
+ # source://rbi//lib/rbi/printer.rb#767
1134
+ sig do
1135
+ params(
1136
+ out: T.any(::IO, ::StringIO),
1137
+ indent: ::Integer,
1138
+ print_locs: T::Boolean,
1139
+ max_line_length: T.nilable(::Integer)
1140
+ ).void
1141
+ end
1142
+ def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
1143
+
1144
+ # source://rbi//lib/rbi/rbs_printer.rb#1006
1145
+ sig { params(out: T.any(::IO, ::StringIO), indent: ::Integer, print_locs: T::Boolean).void }
1146
+ def rbs_print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end
1147
+
1148
+ # source://rbi//lib/rbi/rbs_printer.rb#1012
1149
+ sig { params(indent: ::Integer, print_locs: T::Boolean).returns(::String) }
1150
+ def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end
1151
+
1152
+ # @raise [ReplaceNodeError]
1153
+ #
1154
+ # source://rbi//lib/rbi/model.rb#35
1155
+ sig { params(node: ::RBI::Node).void }
1156
+ def replace(node); end
1157
+
1158
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#94
1159
+ sig { params(version: ::Gem::Version).returns(T::Boolean) }
1160
+ def satisfies_version?(version); end
1161
+
1162
+ # source://rbi//lib/rbi/printer.rb#773
1163
+ sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) }
1164
+ def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
1165
+ end
1166
+
1167
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1168
+ #
1169
+ # source://rbi//lib/rbi/model.rb#85
1170
+ class RBI::NodeWithComments < ::RBI::Node
1171
+ abstract!
1172
+
1173
+ # source://rbi//lib/rbi/model.rb#95
1174
+ sig { params(loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
1175
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1176
+
1177
+ # source://rbi//lib/rbi/model.rb#101
1178
+ sig { returns(T::Array[::String]) }
1179
+ def annotations; end
1180
+
1181
+ # source://rbi//lib/rbi/model.rb#92
1182
+ sig { returns(T::Array[::RBI::Comment]) }
1183
+ def comments; end
1184
+
1185
+ # @return [Array<Comment>]
1186
+ #
1187
+ # source://rbi//lib/rbi/model.rb#92
1188
+ def comments=(_arg0); end
1189
+
1190
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#311
1191
+ sig { override.params(other: ::RBI::Node).void }
1192
+ def merge_with(other); end
1193
+
1194
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#104
1195
+ sig { returns(T::Array[::Gem::Requirement]) }
1196
+ def version_requirements; end
1197
+ end
1198
+
1199
+ # source://rbi//lib/rbi/model.rb#676
1200
+ class RBI::OptParam < ::RBI::Param
1201
+ # source://rbi//lib/rbi/model.rb#691
1202
+ sig do
1203
+ params(
1204
+ name: ::String,
1205
+ value: ::String,
1206
+ loc: T.nilable(::RBI::Loc),
1207
+ comments: T::Array[::RBI::Comment],
1208
+ block: T.nilable(T.proc.params(node: ::RBI::OptParam).void)
1209
+ ).void
1210
+ end
1211
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1212
+
1213
+ # source://rbi//lib/rbi/model.rb#698
1214
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
1215
+ def ==(other); end
1216
+
1217
+ # source://rbi//lib/rbi/model.rb#680
1218
+ sig { returns(::String) }
1219
+ def value; end
1220
+ end
1221
+
1222
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1223
+ #
1224
+ # source://rbi//lib/rbi/model.rb#627
1225
+ class RBI::Param < ::RBI::NodeWithComments
1226
+ abstract!
1227
+
1228
+ # source://rbi//lib/rbi/model.rb#643
1229
+ sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
1230
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1231
+
1232
+ # source://rbi//lib/rbi/model.rb#634
1233
+ sig { returns(::String) }
1234
+ def name; end
1235
+
1236
+ # source://rbi//lib/rbi/model.rb#649
1237
+ sig { override.returns(::String) }
1238
+ def to_s; end
1239
+ end
1240
+
1241
+ # source://rbi//lib/rbi/parser.rb#7
1242
+ class RBI::ParseError < ::RBI::Error
1243
+ # source://rbi//lib/rbi/parser.rb#14
1244
+ sig { params(message: ::String, location: ::RBI::Loc).void }
1245
+ def initialize(message, location); end
1246
+
1247
+ # source://rbi//lib/rbi/parser.rb#11
1248
+ sig { returns(::RBI::Loc) }
1249
+ def location; end
1250
+ end
1251
+
1252
+ # source://rbi//lib/rbi/parser.rb#53
1253
+ class RBI::Parser
1254
+ # source://rbi//lib/rbi/parser.rb#88
1255
+ sig { params(path: ::String).returns(::RBI::Tree) }
1256
+ def parse_file(path); end
1257
+
1258
+ # source://rbi//lib/rbi/parser.rb#83
1259
+ sig { params(string: ::String).returns(::RBI::Tree) }
1260
+ def parse_string(string); end
1261
+
1262
+ private
1263
+
1264
+ # source://rbi//lib/rbi/parser.rb#95
1265
+ sig { params(source: ::String, file: ::String).returns(::RBI::Tree) }
1266
+ def parse(source, file:); end
1267
+
1268
+ class << self
1269
+ # source://rbi//lib/rbi/parser.rb#65
1270
+ sig { params(path: ::String).returns(::RBI::Tree) }
1271
+ def parse_file(path); end
1272
+
1273
+ # source://rbi//lib/rbi/parser.rb#70
1274
+ sig { params(paths: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
1275
+ def parse_files(paths); end
1276
+
1277
+ # source://rbi//lib/rbi/parser.rb#60
1278
+ sig { params(string: ::String).returns(::RBI::Tree) }
1279
+ def parse_string(string); end
1280
+
1281
+ # source://rbi//lib/rbi/parser.rb#76
1282
+ sig { params(strings: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
1283
+ def parse_strings(strings); end
1284
+ end
1285
+ end
1286
+
1287
+ # source://rbi//lib/rbi/parser.rb#828
1288
+ class RBI::Parser::SigBuilder < ::RBI::Parser::Visitor
1289
+ # source://rbi//lib/rbi/parser.rb#835
1290
+ sig { params(content: ::String, file: ::String).void }
1291
+ def initialize(content, file:); end
1292
+
1293
+ # source://rbi//lib/rbi/parser.rb#832
1294
+ sig { returns(::RBI::Sig) }
1295
+ def current; end
1296
+
1297
+ # source://rbi//lib/rbi/parser.rb#887
1298
+ sig { override.params(node: ::Prism::AssocNode).void }
1299
+ def visit_assoc_node(node); end
1300
+
1301
+ # source://rbi//lib/rbi/parser.rb#842
1302
+ sig { override.params(node: ::Prism::CallNode).void }
1303
+ def visit_call_node(node); end
1304
+ end
1305
+
1306
+ # source://rbi//lib/rbi/parser.rb#153
1307
+ class RBI::Parser::TreeBuilder < ::RBI::Parser::Visitor
1308
+ # source://rbi//lib/rbi/parser.rb#163
1309
+ sig { params(source: ::String, comments: T::Array[::Prism::Comment], file: ::String).void }
1310
+ def initialize(source, comments:, file:); end
1311
+
1312
+ # source://rbi//lib/rbi/parser.rb#160
1313
+ sig { returns(T.nilable(::Prism::Node)) }
1314
+ def last_node; end
1315
+
1316
+ # source://rbi//lib/rbi/parser.rb#157
1317
+ sig { returns(::RBI::Tree) }
1318
+ def tree; end
1319
+
1320
+ # source://rbi//lib/rbi/parser.rb#324
1321
+ sig { params(node: ::Prism::CallNode).void }
1322
+ def visit_call_node(node); end
1323
+
1324
+ # source://rbi//lib/rbi/parser.rb#175
1325
+ sig { override.params(node: ::Prism::ClassNode).void }
1326
+ def visit_class_node(node); end
1327
+
1328
+ # source://rbi//lib/rbi/parser.rb#224
1329
+ sig { params(node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode)).void }
1330
+ def visit_constant_assign(node); end
1331
+
1332
+ # source://rbi//lib/rbi/parser.rb#217
1333
+ sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
1334
+ def visit_constant_path_write_node(node); end
1335
+
1336
+ # source://rbi//lib/rbi/parser.rb#210
1337
+ sig { override.params(node: ::Prism::ConstantWriteNode).void }
1338
+ def visit_constant_write_node(node); end
1339
+
1340
+ # source://rbi//lib/rbi/parser.rb#257
1341
+ sig { override.params(node: ::Prism::DefNode).void }
1342
+ def visit_def_node(node); end
1343
+
1344
+ # source://rbi//lib/rbi/parser.rb#278
1345
+ sig { override.params(node: ::Prism::ModuleNode).void }
1346
+ def visit_module_node(node); end
1347
+
1348
+ # source://rbi//lib/rbi/parser.rb#296
1349
+ sig { override.params(node: ::Prism::ProgramNode).void }
1350
+ def visit_program_node(node); end
1351
+
1352
+ # source://rbi//lib/rbi/parser.rb#307
1353
+ sig { override.params(node: ::Prism::SingletonClassNode).void }
1354
+ def visit_singleton_class_node(node); end
1355
+
1356
+ private
1357
+
1358
+ # Collect all the remaining comments within a node
1359
+ #
1360
+ # source://rbi//lib/rbi/parser.rb#503
1361
+ sig { params(node: ::Prism::Node).void }
1362
+ def collect_dangling_comments(node); end
1363
+
1364
+ # Collect all the remaining comments after visiting the tree
1365
+ #
1366
+ # source://rbi//lib/rbi/parser.rb#521
1367
+ sig { void }
1368
+ def collect_orphan_comments; end
1369
+
1370
+ # source://rbi//lib/rbi/parser.rb#544
1371
+ sig { returns(::RBI::Tree) }
1372
+ def current_scope; end
1373
+
1374
+ # source://rbi//lib/rbi/parser.rb#549
1375
+ sig { returns(T::Array[::RBI::Sig]) }
1376
+ def current_sigs; end
1377
+
1378
+ # source://rbi//lib/rbi/parser.rb#556
1379
+ sig { params(sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Comment]) }
1380
+ def detach_comments_from_sigs(sigs); end
1381
+
1382
+ # source://rbi//lib/rbi/parser.rb#568
1383
+ sig { params(node: ::Prism::Node).returns(T::Array[::RBI::Comment]) }
1384
+ def node_comments(node); end
1385
+
1386
+ # source://rbi//lib/rbi/parser.rb#586
1387
+ sig { params(node: ::Prism::Comment).returns(::RBI::Comment) }
1388
+ def parse_comment(node); end
1389
+
1390
+ # source://rbi//lib/rbi/parser.rb#615
1391
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Array[::RBI::Param]) }
1392
+ def parse_params(node); end
1393
+
1394
+ # source://rbi//lib/rbi/parser.rb#591
1395
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Array[::RBI::Arg]) }
1396
+ def parse_send_args(node); end
1397
+
1398
+ # source://rbi//lib/rbi/parser.rb#689
1399
+ sig { params(node: ::Prism::CallNode).returns(::RBI::Sig) }
1400
+ def parse_sig(node); end
1401
+
1402
+ # source://rbi//lib/rbi/parser.rb#698
1403
+ sig do
1404
+ params(
1405
+ node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode)
1406
+ ).returns(T.nilable(::RBI::Struct))
1407
+ end
1408
+ def parse_struct(node); end
1409
+
1410
+ # source://rbi//lib/rbi/parser.rb#748
1411
+ sig { params(send: ::Prism::CallNode).void }
1412
+ def parse_tstruct_field(send); end
1413
+
1414
+ # source://rbi//lib/rbi/parser.rb#785
1415
+ sig { params(name: ::String, node: ::Prism::Node).returns(::RBI::Visibility) }
1416
+ def parse_visibility(name, node); end
1417
+
1418
+ # source://rbi//lib/rbi/parser.rb#799
1419
+ sig { void }
1420
+ def separate_header_comments; end
1421
+
1422
+ # source://rbi//lib/rbi/parser.rb#809
1423
+ sig { void }
1424
+ def set_root_tree_loc; end
1425
+
1426
+ # source://rbi//lib/rbi/parser.rb#823
1427
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
1428
+ def type_variable_definition?(node); end
1429
+ end
1430
+
1431
+ # source://rbi//lib/rbi/parser.rb#122
1432
+ class RBI::Parser::Visitor < ::Prism::Visitor
1433
+ # source://rbi//lib/rbi/parser.rb#126
1434
+ sig { params(source: ::String, file: ::String).void }
1435
+ def initialize(source, file:); end
1436
+
1437
+ private
1438
+
1439
+ # source://rbi//lib/rbi/parser.rb#136
1440
+ sig { params(node: ::Prism::Node).returns(::RBI::Loc) }
1441
+ def node_loc(node); end
1442
+
1443
+ # source://rbi//lib/rbi/parser.rb#141
1444
+ sig { params(node: T.nilable(::Prism::Node)).returns(T.nilable(::String)) }
1445
+ def node_string(node); end
1446
+
1447
+ # source://rbi//lib/rbi/parser.rb#148
1448
+ sig { params(node: ::Prism::Node).returns(::String) }
1449
+ def node_string!(node); end
1450
+ end
1451
+
1452
+ # source://rbi//lib/rbi/printer.rb#7
1453
+ class RBI::Printer < ::RBI::Visitor
1454
+ # source://rbi//lib/rbi/printer.rb#30
1455
+ sig do
1456
+ params(
1457
+ out: T.any(::IO, ::StringIO),
1458
+ indent: ::Integer,
1459
+ print_locs: T::Boolean,
1460
+ max_line_length: T.nilable(::Integer)
1461
+ ).void
1462
+ end
1463
+ def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
1464
+
1465
+ # source://rbi//lib/rbi/printer.rb#17
1466
+ sig { returns(::Integer) }
1467
+ def current_indent; end
1468
+
1469
+ # source://rbi//lib/rbi/printer.rb#48
1470
+ sig { void }
1471
+ def dedent; end
1472
+
1473
+ # @return [Boolean]
1474
+ #
1475
+ # source://rbi//lib/rbi/printer.rb#11
1476
+ def in_visibility_group; end
1477
+
1478
+ # @return [Boolean]
1479
+ #
1480
+ # source://rbi//lib/rbi/printer.rb#11
1481
+ def in_visibility_group=(_arg0); end
1482
+
1483
+ # Printing
1484
+ #
1485
+ # source://rbi//lib/rbi/printer.rb#43
1486
+ sig { void }
1487
+ def indent; end
1488
+
1489
+ # source://rbi//lib/rbi/printer.rb#20
1490
+ sig { returns(T.nilable(::Integer)) }
1491
+ def max_line_length; end
1492
+
1493
+ # source://rbi//lib/rbi/printer.rb#14
1494
+ sig { returns(T.nilable(::RBI::Node)) }
1495
+ def previous_node; end
1496
+
1497
+ # Print a string without indentation nor `\n` at the end.
1498
+ #
1499
+ # source://rbi//lib/rbi/printer.rb#54
1500
+ sig { params(string: ::String).void }
1501
+ def print(string); end
1502
+
1503
+ # source://rbi//lib/rbi/printer.rb#11
1504
+ sig { returns(T::Boolean) }
1505
+ def print_locs; end
1506
+
1507
+ # @return [Boolean]
1508
+ #
1509
+ # source://rbi//lib/rbi/printer.rb#11
1510
+ def print_locs=(_arg0); end
1511
+
1512
+ # Print a string with indentation and `\n` at the end.
1513
+ #
1514
+ # source://rbi//lib/rbi/printer.rb#74
1515
+ sig { params(string: ::String).void }
1516
+ def printl(string); end
1517
+
1518
+ # Print a string without indentation but with a `\n` at the end.
1519
+ #
1520
+ # source://rbi//lib/rbi/printer.rb#60
1521
+ sig { params(string: T.nilable(::String)).void }
1522
+ def printn(string = T.unsafe(nil)); end
1523
+
1524
+ # Print a string with indentation but without a `\n` at the end.
1525
+ #
1526
+ # source://rbi//lib/rbi/printer.rb#67
1527
+ sig { params(string: T.nilable(::String)).void }
1528
+ def printt(string = T.unsafe(nil)); end
1529
+
1530
+ # source://rbi//lib/rbi/printer.rb#80
1531
+ sig { override.params(nodes: T::Array[::RBI::Node]).void }
1532
+ def visit_all(nodes); end
1533
+
1534
+ # source://rbi//lib/rbi/printer.rb#91
1535
+ sig { override.params(file: ::RBI::File).void }
1536
+ def visit_file(file); end
1537
+
1538
+ private
1539
+
1540
+ # source://rbi//lib/rbi/printer.rb#618
1541
+ sig { params(node: ::RBI::Node).returns(T::Boolean) }
1542
+ def oneline?(node); end
1543
+
1544
+ # source://rbi//lib/rbi/printer.rb#576
1545
+ sig { params(node: ::RBI::Node).void }
1546
+ def print_blank_line_before(node); end
1547
+
1548
+ # source://rbi//lib/rbi/printer.rb#586
1549
+ sig { params(node: ::RBI::Node).void }
1550
+ def print_loc(node); end
1551
+
1552
+ # source://rbi//lib/rbi/printer.rb#592
1553
+ sig { params(node: ::RBI::Param, last: T::Boolean).void }
1554
+ def print_param_comment_leading_space(node, last:); end
1555
+
1556
+ # source://rbi//lib/rbi/printer.rb#665
1557
+ sig { params(node: ::RBI::Sig).void }
1558
+ def print_sig_as_block(node); end
1559
+
1560
+ # source://rbi//lib/rbi/printer.rb#640
1561
+ sig { params(node: ::RBI::Sig).void }
1562
+ def print_sig_as_line(node); end
1563
+
1564
+ # source://rbi//lib/rbi/printer.rb#610
1565
+ sig { params(node: ::RBI::SigParam, last: T::Boolean).void }
1566
+ def print_sig_param_comment_leading_space(node, last:); end
1567
+
1568
+ # source://rbi//lib/rbi/printer.rb#721
1569
+ sig { params(node: ::RBI::Sig).returns(T::Array[::String]) }
1570
+ def sig_modifiers(node); end
1571
+
1572
+ # source://rbi//lib/rbi/printer.rb#417
1573
+ sig { override.params(node: ::RBI::Arg).void }
1574
+ def visit_arg(node); end
1575
+
1576
+ # source://rbi//lib/rbi/printer.rb#237
1577
+ sig { params(node: ::RBI::Attr).void }
1578
+ def visit_attr(node); end
1579
+
1580
+ # source://rbi//lib/rbi/printer.rb#222
1581
+ sig { override.params(node: ::RBI::AttrAccessor).void }
1582
+ def visit_attr_accessor(node); end
1583
+
1584
+ # source://rbi//lib/rbi/printer.rb#227
1585
+ sig { override.params(node: ::RBI::AttrReader).void }
1586
+ def visit_attr_reader(node); end
1587
+
1588
+ # source://rbi//lib/rbi/printer.rb#232
1589
+ sig { override.params(node: ::RBI::AttrWriter).void }
1590
+ def visit_attr_writer(node); end
1591
+
1592
+ # source://rbi//lib/rbi/printer.rb#126
1593
+ sig { override.params(node: ::RBI::BlankLine).void }
1594
+ def visit_blank_line(node); end
1595
+
1596
+ # source://rbi//lib/rbi/printer.rb#344
1597
+ sig { override.params(node: ::RBI::BlockParam).void }
1598
+ def visit_block_param(node); end
1599
+
1600
+ # source://rbi//lib/rbi/printer.rb#143
1601
+ sig { override.params(node: ::RBI::Class).void }
1602
+ def visit_class(node); end
1603
+
1604
+ # source://rbi//lib/rbi/printer.rb#110
1605
+ sig { override.params(node: ::RBI::Comment).void }
1606
+ def visit_comment(node); end
1607
+
1608
+ # source://rbi//lib/rbi/printer.rb#553
1609
+ sig { override.params(node: ::RBI::ConflictTree).void }
1610
+ def visit_conflict_tree(node); end
1611
+
1612
+ # source://rbi//lib/rbi/printer.rb#213
1613
+ sig { override.params(node: ::RBI::Const).void }
1614
+ def visit_const(node); end
1615
+
1616
+ # source://rbi//lib/rbi/printer.rb#354
1617
+ sig { override.params(node: ::RBI::Extend).void }
1618
+ def visit_extend(node); end
1619
+
1620
+ # source://rbi//lib/rbi/printer.rb#525
1621
+ sig { override.params(node: ::RBI::Group).void }
1622
+ def visit_group(node); end
1623
+
1624
+ # source://rbi//lib/rbi/printer.rb#511
1625
+ sig { override.params(node: ::RBI::Helper).void }
1626
+ def visit_helper(node); end
1627
+
1628
+ # source://rbi//lib/rbi/printer.rb#349
1629
+ sig { override.params(node: ::RBI::Include).void }
1630
+ def visit_include(node); end
1631
+
1632
+ # source://rbi//lib/rbi/printer.rb#422
1633
+ sig { override.params(node: ::RBI::KwArg).void }
1634
+ def visit_kw_arg(node); end
1635
+
1636
+ # source://rbi//lib/rbi/printer.rb#334
1637
+ sig { override.params(node: ::RBI::KwOptParam).void }
1638
+ def visit_kw_opt_param(node); end
1639
+
1640
+ # source://rbi//lib/rbi/printer.rb#329
1641
+ sig { override.params(node: ::RBI::KwParam).void }
1642
+ def visit_kw_param(node); end
1643
+
1644
+ # source://rbi//lib/rbi/printer.rb#339
1645
+ sig { override.params(node: ::RBI::KwRestParam).void }
1646
+ def visit_kw_rest_param(node); end
1647
+
1648
+ # source://rbi//lib/rbi/printer.rb#265
1649
+ sig { override.params(node: ::RBI::Method).void }
1650
+ def visit_method(node); end
1651
+
1652
+ # source://rbi//lib/rbi/printer.rb#520
1653
+ sig { override.params(node: ::RBI::MixesInClassMethods).void }
1654
+ def visit_mixes_in_class_methods(node); end
1655
+
1656
+ # source://rbi//lib/rbi/printer.rb#359
1657
+ sig { params(node: ::RBI::Mixin).void }
1658
+ def visit_mixin(node); end
1659
+
1660
+ # source://rbi//lib/rbi/printer.rb#138
1661
+ sig { override.params(node: ::RBI::Module).void }
1662
+ def visit_module(node); end
1663
+
1664
+ # source://rbi//lib/rbi/printer.rb#319
1665
+ sig { override.params(node: ::RBI::OptParam).void }
1666
+ def visit_opt_param(node); end
1667
+
1668
+ # source://rbi//lib/rbi/printer.rb#386
1669
+ sig { override.params(node: ::RBI::Private).void }
1670
+ def visit_private(node); end
1671
+
1672
+ # source://rbi//lib/rbi/printer.rb#381
1673
+ sig { override.params(node: ::RBI::Protected).void }
1674
+ def visit_protected(node); end
1675
+
1676
+ # source://rbi//lib/rbi/printer.rb#376
1677
+ sig { override.params(node: ::RBI::Public).void }
1678
+ def visit_public(node); end
1679
+
1680
+ # source://rbi//lib/rbi/printer.rb#314
1681
+ sig { override.params(node: ::RBI::ReqParam).void }
1682
+ def visit_req_param(node); end
1683
+
1684
+ # source://rbi//lib/rbi/printer.rb#544
1685
+ sig { override.params(node: ::RBI::RequiresAncestor).void }
1686
+ def visit_requires_ancestor(node); end
1687
+
1688
+ # source://rbi//lib/rbi/printer.rb#324
1689
+ sig { override.params(node: ::RBI::RestParam).void }
1690
+ def visit_rest_param(node); end
1691
+
1692
+ # source://rbi//lib/rbi/printer.rb#158
1693
+ sig { params(node: ::RBI::Scope).void }
1694
+ def visit_scope(node); end
1695
+
1696
+ # source://rbi//lib/rbi/printer.rb#203
1697
+ sig { params(node: ::RBI::Scope).void }
1698
+ def visit_scope_body(node); end
1699
+
1700
+ # source://rbi//lib/rbi/printer.rb#562
1701
+ sig { override.params(node: ::RBI::ScopeConflict).void }
1702
+ def visit_scope_conflict(node); end
1703
+
1704
+ # source://rbi//lib/rbi/printer.rb#168
1705
+ sig { params(node: ::RBI::Scope).void }
1706
+ def visit_scope_header(node); end
1707
+
1708
+ # source://rbi//lib/rbi/printer.rb#400
1709
+ sig { override.params(node: ::RBI::Send).void }
1710
+ def visit_send(node); end
1711
+
1712
+ # source://rbi//lib/rbi/printer.rb#427
1713
+ sig { override.params(node: ::RBI::Sig).void }
1714
+ def visit_sig(node); end
1715
+
1716
+ # source://rbi//lib/rbi/printer.rb#447
1717
+ sig { override.params(node: ::RBI::SigParam).void }
1718
+ def visit_sig_param(node); end
1719
+
1720
+ # source://rbi//lib/rbi/printer.rb#153
1721
+ sig { override.params(node: ::RBI::SingletonClass).void }
1722
+ def visit_singleton_class(node); end
1723
+
1724
+ # source://rbi//lib/rbi/printer.rb#148
1725
+ sig { override.params(node: ::RBI::Struct).void }
1726
+ def visit_struct(node); end
1727
+
1728
+ # source://rbi//lib/rbi/printer.rb#467
1729
+ sig { params(node: ::RBI::TStructField).void }
1730
+ def visit_t_struct_field(node); end
1731
+
1732
+ # source://rbi//lib/rbi/printer.rb#485
1733
+ sig { override.params(node: ::RBI::TEnum).void }
1734
+ def visit_tenum(node); end
1735
+
1736
+ # source://rbi//lib/rbi/printer.rb#490
1737
+ sig { override.params(node: ::RBI::TEnumBlock).void }
1738
+ def visit_tenum_block(node); end
1739
+
1740
+ # source://rbi//lib/rbi/printer.rb#131
1741
+ sig { override.params(node: ::RBI::Tree).void }
1742
+ def visit_tree(node); end
1743
+
1744
+ # source://rbi//lib/rbi/printer.rb#452
1745
+ sig { override.params(node: ::RBI::TStruct).void }
1746
+ def visit_tstruct(node); end
1747
+
1748
+ # source://rbi//lib/rbi/printer.rb#457
1749
+ sig { override.params(node: ::RBI::TStructConst).void }
1750
+ def visit_tstruct_const(node); end
1751
+
1752
+ # source://rbi//lib/rbi/printer.rb#462
1753
+ sig { override.params(node: ::RBI::TStructProp).void }
1754
+ def visit_tstruct_prop(node); end
1755
+
1756
+ # source://rbi//lib/rbi/printer.rb#502
1757
+ sig { override.params(node: ::RBI::TypeMember).void }
1758
+ def visit_type_member(node); end
1759
+
1760
+ # source://rbi//lib/rbi/printer.rb#391
1761
+ sig { params(node: ::RBI::Visibility).void }
1762
+ def visit_visibility(node); end
1763
+
1764
+ # source://rbi//lib/rbi/printer.rb#531
1765
+ sig { override.params(node: ::RBI::VisibilityGroup).void }
1766
+ def visit_visibility_group(node); end
1767
+ end
1768
+
1769
+ # source://rbi//lib/rbi/printer.rb#5
1770
+ class RBI::PrinterError < ::RBI::Error; end
1771
+
1772
+ # source://rbi//lib/rbi/model.rb#986
1773
+ class RBI::Private < ::RBI::Visibility
1774
+ # source://rbi//lib/rbi/model.rb#996
1775
+ sig do
1776
+ params(
1777
+ loc: T.nilable(::RBI::Loc),
1778
+ comments: T::Array[::RBI::Comment],
1779
+ block: T.nilable(T.proc.params(node: ::RBI::Private).void)
1780
+ ).void
1781
+ end
1782
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1783
+ end
1784
+
1785
+ # source://rbi//lib/rbi/model.rb#970
1786
+ class RBI::Protected < ::RBI::Visibility
1787
+ # source://rbi//lib/rbi/model.rb#980
1788
+ sig do
1789
+ params(
1790
+ loc: T.nilable(::RBI::Loc),
1791
+ comments: T::Array[::RBI::Comment],
1792
+ block: T.nilable(T.proc.params(node: ::RBI::Protected).void)
1793
+ ).void
1794
+ end
1795
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1796
+ end
1797
+
1798
+ # source://rbi//lib/rbi/model.rb#954
1799
+ class RBI::Public < ::RBI::Visibility
1800
+ # source://rbi//lib/rbi/model.rb#964
1801
+ sig do
1802
+ params(
1803
+ loc: T.nilable(::RBI::Loc),
1804
+ comments: T::Array[::RBI::Comment],
1805
+ block: T.nilable(T.proc.params(node: ::RBI::Public).void)
1806
+ ).void
1807
+ end
1808
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1809
+ end
1810
+
1811
+ # source://rbi//lib/rbi/rbs_printer.rb#5
1812
+ class RBI::RBSPrinter < ::RBI::Visitor
1813
+ # source://rbi//lib/rbi/rbs_printer.rb#18
1814
+ sig { params(out: T.any(::IO, ::StringIO), indent: ::Integer, print_locs: T::Boolean).void }
1815
+ def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end
1816
+
1817
+ # source://rbi//lib/rbi/rbs_printer.rb#15
1818
+ sig { returns(::Integer) }
1819
+ def current_indent; end
1820
+
1821
+ # source://rbi//lib/rbi/rbs_printer.rb#35
1822
+ sig { void }
1823
+ def dedent; end
1824
+
1825
+ # @return [Boolean]
1826
+ #
1827
+ # source://rbi//lib/rbi/rbs_printer.rb#9
1828
+ def in_visibility_group; end
1829
+
1830
+ # @return [Boolean]
1831
+ #
1832
+ # source://rbi//lib/rbi/rbs_printer.rb#9
1833
+ def in_visibility_group=(_arg0); end
1834
+
1835
+ # Printing
1836
+ #
1837
+ # source://rbi//lib/rbi/rbs_printer.rb#30
1838
+ sig { void }
1839
+ def indent; end
1840
+
1841
+ # source://rbi//lib/rbi/rbs_printer.rb#12
1842
+ sig { returns(T.nilable(::RBI::Node)) }
1843
+ def previous_node; end
1844
+
1845
+ # Print a string without indentation nor `\n` at the end.
1846
+ #
1847
+ # source://rbi//lib/rbi/rbs_printer.rb#41
1848
+ sig { params(string: ::String).void }
1849
+ def print(string); end
1850
+
1851
+ # source://rbi//lib/rbi/rbs_printer.rb#275
1852
+ sig { params(node: ::RBI::Attr, sig: ::RBI::Sig).void }
1853
+ def print_attr_sig(node, sig); end
1854
+
1855
+ # source://rbi//lib/rbi/rbs_printer.rb#9
1856
+ sig { returns(T::Boolean) }
1857
+ def print_locs; end
1858
+
1859
+ # @return [Boolean]
1860
+ #
1861
+ # source://rbi//lib/rbi/rbs_printer.rb#9
1862
+ def print_locs=(_arg0); end
1863
+
1864
+ # source://rbi//lib/rbi/rbs_printer.rb#350
1865
+ sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void }
1866
+ def print_method_sig(node, sig); end
1867
+
1868
+ # Print a string with indentation and `\n` at the end.
1869
+ #
1870
+ # source://rbi//lib/rbi/rbs_printer.rb#61
1871
+ sig { params(string: ::String).void }
1872
+ def printl(string); end
1873
+
1874
+ # Print a string without indentation but with a `\n` at the end.
1875
+ #
1876
+ # source://rbi//lib/rbi/rbs_printer.rb#47
1877
+ sig { params(string: T.nilable(::String)).void }
1878
+ def printn(string = T.unsafe(nil)); end
1879
+
1880
+ # Print a string with indentation but without a `\n` at the end.
1881
+ #
1882
+ # source://rbi//lib/rbi/rbs_printer.rb#54
1883
+ sig { params(string: T.nilable(::String)).void }
1884
+ def printt(string = T.unsafe(nil)); end
1885
+
1886
+ # source://rbi//lib/rbi/rbs_printer.rb#67
1887
+ sig { override.params(nodes: T::Array[::RBI::Node]).void }
1888
+ def visit_all(nodes); end
1889
+
1890
+ # source://rbi//lib/rbi/rbs_printer.rb#505
1891
+ sig { override.params(node: ::RBI::Arg).void }
1892
+ def visit_arg(node); end
1893
+
1894
+ # source://rbi//lib/rbi/rbs_printer.rb#243
1895
+ sig { params(node: ::RBI::Attr).void }
1896
+ def visit_attr(node); end
1897
+
1898
+ # source://rbi//lib/rbi/rbs_printer.rb#228
1899
+ sig { override.params(node: ::RBI::AttrAccessor).void }
1900
+ def visit_attr_accessor(node); end
1901
+
1902
+ # source://rbi//lib/rbi/rbs_printer.rb#233
1903
+ sig { override.params(node: ::RBI::AttrReader).void }
1904
+ def visit_attr_reader(node); end
1905
+
1906
+ # source://rbi//lib/rbi/rbs_printer.rb#238
1907
+ sig { override.params(node: ::RBI::AttrWriter).void }
1908
+ def visit_attr_writer(node); end
1909
+
1910
+ # source://rbi//lib/rbi/rbs_printer.rb#106
1911
+ sig { override.params(node: ::RBI::BlankLine).void }
1912
+ def visit_blank_line(node); end
1913
+
1914
+ # source://rbi//lib/rbi/rbs_printer.rb#444
1915
+ sig { override.params(node: ::RBI::BlockParam).void }
1916
+ def visit_block_param(node); end
1917
+
1918
+ # source://rbi//lib/rbi/rbs_printer.rb#123
1919
+ sig { override.params(node: ::RBI::Class).void }
1920
+ def visit_class(node); end
1921
+
1922
+ # source://rbi//lib/rbi/rbs_printer.rb#90
1923
+ sig { override.params(node: ::RBI::Comment).void }
1924
+ def visit_comment(node); end
1925
+
1926
+ # source://rbi//lib/rbi/rbs_printer.rb#625
1927
+ sig { override.params(node: ::RBI::ConflictTree).void }
1928
+ def visit_conflict_tree(node); end
1929
+
1930
+ # source://rbi//lib/rbi/rbs_printer.rb#213
1931
+ sig { override.params(node: ::RBI::Const).void }
1932
+ def visit_const(node); end
1933
+
1934
+ # source://rbi//lib/rbi/rbs_printer.rb#454
1935
+ sig { override.params(node: ::RBI::Extend).void }
1936
+ def visit_extend(node); end
1937
+
1938
+ # source://rbi//lib/rbi/rbs_printer.rb#78
1939
+ sig { override.params(file: ::RBI::File).void }
1940
+ def visit_file(file); end
1941
+
1942
+ # source://rbi//lib/rbi/rbs_printer.rb#601
1943
+ sig { override.params(node: ::RBI::Group).void }
1944
+ def visit_group(node); end
1945
+
1946
+ # source://rbi//lib/rbi/rbs_printer.rb#591
1947
+ sig { override.params(node: ::RBI::Helper).void }
1948
+ def visit_helper(node); end
1949
+
1950
+ # source://rbi//lib/rbi/rbs_printer.rb#449
1951
+ sig { override.params(node: ::RBI::Include).void }
1952
+ def visit_include(node); end
1953
+
1954
+ # source://rbi//lib/rbi/rbs_printer.rb#510
1955
+ sig { override.params(node: ::RBI::KwArg).void }
1956
+ def visit_kw_arg(node); end
1957
+
1958
+ # source://rbi//lib/rbi/rbs_printer.rb#434
1959
+ sig { override.params(node: ::RBI::KwOptParam).void }
1960
+ def visit_kw_opt_param(node); end
1961
+
1962
+ # source://rbi//lib/rbi/rbs_printer.rb#429
1963
+ sig { override.params(node: ::RBI::KwParam).void }
1964
+ def visit_kw_param(node); end
1965
+
1966
+ # source://rbi//lib/rbi/rbs_printer.rb#439
1967
+ sig { override.params(node: ::RBI::KwRestParam).void }
1968
+ def visit_kw_rest_param(node); end
1969
+
1970
+ # source://rbi//lib/rbi/rbs_printer.rb#292
1971
+ sig { override.params(node: ::RBI::Method).void }
1972
+ def visit_method(node); end
1973
+
1974
+ # source://rbi//lib/rbi/rbs_printer.rb#596
1975
+ sig { override.params(node: ::RBI::MixesInClassMethods).void }
1976
+ def visit_mixes_in_class_methods(node); end
1977
+
1978
+ # source://rbi//lib/rbi/rbs_printer.rb#459
1979
+ sig { params(node: ::RBI::Mixin).void }
1980
+ def visit_mixin(node); end
1981
+
1982
+ # source://rbi//lib/rbi/rbs_printer.rb#118
1983
+ sig { override.params(node: ::RBI::Module).void }
1984
+ def visit_module(node); end
1985
+
1986
+ # source://rbi//lib/rbi/rbs_printer.rb#419
1987
+ sig { override.params(node: ::RBI::OptParam).void }
1988
+ def visit_opt_param(node); end
1989
+
1990
+ # source://rbi//lib/rbi/rbs_printer.rb#486
1991
+ sig { override.params(node: ::RBI::Private).void }
1992
+ def visit_private(node); end
1993
+
1994
+ # source://rbi//lib/rbi/rbs_printer.rb#481
1995
+ sig { override.params(node: ::RBI::Protected).void }
1996
+ def visit_protected(node); end
1997
+
1998
+ # source://rbi//lib/rbi/rbs_printer.rb#476
1999
+ sig { override.params(node: ::RBI::Public).void }
2000
+ def visit_public(node); end
2001
+
2002
+ # source://rbi//lib/rbi/rbs_printer.rb#414
2003
+ sig { override.params(node: ::RBI::ReqParam).void }
2004
+ def visit_req_param(node); end
2005
+
2006
+ # source://rbi//lib/rbi/rbs_printer.rb#620
2007
+ sig { override.params(node: ::RBI::RequiresAncestor).void }
2008
+ def visit_requires_ancestor(node); end
2009
+
2010
+ # source://rbi//lib/rbi/rbs_printer.rb#424
2011
+ sig { override.params(node: ::RBI::RestParam).void }
2012
+ def visit_rest_param(node); end
2013
+
2014
+ # source://rbi//lib/rbi/rbs_printer.rb#138
2015
+ sig { params(node: ::RBI::Scope).void }
2016
+ def visit_scope(node); end
2017
+
2018
+ # source://rbi//lib/rbi/rbs_printer.rb#201
2019
+ sig { params(node: ::RBI::Scope).void }
2020
+ def visit_scope_body(node); end
2021
+
2022
+ # source://rbi//lib/rbi/rbs_printer.rb#634
2023
+ sig { override.params(node: ::RBI::ScopeConflict).void }
2024
+ def visit_scope_conflict(node); end
2025
+
2026
+ # source://rbi//lib/rbi/rbs_printer.rb#148
2027
+ sig { params(node: ::RBI::Scope).void }
2028
+ def visit_scope_header(node); end
2029
+
2030
+ # source://rbi//lib/rbi/rbs_printer.rb#500
2031
+ sig { override.params(node: ::RBI::Send).void }
2032
+ def visit_send(node); end
2033
+
2034
+ # source://rbi//lib/rbi/rbs_printer.rb#133
2035
+ sig { override.params(node: ::RBI::SingletonClass).void }
2036
+ def visit_singleton_class(node); end
2037
+
2038
+ # source://rbi//lib/rbi/rbs_printer.rb#128
2039
+ sig { override.params(node: ::RBI::Struct).void }
2040
+ def visit_struct(node); end
2041
+
2042
+ # source://rbi//lib/rbi/rbs_printer.rb#563
2043
+ sig { override.params(node: ::RBI::TEnum).void }
2044
+ def visit_tenum(node); end
2045
+
2046
+ # source://rbi//lib/rbi/rbs_printer.rb#568
2047
+ sig { override.params(node: ::RBI::TEnumBlock).void }
2048
+ def visit_tenum_block(node); end
2049
+
2050
+ # source://rbi//lib/rbi/rbs_printer.rb#111
2051
+ sig { override.params(node: ::RBI::Tree).void }
2052
+ def visit_tree(node); end
2053
+
2054
+ # source://rbi//lib/rbi/rbs_printer.rb#515
2055
+ sig { override.params(node: ::RBI::TStruct).void }
2056
+ def visit_tstruct(node); end
2057
+
2058
+ # source://rbi//lib/rbi/rbs_printer.rb#549
2059
+ sig { override.params(node: ::RBI::TStructConst).void }
2060
+ def visit_tstruct_const(node); end
2061
+
2062
+ # source://rbi//lib/rbi/rbs_printer.rb#556
2063
+ sig { override.params(node: ::RBI::TStructProp).void }
2064
+ def visit_tstruct_prop(node); end
2065
+
2066
+ # source://rbi//lib/rbi/rbs_printer.rb#586
2067
+ sig { override.params(node: ::RBI::TypeMember).void }
2068
+ def visit_type_member(node); end
2069
+
2070
+ # source://rbi//lib/rbi/rbs_printer.rb#491
2071
+ sig { params(node: ::RBI::Visibility).void }
2072
+ def visit_visibility(node); end
2073
+
2074
+ # source://rbi//lib/rbi/rbs_printer.rb#607
2075
+ sig { override.params(node: ::RBI::VisibilityGroup).void }
2076
+ def visit_visibility_group(node); end
2077
+
2078
+ private
2079
+
2080
+ # source://rbi//lib/rbi/rbs_printer.rb#725
2081
+ sig { params(node: ::RBI::Node).returns(T::Boolean) }
2082
+ def oneline?(node); end
2083
+
2084
+ # Parse a string containing a `T.let(x, X)` and extract the type
2085
+ #
2086
+ # Returns `nil` is the string is not a `T.let`.
2087
+ #
2088
+ # source://rbi//lib/rbi/rbs_printer.rb#759
2089
+ sig { params(code: T.nilable(::String)).returns(T.nilable(::String)) }
2090
+ def parse_t_let(code); end
2091
+
2092
+ # source://rbi//lib/rbi/rbs_printer.rb#747
2093
+ sig { params(type: T.any(::RBI::Type, ::String)).returns(::RBI::Type) }
2094
+ def parse_type(type); end
2095
+
2096
+ # source://rbi//lib/rbi/rbs_printer.rb#650
2097
+ sig { params(node: ::RBI::Node).void }
2098
+ def print_blank_line_before(node); end
2099
+
2100
+ # source://rbi//lib/rbi/rbs_printer.rb#669
2101
+ sig { params(node: ::RBI::Node).void }
2102
+ def print_loc(node); end
2103
+
2104
+ # source://rbi//lib/rbi/rbs_printer.rb#699
2105
+ sig { params(node: ::RBI::Param, last: T::Boolean).void }
2106
+ def print_param_comment_leading_space(node, last:); end
2107
+
2108
+ # source://rbi//lib/rbi/rbs_printer.rb#675
2109
+ sig { params(node: ::RBI::Method, param: ::RBI::SigParam).void }
2110
+ def print_sig_param(node, param); end
2111
+
2112
+ # source://rbi//lib/rbi/rbs_printer.rb#717
2113
+ sig { params(node: ::RBI::SigParam, last: T::Boolean).void }
2114
+ def print_sig_param_comment_leading_space(node, last:); end
2115
+ end
2116
+
2117
+ # source://rbi//lib/rbi/rbs_printer.rb#6
2118
+ class RBI::RBSPrinter::Error < ::RBI::Error; end
2119
+
2120
+ # source://rbi//lib/rbi/model.rb#5
2121
+ class RBI::ReplaceNodeError < ::RBI::Error; end
2122
+
2123
+ # source://rbi//lib/rbi/model.rb#654
2124
+ class RBI::ReqParam < ::RBI::Param
2125
+ # source://rbi//lib/rbi/model.rb#665
2126
+ sig do
2127
+ params(
2128
+ name: ::String,
2129
+ loc: T.nilable(::RBI::Loc),
2130
+ comments: T::Array[::RBI::Comment],
2131
+ block: T.nilable(T.proc.params(node: ::RBI::ReqParam).void)
2132
+ ).void
2133
+ end
2134
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2135
+
2136
+ # source://rbi//lib/rbi/model.rb#671
2137
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
2138
+ def ==(other); end
2139
+ end
2140
+
2141
+ # source://rbi//lib/rbi/model.rb#1458
2142
+ class RBI::RequiresAncestor < ::RBI::NodeWithComments
2143
+ include ::RBI::Indexable
2144
+
2145
+ # source://rbi//lib/rbi/model.rb#1471
2146
+ sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
2147
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
2148
+
2149
+ # source://rbi//lib/rbi/index.rb#163
2150
+ sig { override.returns(T::Array[::String]) }
2151
+ def index_ids; end
2152
+
2153
+ # source://rbi//lib/rbi/model.rb#1462
2154
+ sig { returns(::String) }
2155
+ def name; end
2156
+
2157
+ # source://rbi//lib/rbi/model.rb#1477
2158
+ sig { override.returns(::String) }
2159
+ def to_s; end
2160
+ end
2161
+
2162
+ # source://rbi//lib/rbi/model.rb#703
2163
+ class RBI::RestParam < ::RBI::Param
2164
+ # source://rbi//lib/rbi/model.rb#714
2165
+ sig do
2166
+ params(
2167
+ name: ::String,
2168
+ loc: T.nilable(::RBI::Loc),
2169
+ comments: T::Array[::RBI::Comment],
2170
+ block: T.nilable(T.proc.params(node: ::RBI::RestParam).void)
2171
+ ).void
2172
+ end
2173
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2174
+
2175
+ # source://rbi//lib/rbi/model.rb#725
2176
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
2177
+ def ==(other); end
2178
+
2179
+ # source://rbi//lib/rbi/model.rb#720
2180
+ sig { override.returns(::String) }
2181
+ def to_s; end
2182
+ end
2183
+
2184
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#5
2185
+ module RBI::Rewriters; end
2186
+
2187
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#6
2188
+ class RBI::Rewriters::AddSigTemplates < ::RBI::Visitor
2189
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#10
2190
+ sig { params(with_todo_comment: T::Boolean).void }
2191
+ def initialize(with_todo_comment: T.unsafe(nil)); end
2192
+
2193
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#16
2194
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2195
+ def visit(node); end
2196
+
2197
+ private
2198
+
2199
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#30
2200
+ sig { params(attr: ::RBI::Attr).void }
2201
+ def add_attr_sig(attr); end
2202
+
2203
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#45
2204
+ sig { params(method: ::RBI::Method).void }
2205
+ def add_method_sig(method); end
2206
+
2207
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#56
2208
+ sig { params(node: ::RBI::NodeWithComments).void }
2209
+ def add_todo_comment(node); end
2210
+ end
2211
+
2212
+ # source://rbi//lib/rbi/rewriters/annotate.rb#6
2213
+ class RBI::Rewriters::Annotate < ::RBI::Visitor
2214
+ # source://rbi//lib/rbi/rewriters/annotate.rb#10
2215
+ sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
2216
+ def initialize(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
2217
+
2218
+ # source://rbi//lib/rbi/rewriters/annotate.rb#18
2219
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2220
+ def visit(node); end
2221
+
2222
+ private
2223
+
2224
+ # source://rbi//lib/rbi/rewriters/annotate.rb#31
2225
+ sig { params(node: ::RBI::NodeWithComments).void }
2226
+ def annotate_node(node); end
2227
+
2228
+ # source://rbi//lib/rbi/rewriters/annotate.rb#38
2229
+ sig { params(node: ::RBI::Node).returns(T::Boolean) }
2230
+ def root?(node); end
2231
+ end
2232
+
2233
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#22
2234
+ class RBI::Rewriters::AttrToMethods < ::RBI::Visitor
2235
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#26
2236
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2237
+ def visit(node); end
2238
+
2239
+ private
2240
+
2241
+ # @raise [ReplaceNodeError]
2242
+ #
2243
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#39
2244
+ sig { params(node: ::RBI::Node, with: T::Array[::RBI::Node]).void }
2245
+ def replace(node, with:); end
2246
+ end
2247
+
2248
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#6
2249
+ class RBI::Rewriters::Deannotate < ::RBI::Visitor
2250
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#10
2251
+ sig { params(annotation: ::String).void }
2252
+ def initialize(annotation); end
2253
+
2254
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#16
2255
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2256
+ def visit(node); end
2257
+
2258
+ private
2259
+
2260
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#27
2261
+ sig { params(node: ::RBI::NodeWithComments).void }
2262
+ def deannotate_node(node); end
2263
+ end
2264
+
2265
+ # Take a gem version and filter out all RBI that is not relevant to that version based on @version annotations
2266
+ # in comments. As an example:
2267
+ #
2268
+ # ~~~rb
2269
+ # tree = Parser.parse_string(<<~RBI)
2270
+ # class Foo
2271
+ # # @version > 0.3.0
2272
+ # def bar
2273
+ # end
2274
+ #
2275
+ # # @version <= 0.3.0
2276
+ # def bar(arg1)
2277
+ # end
2278
+ # end
2279
+ # RBI
2280
+ #
2281
+ # Rewriters::FilterVersions.filter(tree, Gem::Version.new("0.3.1"))
2282
+ #
2283
+ # assert_equal(<<~RBI, tree.string)
2284
+ # class Foo
2285
+ # # @version > 0.3.0
2286
+ # def bar
2287
+ # end
2288
+ # end
2289
+ # RBI
2290
+ # ~~~
2291
+ #
2292
+ # Supported operators:
2293
+ # - equals `=`
2294
+ # - not equals `!=`
2295
+ # - greater than `>`
2296
+ # - greater than or equal to `>=`
2297
+ # - less than `<`
2298
+ # - less than or equal to `<=`
2299
+ # - pessimistic or twiddle-wakka`~>`
2300
+ #
2301
+ # And/or logic:
2302
+ # - "And" logic: put multiple versions on the same line
2303
+ # - e.g. `@version > 0.3.0, <1.0.0` means version must be greater than 0.3.0 AND less than 1.0.0
2304
+ # - "Or" logic: put multiple versions on subsequent lines
2305
+ # - e.g. the following means version must be less than 0.3.0 OR greater than 1.0.0
2306
+ # ```
2307
+ # # @version < 0.3.0
2308
+ # # @version > 1.0.0
2309
+ # ```
2310
+ # Prerelease versions:
2311
+ # - Prerelease versions are considered less than their non-prerelease counterparts
2312
+ # - e.g. `0.4.0-prerelease` is less than `0.4.0`
2313
+ #
2314
+ # RBI with no versions:
2315
+ # - RBI with no version annotations are automatically counted towards ALL versions
2316
+ #
2317
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#57
2318
+ class RBI::Rewriters::FilterVersions < ::RBI::Visitor
2319
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#73
2320
+ sig { params(version: ::Gem::Version).void }
2321
+ def initialize(version); end
2322
+
2323
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#79
2324
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2325
+ def visit(node); end
2326
+
2327
+ class << self
2328
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#66
2329
+ sig { params(tree: ::RBI::Tree, version: ::Gem::Version).void }
2330
+ def filter(tree, version); end
2331
+ end
2332
+ end
2333
+
2334
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#60
2335
+ RBI::Rewriters::FilterVersions::VERSION_PREFIX = T.let(T.unsafe(nil), String)
2336
+
2337
+ # Rewrite non-singleton methods inside singleton classes to singleton methods
2338
+ #
2339
+ # Example:
2340
+ # ~~~rb
2341
+ # class << self
2342
+ # def m1; end
2343
+ # def self.m2; end
2344
+ #
2345
+ # class << self
2346
+ # def m3; end
2347
+ # end
2348
+ # end
2349
+ # ~~~
2350
+ #
2351
+ # will be rewritten to:
2352
+ #
2353
+ # ~~~rb
2354
+ # def self.m1; end
2355
+ #
2356
+ # class << self
2357
+ # def self.m2; end
2358
+ # def self.m3; end
2359
+ # end
2360
+ # ~~~
2361
+ #
2362
+ # source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#30
2363
+ class RBI::Rewriters::FlattenSingletonMethods < ::RBI::Visitor
2364
+ # source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#34
2365
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2366
+ def visit(node); end
2367
+ end
2368
+
2369
+ # Flattens visibility nodes into method nodes
2370
+ #
2371
+ # Example:
2372
+ # ~~~rb
2373
+ # class A
2374
+ # def m1; end
2375
+ # private
2376
+ # def m2; end
2377
+ # def m3; end
2378
+ # end
2379
+ # ~~~
2380
+ #
2381
+ # will be transformed into:
2382
+ #
2383
+ # ~~~rb
2384
+ # class A
2385
+ # def m1; end
2386
+ # private def m2; end
2387
+ # private def m3; end
2388
+ # end
2389
+ # ~~~
2390
+ #
2391
+ # source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#27
2392
+ class RBI::Rewriters::FlattenVisibilities < ::RBI::Visitor
2393
+ # source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#31
2394
+ sig { void }
2395
+ def initialize; end
2396
+
2397
+ # source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#38
2398
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2399
+ def visit(node); end
2400
+ end
2401
+
2402
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#8
2403
+ class RBI::Rewriters::GroupNodes < ::RBI::Visitor
2404
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#12
2405
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2406
+ def visit(node); end
2407
+
2408
+ private
2409
+
2410
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#36
2411
+ sig { params(node: ::RBI::Node).returns(::RBI::Group::Kind) }
2412
+ def group_kind(node); end
2413
+ end
2414
+
2415
+ # Merge two RBI trees together
2416
+ #
2417
+ # Be this `Tree`:
2418
+ # ~~~rb
2419
+ # class Foo
2420
+ # attr_accessor :a
2421
+ # def m; end
2422
+ # C = 10
2423
+ # end
2424
+ # ~~~
2425
+ #
2426
+ # Merged with this one:
2427
+ # ~~~rb
2428
+ # class Foo
2429
+ # attr_reader :a
2430
+ # def m(x); end
2431
+ # C = 10
2432
+ # end
2433
+ # ~~~
2434
+ #
2435
+ # Compatible definitions are merged together while incompatible definitions are moved into a `ConflictTree`:
2436
+ # ~~~rb
2437
+ # class Foo
2438
+ # <<<<<<< left
2439
+ # attr_accessor :a
2440
+ # def m; end
2441
+ # =======
2442
+ # attr_reader :a
2443
+ # def m(x); end
2444
+ # >>>>>>> right
2445
+ # C = 10
2446
+ # end
2447
+ # ~~~
2448
+ #
2449
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#39
2450
+ class RBI::Rewriters::Merge
2451
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#70
2452
+ sig { params(left_name: ::String, right_name: ::String, keep: ::RBI::Rewriters::Merge::Keep).void }
2453
+ def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
2454
+
2455
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#79
2456
+ sig { params(tree: ::RBI::Tree).void }
2457
+ def merge(tree); end
2458
+
2459
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#67
2460
+ sig { returns(::RBI::MergeTree) }
2461
+ def tree; end
2462
+
2463
+ class << self
2464
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#54
2465
+ sig do
2466
+ params(
2467
+ left: ::RBI::Tree,
2468
+ right: ::RBI::Tree,
2469
+ left_name: ::String,
2470
+ right_name: ::String,
2471
+ keep: ::RBI::Rewriters::Merge::Keep
2472
+ ).returns(::RBI::MergeTree)
2473
+ end
2474
+ def merge_trees(left, right, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
2475
+ end
2476
+ end
2477
+
2478
+ # Used for logging / error displaying purpose
2479
+ #
2480
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#86
2481
+ class RBI::Rewriters::Merge::Conflict < ::T::Struct
2482
+ const :left, ::RBI::Node
2483
+ const :right, ::RBI::Node
2484
+ const :left_name, ::String
2485
+ const :right_name, ::String
2486
+
2487
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#95
2488
+ sig { returns(::String) }
2489
+ def to_s; end
2490
+
2491
+ class << self
2492
+ # source://sorbet-runtime/0.5.11746/lib/types/struct.rb#13
2493
+ def inherited(s); end
2494
+ end
2495
+ end
2496
+
2497
+ # Merge adjacent conflict trees
2498
+ #
2499
+ # Transform this:
2500
+ # ~~~rb
2501
+ # class Foo
2502
+ # <<<<<<< left
2503
+ # def m1; end
2504
+ # =======
2505
+ # def m1(a); end
2506
+ # >>>>>>> right
2507
+ # <<<<<<< left
2508
+ # def m2(a); end
2509
+ # =======
2510
+ # def m2; end
2511
+ # >>>>>>> right
2512
+ # end
2513
+ # ~~~
2514
+ #
2515
+ # Into this:
2516
+ # ~~~rb
2517
+ # class Foo
2518
+ # <<<<<<< left
2519
+ # def m1; end
2520
+ # def m2(a); end
2521
+ # =======
2522
+ # def m1(a); end
2523
+ # def m2; end
2524
+ # >>>>>>> right
2525
+ # end
2526
+ # ~~~
2527
+ #
2528
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#245
2529
+ class RBI::Rewriters::Merge::ConflictTreeMerger < ::RBI::Visitor
2530
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#247
2531
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2532
+ def visit(node); end
2533
+
2534
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#252
2535
+ sig { override.params(nodes: T::Array[::RBI::Node]).void }
2536
+ def visit_all(nodes); end
2537
+
2538
+ private
2539
+
2540
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#273
2541
+ sig { params(left: ::RBI::Tree, right: ::RBI::Tree).void }
2542
+ def merge_conflict_trees(left, right); end
2543
+ end
2544
+
2545
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#42
2546
+ class RBI::Rewriters::Merge::Keep < ::T::Enum
2547
+ enums do
2548
+ LEFT = new
2549
+ NONE = new
2550
+ RIGHT = new
2551
+ end
2552
+ end
2553
+
2554
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#100
2555
+ class RBI::Rewriters::Merge::TreeMerger < ::RBI::Visitor
2556
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#107
2557
+ sig do
2558
+ params(
2559
+ output: ::RBI::Tree,
2560
+ left_name: ::String,
2561
+ right_name: ::String,
2562
+ keep: ::RBI::Rewriters::Merge::Keep
2563
+ ).void
2564
+ end
2565
+ def initialize(output, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
2566
+
2567
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#104
2568
+ sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) }
2569
+ def conflicts; end
2570
+
2571
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#119
2572
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2573
+ def visit(node); end
2574
+
2575
+ private
2576
+
2577
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#168
2578
+ sig { returns(::RBI::Tree) }
2579
+ def current_scope; end
2580
+
2581
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#185
2582
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope).void }
2583
+ def make_conflict_scope(left, right); end
2584
+
2585
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#192
2586
+ sig { params(left: ::RBI::Node, right: ::RBI::Node).void }
2587
+ def make_conflict_tree(left, right); end
2588
+
2589
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#173
2590
+ sig { params(node: ::RBI::Node).returns(T.nilable(::RBI::Node)) }
2591
+ def previous_definition(node); end
2592
+
2593
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#204
2594
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope).returns(::RBI::Scope) }
2595
+ def replace_scope_header(left, right); end
2596
+ end
2597
+
2598
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#6
2599
+ class RBI::Rewriters::NestNonPublicMembers < ::RBI::Visitor
2600
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#10
2601
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2602
+ def visit(node); end
2603
+ end
2604
+
2605
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#6
2606
+ class RBI::Rewriters::NestSingletonMethods < ::RBI::Visitor
2607
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#10
2608
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2609
+ def visit(node); end
2610
+ end
2611
+
2612
+ # This rewriter moves top-level members into a top-level Object class
2613
+ #
2614
+ # Example:
2615
+ # ~~~rb
2616
+ # def foo; end
2617
+ # attr_reader :bar
2618
+ # ~~~
2619
+ #
2620
+ # will be rewritten to:
2621
+ #
2622
+ # ~~~rb
2623
+ # class Object
2624
+ # def foo; end
2625
+ # attr_reader :bar
2626
+ # end
2627
+ # ~~~
2628
+ #
2629
+ # source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#22
2630
+ class RBI::Rewriters::NestTopLevelMembers < ::RBI::Visitor
2631
+ # source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#26
2632
+ sig { void }
2633
+ def initialize; end
2634
+
2635
+ # source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#33
2636
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2637
+ def visit(node); end
2638
+ end
2639
+
2640
+ # Remove all definitions existing in the index from the current tree
2641
+ #
2642
+ # Let's create an `Index` from two different `Tree`s:
2643
+ # ~~~rb
2644
+ # tree1 = Parse.parse_string(<<~RBI)
2645
+ # class Foo
2646
+ # def foo; end
2647
+ # end
2648
+ # RBI
2649
+ #
2650
+ # tree2 = Parse.parse_string(<<~RBI)
2651
+ # FOO = 10
2652
+ # RBI
2653
+ #
2654
+ # index = Index.index(tree1, tree2)
2655
+ # ~~~
2656
+ #
2657
+ # We can use `RemoveKnownDefinitions` to remove the definitions found in the `index` from the `Tree` to clean:
2658
+ # ~~~rb
2659
+ # tree_to_clean = Parser.parse_string(<<~RBI)
2660
+ # class Foo
2661
+ # def foo; end
2662
+ # def bar; end
2663
+ # end
2664
+ # FOO = 10
2665
+ # BAR = 42
2666
+ # RBI
2667
+ #
2668
+ # cleaned_tree, operations = RemoveKnownDefinitions.remove(tree_to_clean, index)
2669
+ #
2670
+ # assert_equal(<<~RBI, cleaned_tree)
2671
+ # class Foo
2672
+ # def bar; end
2673
+ # end
2674
+ # BAR = 42
2675
+ # RBI
2676
+ #
2677
+ # assert_equal(<<~OPERATIONS, operations.join("\n"))
2678
+ # Deleted ::Foo#foo at -:2:2-2-16 (duplicate from -:2:2-2:16)
2679
+ # Deleted ::FOO at -:5:0-5:8 (duplicate from -:1:0-1:8)
2680
+ # OPERATIONS
2681
+ # ~~~
2682
+ #
2683
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#48
2684
+ class RBI::Rewriters::RemoveKnownDefinitions < ::RBI::Visitor
2685
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#55
2686
+ sig { params(index: ::RBI::Index).void }
2687
+ def initialize(index); end
2688
+
2689
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#52
2690
+ sig { returns(T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]) }
2691
+ def operations; end
2692
+
2693
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#83
2694
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2695
+ def visit(node); end
2696
+
2697
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#78
2698
+ sig { params(nodes: T::Array[::RBI::Node]).void }
2699
+ def visit_all(nodes); end
2700
+
2701
+ private
2702
+
2703
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#111
2704
+ sig { params(node: ::RBI::Node, previous: ::RBI::Node).returns(T::Boolean) }
2705
+ def can_delete_node?(node, previous); end
2706
+
2707
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#129
2708
+ sig { params(node: ::RBI::Node, previous: ::RBI::Node).void }
2709
+ def delete_node(node, previous); end
2710
+
2711
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#102
2712
+ sig { params(node: ::RBI::Indexable).returns(T.nilable(::RBI::Node)) }
2713
+ def previous_definition_for(node); end
2714
+
2715
+ class << self
2716
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#70
2717
+ sig do
2718
+ params(
2719
+ tree: ::RBI::Tree,
2720
+ index: ::RBI::Index
2721
+ ).returns([::RBI::Tree, T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]])
2722
+ end
2723
+ def remove(tree, index); end
2724
+ end
2725
+ end
2726
+
2727
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#134
2728
+ class RBI::Rewriters::RemoveKnownDefinitions::Operation < ::T::Struct
2729
+ const :deleted_node, ::RBI::Node
2730
+ const :duplicate_of, ::RBI::Node
2731
+
2732
+ # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#141
2733
+ sig { returns(::String) }
2734
+ def to_s; end
2735
+
2736
+ class << self
2737
+ # source://sorbet-runtime/0.5.11746/lib/types/struct.rb#13
2738
+ def inherited(s); end
2739
+ end
2740
+ end
2741
+
2742
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#6
2743
+ class RBI::Rewriters::SortNodes < ::RBI::Visitor
2744
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#10
2745
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
2746
+ def visit(node); end
2747
+
2748
+ private
2749
+
2750
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#73
2751
+ sig { params(kind: ::RBI::Group::Kind).returns(::Integer) }
2752
+ def group_rank(kind); end
2753
+
2754
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#94
2755
+ sig { params(node: ::RBI::Node).returns(T.nilable(::String)) }
2756
+ def node_name(node); end
2757
+
2758
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#45
2759
+ sig { params(node: ::RBI::Node).returns(::Integer) }
2760
+ def node_rank(node); end
2761
+
2762
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#106
2763
+ sig { params(node: ::RBI::Node).void }
2764
+ def sort_node_names!(node); end
2765
+ end
2766
+
2767
+ # Scopes
2768
+ #
2769
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2770
+ #
2771
+ # source://rbi//lib/rbi/model.rb#178
2772
+ class RBI::Scope < ::RBI::Tree
2773
+ include ::RBI::Indexable
2774
+
2775
+ abstract!
2776
+
2777
+ # Duplicate `self` scope without its body
2778
+ #
2779
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#358
2780
+ sig { returns(T.self_type) }
2781
+ def dup_empty; end
2782
+
2783
+ # @abstract
2784
+ #
2785
+ # source://rbi//lib/rbi/model.rb#184
2786
+ sig { abstract.returns(::String) }
2787
+ def fully_qualified_name; end
2788
+
2789
+ # source://rbi//lib/rbi/index.rb#93
2790
+ sig { override.returns(T::Array[::String]) }
2791
+ def index_ids; end
2792
+
2793
+ # source://rbi//lib/rbi/model.rb#187
2794
+ sig { override.returns(::String) }
2795
+ def to_s; end
2796
+ end
2797
+
2798
+ # A conflict between two scope headers
2799
+ #
2800
+ # Is rendered as a merge conflict between `left` and` right` for scope definitions:
2801
+ # ~~~rb
2802
+ # <<<<<<< left
2803
+ # class Foo
2804
+ # =======
2805
+ # module Foo
2806
+ # >>>>>>> right
2807
+ # def m1; end
2808
+ # end
2809
+ # ~~~
2810
+ #
2811
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#616
2812
+ class RBI::ScopeConflict < ::RBI::Tree
2813
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#633
2814
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope, left_name: ::String, right_name: ::String).void }
2815
+ def initialize(left:, right:, left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end
2816
+
2817
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#620
2818
+ sig { returns(::RBI::Scope) }
2819
+ def left; end
2820
+
2821
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#623
2822
+ sig { returns(::String) }
2823
+ def left_name; end
2824
+
2825
+ # @return [Scope]
2826
+ #
2827
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#620
2828
+ def right; end
2829
+
2830
+ # @return [String]
2831
+ #
2832
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#623
2833
+ def right_name; end
2834
+ end
2835
+
2836
+ # Sends
2837
+ #
2838
+ # source://rbi//lib/rbi/model.rb#1004
2839
+ class RBI::Send < ::RBI::NodeWithComments
2840
+ include ::RBI::Indexable
2841
+
2842
+ # source://rbi//lib/rbi/model.rb#1022
2843
+ sig do
2844
+ params(
2845
+ method: ::String,
2846
+ args: T::Array[::RBI::Arg],
2847
+ loc: T.nilable(::RBI::Loc),
2848
+ comments: T::Array[::RBI::Comment],
2849
+ block: T.nilable(T.proc.params(node: ::RBI::Send).void)
2850
+ ).void
2851
+ end
2852
+ def initialize(method, args = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2853
+
2854
+ # source://rbi//lib/rbi/model.rb#1030
2855
+ sig { params(arg: ::RBI::Arg).void }
2856
+ def <<(arg); end
2857
+
2858
+ # source://rbi//lib/rbi/model.rb#1035
2859
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
2860
+ def ==(other); end
2861
+
2862
+ # source://rbi//lib/rbi/model.rb#1011
2863
+ sig { returns(T::Array[::RBI::Arg]) }
2864
+ def args; end
2865
+
2866
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#537
2867
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
2868
+ def compatible_with?(other); end
2869
+
2870
+ # source://rbi//lib/rbi/index.rb#193
2871
+ sig { override.returns(T::Array[::String]) }
2872
+ def index_ids; end
2873
+
2874
+ # source://rbi//lib/rbi/model.rb#1008
2875
+ sig { returns(::String) }
2876
+ def method; end
2877
+
2878
+ # source://rbi//lib/rbi/model.rb#1040
2879
+ sig { returns(::String) }
2880
+ def to_s; end
2881
+ end
2882
+
2883
+ # Sorbet's sigs
2884
+ #
2885
+ # source://rbi//lib/rbi/model.rb#1104
2886
+ class RBI::Sig < ::RBI::NodeWithComments
2887
+ # source://rbi//lib/rbi/model.rb#1137
2888
+ sig do
2889
+ params(
2890
+ params: T::Array[::RBI::SigParam],
2891
+ return_type: T.any(::RBI::Type, ::String),
2892
+ is_abstract: T::Boolean,
2893
+ is_override: T::Boolean,
2894
+ is_overridable: T::Boolean,
2895
+ is_final: T::Boolean,
2896
+ type_params: T::Array[::String],
2897
+ checked: T.nilable(::Symbol),
2898
+ loc: T.nilable(::RBI::Loc),
2899
+ comments: T::Array[::RBI::Comment],
2900
+ block: T.nilable(T.proc.params(node: ::RBI::Sig).void)
2901
+ ).void
2902
+ end
2903
+ def initialize(params: T.unsafe(nil), return_type: T.unsafe(nil), is_abstract: T.unsafe(nil), is_override: T.unsafe(nil), is_overridable: T.unsafe(nil), is_final: T.unsafe(nil), type_params: T.unsafe(nil), checked: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2904
+
2905
+ # source://rbi//lib/rbi/model.rb#1163
2906
+ sig { params(param: ::RBI::SigParam).void }
2907
+ def <<(param); end
2908
+
2909
+ # source://rbi//lib/rbi/model.rb#1173
2910
+ sig { params(other: ::Object).returns(T::Boolean) }
2911
+ def ==(other); end
2912
+
2913
+ # source://rbi//lib/rbi/model.rb#1168
2914
+ sig { params(name: ::String, type: T.any(::RBI::Type, ::String)).void }
2915
+ def add_param(name, type); end
2916
+
2917
+ # source://rbi//lib/rbi/model.rb#1120
2918
+ sig { returns(T.nilable(::Symbol)) }
2919
+ def checked; end
2920
+
2921
+ # @return [Symbol, nil]
2922
+ #
2923
+ # source://rbi//lib/rbi/model.rb#1120
2924
+ def checked=(_arg0); end
2925
+
2926
+ # source://rbi//lib/rbi/model.rb#1114
2927
+ sig { returns(T::Boolean) }
2928
+ def is_abstract; end
2929
+
2930
+ # @return [Boolean]
2931
+ #
2932
+ # source://rbi//lib/rbi/model.rb#1114
2933
+ def is_abstract=(_arg0); end
2934
+
2935
+ # @return [Boolean]
2936
+ #
2937
+ # source://rbi//lib/rbi/model.rb#1114
2938
+ def is_final; end
2939
+
2940
+ # @return [Boolean]
2941
+ #
2942
+ # source://rbi//lib/rbi/model.rb#1114
2943
+ def is_final=(_arg0); end
2944
+
2945
+ # @return [Boolean]
2946
+ #
2947
+ # source://rbi//lib/rbi/model.rb#1114
2948
+ def is_overridable; end
2949
+
2950
+ # @return [Boolean]
2951
+ #
2952
+ # source://rbi//lib/rbi/model.rb#1114
2953
+ def is_overridable=(_arg0); end
2954
+
2955
+ # @return [Boolean]
2956
+ #
2957
+ # source://rbi//lib/rbi/model.rb#1114
2958
+ def is_override; end
2959
+
2960
+ # @return [Boolean]
2961
+ #
2962
+ # source://rbi//lib/rbi/model.rb#1114
2963
+ def is_override=(_arg0); end
2964
+
2965
+ # source://rbi//lib/rbi/model.rb#1108
2966
+ sig { returns(T::Array[::RBI::SigParam]) }
2967
+ def params; end
2968
+
2969
+ # source://rbi//lib/rbi/model.rb#1111
2970
+ sig { returns(T.any(::RBI::Type, ::String)) }
2971
+ def return_type; end
2972
+
2973
+ # @return [Type, String]
2974
+ #
2975
+ # source://rbi//lib/rbi/model.rb#1111
2976
+ def return_type=(_arg0); end
2977
+
2978
+ # source://rbi//lib/rbi/model.rb#1117
2979
+ sig { returns(T::Array[::String]) }
2980
+ def type_params; end
2981
+ end
2982
+
2983
+ # source://rbi//lib/rbi/model.rb#1182
2984
+ class RBI::SigParam < ::RBI::NodeWithComments
2985
+ # source://rbi//lib/rbi/model.rb#1200
2986
+ sig do
2987
+ params(
2988
+ name: ::String,
2989
+ type: T.any(::RBI::Type, ::String),
2990
+ loc: T.nilable(::RBI::Loc),
2991
+ comments: T::Array[::RBI::Comment],
2992
+ block: T.nilable(T.proc.params(node: ::RBI::SigParam).void)
2993
+ ).void
2994
+ end
2995
+ def initialize(name, type, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2996
+
2997
+ # source://rbi//lib/rbi/model.rb#1208
2998
+ sig { params(other: ::Object).returns(T::Boolean) }
2999
+ def ==(other); end
3000
+
3001
+ # source://rbi//lib/rbi/model.rb#1186
3002
+ sig { returns(::String) }
3003
+ def name; end
3004
+
3005
+ # source://rbi//lib/rbi/model.rb#1189
3006
+ sig { returns(T.any(::RBI::Type, ::String)) }
3007
+ def type; end
3008
+ end
3009
+
3010
+ # source://rbi//lib/rbi/model.rb#253
3011
+ class RBI::SingletonClass < ::RBI::Scope
3012
+ # source://rbi//lib/rbi/model.rb#263
3013
+ sig do
3014
+ params(
3015
+ loc: T.nilable(::RBI::Loc),
3016
+ comments: T::Array[::RBI::Comment],
3017
+ block: T.nilable(T.proc.params(node: ::RBI::SingletonClass).void)
3018
+ ).void
3019
+ end
3020
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3021
+
3022
+ # source://rbi//lib/rbi/model.rb#269
3023
+ sig { override.returns(::String) }
3024
+ def fully_qualified_name; end
3025
+ end
3026
+
3027
+ # source://rbi//lib/rbi/model.rb#274
3028
+ class RBI::Struct < ::RBI::Scope
3029
+ # source://rbi//lib/rbi/model.rb#296
3030
+ sig do
3031
+ params(
3032
+ name: ::String,
3033
+ members: T::Array[::Symbol],
3034
+ keyword_init: T::Boolean,
3035
+ loc: T.nilable(::RBI::Loc),
3036
+ comments: T::Array[::RBI::Comment],
3037
+ block: T.nilable(T.proc.params(struct: ::RBI::Struct).void)
3038
+ ).void
3039
+ end
3040
+ def initialize(name, members: T.unsafe(nil), keyword_init: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3041
+
3042
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#402
3043
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
3044
+ def compatible_with?(other); end
3045
+
3046
+ # source://rbi//lib/rbi/model.rb#305
3047
+ sig { override.returns(::String) }
3048
+ def fully_qualified_name; end
3049
+
3050
+ # source://rbi//lib/rbi/model.rb#284
3051
+ sig { returns(T::Boolean) }
3052
+ def keyword_init; end
3053
+
3054
+ # @return [Boolean]
3055
+ #
3056
+ # source://rbi//lib/rbi/model.rb#284
3057
+ def keyword_init=(_arg0); end
3058
+
3059
+ # source://rbi//lib/rbi/model.rb#281
3060
+ sig { returns(T::Array[::Symbol]) }
3061
+ def members; end
3062
+
3063
+ # @return [Array<Symbol>]
3064
+ #
3065
+ # source://rbi//lib/rbi/model.rb#281
3066
+ def members=(_arg0); end
3067
+
3068
+ # source://rbi//lib/rbi/model.rb#278
3069
+ sig { returns(::String) }
3070
+ def name; end
3071
+
3072
+ # @return [String]
3073
+ #
3074
+ # source://rbi//lib/rbi/model.rb#278
3075
+ def name=(_arg0); end
3076
+ end
3077
+
3078
+ # Sorbet's T::Enum
3079
+ #
3080
+ # source://rbi//lib/rbi/model.rb#1329
3081
+ class RBI::TEnum < ::RBI::Class
3082
+ # source://rbi//lib/rbi/model.rb#1340
3083
+ sig do
3084
+ params(
3085
+ name: ::String,
3086
+ loc: T.nilable(::RBI::Loc),
3087
+ comments: T::Array[::RBI::Comment],
3088
+ block: T.nilable(T.proc.params(klass: ::RBI::TEnum).void)
3089
+ ).void
3090
+ end
3091
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3092
+ end
3093
+
3094
+ # source://rbi//lib/rbi/model.rb#1346
3095
+ class RBI::TEnumBlock < ::RBI::Scope
3096
+ # source://rbi//lib/rbi/model.rb#1356
3097
+ sig do
3098
+ params(
3099
+ loc: T.nilable(::RBI::Loc),
3100
+ comments: T::Array[::RBI::Comment],
3101
+ block: T.nilable(T.proc.params(node: ::RBI::TEnumBlock).void)
3102
+ ).void
3103
+ end
3104
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3105
+
3106
+ # source://rbi//lib/rbi/model.rb#1362
3107
+ sig { override.returns(::String) }
3108
+ def fully_qualified_name; end
3109
+
3110
+ # source://rbi//lib/rbi/index.rb#223
3111
+ sig { override.returns(T::Array[::String]) }
3112
+ def index_ids; end
3113
+
3114
+ # source://rbi//lib/rbi/model.rb#1367
3115
+ sig { override.returns(::String) }
3116
+ def to_s; end
3117
+ end
3118
+
3119
+ # Sorbet's T::Struct
3120
+ #
3121
+ # source://rbi//lib/rbi/model.rb#1215
3122
+ class RBI::TStruct < ::RBI::Class
3123
+ # source://rbi//lib/rbi/model.rb#1226
3124
+ sig do
3125
+ params(
3126
+ name: ::String,
3127
+ loc: T.nilable(::RBI::Loc),
3128
+ comments: T::Array[::RBI::Comment],
3129
+ block: T.nilable(T.proc.params(klass: ::RBI::TStruct).void)
3130
+ ).void
3131
+ end
3132
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3133
+ end
3134
+
3135
+ # source://rbi//lib/rbi/model.rb#1267
3136
+ class RBI::TStructConst < ::RBI::TStructField
3137
+ include ::RBI::Indexable
3138
+
3139
+ # source://rbi//lib/rbi/model.rb#1280
3140
+ sig do
3141
+ params(
3142
+ name: ::String,
3143
+ type: T.any(::RBI::Type, ::String),
3144
+ default: T.nilable(::String),
3145
+ loc: T.nilable(::RBI::Loc),
3146
+ comments: T::Array[::RBI::Comment],
3147
+ block: T.nilable(T.proc.params(node: ::RBI::TStructConst).void)
3148
+ ).void
3149
+ end
3150
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3151
+
3152
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#555
3153
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
3154
+ def compatible_with?(other); end
3155
+
3156
+ # source://rbi//lib/rbi/model.rb#1286
3157
+ sig { override.returns(T::Array[::String]) }
3158
+ def fully_qualified_names; end
3159
+
3160
+ # source://rbi//lib/rbi/index.rb#203
3161
+ sig { override.returns(T::Array[::String]) }
3162
+ def index_ids; end
3163
+
3164
+ # source://rbi//lib/rbi/model.rb#1292
3165
+ sig { override.returns(::String) }
3166
+ def to_s; end
3167
+ end
3168
+
3169
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3170
+ #
3171
+ # source://rbi//lib/rbi/model.rb#1232
3172
+ class RBI::TStructField < ::RBI::NodeWithComments
3173
+ abstract!
3174
+
3175
+ # source://rbi//lib/rbi/model.rb#1256
3176
+ sig do
3177
+ params(
3178
+ name: ::String,
3179
+ type: T.any(::RBI::Type, ::String),
3180
+ default: T.nilable(::String),
3181
+ loc: T.nilable(::RBI::Loc),
3182
+ comments: T::Array[::RBI::Comment]
3183
+ ).void
3184
+ end
3185
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end
3186
+
3187
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#546
3188
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
3189
+ def compatible_with?(other); end
3190
+
3191
+ # source://rbi//lib/rbi/model.rb#1245
3192
+ sig { returns(T.nilable(::String)) }
3193
+ def default; end
3194
+
3195
+ # @return [String, nil]
3196
+ #
3197
+ # source://rbi//lib/rbi/model.rb#1245
3198
+ def default=(_arg0); end
3199
+
3200
+ # @abstract
3201
+ #
3202
+ # source://rbi//lib/rbi/model.rb#1264
3203
+ sig { abstract.returns(T::Array[::String]) }
3204
+ def fully_qualified_names; end
3205
+
3206
+ # source://rbi//lib/rbi/model.rb#1239
3207
+ sig { returns(::String) }
3208
+ def name; end
3209
+
3210
+ # @return [String]
3211
+ #
3212
+ # source://rbi//lib/rbi/model.rb#1239
3213
+ def name=(_arg0); end
3214
+
3215
+ # source://rbi//lib/rbi/model.rb#1242
3216
+ sig { returns(T.any(::RBI::Type, ::String)) }
3217
+ def type; end
3218
+
3219
+ # @return [Type, String]
3220
+ #
3221
+ # source://rbi//lib/rbi/model.rb#1242
3222
+ def type=(_arg0); end
3223
+ end
3224
+
3225
+ # source://rbi//lib/rbi/model.rb#1297
3226
+ class RBI::TStructProp < ::RBI::TStructField
3227
+ include ::RBI::Indexable
3228
+
3229
+ # source://rbi//lib/rbi/model.rb#1310
3230
+ sig do
3231
+ params(
3232
+ name: ::String,
3233
+ type: T.any(::RBI::Type, ::String),
3234
+ default: T.nilable(::String),
3235
+ loc: T.nilable(::RBI::Loc),
3236
+ comments: T::Array[::RBI::Comment],
3237
+ block: T.nilable(T.proc.params(node: ::RBI::TStructProp).void)
3238
+ ).void
3239
+ end
3240
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3241
+
3242
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#564
3243
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
3244
+ def compatible_with?(other); end
3245
+
3246
+ # source://rbi//lib/rbi/model.rb#1316
3247
+ sig { override.returns(T::Array[::String]) }
3248
+ def fully_qualified_names; end
3249
+
3250
+ # source://rbi//lib/rbi/index.rb#213
3251
+ sig { override.returns(T::Array[::String]) }
3252
+ def index_ids; end
3253
+
3254
+ # source://rbi//lib/rbi/model.rb#1322
3255
+ sig { override.returns(::String) }
3256
+ def to_s; end
3257
+ end
3258
+
3259
+ # source://rbi//lib/rbi/model.rb#108
3260
+ class RBI::Tree < ::RBI::NodeWithComments
3261
+ # source://rbi//lib/rbi/model.rb#121
3262
+ sig do
3263
+ params(
3264
+ loc: T.nilable(::RBI::Loc),
3265
+ comments: T::Array[::RBI::Comment],
3266
+ block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
3267
+ ).void
3268
+ end
3269
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3270
+
3271
+ # source://rbi//lib/rbi/model.rb#128
3272
+ sig { params(node: ::RBI::Node).void }
3273
+ def <<(node); end
3274
+
3275
+ # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#66
3276
+ sig { params(with_todo_comment: T::Boolean).void }
3277
+ def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
3278
+
3279
+ # source://rbi//lib/rbi/rewriters/annotate.rb#49
3280
+ sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
3281
+ def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
3282
+
3283
+ # source://tapioca/0.16.7/lib/tapioca/rbi_ext/model.rb#38
3284
+ sig do
3285
+ params(
3286
+ name: ::String,
3287
+ superclass_name: T.nilable(::String),
3288
+ block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)
3289
+ ).returns(::RBI::Scope)
3290
+ end
3291
+ def create_class(name, superclass_name: T.unsafe(nil), &block); end
3292
+
3293
+ # source://tapioca/0.16.7/lib/tapioca/rbi_ext/model.rb#45
3294
+ sig { params(name: ::String, value: ::String).void }
3295
+ def create_constant(name, value:); end
3296
+
3297
+ # source://tapioca/0.16.7/lib/tapioca/rbi_ext/model.rb#55
3298
+ sig { params(name: ::String).void }
3299
+ def create_extend(name); end
3300
+
3301
+ # source://tapioca/0.16.7/lib/tapioca/rbi_ext/model.rb#50
3302
+ sig { params(name: ::String).void }
3303
+ def create_include(name); end
3304
+
3305
+ # source://tapioca/0.16.7/lib/tapioca/rbi_ext/model.rb#90
3306
+ sig do
3307
+ params(
3308
+ name: ::String,
3309
+ parameters: T::Array[::RBI::TypedParam],
3310
+ return_type: T.nilable(::String),
3311
+ class_method: T::Boolean,
3312
+ visibility: ::RBI::Visibility,
3313
+ comments: T::Array[::RBI::Comment],
3314
+ block: T.nilable(T.proc.params(node: ::RBI::Method).void)
3315
+ ).void
3316
+ end
3317
+ def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil), &block); end
3318
+
3319
+ # source://tapioca/0.16.7/lib/tapioca/rbi_ext/model.rb#60
3320
+ sig { params(name: ::String).void }
3321
+ def create_mixes_in_class_methods(name); end
3322
+
3323
+ # source://tapioca/0.16.7/lib/tapioca/rbi_ext/model.rb#25
3324
+ sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
3325
+ def create_module(name, &block); end
3326
+
3327
+ # source://tapioca/0.16.7/lib/tapioca/rbi_ext/model.rb#9
3328
+ sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
3329
+ def create_path(constant, &block); end
3330
+
3331
+ # source://tapioca/0.16.7/lib/tapioca/rbi_ext/model.rb#74
3332
+ sig do
3333
+ params(
3334
+ name: ::String,
3335
+ type: ::String,
3336
+ variance: ::Symbol,
3337
+ fixed: T.nilable(::String),
3338
+ upper: T.nilable(::String),
3339
+ lower: T.nilable(::String)
3340
+ ).void
3341
+ end
3342
+ def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
3343
+
3344
+ # source://rbi//lib/rbi/rewriters/deannotate.rb#41
3345
+ sig { params(annotation: ::String).void }
3346
+ def deannotate!(annotation); end
3347
+
3348
+ # source://rbi//lib/rbi/model.rb#134
3349
+ sig { returns(T::Boolean) }
3350
+ def empty?; end
3351
+
3352
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#118
3353
+ sig { params(version: ::Gem::Version).void }
3354
+ def filter_versions!(version); end
3355
+
3356
+ # source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#60
3357
+ sig { void }
3358
+ def flatten_singleton_methods!; end
3359
+
3360
+ # source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#60
3361
+ sig { void }
3362
+ def flatten_visibilities!; end
3363
+
3364
+ # source://rbi//lib/rbi/rewriters/group_nodes.rb#81
3365
+ sig { void }
3366
+ def group_nodes!; end
3367
+
3368
+ # source://rbi//lib/rbi/index.rb#68
3369
+ sig { returns(::RBI::Index) }
3370
+ def index; end
3371
+
3372
+ # source://rbi//lib/rbi/rewriters/merge_trees.rb#324
3373
+ sig do
3374
+ params(
3375
+ other: ::RBI::Tree,
3376
+ left_name: ::String,
3377
+ right_name: ::String,
3378
+ keep: ::RBI::Rewriters::Merge::Keep
3379
+ ).returns(::RBI::MergeTree)
3380
+ end
3381
+ def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
3382
+
3383
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#46
3384
+ sig { void }
3385
+ def nest_non_public_members!; end
3386
+
3387
+ # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#36
3388
+ sig { void }
3389
+ def nest_singleton_methods!; end
3390
+
3391
+ # source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#63
3392
+ sig { void }
3393
+ def nest_top_level_members!; end
3394
+
3395
+ # source://rbi//lib/rbi/model.rb#112
3396
+ sig { returns(T::Array[::RBI::Node]) }
3397
+ def nodes; end
3398
+
3399
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#53
3400
+ sig { void }
3401
+ def replace_attributes_with_methods!; end
3402
+
3403
+ # source://rbi//lib/rbi/rewriters/sort_nodes.rb#119
3404
+ sig { void }
3405
+ def sort_nodes!; end
3406
+
3407
+ private
3408
+
3409
+ # source://tapioca/0.16.7/lib/tapioca/rbi_ext/model.rb#123
3410
+ sig { params(node: ::RBI::Node).returns(::RBI::Node) }
3411
+ def create_node(node); end
3412
+
3413
+ # source://tapioca/0.16.7/lib/tapioca/rbi_ext/model.rb#118
3414
+ sig { returns(T::Hash[::String, ::RBI::Node]) }
3415
+ def nodes_cache; end
3416
+ end
3417
+
3418
+ # The base class for all RBI types.
3419
+ #
3420
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3421
+ #
3422
+ # source://rbi//lib/rbi/type.rb#6
3423
+ class RBI::Type
3424
+ abstract!
3425
+
3426
+ # source://rbi//lib/rbi/type.rb#699
3427
+ sig { void }
3428
+ def initialize; end
3429
+
3430
+ # @abstract
3431
+ #
3432
+ # source://rbi//lib/rbi/type.rb#745
3433
+ sig { abstract.params(other: ::BasicObject).returns(T::Boolean) }
3434
+ def ==(other); end
3435
+
3436
+ # source://rbi//lib/rbi/type.rb#748
3437
+ sig { params(other: ::BasicObject).returns(T::Boolean) }
3438
+ def eql?(other); end
3439
+
3440
+ # source://rbi//lib/rbi/type.rb#753
3441
+ sig { override.returns(::Integer) }
3442
+ def hash; end
3443
+
3444
+ # Returns a new type that is `nilable` if it is not already.
3445
+ #
3446
+ # If the type is already nilable, it returns itself.
3447
+ # ```ruby
3448
+ # type = RBI::Type.simple("String")
3449
+ # type.to_rbi # => "String"
3450
+ # type.nilable.to_rbi # => "T.nilable(String)"
3451
+ # type.nilable.nilable.to_rbi # => "T.nilable(String)"
3452
+ # ```
3453
+ #
3454
+ # source://rbi//lib/rbi/type.rb#713
3455
+ sig { returns(::RBI::Type) }
3456
+ def nilable; end
3457
+
3458
+ # Returns whether the type is nilable.
3459
+ #
3460
+ # source://rbi//lib/rbi/type.rb#740
3461
+ sig { returns(T::Boolean) }
3462
+ def nilable?; end
3463
+
3464
+ # Returns the non-nilable version of the type.
3465
+ # If the type is already non-nilable, it returns itself.
3466
+ # If the type is nilable, it returns the inner type.
3467
+ #
3468
+ # ```ruby
3469
+ # type = RBI::Type.nilable(RBI::Type.simple("String"))
3470
+ # type.to_rbi # => "T.nilable(String)"
3471
+ # type.non_nilable.to_rbi # => "String"
3472
+ # type.non_nilable.non_nilable.to_rbi # => "String"
3473
+ # ```
3474
+ #
3475
+ # source://rbi//lib/rbi/type.rb#728
3476
+ sig { returns(::RBI::Type) }
3477
+ def non_nilable; end
3478
+
3479
+ # source://rbi//lib/rbi/rbs_printer.rb#1023
3480
+ sig { returns(::String) }
3481
+ def rbs_string; end
3482
+
3483
+ # @abstract
3484
+ #
3485
+ # source://rbi//lib/rbi/type.rb#758
3486
+ sig { abstract.returns(::String) }
3487
+ def to_rbi; end
3488
+
3489
+ # source://rbi//lib/rbi/type.rb#761
3490
+ sig { override.returns(::String) }
3491
+ def to_s; end
3492
+
3493
+ class << self
3494
+ # Builds a type that represents an intersection of multiple types like `T.all(String, Integer)`.
3495
+ #
3496
+ # Note that this method transforms types such as `T.all(String, String)` into `String`, so
3497
+ # it may return something other than a `All`.
3498
+ #
3499
+ # source://rbi//lib/rbi/type.rb#563
3500
+ sig { params(type1: ::RBI::Type, type2: ::RBI::Type, types: ::RBI::Type).returns(::RBI::Type) }
3501
+ def all(type1, type2, *types); end
3502
+
3503
+ # Builds a type that represents a union of multiple types like `T.any(String, Integer)`.
3504
+ #
3505
+ # Note that this method transforms types such as `T.any(String, NilClass)` into `T.nilable(String)`, so
3506
+ # it may return something other than a `Any`.
3507
+ #
3508
+ # source://rbi//lib/rbi/type.rb#590
3509
+ sig { params(type1: ::RBI::Type, type2: ::RBI::Type, types: ::RBI::Type).returns(::RBI::Type) }
3510
+ def any(type1, type2, *types); end
3511
+
3512
+ # Builds a type that represents `T.anything`.
3513
+ #
3514
+ # source://rbi//lib/rbi/type.rb#488
3515
+ sig { returns(::RBI::Type::Anything) }
3516
+ def anything; end
3517
+
3518
+ # Builds a type that represents `T.attached_class`.
3519
+ #
3520
+ # source://rbi//lib/rbi/type.rb#494
3521
+ sig { returns(::RBI::Type::AttachedClass) }
3522
+ def attached_class; end
3523
+
3524
+ # Builds a type that represents `T::Boolean`.
3525
+ #
3526
+ # source://rbi//lib/rbi/type.rb#500
3527
+ sig { returns(::RBI::Type::Boolean) }
3528
+ def boolean; end
3529
+
3530
+ # Builds a type that represents the singleton class of another type like `T.class_of(Foo)`.
3531
+ #
3532
+ # source://rbi//lib/rbi/type.rb#538
3533
+ sig { params(type: ::RBI::Type::Simple, type_parameter: T.nilable(::RBI::Type)).returns(::RBI::Type::ClassOf) }
3534
+ def class_of(type, type_parameter = T.unsafe(nil)); end
3535
+
3536
+ # Builds a type that represents a generic type like `T::Array[String]` or `T::Hash[Symbol, Integer]`.
3537
+ #
3538
+ # source://rbi//lib/rbi/type.rb#655
3539
+ sig { params(name: ::String, params: T.any(::RBI::Type, T::Array[::RBI::Type])).returns(::RBI::Type::Generic) }
3540
+ def generic(name, *params); end
3541
+
3542
+ # Builds a type that represents a nilable of another type like `T.nilable(String)`.
3543
+ #
3544
+ # Note that this method transforms types such as `T.nilable(T.untyped)` into `T.untyped`, so
3545
+ # it may return something other than a `RBI::Type::Nilable`.
3546
+ #
3547
+ # source://rbi//lib/rbi/type.rb#547
3548
+ sig { params(type: ::RBI::Type).returns(::RBI::Type) }
3549
+ def nilable(type); end
3550
+
3551
+ # Builds a type that represents `T.noreturn`.
3552
+ #
3553
+ # source://rbi//lib/rbi/type.rb#506
3554
+ sig { returns(::RBI::Type::NoReturn) }
3555
+ def noreturn; end
3556
+
3557
+ # source://rbi//lib/rbi/type_parser.rb#26
3558
+ sig { params(node: ::Prism::Node).returns(::RBI::Type) }
3559
+ def parse_node(node); end
3560
+
3561
+ # @raise [Error]
3562
+ #
3563
+ # source://rbi//lib/rbi/type_parser.rb#10
3564
+ sig { params(string: ::String).returns(::RBI::Type) }
3565
+ def parse_string(string); end
3566
+
3567
+ # Builds a type that represents a proc type like `T.proc.void`.
3568
+ #
3569
+ # source://rbi//lib/rbi/type.rb#683
3570
+ sig { returns(::RBI::Type::Proc) }
3571
+ def proc; end
3572
+
3573
+ # Builds a type that represents `T.self_type`.
3574
+ #
3575
+ # source://rbi//lib/rbi/type.rb#512
3576
+ sig { returns(::RBI::Type::SelfType) }
3577
+ def self_type; end
3578
+
3579
+ # Builds a type that represents a shape type like `{name: String, age: Integer}`.
3580
+ #
3581
+ # source://rbi//lib/rbi/type.rb#675
3582
+ sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).returns(::RBI::Type::Shape) }
3583
+ def shape(types = T.unsafe(nil)); end
3584
+
3585
+ # Builds a simple type like `String` or `::Foo::Bar`.
3586
+ #
3587
+ # It raises a `NameError` if the name is not a valid Ruby class identifier.
3588
+ #
3589
+ # @raise [NameError]
3590
+ #
3591
+ # source://rbi//lib/rbi/type.rb#477
3592
+ sig { params(name: ::String).returns(::RBI::Type::Simple) }
3593
+ def simple(name); end
3594
+
3595
+ # Builds a type that represents the class of another type like `T::Class[Foo]`.
3596
+ #
3597
+ # source://rbi//lib/rbi/type.rb#532
3598
+ sig { params(type: ::RBI::Type).returns(::RBI::Type::Class) }
3599
+ def t_class(type); end
3600
+
3601
+ # Builds a type that represents a tuple type like `[String, Integer]`.
3602
+ #
3603
+ # source://rbi//lib/rbi/type.rb#669
3604
+ sig { params(types: T.any(::RBI::Type, T::Array[::RBI::Type])).returns(::RBI::Type::Tuple) }
3605
+ def tuple(*types); end
3606
+
3607
+ # Builds a type that represents a type parameter like `T.type_parameter(:U)`.
3608
+ #
3609
+ # source://rbi//lib/rbi/type.rb#661
3610
+ sig { params(name: ::Symbol).returns(::RBI::Type::TypeParameter) }
3611
+ def type_parameter(name); end
3612
+
3613
+ # Builds a type that represents `T.untyped`.
3614
+ #
3615
+ # source://rbi//lib/rbi/type.rb#518
3616
+ sig { returns(::RBI::Type::Untyped) }
3617
+ def untyped; end
3618
+
3619
+ # Builds a type that represents `void`.
3620
+ #
3621
+ # source://rbi//lib/rbi/type.rb#524
3622
+ sig { returns(::RBI::Type::Void) }
3623
+ def void; end
3624
+
3625
+ private
3626
+
3627
+ # source://rbi//lib/rbi/type_parser.rb#263
3628
+ sig { params(node: ::Prism::CallNode).returns(T::Array[::Prism::Node]) }
3629
+ def call_chain(node); end
3630
+
3631
+ # source://rbi//lib/rbi/type_parser.rb#250
3632
+ sig { params(node: ::Prism::CallNode, count: ::Integer).returns(T::Array[::Prism::Node]) }
3633
+ def check_arguments_at_least!(node, count); end
3634
+
3635
+ # source://rbi//lib/rbi/type_parser.rb#235
3636
+ sig { params(node: ::Prism::CallNode, count: ::Integer).returns(T::Array[::Prism::Node]) }
3637
+ def check_arguments_exactly!(node, count); end
3638
+
3639
+ # @raise [Error]
3640
+ #
3641
+ # source://rbi//lib/rbi/type_parser.rb#69
3642
+ sig { params(node: ::Prism::CallNode).returns(::RBI::Type) }
3643
+ def parse_call(node); end
3644
+
3645
+ # source://rbi//lib/rbi/type_parser.rb#52
3646
+ sig { params(node: T.any(::Prism::ConstantPathNode, ::Prism::ConstantReadNode)).returns(::RBI::Type) }
3647
+ def parse_constant(node); end
3648
+
3649
+ # @raise [Error]
3650
+ #
3651
+ # source://rbi//lib/rbi/type_parser.rb#195
3652
+ sig { params(node: ::Prism::CallNode).returns(::RBI::Type) }
3653
+ def parse_proc(node); end
3654
+
3655
+ # source://rbi//lib/rbi/type_parser.rb#176
3656
+ sig { params(node: T.any(::Prism::HashNode, ::Prism::KeywordHashNode)).returns(::RBI::Type) }
3657
+ def parse_shape(node); end
3658
+
3659
+ # source://rbi//lib/rbi/type_parser.rb#171
3660
+ sig { params(node: ::Prism::ArrayNode).returns(::RBI::Type) }
3661
+ def parse_tuple(node); end
3662
+
3663
+ # source://rbi//lib/rbi/type_parser.rb#276
3664
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
3665
+ def t?(node); end
3666
+
3667
+ # source://rbi//lib/rbi/type_parser.rb#288
3668
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
3669
+ def t_boolean?(node); end
3670
+
3671
+ # source://rbi//lib/rbi/type_parser.rb#295
3672
+ sig { params(node: ::Prism::ConstantPathNode).returns(T::Boolean) }
3673
+ def t_class?(node); end
3674
+
3675
+ # source://rbi//lib/rbi/type_parser.rb#300
3676
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
3677
+ def t_class_of?(node); end
3678
+
3679
+ # source://rbi//lib/rbi/type_parser.rb#307
3680
+ sig { params(node: ::Prism::CallNode).returns(T::Boolean) }
3681
+ def t_proc?(node); end
3682
+
3683
+ # source://rbi//lib/rbi/type.rb#693
3684
+ sig { params(name: ::String).returns(T::Boolean) }
3685
+ def valid_identifier?(name); end
3686
+ end
3687
+ end
3688
+
3689
+ # A type that is intersection of multiple types like `T.all(String, Integer)`.
3690
+ #
3691
+ # source://rbi//lib/rbi/type.rb#252
3692
+ class RBI::Type::All < ::RBI::Type::Composite
3693
+ # source://rbi//lib/rbi/type.rb#256
3694
+ sig { override.returns(::String) }
3695
+ def to_rbi; end
3696
+ end
3697
+
3698
+ # A type that is union of multiple types like `T.any(String, Integer)`.
3699
+ #
3700
+ # source://rbi//lib/rbi/type.rb#262
3701
+ class RBI::Type::Any < ::RBI::Type::Composite
3702
+ # source://rbi//lib/rbi/type.rb#271
3703
+ sig { returns(T::Boolean) }
3704
+ def nilable?; end
3705
+
3706
+ # source://rbi//lib/rbi/type.rb#266
3707
+ sig { override.returns(::String) }
3708
+ def to_rbi; end
3709
+ end
3710
+
3711
+ # `T.anything`.
3712
+ #
3713
+ # source://rbi//lib/rbi/type.rb#43
3714
+ class RBI::Type::Anything < ::RBI::Type
3715
+ # source://rbi//lib/rbi/type.rb#47
3716
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3717
+ def ==(other); end
3718
+
3719
+ # source://rbi//lib/rbi/type.rb#52
3720
+ sig { override.returns(::String) }
3721
+ def to_rbi; end
3722
+ end
3723
+
3724
+ # `T.attached_class`.
3725
+ #
3726
+ # source://rbi//lib/rbi/type.rb#58
3727
+ class RBI::Type::AttachedClass < ::RBI::Type
3728
+ # source://rbi//lib/rbi/type.rb#62
3729
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3730
+ def ==(other); end
3731
+
3732
+ # source://rbi//lib/rbi/type.rb#67
3733
+ sig { override.returns(::String) }
3734
+ def to_rbi; end
3735
+ end
3736
+
3737
+ # `T::Boolean`.
3738
+ #
3739
+ # source://rbi//lib/rbi/type.rb#73
3740
+ class RBI::Type::Boolean < ::RBI::Type
3741
+ # source://rbi//lib/rbi/type.rb#77
3742
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3743
+ def ==(other); end
3744
+
3745
+ # source://rbi//lib/rbi/type.rb#82
3746
+ sig { override.returns(::String) }
3747
+ def to_rbi; end
3748
+ end
3749
+
3750
+ # The class of another type like `T::Class[Foo]`.
3751
+ #
3752
+ # source://rbi//lib/rbi/type.rb#150
3753
+ class RBI::Type::Class < ::RBI::Type
3754
+ # source://rbi//lib/rbi/type.rb#157
3755
+ sig { params(type: ::RBI::Type).void }
3756
+ def initialize(type); end
3757
+
3758
+ # source://rbi//lib/rbi/type.rb#163
3759
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3760
+ def ==(other); end
3761
+
3762
+ # source://rbi//lib/rbi/type.rb#168
3763
+ sig { override.returns(::String) }
3764
+ def to_rbi; end
3765
+
3766
+ # source://rbi//lib/rbi/type.rb#154
3767
+ sig { returns(::RBI::Type) }
3768
+ def type; end
3769
+ end
3770
+
3771
+ # The singleton class of another type like `T.class_of(Foo)`.
3772
+ #
3773
+ # source://rbi//lib/rbi/type.rb#174
3774
+ class RBI::Type::ClassOf < ::RBI::Type
3775
+ # source://rbi//lib/rbi/type.rb#184
3776
+ sig { params(type: ::RBI::Type::Simple, type_parameter: T.nilable(::RBI::Type)).void }
3777
+ def initialize(type, type_parameter = T.unsafe(nil)); end
3778
+
3779
+ # source://rbi//lib/rbi/type.rb#191
3780
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3781
+ def ==(other); end
3782
+
3783
+ # source://rbi//lib/rbi/type.rb#196
3784
+ sig { override.returns(::String) }
3785
+ def to_rbi; end
3786
+
3787
+ # source://rbi//lib/rbi/type.rb#178
3788
+ sig { returns(::RBI::Type::Simple) }
3789
+ def type; end
3790
+
3791
+ # source://rbi//lib/rbi/type.rb#181
3792
+ sig { returns(T.nilable(::RBI::Type)) }
3793
+ def type_parameter; end
3794
+ end
3795
+
3796
+ # A type that is composed of multiple types like `T.all(String, Integer)`.
3797
+ #
3798
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3799
+ #
3800
+ # source://rbi//lib/rbi/type.rb#230
3801
+ class RBI::Type::Composite < ::RBI::Type
3802
+ abstract!
3803
+
3804
+ # source://rbi//lib/rbi/type.rb#240
3805
+ sig { params(types: T::Array[::RBI::Type]).void }
3806
+ def initialize(types); end
3807
+
3808
+ # source://rbi//lib/rbi/type.rb#246
3809
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3810
+ def ==(other); end
3811
+
3812
+ # source://rbi//lib/rbi/type.rb#237
3813
+ sig { returns(T::Array[::RBI::Type]) }
3814
+ def types; end
3815
+ end
3816
+
3817
+ # source://rbi//lib/rbi/type_parser.rb#6
3818
+ class RBI::Type::Error < ::RBI::Error; end
3819
+
3820
+ # A generic type like `T::Array[String]` or `T::Hash[Symbol, Integer]`.
3821
+ #
3822
+ # source://rbi//lib/rbi/type.rb#279
3823
+ class RBI::Type::Generic < ::RBI::Type
3824
+ # source://rbi//lib/rbi/type.rb#289
3825
+ sig { params(name: ::String, params: ::RBI::Type).void }
3826
+ def initialize(name, *params); end
3827
+
3828
+ # source://rbi//lib/rbi/type.rb#296
3829
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3830
+ def ==(other); end
3831
+
3832
+ # source://rbi//lib/rbi/type.rb#283
3833
+ sig { returns(::String) }
3834
+ def name; end
3835
+
3836
+ # source://rbi//lib/rbi/type.rb#286
3837
+ sig { returns(T::Array[::RBI::Type]) }
3838
+ def params; end
3839
+
3840
+ # source://rbi//lib/rbi/type.rb#301
3841
+ sig { override.returns(::String) }
3842
+ def to_rbi; end
3843
+ end
3844
+
3845
+ # A type that can be `nil` like `T.nilable(String)`.
3846
+ #
3847
+ # source://rbi//lib/rbi/type.rb#206
3848
+ class RBI::Type::Nilable < ::RBI::Type
3849
+ # source://rbi//lib/rbi/type.rb#213
3850
+ sig { params(type: ::RBI::Type).void }
3851
+ def initialize(type); end
3852
+
3853
+ # source://rbi//lib/rbi/type.rb#219
3854
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3855
+ def ==(other); end
3856
+
3857
+ # source://rbi//lib/rbi/type.rb#224
3858
+ sig { override.returns(::String) }
3859
+ def to_rbi; end
3860
+
3861
+ # source://rbi//lib/rbi/type.rb#210
3862
+ sig { returns(::RBI::Type) }
3863
+ def type; end
3864
+ end
3865
+
3866
+ # `T.noreturn`.
3867
+ #
3868
+ # source://rbi//lib/rbi/type.rb#88
3869
+ class RBI::Type::NoReturn < ::RBI::Type
3870
+ # source://rbi//lib/rbi/type.rb#92
3871
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3872
+ def ==(other); end
3873
+
3874
+ # source://rbi//lib/rbi/type.rb#97
3875
+ sig { override.returns(::String) }
3876
+ def to_rbi; end
3877
+ end
3878
+
3879
+ # A proc type like `T.proc.void`.
3880
+ #
3881
+ # source://rbi//lib/rbi/type.rb#387
3882
+ class RBI::Type::Proc < ::RBI::Type
3883
+ # source://rbi//lib/rbi/type.rb#400
3884
+ sig { void }
3885
+ def initialize; end
3886
+
3887
+ # source://rbi//lib/rbi/type.rb#408
3888
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3889
+ def ==(other); end
3890
+
3891
+ # source://rbi//lib/rbi/type.rb#436
3892
+ sig { params(type: T.untyped).returns(T.self_type) }
3893
+ def bind(type); end
3894
+
3895
+ # source://rbi//lib/rbi/type.rb#418
3896
+ sig { params(params: ::RBI::Type).returns(T.self_type) }
3897
+ def params(**params); end
3898
+
3899
+ # source://rbi//lib/rbi/type.rb#397
3900
+ sig { returns(T.nilable(::RBI::Type)) }
3901
+ def proc_bind; end
3902
+
3903
+ # source://rbi//lib/rbi/type.rb#391
3904
+ sig { returns(T::Hash[::Symbol, ::RBI::Type]) }
3905
+ def proc_params; end
3906
+
3907
+ # source://rbi//lib/rbi/type.rb#394
3908
+ sig { returns(::RBI::Type) }
3909
+ def proc_returns; end
3910
+
3911
+ # source://rbi//lib/rbi/type.rb#424
3912
+ sig { params(type: T.untyped).returns(T.self_type) }
3913
+ def returns(type); end
3914
+
3915
+ # source://rbi//lib/rbi/type.rb#442
3916
+ sig { override.returns(::String) }
3917
+ def to_rbi; end
3918
+
3919
+ # source://rbi//lib/rbi/type.rb#430
3920
+ sig { returns(T.self_type) }
3921
+ def void; end
3922
+ end
3923
+
3924
+ # `T.self_type`.
3925
+ #
3926
+ # source://rbi//lib/rbi/type.rb#103
3927
+ class RBI::Type::SelfType < ::RBI::Type
3928
+ # source://rbi//lib/rbi/type.rb#107
3929
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3930
+ def ==(other); end
3931
+
3932
+ # source://rbi//lib/rbi/type.rb#112
3933
+ sig { override.returns(::String) }
3934
+ def to_rbi; end
3935
+ end
3936
+
3937
+ # A shape type like `{name: String, age: Integer}`.
3938
+ #
3939
+ # source://rbi//lib/rbi/type.rb#357
3940
+ class RBI::Type::Shape < ::RBI::Type
3941
+ # source://rbi//lib/rbi/type.rb#364
3942
+ sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).void }
3943
+ def initialize(types); end
3944
+
3945
+ # source://rbi//lib/rbi/type.rb#370
3946
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3947
+ def ==(other); end
3948
+
3949
+ # source://rbi//lib/rbi/type.rb#375
3950
+ sig { override.returns(::String) }
3951
+ def to_rbi; end
3952
+
3953
+ # source://rbi//lib/rbi/type.rb#361
3954
+ sig { returns(T::Hash[T.any(::String, ::Symbol), ::RBI::Type]) }
3955
+ def types; end
3956
+ end
3957
+
3958
+ # A type that represents a simple class name like `String` or `Foo`.
3959
+ #
3960
+ # It can also be a qualified name like `::Foo` or `Foo::Bar`.
3961
+ #
3962
+ # source://rbi//lib/rbi/type.rb#17
3963
+ class RBI::Type::Simple < ::RBI::Type
3964
+ # source://rbi//lib/rbi/type.rb#24
3965
+ sig { params(name: ::String).void }
3966
+ def initialize(name); end
3967
+
3968
+ # source://rbi//lib/rbi/type.rb#30
3969
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3970
+ def ==(other); end
3971
+
3972
+ # source://rbi//lib/rbi/type.rb#21
3973
+ sig { returns(::String) }
3974
+ def name; end
3975
+
3976
+ # source://rbi//lib/rbi/type.rb#35
3977
+ sig { override.returns(::String) }
3978
+ def to_rbi; end
3979
+ end
3980
+
3981
+ # A tuple type like `[String, Integer]`.
3982
+ #
3983
+ # source://rbi//lib/rbi/type.rb#333
3984
+ class RBI::Type::Tuple < ::RBI::Type
3985
+ # source://rbi//lib/rbi/type.rb#340
3986
+ sig { params(types: T::Array[::RBI::Type]).void }
3987
+ def initialize(types); end
3988
+
3989
+ # source://rbi//lib/rbi/type.rb#346
3990
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3991
+ def ==(other); end
3992
+
3993
+ # source://rbi//lib/rbi/type.rb#351
3994
+ sig { override.returns(::String) }
3995
+ def to_rbi; end
3996
+
3997
+ # source://rbi//lib/rbi/type.rb#337
3998
+ sig { returns(T::Array[::RBI::Type]) }
3999
+ def types; end
4000
+ end
4001
+
4002
+ # A type parameter like `T.type_parameter(:U)`.
4003
+ #
4004
+ # source://rbi//lib/rbi/type.rb#307
4005
+ class RBI::Type::TypeParameter < ::RBI::Type
4006
+ # source://rbi//lib/rbi/type.rb#314
4007
+ sig { params(name: ::Symbol).void }
4008
+ def initialize(name); end
4009
+
4010
+ # source://rbi//lib/rbi/type.rb#320
4011
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4012
+ def ==(other); end
4013
+
4014
+ # source://rbi//lib/rbi/type.rb#311
4015
+ sig { returns(::Symbol) }
4016
+ def name; end
4017
+
4018
+ # source://rbi//lib/rbi/type.rb#325
4019
+ sig { override.returns(::String) }
4020
+ def to_rbi; end
4021
+ end
4022
+
4023
+ # `T.untyped`.
4024
+ #
4025
+ # source://rbi//lib/rbi/type.rb#118
4026
+ class RBI::Type::Untyped < ::RBI::Type
4027
+ # source://rbi//lib/rbi/type.rb#122
4028
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4029
+ def ==(other); end
4030
+
4031
+ # source://rbi//lib/rbi/type.rb#127
4032
+ sig { override.returns(::String) }
4033
+ def to_rbi; end
4034
+ end
4035
+
4036
+ # source://rbi//lib/rbi/type_visitor.rb#6
4037
+ class RBI::Type::Visitor
4038
+ # source://rbi//lib/rbi/type_visitor.rb#12
4039
+ sig { params(node: ::RBI::Type).void }
4040
+ def visit(node); end
4041
+
4042
+ private
4043
+
4044
+ # source://rbi//lib/rbi/type_visitor.rb#58
4045
+ sig { params(type: ::RBI::Type::All).void }
4046
+ def visit_all(type); end
4047
+
4048
+ # source://rbi//lib/rbi/type_visitor.rb#61
4049
+ sig { params(type: ::RBI::Type::Any).void }
4050
+ def visit_any(type); end
4051
+
4052
+ # source://rbi//lib/rbi/type_visitor.rb#64
4053
+ sig { params(type: ::RBI::Type::Anything).void }
4054
+ def visit_anything(type); end
4055
+
4056
+ # source://rbi//lib/rbi/type_visitor.rb#67
4057
+ sig { params(type: ::RBI::Type::AttachedClass).void }
4058
+ def visit_attached_class(type); end
4059
+
4060
+ # source://rbi//lib/rbi/type_visitor.rb#70
4061
+ sig { params(type: ::RBI::Type::Boolean).void }
4062
+ def visit_boolean(type); end
4063
+
4064
+ # source://rbi//lib/rbi/type_visitor.rb#73
4065
+ sig { params(type: ::RBI::Type::Class).void }
4066
+ def visit_class(type); end
4067
+
4068
+ # source://rbi//lib/rbi/type_visitor.rb#76
4069
+ sig { params(type: ::RBI::Type::ClassOf).void }
4070
+ def visit_class_of(type); end
4071
+
4072
+ # source://rbi//lib/rbi/type_visitor.rb#79
4073
+ sig { params(type: ::RBI::Type::Generic).void }
4074
+ def visit_generic(type); end
4075
+
4076
+ # source://rbi//lib/rbi/type_visitor.rb#82
4077
+ sig { params(type: ::RBI::Type::Nilable).void }
4078
+ def visit_nilable(type); end
4079
+
4080
+ # source://rbi//lib/rbi/type_visitor.rb#88
4081
+ sig { params(type: ::RBI::Type::NoReturn).void }
4082
+ def visit_no_return(type); end
4083
+
4084
+ # source://rbi//lib/rbi/type_visitor.rb#91
4085
+ sig { params(type: ::RBI::Type::Proc).void }
4086
+ def visit_proc(type); end
4087
+
4088
+ # source://rbi//lib/rbi/type_visitor.rb#94
4089
+ sig { params(type: ::RBI::Type::SelfType).void }
4090
+ def visit_self_type(type); end
4091
+
4092
+ # source://rbi//lib/rbi/type_visitor.rb#100
4093
+ sig { params(type: ::RBI::Type::Shape).void }
4094
+ def visit_shape(type); end
4095
+
4096
+ # source://rbi//lib/rbi/type_visitor.rb#85
4097
+ sig { params(type: ::RBI::Type::Simple).void }
4098
+ def visit_simple(type); end
4099
+
4100
+ # source://rbi//lib/rbi/type_visitor.rb#103
4101
+ sig { params(type: ::RBI::Type::Tuple).void }
4102
+ def visit_tuple(type); end
4103
+
4104
+ # source://rbi//lib/rbi/type_visitor.rb#106
4105
+ sig { params(type: ::RBI::Type::TypeParameter).void }
4106
+ def visit_type_parameter(type); end
4107
+
4108
+ # source://rbi//lib/rbi/type_visitor.rb#109
4109
+ sig { params(type: ::RBI::Type::Untyped).void }
4110
+ def visit_untyped(type); end
4111
+
4112
+ # source://rbi//lib/rbi/type_visitor.rb#97
4113
+ sig { params(type: ::RBI::Type::Void).void }
4114
+ def visit_void(type); end
4115
+ end
4116
+
4117
+ # source://rbi//lib/rbi/type_visitor.rb#9
4118
+ class RBI::Type::Visitor::Error < ::RBI::Error; end
4119
+
4120
+ # `void`.
4121
+ #
4122
+ # source://rbi//lib/rbi/type.rb#133
4123
+ class RBI::Type::Void < ::RBI::Type
4124
+ # source://rbi//lib/rbi/type.rb#137
4125
+ sig { override.params(other: ::BasicObject).returns(T::Boolean) }
4126
+ def ==(other); end
4127
+
4128
+ # source://rbi//lib/rbi/type.rb#142
4129
+ sig { override.returns(::String) }
4130
+ def to_rbi; end
4131
+ end
4132
+
4133
+ # source://rbi//lib/rbi/model.rb#1400
4134
+ class RBI::TypeMember < ::RBI::NodeWithComments
4135
+ include ::RBI::Indexable
4136
+
4137
+ # source://rbi//lib/rbi/model.rb#1415
4138
+ sig do
4139
+ params(
4140
+ name: ::String,
4141
+ value: ::String,
4142
+ loc: T.nilable(::RBI::Loc),
4143
+ comments: T::Array[::RBI::Comment],
4144
+ block: T.nilable(T.proc.params(node: ::RBI::TypeMember).void)
4145
+ ).void
4146
+ end
4147
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
4148
+
4149
+ # source://rbi//lib/rbi/model.rb#1423
4150
+ sig { returns(::String) }
4151
+ def fully_qualified_name; end
4152
+
4153
+ # source://rbi//lib/rbi/index.rb#183
4154
+ sig { override.returns(T::Array[::String]) }
4155
+ def index_ids; end
4156
+
4157
+ # source://rbi//lib/rbi/model.rb#1404
4158
+ sig { returns(::String) }
4159
+ def name; end
4160
+
4161
+ # source://rbi//lib/rbi/model.rb#1430
4162
+ sig { override.returns(::String) }
4163
+ def to_s; end
4164
+
4165
+ # @return [String]
4166
+ #
4167
+ # source://rbi//lib/rbi/model.rb#1404
4168
+ def value; end
4169
+ end
4170
+
4171
+ # source://rbi//lib/rbi/rbs_printer.rb#780
4172
+ class RBI::TypePrinter
4173
+ # source://rbi//lib/rbi/rbs_printer.rb#787
4174
+ sig { void }
4175
+ def initialize; end
4176
+
4177
+ # source://rbi//lib/rbi/rbs_printer.rb#784
4178
+ sig { returns(::String) }
4179
+ def string; end
4180
+
4181
+ # source://rbi//lib/rbi/rbs_printer.rb#792
4182
+ sig { params(node: ::RBI::Type).void }
4183
+ def visit(node); end
4184
+
4185
+ # source://rbi//lib/rbi/rbs_printer.rb#900
4186
+ sig { params(type: ::RBI::Type::All).void }
4187
+ def visit_all(type); end
4188
+
4189
+ # source://rbi//lib/rbi/rbs_printer.rb#910
4190
+ sig { params(type: ::RBI::Type::Any).void }
4191
+ def visit_any(type); end
4192
+
4193
+ # source://rbi//lib/rbi/rbs_printer.rb#857
4194
+ sig { params(type: ::RBI::Type::Anything).void }
4195
+ def visit_anything(type); end
4196
+
4197
+ # source://rbi//lib/rbi/rbs_printer.rb#882
4198
+ sig { params(type: ::RBI::Type::AttachedClass).void }
4199
+ def visit_attached_class(type); end
4200
+
4201
+ # source://rbi//lib/rbi/rbs_printer.rb#841
4202
+ sig { params(type: ::RBI::Type::Boolean).void }
4203
+ def visit_boolean(type); end
4204
+
4205
+ # source://rbi//lib/rbi/rbs_printer.rb#962
4206
+ sig { params(type: ::RBI::Type::Class).void }
4207
+ def visit_class(type); end
4208
+
4209
+ # source://rbi//lib/rbi/rbs_printer.rb#893
4210
+ sig { params(type: ::RBI::Type::ClassOf).void }
4211
+ def visit_class_of(type); end
4212
+
4213
+ # source://rbi//lib/rbi/rbs_printer.rb#846
4214
+ sig { params(type: ::RBI::Type::Generic).void }
4215
+ def visit_generic(type); end
4216
+
4217
+ # source://rbi//lib/rbi/rbs_printer.rb#887
4218
+ sig { params(type: ::RBI::Type::Nilable).void }
4219
+ def visit_nilable(type); end
4220
+
4221
+ # source://rbi//lib/rbi/rbs_printer.rb#867
4222
+ sig { params(type: ::RBI::Type::NoReturn).void }
4223
+ def visit_no_return(type); end
4224
+
4225
+ # source://rbi//lib/rbi/rbs_printer.rb#941
4226
+ sig { params(type: ::RBI::Type::Proc).void }
4227
+ def visit_proc(type); end
4228
+
4229
+ # source://rbi//lib/rbi/rbs_printer.rb#877
4230
+ sig { params(type: ::RBI::Type::SelfType).void }
4231
+ def visit_self_type(type); end
4232
+
4233
+ # source://rbi//lib/rbi/rbs_printer.rb#930
4234
+ sig { params(type: ::RBI::Type::Shape).void }
4235
+ def visit_shape(type); end
4236
+
4237
+ # source://rbi//lib/rbi/rbs_printer.rb#836
4238
+ sig { params(type: ::RBI::Type::Simple).void }
4239
+ def visit_simple(type); end
4240
+
4241
+ # source://rbi//lib/rbi/rbs_printer.rb#920
4242
+ sig { params(type: ::RBI::Type::Tuple).void }
4243
+ def visit_tuple(type); end
4244
+
4245
+ # source://rbi//lib/rbi/rbs_printer.rb#957
4246
+ sig { params(type: ::RBI::Type::TypeParameter).void }
4247
+ def visit_type_parameter(type); end
4248
+
4249
+ # source://rbi//lib/rbi/rbs_printer.rb#872
4250
+ sig { params(type: ::RBI::Type::Untyped).void }
4251
+ def visit_untyped(type); end
4252
+
4253
+ # source://rbi//lib/rbi/rbs_printer.rb#862
4254
+ sig { params(type: ::RBI::Type::Void).void }
4255
+ def visit_void(type); end
4256
+
4257
+ private
4258
+
4259
+ # source://rbi//lib/rbi/rbs_printer.rb#971
4260
+ sig { params(type_name: ::String).returns(::String) }
4261
+ def translate_t_type(type_name); end
4262
+ end
4263
+
4264
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#5
4265
+ class RBI::UnexpectedMultipleSigsError < ::RBI::Error
4266
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#10
4267
+ sig { params(node: ::RBI::Node).void }
4268
+ def initialize(node); end
4269
+
4270
+ # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#7
4271
+ sig { returns(::RBI::Node) }
4272
+ def node; end
4273
+ end
4274
+
4275
+ # source://rbi//lib/rbi/parser.rb#20
4276
+ class RBI::UnexpectedParserError < ::RBI::Error
4277
+ # source://rbi//lib/rbi/parser.rb#27
4278
+ sig { params(parent_exception: ::Exception, last_location: ::RBI::Loc).void }
4279
+ def initialize(parent_exception, last_location); end
4280
+
4281
+ # source://rbi//lib/rbi/parser.rb#24
4282
+ sig { returns(::RBI::Loc) }
4283
+ def last_location; end
4284
+
4285
+ # source://rbi//lib/rbi/parser.rb#34
4286
+ sig { params(io: T.any(::IO, ::StringIO)).void }
4287
+ def print_debug(io: T.unsafe(nil)); end
4288
+ end
4289
+
4290
+ # source://rbi//lib/rbi/version.rb#5
4291
+ RBI::VERSION = T.let(T.unsafe(nil), String)
4292
+
4293
+ # Visibility
4294
+ #
4295
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
4296
+ #
4297
+ # source://rbi//lib/rbi/model.rb#916
4298
+ class RBI::Visibility < ::RBI::NodeWithComments
4299
+ abstract!
4300
+
4301
+ # source://rbi//lib/rbi/model.rb#926
4302
+ sig { params(visibility: ::Symbol, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
4303
+ def initialize(visibility, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
4304
+
4305
+ # source://rbi//lib/rbi/model.rb#932
4306
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
4307
+ def ==(other); end
4308
+
4309
+ # source://rbi//lib/rbi/model.rb#949
4310
+ sig { returns(T::Boolean) }
4311
+ def private?; end
4312
+
4313
+ # source://rbi//lib/rbi/model.rb#944
4314
+ sig { returns(T::Boolean) }
4315
+ def protected?; end
4316
+
4317
+ # source://rbi//lib/rbi/model.rb#939
4318
+ sig { returns(T::Boolean) }
4319
+ def public?; end
4320
+
4321
+ # source://rbi//lib/rbi/model.rb#923
4322
+ sig { returns(::Symbol) }
4323
+ def visibility; end
4324
+ end
4325
+
4326
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#52
4327
+ class RBI::VisibilityGroup < ::RBI::Tree
4328
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#59
4329
+ sig { params(visibility: ::RBI::Visibility).void }
4330
+ def initialize(visibility); end
4331
+
4332
+ # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#56
4333
+ sig { returns(::RBI::Visibility) }
4334
+ def visibility; end
4335
+ end
4336
+
4337
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
4338
+ #
4339
+ # source://rbi//lib/rbi/visitor.rb#7
4340
+ class RBI::Visitor
4341
+ abstract!
4342
+
4343
+ # source://rbi//lib/rbi/visitor.rb#14
4344
+ sig { params(node: T.nilable(::RBI::Node)).void }
4345
+ def visit(node); end
4346
+
4347
+ # source://rbi//lib/rbi/visitor.rb#108
4348
+ sig { params(nodes: T::Array[::RBI::Node]).void }
4349
+ def visit_all(nodes); end
4350
+
4351
+ # source://rbi//lib/rbi/visitor.rb#113
4352
+ sig { params(file: ::RBI::File).void }
4353
+ def visit_file(file); end
4354
+
4355
+ private
4356
+
4357
+ # source://rbi//lib/rbi/visitor.rb#195
4358
+ sig { params(node: ::RBI::Arg).void }
4359
+ def visit_arg(node); end
4360
+
4361
+ # source://rbi//lib/rbi/visitor.rb#144
4362
+ sig { params(node: ::RBI::AttrAccessor).void }
4363
+ def visit_attr_accessor(node); end
4364
+
4365
+ # source://rbi//lib/rbi/visitor.rb#147
4366
+ sig { params(node: ::RBI::AttrReader).void }
4367
+ def visit_attr_reader(node); end
4368
+
4369
+ # source://rbi//lib/rbi/visitor.rb#150
4370
+ sig { params(node: ::RBI::AttrWriter).void }
4371
+ def visit_attr_writer(node); end
4372
+
4373
+ # source://rbi//lib/rbi/visitor.rb#123
4374
+ sig { params(node: ::RBI::BlankLine).void }
4375
+ def visit_blank_line(node); end
4376
+
4377
+ # source://rbi//lib/rbi/visitor.rb#174
4378
+ sig { params(node: ::RBI::BlockParam).void }
4379
+ def visit_block_param(node); end
4380
+
4381
+ # source://rbi//lib/rbi/visitor.rb#129
4382
+ sig { params(node: ::RBI::Class).void }
4383
+ def visit_class(node); end
4384
+
4385
+ # source://rbi//lib/rbi/visitor.rb#120
4386
+ sig { params(node: ::RBI::Comment).void }
4387
+ def visit_comment(node); end
4388
+
4389
+ # source://rbi//lib/rbi/visitor.rb#240
4390
+ sig { params(node: ::RBI::ConflictTree).void }
4391
+ def visit_conflict_tree(node); end
4392
+
4393
+ # source://rbi//lib/rbi/visitor.rb#141
4394
+ sig { params(node: ::RBI::Const).void }
4395
+ def visit_const(node); end
4396
+
4397
+ # source://rbi//lib/rbi/visitor.rb#180
4398
+ sig { params(node: ::RBI::Extend).void }
4399
+ def visit_extend(node); end
4400
+
4401
+ # source://rbi//lib/rbi/visitor.rb#234
4402
+ sig { params(node: ::RBI::Group).void }
4403
+ def visit_group(node); end
4404
+
4405
+ # source://rbi//lib/rbi/visitor.rb#222
4406
+ sig { params(node: ::RBI::Helper).void }
4407
+ def visit_helper(node); end
4408
+
4409
+ # source://rbi//lib/rbi/visitor.rb#177
4410
+ sig { params(node: ::RBI::Include).void }
4411
+ def visit_include(node); end
4412
+
4413
+ # source://rbi//lib/rbi/visitor.rb#198
4414
+ sig { params(node: ::RBI::KwArg).void }
4415
+ def visit_kw_arg(node); end
4416
+
4417
+ # source://rbi//lib/rbi/visitor.rb#168
4418
+ sig { params(node: ::RBI::KwOptParam).void }
4419
+ def visit_kw_opt_param(node); end
4420
+
4421
+ # source://rbi//lib/rbi/visitor.rb#165
4422
+ sig { params(node: ::RBI::KwParam).void }
4423
+ def visit_kw_param(node); end
4424
+
4425
+ # source://rbi//lib/rbi/visitor.rb#171
4426
+ sig { params(node: ::RBI::KwRestParam).void }
4427
+ def visit_kw_rest_param(node); end
4428
+
4429
+ # source://rbi//lib/rbi/visitor.rb#153
4430
+ sig { params(node: ::RBI::Method).void }
4431
+ def visit_method(node); end
4432
+
4433
+ # source://rbi//lib/rbi/visitor.rb#228
4434
+ sig { params(node: ::RBI::MixesInClassMethods).void }
4435
+ def visit_mixes_in_class_methods(node); end
4436
+
4437
+ # source://rbi//lib/rbi/visitor.rb#126
4438
+ sig { params(node: ::RBI::Module).void }
4439
+ def visit_module(node); end
4440
+
4441
+ # source://rbi//lib/rbi/visitor.rb#159
4442
+ sig { params(node: ::RBI::OptParam).void }
4443
+ def visit_opt_param(node); end
4444
+
4445
+ # source://rbi//lib/rbi/visitor.rb#189
4446
+ sig { params(node: ::RBI::Private).void }
4447
+ def visit_private(node); end
4448
+
4449
+ # source://rbi//lib/rbi/visitor.rb#186
4450
+ sig { params(node: ::RBI::Protected).void }
4451
+ def visit_protected(node); end
4452
+
4453
+ # source://rbi//lib/rbi/visitor.rb#183
4454
+ sig { params(node: ::RBI::Public).void }
4455
+ def visit_public(node); end
4456
+
4457
+ # source://rbi//lib/rbi/visitor.rb#156
4458
+ sig { params(node: ::RBI::ReqParam).void }
4459
+ def visit_req_param(node); end
4460
+
4461
+ # source://rbi//lib/rbi/visitor.rb#231
4462
+ sig { params(node: ::RBI::RequiresAncestor).void }
4463
+ def visit_requires_ancestor(node); end
4464
+
4465
+ # source://rbi//lib/rbi/visitor.rb#162
4466
+ sig { params(node: ::RBI::RestParam).void }
4467
+ def visit_rest_param(node); end
4468
+
4469
+ # source://rbi//lib/rbi/visitor.rb#243
4470
+ sig { params(node: ::RBI::ScopeConflict).void }
4471
+ def visit_scope_conflict(node); end
4472
+
4473
+ # source://rbi//lib/rbi/visitor.rb#192
4474
+ sig { params(node: ::RBI::Send).void }
4475
+ def visit_send(node); end
4476
+
4477
+ # source://rbi//lib/rbi/visitor.rb#201
4478
+ sig { params(node: ::RBI::Sig).void }
4479
+ def visit_sig(node); end
4480
+
4481
+ # source://rbi//lib/rbi/visitor.rb#204
4482
+ sig { params(node: ::RBI::SigParam).void }
4483
+ def visit_sig_param(node); end
4484
+
4485
+ # source://rbi//lib/rbi/visitor.rb#132
4486
+ sig { params(node: ::RBI::SingletonClass).void }
4487
+ def visit_singleton_class(node); end
4488
+
4489
+ # source://rbi//lib/rbi/visitor.rb#135
4490
+ sig { params(node: ::RBI::Struct).void }
4491
+ def visit_struct(node); end
4492
+
4493
+ # source://rbi//lib/rbi/visitor.rb#216
4494
+ sig { params(node: ::RBI::TEnum).void }
4495
+ def visit_tenum(node); end
4496
+
4497
+ # source://rbi//lib/rbi/visitor.rb#219
4498
+ sig { params(node: ::RBI::TEnumBlock).void }
4499
+ def visit_tenum_block(node); end
4500
+
4501
+ # source://rbi//lib/rbi/visitor.rb#138
4502
+ sig { params(node: ::RBI::Tree).void }
4503
+ def visit_tree(node); end
4504
+
4505
+ # source://rbi//lib/rbi/visitor.rb#207
4506
+ sig { params(node: ::RBI::TStruct).void }
4507
+ def visit_tstruct(node); end
4508
+
4509
+ # source://rbi//lib/rbi/visitor.rb#210
4510
+ sig { params(node: ::RBI::TStructConst).void }
4511
+ def visit_tstruct_const(node); end
4512
+
4513
+ # source://rbi//lib/rbi/visitor.rb#213
4514
+ sig { params(node: ::RBI::TStructProp).void }
4515
+ def visit_tstruct_prop(node); end
4516
+
4517
+ # source://rbi//lib/rbi/visitor.rb#225
4518
+ sig { params(node: ::RBI::TypeMember).void }
4519
+ def visit_type_member(node); end
4520
+
4521
+ # source://rbi//lib/rbi/visitor.rb#237
4522
+ sig { params(node: ::RBI::VisibilityGroup).void }
4523
+ def visit_visibility_group(node); end
4524
+ end
4525
+
4526
+ # source://rbi//lib/rbi/visitor.rb#5
4527
+ class RBI::VisitorError < ::RBI::Error; end