@appthreat/atom-parsetools 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/README.md +111 -14
  2. package/package.json +8 -1
  3. package/phpastgen.js +1764 -18
  4. package/plugins/autoload.php +1 -1
  5. package/plugins/composer/autoload_classmap.php +1 -0
  6. package/plugins/composer/autoload_real.php +4 -4
  7. package/plugins/composer/autoload_static.php +5 -4
  8. package/plugins/composer/installed.json +7 -8
  9. package/plugins/composer/installed.php +9 -9
  10. package/plugins/composer.json +1 -1
  11. package/plugins/composer.lock +7 -8
  12. package/plugins/nikic/php-parser/composer.json +1 -2
  13. package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +1 -3
  14. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +2 -0
  15. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +20 -0
  16. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +5 -4
  17. package/plugins/nikic/php-parser/lib/PhpParser/ParserAbstract.php +7 -0
  18. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +20 -4
  19. package/plugins/rubyastgen/Gemfile +6 -4
  20. package/plugins/rubyastgen/Gemfile.lock +5 -8
  21. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/Gemfile +11 -0
  22. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/exe/ruby_ast_gen +55 -0
  23. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/cli.rb +133 -0
  24. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/node_handling.rb +449 -0
  25. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/lib/ruby_ast_gen/version.rb +1 -1
  26. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen.rb +888 -0
  27. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/ruby_ast_gen.gemspec +25 -0
  28. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current.rb +1 -1
  29. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/version.rb +1 -1
  30. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ast-2.4.3.gemspec +29 -0
  31. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/bundler-2.6.9.gemspec +25 -0
  32. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ostruct-0.6.3.gemspec +22 -0
  33. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/parser-3.3.12.0.gemspec +37 -0
  34. package/rbastgen.js +102 -13
  35. package/scalasem.js +11 -2
  36. package/plugins/bin/bundler +0 -14
  37. package/plugins/bin/ruby_ast_gen +0 -14
  38. package/plugins/rubyastgen/bundle/bundler/setup.rb +0 -44
  39. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/exe/ruby_ast_gen +0 -63
  40. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen/node_handling.rb +0 -269
  41. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen.rb +0 -218
  42. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem.build_complete +0 -0
  43. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem_make.out +0 -44
  44. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/mkmf.log +0 -74
  45. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/prism/prism.so +0 -0
  46. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem.build_complete +0 -0
  47. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem_make.out +0 -18
  48. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/racc/cparse.so +0 -0
  49. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/BSDmakefile +0 -58
  50. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/Makefile +0 -116
  51. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/Makefile +0 -273
  52. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_node.c +0 -6945
  53. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_pack.c +0 -276
  54. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extconf.rb +0 -127
  55. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.c +0 -1427
  56. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.h +0 -19
  57. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/ast.h +0 -8254
  58. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/defines.h +0 -260
  59. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/diagnostic.h +0 -458
  60. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/encoding.h +0 -283
  61. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/node.h +0 -129
  62. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/options.h +0 -488
  63. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/pack.h +0 -163
  64. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/parser.h +0 -936
  65. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/prettyprint.h +0 -34
  66. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/regexp.h +0 -43
  67. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/static_literals.h +0 -121
  68. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_buffer.h +0 -236
  69. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_char.h +0 -204
  70. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_constant_pool.h +0 -218
  71. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_integer.h +0 -130
  72. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_list.h +0 -103
  73. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_memchr.h +0 -29
  74. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_newline_list.h +0 -113
  75. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_string.h +0 -200
  76. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strncasecmp.h +0 -32
  77. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strpbrk.h +0 -46
  78. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/version.h +0 -29
  79. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism.h +0 -408
  80. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/compiler.rb +0 -801
  81. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/desugar_compiler.rb +0 -392
  82. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dispatcher.rb +0 -2210
  83. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dot_visitor.rb +0 -4767
  84. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dsl.rb +0 -1003
  85. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/ffi.rb +0 -578
  86. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/inspect_visitor.rb +0 -2393
  87. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/lex_compat.rb +0 -911
  88. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/mutation_compiler.rb +0 -772
  89. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node.rb +0 -19966
  90. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node_ext.rb +0 -511
  91. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pack.rb +0 -230
  92. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/comments.rb +0 -188
  93. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/errors.rb +0 -66
  94. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/newlines.rb +0 -155
  95. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result.rb +0 -907
  96. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pattern.rb +0 -269
  97. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/append_as_bytes.rb +0 -15
  98. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/byteindex.rb +0 -13
  99. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/scan_byte.rb +0 -14
  100. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/unpack1.rb +0 -14
  101. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/warn.rb +0 -36
  102. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/prism.so +0 -0
  103. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/reflection.rb +0 -416
  104. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/relocation.rb +0 -505
  105. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/serialize.rb +0 -2400
  106. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/string_query.rb +0 -31
  107. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/builder.rb +0 -62
  108. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/compiler.rb +0 -2234
  109. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/lexer.rb +0 -820
  110. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser.rb +0 -376
  111. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_current.rb +0 -26
  112. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_versions.rb +0 -36
  113. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/filter.rb +0 -53
  114. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/lexer.rb +0 -135
  115. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/sexp.rb +0 -126
  116. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/shim.rb +0 -5
  117. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper.rb +0 -3520
  118. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ruby_parser.rb +0 -1964
  119. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation.rb +0 -18
  120. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/visitor.rb +0 -813
  121. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism.rb +0 -98
  122. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/compiler.rbi +0 -12
  123. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/dsl.rbi +0 -524
  124. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/inspect_visitor.rbi +0 -12
  125. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node.rbi +0 -8750
  126. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node_ext.rbi +0 -107
  127. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/parse_result.rbi +0 -404
  128. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/reflection.rbi +0 -58
  129. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/string_query.rbi +0 -12
  130. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser.rbi +0 -11
  131. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser_versions.rbi +0 -23
  132. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/ripper.rbi +0 -15
  133. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/visitor.rbi +0 -473
  134. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism.rbi +0 -63
  135. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/compiler.rbs +0 -9
  136. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dispatcher.rbs +0 -19
  137. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dot_visitor.rbs +0 -6
  138. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dsl.rbs +0 -351
  139. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/inspect_visitor.rbs +0 -22
  140. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/lex_compat.rbs +0 -10
  141. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/mutation_compiler.rbs +0 -159
  142. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node.rbs +0 -4042
  143. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node_ext.rbs +0 -149
  144. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pack.rbs +0 -43
  145. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result/comments.rbs +0 -38
  146. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result.rbs +0 -197
  147. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pattern.rbs +0 -13
  148. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/reflection.rbs +0 -50
  149. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/relocation.rbs +0 -185
  150. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/serialize.rbs +0 -8
  151. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/string_query.rbs +0 -11
  152. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/visitor.rbs +0 -169
  153. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism.rbs +0 -272
  154. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/diagnostic.c +0 -854
  155. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/encoding.c +0 -5340
  156. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/node.c +0 -8685
  157. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/options.c +0 -338
  158. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/pack.c +0 -509
  159. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prettyprint.c +0 -8957
  160. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prism.c +0 -22679
  161. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/regexp.c +0 -790
  162. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/serialize.c +0 -2274
  163. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/static_literals.c +0 -617
  164. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/token_type.c +0 -703
  165. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_buffer.c +0 -357
  166. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_char.c +0 -318
  167. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_constant_pool.c +0 -342
  168. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_integer.c +0 -670
  169. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_list.c +0 -49
  170. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_memchr.c +0 -35
  171. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_newline_list.c +0 -125
  172. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_string.c +0 -381
  173. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strncasecmp.c +0 -36
  174. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strpbrk.c +0 -206
  175. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/BSDL +0 -22
  176. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/COPYING +0 -56
  177. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ChangeLog +0 -846
  178. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.ja.rdoc +0 -58
  179. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.rdoc +0 -60
  180. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/TODO +0 -5
  181. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/bin/racc +0 -320
  182. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +0 -273
  183. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +0 -840
  184. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +0 -8
  185. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/compat.rb +0 -33
  186. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
  187. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/debugflags.rb +0 -60
  188. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/exception.rb +0 -16
  189. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammar.rb +0 -1191
  190. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +0 -667
  191. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/info.rb +0 -18
  192. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/iset.rb +0 -92
  193. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +0 -212
  194. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser-text.rb +0 -644
  195. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser.rb +0 -630
  196. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +0 -473
  197. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +0 -35
  198. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/state.rb +0 -976
  199. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +0 -311
  200. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/static.rb +0 -5
  201. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc.rb +0 -6
  202. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/.rspec +0 -0
  203. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/console +0 -0
  204. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/setup +0 -0
  205. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/update_version.rb +0 -0
  206. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
  207. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
  208. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/gauntlet_parser.rb +0 -0
  209. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/all.rb +0 -0
  210. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/node.rb +0 -0
  211. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/processor.rb +0 -0
  212. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/base.rb +0 -0
  213. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/builders/default.rb +0 -0
  214. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/clobbering_error.rb +0 -0
  215. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/color.rb +0 -0
  216. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/context.rb +0 -0
  217. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current_arg_stack.rb +0 -0
  218. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/deprecation.rb +0 -0
  219. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic/engine.rb +0 -0
  220. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic.rb +0 -0
  221. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/dedenter.rb +0 -0
  222. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/explanation.rb +0 -0
  223. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/literal.rb +0 -0
  224. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/stack_state.rb +0 -0
  225. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F0.rb +0 -0
  226. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F1.rb +0 -0
  227. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-strings.rb +0 -0
  228. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/macruby.rb +0 -0
  229. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/max_numparam_stack.rb +0 -0
  230. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/messages.rb +0 -0
  231. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/meta.rb +0 -0
  232. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rewriter.rb +0 -0
  233. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby18.rb +0 -0
  234. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby19.rb +0 -0
  235. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby20.rb +0 -0
  236. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby21.rb +0 -0
  237. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby22.rb +0 -0
  238. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby23.rb +0 -0
  239. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby24.rb +0 -0
  240. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby25.rb +0 -0
  241. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby26.rb +0 -0
  242. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby27.rb +0 -0
  243. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby30.rb +0 -0
  244. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby31.rb +0 -0
  245. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby32.rb +0 -0
  246. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby33.rb +0 -0
  247. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby34.rb +0 -0
  248. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rubymotion.rb +0 -0
  249. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_parse.rb +0 -0
  250. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_rewrite.rb +0 -0
  251. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner.rb +0 -0
  252. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/buffer.rb +0 -0
  253. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment/associator.rb +0 -0
  254. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment.rb +0 -0
  255. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/collection.rb +0 -0
  256. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/condition.rb +0 -0
  257. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/constant.rb +0 -0
  258. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/definition.rb +0 -0
  259. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/for.rb +0 -0
  260. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/heredoc.rb +0 -0
  261. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/index.rb +0 -0
  262. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/keyword.rb +0 -0
  263. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/method_definition.rb +0 -0
  264. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/objc_kwarg.rb +0 -0
  265. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/operator.rb +0 -0
  266. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/rescue_body.rb +0 -0
  267. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/send.rb +0 -0
  268. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/ternary.rb +0 -0
  269. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/variable.rb +0 -0
  270. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map.rb +0 -0
  271. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/range.rb +0 -0
  272. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter/action.rb +0 -0
  273. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter.rb +0 -0
  274. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter/action.rb +0 -0
  275. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter.rb +0 -0
  276. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/static_environment.rb +0 -0
  277. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/syntax_error.rb +0 -0
  278. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/tree_rewriter.rb +0 -0
  279. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/unknown_encoding_in_magic_comment_error.rb +0 -0
  280. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/variables_stack.rb +0 -0
  281. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser.rb +0 -0
@@ -19,4 +19,4 @@ if (PHP_VERSION_ID < 50600) {
19
19
 
20
20
  require_once __DIR__ . '/composer/autoload_real.php';
21
21
 
22
- return ComposerAutoloaderInit4ada460927b79cef097dac97641f1695::getLoader();
22
+ return ComposerAutoloaderInitb1096a2b08d571b985540b4492c44680::getLoader();
@@ -46,6 +46,7 @@ return array(
46
46
  'PhpParser\\Lexer\\TokenEmulator\\AttributeEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php',
47
47
  'PhpParser\\Lexer\\TokenEmulator\\EnumTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php',
48
48
  'PhpParser\\Lexer\\TokenEmulator\\ExplicitOctalEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php',
49
+ 'PhpParser\\Lexer\\TokenEmulator\\FnTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php',
49
50
  'PhpParser\\Lexer\\TokenEmulator\\KeywordEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php',
50
51
  'PhpParser\\Lexer\\TokenEmulator\\MatchTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php',
51
52
  'PhpParser\\Lexer\\TokenEmulator\\NullsafeTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php',
@@ -2,7 +2,7 @@
2
2
 
3
3
  // autoload_real.php @generated by Composer
4
4
 
5
- class ComposerAutoloaderInit4ada460927b79cef097dac97641f1695
5
+ class ComposerAutoloaderInitb1096a2b08d571b985540b4492c44680
6
6
  {
7
7
  private static $loader;
8
8
 
@@ -22,12 +22,12 @@ class ComposerAutoloaderInit4ada460927b79cef097dac97641f1695
22
22
  return self::$loader;
23
23
  }
24
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit4ada460927b79cef097dac97641f1695', 'loadClassLoader'), true, true);
25
+ spl_autoload_register(array('ComposerAutoloaderInitb1096a2b08d571b985540b4492c44680', 'loadClassLoader'), true, true);
26
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
27
- spl_autoload_unregister(array('ComposerAutoloaderInit4ada460927b79cef097dac97641f1695', 'loadClassLoader'));
27
+ spl_autoload_unregister(array('ComposerAutoloaderInitb1096a2b08d571b985540b4492c44680', 'loadClassLoader'));
28
28
 
29
29
  require __DIR__ . '/autoload_static.php';
30
- call_user_func(\Composer\Autoload\ComposerStaticInit4ada460927b79cef097dac97641f1695::getInitializer($loader));
30
+ call_user_func(\Composer\Autoload\ComposerStaticInitb1096a2b08d571b985540b4492c44680::getInitializer($loader));
31
31
 
32
32
  $loader->register(true);
33
33
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  namespace Composer\Autoload;
6
6
 
7
- class ComposerStaticInit4ada460927b79cef097dac97641f1695
7
+ class ComposerStaticInitb1096a2b08d571b985540b4492c44680
8
8
  {
9
9
  public static $prefixLengthsPsr4 = array (
10
10
  'P' =>
@@ -61,6 +61,7 @@ class ComposerStaticInit4ada460927b79cef097dac97641f1695
61
61
  'PhpParser\\Lexer\\TokenEmulator\\AttributeEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php',
62
62
  'PhpParser\\Lexer\\TokenEmulator\\EnumTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php',
63
63
  'PhpParser\\Lexer\\TokenEmulator\\ExplicitOctalEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php',
64
+ 'PhpParser\\Lexer\\TokenEmulator\\FnTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php',
64
65
  'PhpParser\\Lexer\\TokenEmulator\\KeywordEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php',
65
66
  'PhpParser\\Lexer\\TokenEmulator\\MatchTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php',
66
67
  'PhpParser\\Lexer\\TokenEmulator\\NullsafeTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php',
@@ -295,9 +296,9 @@ class ComposerStaticInit4ada460927b79cef097dac97641f1695
295
296
  public static function getInitializer(ClassLoader $loader)
296
297
  {
297
298
  return \Closure::bind(function () use ($loader) {
298
- $loader->prefixLengthsPsr4 = ComposerStaticInit4ada460927b79cef097dac97641f1695::$prefixLengthsPsr4;
299
- $loader->prefixDirsPsr4 = ComposerStaticInit4ada460927b79cef097dac97641f1695::$prefixDirsPsr4;
300
- $loader->classMap = ComposerStaticInit4ada460927b79cef097dac97641f1695::$classMap;
299
+ $loader->prefixLengthsPsr4 = ComposerStaticInitb1096a2b08d571b985540b4492c44680::$prefixLengthsPsr4;
300
+ $loader->prefixDirsPsr4 = ComposerStaticInitb1096a2b08d571b985540b4492c44680::$prefixDirsPsr4;
301
+ $loader->classMap = ComposerStaticInitb1096a2b08d571b985540b4492c44680::$classMap;
301
302
 
302
303
  }, null, ClassLoader::class);
303
304
  }
@@ -2,21 +2,20 @@
2
2
  "packages": [
3
3
  {
4
4
  "name": "nikic/php-parser",
5
- "version": "v5.7.0",
6
- "version_normalized": "5.7.0.0",
5
+ "version": "v5.8.0",
6
+ "version_normalized": "5.8.0.0",
7
7
  "source": {
8
8
  "type": "git",
9
9
  "url": "https://github.com/nikic/PHP-Parser.git",
10
- "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82"
10
+ "reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f"
11
11
  },
12
12
  "dist": {
13
13
  "type": "zip",
14
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82",
15
- "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82",
14
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/044a6a392ff8ad0d61f14370a5fbbd0a0107152f",
15
+ "reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f",
16
16
  "shasum": ""
17
17
  },
18
18
  "require": {
19
- "ext-ctype": "*",
20
19
  "ext-json": "*",
21
20
  "ext-tokenizer": "*",
22
21
  "php": ">=7.4"
@@ -25,7 +24,7 @@
25
24
  "ircmaxell/php-yacc": "^0.0.7",
26
25
  "phpunit/phpunit": "^9.0"
27
26
  },
28
- "time": "2025-12-06T11:56:16+00:00",
27
+ "time": "2026-07-04T14:30:18+00:00",
29
28
  "bin": [
30
29
  "bin/php-parse"
31
30
  ],
@@ -57,7 +56,7 @@
57
56
  ],
58
57
  "support": {
59
58
  "issues": "https://github.com/nikic/PHP-Parser/issues",
60
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0"
59
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.8.0"
61
60
  },
62
61
  "install-path": "../nikic/php-parser"
63
62
  }
@@ -1,9 +1,9 @@
1
1
  <?php return array(
2
2
  'root' => array(
3
3
  'name' => '__root__',
4
- 'pretty_version' => 'v1.3.0',
5
- 'version' => '1.3.0.0',
6
- 'reference' => '65d96106e47fe9607cec2ba1be69da7c9c4d574c',
4
+ 'pretty_version' => 'v1.5.0',
5
+ 'version' => '1.5.0.0',
6
+ 'reference' => '21c39993dc05f74643f5047de71f4bb65f0ead4a',
7
7
  'type' => 'library',
8
8
  'install_path' => __DIR__ . '/../../',
9
9
  'aliases' => array(),
@@ -11,18 +11,18 @@
11
11
  ),
12
12
  'versions' => array(
13
13
  '__root__' => array(
14
- 'pretty_version' => 'v1.3.0',
15
- 'version' => '1.3.0.0',
16
- 'reference' => '65d96106e47fe9607cec2ba1be69da7c9c4d574c',
14
+ 'pretty_version' => 'v1.5.0',
15
+ 'version' => '1.5.0.0',
16
+ 'reference' => '21c39993dc05f74643f5047de71f4bb65f0ead4a',
17
17
  'type' => 'library',
18
18
  'install_path' => __DIR__ . '/../../',
19
19
  'aliases' => array(),
20
20
  'dev_requirement' => false,
21
21
  ),
22
22
  'nikic/php-parser' => array(
23
- 'pretty_version' => 'v5.7.0',
24
- 'version' => '5.7.0.0',
25
- 'reference' => 'dca41cd15c2ac9d055ad70dbfd011130757d1f82',
23
+ 'pretty_version' => 'v5.8.0',
24
+ 'version' => '5.8.0.0',
25
+ 'reference' => '044a6a392ff8ad0d61f14370a5fbbd0a0107152f',
26
26
  'type' => 'library',
27
27
  'install_path' => __DIR__ . '/../nikic/php-parser',
28
28
  'aliases' => array(),
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "require": {
3
- "nikic/php-parser": "5.7.0"
3
+ "nikic/php-parser": "5.8.0"
4
4
  }
5
5
  }
@@ -4,24 +4,23 @@
4
4
  "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
5
  "This file is @generated automatically"
6
6
  ],
7
- "content-hash": "4ada460927b79cef097dac97641f1695",
7
+ "content-hash": "b1096a2b08d571b985540b4492c44680",
8
8
  "packages": [
9
9
  {
10
10
  "name": "nikic/php-parser",
11
- "version": "v5.7.0",
11
+ "version": "v5.8.0",
12
12
  "source": {
13
13
  "type": "git",
14
14
  "url": "https://github.com/nikic/PHP-Parser.git",
15
- "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82"
15
+ "reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f"
16
16
  },
17
17
  "dist": {
18
18
  "type": "zip",
19
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82",
20
- "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82",
19
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/044a6a392ff8ad0d61f14370a5fbbd0a0107152f",
20
+ "reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f",
21
21
  "shasum": ""
22
22
  },
23
23
  "require": {
24
- "ext-ctype": "*",
25
24
  "ext-json": "*",
26
25
  "ext-tokenizer": "*",
27
26
  "php": ">=7.4"
@@ -60,9 +59,9 @@
60
59
  ],
61
60
  "support": {
62
61
  "issues": "https://github.com/nikic/PHP-Parser/issues",
63
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0"
62
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.8.0"
64
63
  },
65
- "time": "2025-12-06T11:56:16+00:00"
64
+ "time": "2026-07-04T14:30:18+00:00"
66
65
  }
67
66
  ],
68
67
  "packages-dev": [],
@@ -15,8 +15,7 @@
15
15
  "require": {
16
16
  "php": ">=7.4",
17
17
  "ext-tokenizer": "*",
18
- "ext-json": "*",
19
- "ext-ctype": "*"
18
+ "ext-json": "*"
20
19
  },
21
20
  "require-dev": {
22
21
  "phpunit/phpunit": "^9.0",
@@ -215,9 +215,7 @@ class ConstExprEvaluator {
215
215
  case '<': return $this->evaluate($l) < $this->evaluate($r);
216
216
  case '<=': return $this->evaluate($l) <= $this->evaluate($r);
217
217
  case '<=>': return $this->evaluate($l) <=> $this->evaluate($r);
218
- case '|>':
219
- $lval = $this->evaluate($l);
220
- return $this->evaluate($r)($lval);
218
+ case '|>': return ($this->fallbackEvaluator)($expr);
221
219
  }
222
220
 
223
221
  throw new \Exception('Should not happen');
@@ -9,6 +9,7 @@ use PhpParser\Lexer\TokenEmulator\AsymmetricVisibilityTokenEmulator;
9
9
  use PhpParser\Lexer\TokenEmulator\AttributeEmulator;
10
10
  use PhpParser\Lexer\TokenEmulator\EnumTokenEmulator;
11
11
  use PhpParser\Lexer\TokenEmulator\ExplicitOctalEmulator;
12
+ use PhpParser\Lexer\TokenEmulator\FnTokenEmulator;
12
13
  use PhpParser\Lexer\TokenEmulator\MatchTokenEmulator;
13
14
  use PhpParser\Lexer\TokenEmulator\NullsafeTokenEmulator;
14
15
  use PhpParser\Lexer\TokenEmulator\PipeOperatorEmulator;
@@ -40,6 +41,7 @@ class Emulative extends Lexer {
40
41
  $this->hostPhpVersion = PhpVersion::getHostVersion();
41
42
 
42
43
  $emulators = [
44
+ new FnTokenEmulator(),
43
45
  new MatchTokenEmulator(),
44
46
  new NullsafeTokenEmulator(),
45
47
  new AttributeEmulator(),
@@ -0,0 +1,20 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Lexer\TokenEmulator;
4
+
5
+ use PhpParser\PhpVersion;
6
+
7
+ // Retained for reverse emulation support only.
8
+ final class FnTokenEmulator extends KeywordEmulator {
9
+ public function getPhpVersion(): PhpVersion {
10
+ return PhpVersion::fromString('7.4');
11
+ }
12
+
13
+ public function getKeywordString(): string {
14
+ return 'fn';
15
+ }
16
+
17
+ public function getKeywordToken(): int {
18
+ return \T_FN;
19
+ }
20
+ }
@@ -14,7 +14,7 @@ abstract class KeywordEmulator extends TokenEmulator {
14
14
 
15
15
  /** @param Token[] $tokens */
16
16
  protected function isKeywordContext(array $tokens, int $pos): bool {
17
- $prevToken = $this->getPreviousNonSpaceToken($tokens, $pos);
17
+ $prevToken = $this->getPreviousNonIgnorableToken($tokens, $pos);
18
18
  if ($prevToken === null) {
19
19
  return false;
20
20
  }
@@ -35,13 +35,14 @@ abstract class KeywordEmulator extends TokenEmulator {
35
35
  }
36
36
 
37
37
  /** @param Token[] $tokens */
38
- private function getPreviousNonSpaceToken(array $tokens, int $start): ?Token {
38
+ private function getPreviousNonIgnorableToken(array $tokens, int $start): ?Token {
39
39
  for ($i = $start - 1; $i >= 0; --$i) {
40
- if ($tokens[$i]->id === T_WHITESPACE) {
40
+ $token = $tokens[$i];
41
+ if ($token->id === T_WHITESPACE || $token->id == T_COMMENT || $token->id === T_DOC_COMMENT) {
41
42
  continue;
42
43
  }
43
44
 
44
- return $tokens[$i];
45
+ return $token;
45
46
  }
46
47
 
47
48
  return null;
@@ -1078,6 +1078,13 @@ abstract class ParserAbstract implements Parser {
1078
1078
  $node->default->getAttributes()
1079
1079
  ));
1080
1080
  }
1081
+
1082
+ if ($node->type instanceof Identifier && $node->type->name === 'void') {
1083
+ $this->emitError(new Error(
1084
+ 'void cannot be used as a parameter type',
1085
+ $node->type->getAttributes()
1086
+ ));
1087
+ }
1081
1088
  }
1082
1089
 
1083
1090
  protected function checkTryCatch(TryCatch $node): void {
@@ -1006,9 +1006,25 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter {
1006
1006
 
1007
1007
  list($findToken, $extraLeft, $extraRight) = $this->emptyListInsertionMap[$mapKey];
1008
1008
  if (null !== $findToken) {
1009
- $insertPos = $this->origTokens->findRight($pos, $findToken) + 1;
1010
- $result .= $this->origTokens->getTokenCode($pos, $insertPos, $indentAdjustment);
1011
- $pos = $insertPos;
1009
+ // For anon classes skip to the class keyword.
1010
+ $isAnonClassArgs = $mapKey === PrintableNewAnonClassNode::class . '->args';
1011
+ if ($isAnonClassArgs) {
1012
+ $insertPos = $this->origTokens->findRight($pos, \T_CLASS) + 1;
1013
+ $result .= $this->origTokens->getTokenCode($pos, $insertPos, $indentAdjustment);
1014
+ $pos = $insertPos;
1015
+ }
1016
+
1017
+ // If "new Foo" was used without arguments, we need to convert to "new Foo()".
1018
+ if (($mapKey === Expr\New_::class . '->args' || $isAnonClassArgs) &&
1019
+ !$this->origTokens->haveTokenImmediatelyAfter($pos - 1, '(')
1020
+ ) {
1021
+ $extraLeft = '(';
1022
+ $extraRight = ')';
1023
+ } else {
1024
+ $insertPos = $this->origTokens->findRight($pos, $findToken) + 1;
1025
+ $result .= $this->origTokens->getTokenCode($pos, $insertPos, $indentAdjustment);
1026
+ $pos = $insertPos;
1027
+ }
1012
1028
  }
1013
1029
 
1014
1030
  $first = true;
@@ -1293,7 +1309,7 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter {
1293
1309
  $this->labelCharMap = [];
1294
1310
  for ($i = 0; $i < 256; $i++) {
1295
1311
  $chr = chr($i);
1296
- $this->labelCharMap[$chr] = $i >= 0x80 || ctype_alnum($chr);
1312
+ $this->labelCharMap[$chr] = (bool) preg_match('/^[a-zA-Z0-9_\x80-\xff]$/', $chr);
1297
1313
  }
1298
1314
 
1299
1315
  if ($this->phpVersion->allowsDelInIdentifiers()) {
@@ -2,10 +2,12 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
+ # Only pure-Ruby gems are vendored: rbastgen puts these on the load path directly, so the bundle
6
+ # works under every supported Ruby ABI. prism and racc are deliberately absent — both are default
7
+ # gems in Ruby 3.4+ and 4.0+, and their C extensions are built per ABI, which is what locked the
8
+ # published bundle to the single Ruby version it was built with.
5
9
  group :frontend do
6
- gem "ruby_ast_gen", github: 'appthreat/ruby_ast_gen', ref: 'cc312ebf06b4b5b1a8ef4c3c9c71ca98eb9fcd01'
7
- gem "parser", "~> 3.3.11.1"
8
- gem "prism", "~> 1.9"
10
+ gem "ruby_ast_gen", github: 'appthreat/ruby_ast_gen', ref: '4ac84327b3af4a8003bb9ece2566df6471cdd851'
11
+ gem "parser", "~> 3.3.12.0"
9
12
  gem "ostruct", "~> 0.6.3"
10
- gem "racc", "~> 1.8.1"
11
13
  end
@@ -1,19 +1,18 @@
1
1
  GIT
2
2
  remote: https://github.com/appthreat/ruby_ast_gen.git
3
- revision: cc312ebf06b4b5b1a8ef4c3c9c71ca98eb9fcd01
4
- ref: cc312ebf06b4b5b1a8ef4c3c9c71ca98eb9fcd01
3
+ revision: 4ac84327b3af4a8003bb9ece2566df6471cdd851
4
+ ref: 4ac84327b3af4a8003bb9ece2566df6471cdd851
5
5
  specs:
6
- ruby_ast_gen (1.3.0)
6
+ ruby_ast_gen (2.0.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
11
  ast (2.4.3)
12
12
  ostruct (0.6.3)
13
- parser (3.3.11.1)
13
+ parser (3.3.12.0)
14
14
  ast (~> 2.4.1)
15
15
  racc
16
- prism (1.9.0)
17
16
  racc (1.8.1)
18
17
 
19
18
  PLATFORMS
@@ -22,9 +21,7 @@ PLATFORMS
22
21
 
23
22
  DEPENDENCIES
24
23
  ostruct (~> 0.6.3)
25
- parser (~> 3.3.11.1)
26
- prism (~> 1.9)
27
- racc (~> 1.8.1)
24
+ parser (~> 3.3.12.0)
28
25
  ruby_ast_gen!
29
26
 
30
27
  BUNDLED WITH
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gemspec
6
+
7
+ gem "ostruct", "~> 0.6.3"
8
+ gem "parser", "~> 3.3.12.0"
9
+ gem "prism", "~> 1.9"
10
+ gem "rake", "~> 13.4.2"
11
+ gem "rspec", "~> 3.13.2"
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ # require "bundler/setup"
5
+ # We do the below instead of the above, as the above can be flaky
6
+ libs = File.expand_path("../vendor/bundle/ruby/*/gems/**/lib", __dir__)
7
+ $LOAD_PATH.unshift(*Dir.glob(libs))
8
+
9
+ require_relative "../lib/ruby_ast_gen"
10
+
11
+ # Argument parsing and the usage text both come from RubyAstGen::CLI::FLAGS.
12
+ result = RubyAstGen::CLI.parse(ARGV)
13
+ options = result.options
14
+
15
+ # Configure logging before emitting anything, so -l/--log applies to the argument warnings too.
16
+ RubyAstGen::Logger.level = :debug if options[:debug]
17
+ RubyAstGen::Logger.level = options[:log_level] if options[:log_level]
18
+ result.warnings.each { |warning| RubyAstGen::Logger.warn warning }
19
+
20
+ # Informational modes run after the whole argv is read, so `--parser-info` reflects a
21
+ # `--parser-target` passed in any order.
22
+ case result.mode
23
+ when :parser_info
24
+ puts RubyAstGen.parser_info_text(parser_target: options[:parser_target])
25
+ exit
26
+ when :version
27
+ puts RubyAstGen::VERSION
28
+ exit
29
+ when :help
30
+ puts RubyAstGen::CLI.help_text
31
+ exit
32
+ end
33
+
34
+ # Usage errors are the only fatal cases: everything a run encounters per file is reported and
35
+ # skipped instead, because a non-zero exit costs the caller every file (see the comment in
36
+ # RubyAstGen::CLI.parse). --fail-on-error is the sole opt-out, for CI callers who would rather
37
+ # fail than analyse a partial corpus; chen never passes it.
38
+ begin
39
+ summary = RubyAstGen.parse(options)
40
+ if options[:fail_on_error] && summary[:files_failed] > 0
41
+ RubyAstGen::Logger.error "#{summary[:files_failed]} file(s) failed to parse; details in " \
42
+ "#{File.join(options[:output].to_s, RubyAstGen::DIAGNOSTICS_FILENAME)}"
43
+ exit 1
44
+ end
45
+ rescue ArgumentError => e
46
+ RubyAstGen::Logger.error e.message
47
+ exit 1
48
+ rescue StandardError => e
49
+ # Anything unexpected (an unwritable output directory, for example) still exits with a single
50
+ # readable line: the caller only sees our stdout, and a raw backtrace tells it nothing about
51
+ # which input it was invoked with. The backtrace is available with -d.
52
+ RubyAstGen::Logger.error "#{e.class}: #{e.message}"
53
+ RubyAstGen::Logger.debug e.backtrace.join("\n")
54
+ exit 1
55
+ end
@@ -0,0 +1,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyAstGen
4
+ # Command-line surface, kept in the library rather than in `exe/ruby_ast_gen` so it can be
5
+ # tested without shelling out.
6
+ #
7
+ # FLAGS is the single source of truth: it drives argument parsing *and* renders `--help`, so
8
+ # the two cannot drift. They used to be maintained separately, and the README documented
9
+ # `-l/--log` for a release in which the argv loop rejected it with a non-zero exit.
10
+ module CLI
11
+
12
+ Flag = Struct.new(:short, :long, :kind, :key, :placeholder, :description, keyword_init: true) do
13
+ def names
14
+ [short, long].compact
15
+ end
16
+
17
+ # "-i, --input <path>" / " --parser-info"
18
+ def usage
19
+ head = short ? "#{short}, #{long}" : " #{long}"
20
+ placeholder ? "#{head} #{placeholder}" : head
21
+ end
22
+ end
23
+
24
+ # Worker count for directory runs. Exposed because the ceiling is memory, not CPU: a JRuby
25
+ # container or a repo of very large files may need fewer (plan 03 §7).
26
+ DEFAULT_THREADS = 10
27
+
28
+ FLAGS = [
29
+ Flag.new(short: "-i", long: "--input", kind: :value, key: :input, placeholder: "<path>",
30
+ description: "The input file or directory (required)"),
31
+ Flag.new(short: "-o", long: "--output", kind: :value, key: :output, placeholder: "<dir>",
32
+ description: "The output directory (default: '.ast')"),
33
+ Flag.new(short: "-e", long: "--exclude", kind: :value, key: :exclude, placeholder: "<regex>",
34
+ description: "The exclusion regex (default: '^(tests?|vendor|spec)')"),
35
+ Flag.new(short: "-l", long: "--log", kind: :value, key: :log_level, placeholder: "<level>",
36
+ description: "The logging level: debug, info, warn or error (default: info)"),
37
+ Flag.new(short: "-d", long: "--debug", kind: :boolean, key: :debug,
38
+ description: "Enable debug logging (same as --log debug)"),
39
+ Flag.new(long: "--parser-target", kind: :value, key: :parser_target, placeholder: "<x.y>",
40
+ description: "Parse with a specific Ruby grammar (e.g. 3.4, 4.0) instead\nof the newest available"),
41
+ Flag.new(long: "--max-depth", kind: :value, key: :max_depth, placeholder: "<n>",
42
+ description: "Maximum AST depth before truncation " \
43
+ "(default: #{NodeHandling::MAX_NESTING_DEPTH})"),
44
+ Flag.new(long: "--threads", kind: :value, key: :threads, placeholder: "<n>",
45
+ description: "Worker threads for a directory run " \
46
+ "(default: #{DEFAULT_THREADS})"),
47
+ Flag.new(long: "--fail-on-error", kind: :boolean, key: :fail_on_error,
48
+ description: "Exit non-zero when any input file failed to parse"),
49
+ Flag.new(long: "--parser-info", kind: :mode, key: :parser_info,
50
+ description: "Print parser/runtime capability information"),
51
+ Flag.new(long: "--version", kind: :mode, key: :version,
52
+ description: "Print the version"),
53
+ Flag.new(long: "--help", kind: :mode, key: :help,
54
+ description: "Print usage")
55
+ ].freeze
56
+
57
+ BY_NAME = FLAGS.flat_map { |flag| flag.names.map { |name| [name, flag] } }.to_h.freeze
58
+
59
+ DEFAULTS = {
60
+ input: nil,
61
+ output: ".ast",
62
+ exclude: "^(tests?|vendor|spec)",
63
+ debug: false,
64
+ log_level: nil,
65
+ parser_target: nil,
66
+ max_depth: nil,
67
+ threads: nil,
68
+ fail_on_error: false
69
+ }.freeze
70
+
71
+ # Warnings are collected rather than printed so the caller can configure the log level
72
+ # first: `-l error` would otherwise be unable to silence them, since they are produced
73
+ # before the level is known.
74
+ Result = Struct.new(:options, :mode, :warnings, keyword_init: true)
75
+
76
+ def self.parse(argv)
77
+ options = DEFAULTS.dup
78
+ mode = :parse
79
+ warnings = []
80
+
81
+ index = 0
82
+ while index < argv.size
83
+ arg = argv[index]
84
+ flag = BY_NAME[arg]
85
+
86
+ case flag&.kind
87
+ when :value
88
+ value = argv[index + 1]
89
+ # Only a *known flag* counts as a missing value. Testing for a leading "-" would
90
+ # reject legitimate values such as an exclusion regex of "-vendor".
91
+ if value.nil? || BY_NAME.key?(value)
92
+ warnings << "Option #{arg} expects a value; got #{value.inspect}. Ignoring it."
93
+ else
94
+ options[flag.key] = value
95
+ index += 1
96
+ end
97
+ when :boolean
98
+ options[flag.key] = true
99
+ when :mode
100
+ mode = flag.key
101
+ else
102
+ # chen maps any non-zero exit to a failed command -> DefaultAstGenRunnerResult() ->
103
+ # zero parsed files, i.e. an empty CPG (chen consumer plan 04 §10.1). An unrecognized flag must not
104
+ # cost the user their whole atom, so warn and continue.
105
+ warnings << "Unknown option: #{arg} (ignoring)"
106
+ end
107
+
108
+ index += 1
109
+ end
110
+
111
+ Result.new(options: options, mode: mode, warnings: warnings)
112
+ end
113
+
114
+ DESCRIPTION_COLUMN = 25
115
+
116
+ def self.help_text
117
+ lines = ["Usage:"]
118
+ FLAGS.each do |flag|
119
+ usage = flag.usage
120
+ head, *rest = flag.description.split("\n")
121
+ if usage.length < DESCRIPTION_COLUMN
122
+ lines << " #{usage.ljust(DESCRIPTION_COLUMN)}#{head}"
123
+ else
124
+ # No room on the flag's own line; start the description underneath it.
125
+ lines << " #{usage}"
126
+ lines << " #{' ' * DESCRIPTION_COLUMN}#{head}"
127
+ end
128
+ rest.each { |line| lines << " #{' ' * DESCRIPTION_COLUMN}#{line}" }
129
+ end
130
+ lines.join("\n")
131
+ end
132
+ end
133
+ end