@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.
- package/README.md +111 -14
- package/package.json +8 -1
- package/phpastgen.js +1764 -18
- package/plugins/autoload.php +1 -1
- package/plugins/composer/autoload_classmap.php +1 -0
- package/plugins/composer/autoload_real.php +4 -4
- package/plugins/composer/autoload_static.php +5 -4
- package/plugins/composer/installed.json +7 -8
- package/plugins/composer/installed.php +9 -9
- package/plugins/composer.json +1 -1
- package/plugins/composer.lock +7 -8
- package/plugins/nikic/php-parser/composer.json +1 -2
- package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +1 -3
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +2 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +20 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/ParserAbstract.php +7 -0
- package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +20 -4
- package/plugins/rubyastgen/Gemfile +6 -4
- package/plugins/rubyastgen/Gemfile.lock +5 -8
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/Gemfile +11 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/exe/ruby_ast_gen +55 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/cli.rb +133 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/node_handling.rb +449 -0
- 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
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen.rb +888 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/ruby_ast_gen.gemspec +25 -0
- 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
- 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
- package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ast-2.4.3.gemspec +29 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/bundler-2.6.9.gemspec +25 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ostruct-0.6.3.gemspec +22 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/parser-3.3.12.0.gemspec +37 -0
- package/rbastgen.js +102 -13
- package/scalasem.js +11 -2
- package/plugins/bin/bundler +0 -14
- package/plugins/bin/ruby_ast_gen +0 -14
- package/plugins/rubyastgen/bundle/bundler/setup.rb +0 -44
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/exe/ruby_ast_gen +0 -63
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen/node_handling.rb +0 -269
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen.rb +0 -218
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem.build_complete +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem_make.out +0 -44
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/mkmf.log +0 -74
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/prism/prism.so +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem.build_complete +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem_make.out +0 -18
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/racc/cparse.so +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/BSDmakefile +0 -58
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/Makefile +0 -116
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/Makefile +0 -273
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_node.c +0 -6945
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_pack.c +0 -276
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extconf.rb +0 -127
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.c +0 -1427
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.h +0 -19
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/ast.h +0 -8254
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/defines.h +0 -260
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/diagnostic.h +0 -458
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/encoding.h +0 -283
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/node.h +0 -129
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/options.h +0 -488
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/pack.h +0 -163
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/parser.h +0 -936
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/prettyprint.h +0 -34
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/regexp.h +0 -43
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/static_literals.h +0 -121
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_buffer.h +0 -236
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_char.h +0 -204
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_constant_pool.h +0 -218
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_integer.h +0 -130
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_list.h +0 -103
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_memchr.h +0 -29
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_newline_list.h +0 -113
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_string.h +0 -200
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strncasecmp.h +0 -32
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strpbrk.h +0 -46
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/version.h +0 -29
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism.h +0 -408
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/compiler.rb +0 -801
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/desugar_compiler.rb +0 -392
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dispatcher.rb +0 -2210
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dot_visitor.rb +0 -4767
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dsl.rb +0 -1003
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/ffi.rb +0 -578
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/inspect_visitor.rb +0 -2393
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/lex_compat.rb +0 -911
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/mutation_compiler.rb +0 -772
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node.rb +0 -19966
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node_ext.rb +0 -511
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pack.rb +0 -230
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/comments.rb +0 -188
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/errors.rb +0 -66
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/newlines.rb +0 -155
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result.rb +0 -907
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pattern.rb +0 -269
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/append_as_bytes.rb +0 -15
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/byteindex.rb +0 -13
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/scan_byte.rb +0 -14
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/unpack1.rb +0 -14
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/warn.rb +0 -36
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/prism.so +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/reflection.rb +0 -416
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/relocation.rb +0 -505
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/serialize.rb +0 -2400
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/string_query.rb +0 -31
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/builder.rb +0 -62
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/compiler.rb +0 -2234
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/lexer.rb +0 -820
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser.rb +0 -376
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_current.rb +0 -26
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_versions.rb +0 -36
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/filter.rb +0 -53
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/lexer.rb +0 -135
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/sexp.rb +0 -126
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/shim.rb +0 -5
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper.rb +0 -3520
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ruby_parser.rb +0 -1964
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation.rb +0 -18
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/visitor.rb +0 -813
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism.rb +0 -98
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/compiler.rbi +0 -12
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/dsl.rbi +0 -524
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/inspect_visitor.rbi +0 -12
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node.rbi +0 -8750
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node_ext.rbi +0 -107
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/parse_result.rbi +0 -404
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/reflection.rbi +0 -58
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/string_query.rbi +0 -12
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser.rbi +0 -11
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser_versions.rbi +0 -23
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/ripper.rbi +0 -15
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/visitor.rbi +0 -473
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism.rbi +0 -63
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/compiler.rbs +0 -9
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dispatcher.rbs +0 -19
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dot_visitor.rbs +0 -6
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dsl.rbs +0 -351
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/inspect_visitor.rbs +0 -22
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/lex_compat.rbs +0 -10
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/mutation_compiler.rbs +0 -159
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node.rbs +0 -4042
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node_ext.rbs +0 -149
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pack.rbs +0 -43
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result/comments.rbs +0 -38
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result.rbs +0 -197
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pattern.rbs +0 -13
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/reflection.rbs +0 -50
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/relocation.rbs +0 -185
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/serialize.rbs +0 -8
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/string_query.rbs +0 -11
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/visitor.rbs +0 -169
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism.rbs +0 -272
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/diagnostic.c +0 -854
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/encoding.c +0 -5340
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/node.c +0 -8685
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/options.c +0 -338
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/pack.c +0 -509
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prettyprint.c +0 -8957
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prism.c +0 -22679
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/regexp.c +0 -790
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/serialize.c +0 -2274
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/static_literals.c +0 -617
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/token_type.c +0 -703
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_buffer.c +0 -357
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_char.c +0 -318
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_constant_pool.c +0 -342
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_integer.c +0 -670
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_list.c +0 -49
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_memchr.c +0 -35
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_newline_list.c +0 -125
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_string.c +0 -381
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strncasecmp.c +0 -36
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strpbrk.c +0 -206
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/BSDL +0 -22
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/COPYING +0 -56
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ChangeLog +0 -846
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.ja.rdoc +0 -58
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.rdoc +0 -60
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/TODO +0 -5
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/bin/racc +0 -320
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +0 -273
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +0 -840
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +0 -8
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/compat.rb +0 -33
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/debugflags.rb +0 -60
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/exception.rb +0 -16
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammar.rb +0 -1191
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +0 -667
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/info.rb +0 -18
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/iset.rb +0 -92
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +0 -212
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser-text.rb +0 -644
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser.rb +0 -630
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +0 -473
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +0 -35
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/state.rb +0 -976
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +0 -311
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/static.rb +0 -5
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc.rb +0 -6
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/.rspec +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/console +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/setup +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/update_version.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser.rb +0 -0
package/plugins/autoload.php
CHANGED
|
@@ -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
|
|
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('
|
|
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('
|
|
27
|
+
spl_autoload_unregister(array('ComposerAutoloaderInitb1096a2b08d571b985540b4492c44680', 'loadClassLoader'));
|
|
28
28
|
|
|
29
29
|
require __DIR__ . '/autoload_static.php';
|
|
30
|
-
call_user_func(\Composer\Autoload\
|
|
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
|
|
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 =
|
|
299
|
-
$loader->prefixDirsPsr4 =
|
|
300
|
-
$loader->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.
|
|
6
|
-
"version_normalized": "5.
|
|
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": "
|
|
10
|
+
"reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f"
|
|
11
11
|
},
|
|
12
12
|
"dist": {
|
|
13
13
|
"type": "zip",
|
|
14
|
-
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/
|
|
15
|
-
"reference": "
|
|
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": "
|
|
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.
|
|
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.
|
|
5
|
-
'version' => '1.
|
|
6
|
-
'reference' => '
|
|
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.
|
|
15
|
-
'version' => '1.
|
|
16
|
-
'reference' => '
|
|
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.
|
|
24
|
-
'version' => '5.
|
|
25
|
-
'reference' => '
|
|
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(),
|
package/plugins/composer.json
CHANGED
package/plugins/composer.lock
CHANGED
|
@@ -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": "
|
|
7
|
+
"content-hash": "b1096a2b08d571b985540b4492c44680",
|
|
8
8
|
"packages": [
|
|
9
9
|
{
|
|
10
10
|
"name": "nikic/php-parser",
|
|
11
|
-
"version": "v5.
|
|
11
|
+
"version": "v5.8.0",
|
|
12
12
|
"source": {
|
|
13
13
|
"type": "git",
|
|
14
14
|
"url": "https://github.com/nikic/PHP-Parser.git",
|
|
15
|
-
"reference": "
|
|
15
|
+
"reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f"
|
|
16
16
|
},
|
|
17
17
|
"dist": {
|
|
18
18
|
"type": "zip",
|
|
19
|
-
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/
|
|
20
|
-
"reference": "
|
|
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.
|
|
62
|
+
"source": "https://github.com/nikic/PHP-Parser/tree/v5.8.0"
|
|
64
63
|
},
|
|
65
|
-
"time": "
|
|
64
|
+
"time": "2026-07-04T14:30:18+00:00"
|
|
66
65
|
}
|
|
67
66
|
],
|
|
68
67
|
"packages-dev": [],
|
|
@@ -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->
|
|
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
|
|
38
|
+
private function getPreviousNonIgnorableToken(array $tokens, int $start): ?Token {
|
|
39
39
|
for ($i = $start - 1; $i >= 0; --$i) {
|
|
40
|
-
|
|
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 $
|
|
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
|
-
|
|
1010
|
-
$
|
|
1011
|
-
$
|
|
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] =
|
|
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: '
|
|
7
|
-
gem "parser", "~> 3.3.
|
|
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:
|
|
4
|
-
ref:
|
|
3
|
+
revision: 4ac84327b3af4a8003bb9ece2566df6471cdd851
|
|
4
|
+
ref: 4ac84327b3af4a8003bb9ece2566df6471cdd851
|
|
5
5
|
specs:
|
|
6
|
-
ruby_ast_gen (
|
|
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.
|
|
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.
|
|
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
|
package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/exe/ruby_ast_gen
ADDED
|
@@ -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
|