diff options
| author | Earlopain <14981592+Earlopain@users.noreply.github.com> | 2026-01-12 14:36:13 +0100 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2026-01-12 16:13:08 +0000 |
| commit | a1ba9f5733711a7665b57977d78940e07ff281a5 (patch) | |
| tree | f72b674176a0c32de959c72d28bec34d0166e1f7 /lib | |
| parent | f34297604f2b43bcec7f57b1f0ac1e2813ce58e3 (diff) | |
[ruby/prism] Use one file for versioned `parser` classes
One per version seems excessive.
Do note that `rubocop-ast` used to require individual parser files. I wouldn't consider that to be part of the API since everything is autoloaded.
From a GitHub code search, I didn't find anyone else doing it like that.
https://github.com/ruby/prism/commit/458f622c34
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/prism/prism.gemspec | 12 | ||||
| -rw-r--r-- | lib/prism/translation.rb | 10 | ||||
| -rw-r--r-- | lib/prism/translation/parser33.rb | 13 | ||||
| -rw-r--r-- | lib/prism/translation/parser34.rb | 13 | ||||
| -rw-r--r-- | lib/prism/translation/parser35.rb | 8 | ||||
| -rw-r--r-- | lib/prism/translation/parser40.rb | 13 | ||||
| -rw-r--r-- | lib/prism/translation/parser41.rb | 13 | ||||
| -rw-r--r-- | lib/prism/translation/parser_versions.rb | 36 |
8 files changed, 43 insertions, 75 deletions
diff --git a/lib/prism/prism.gemspec b/lib/prism/prism.gemspec index a45e0d93e7..6a3bed32d8 100644 --- a/lib/prism/prism.gemspec +++ b/lib/prism/prism.gemspec @@ -99,11 +99,7 @@ Gem::Specification.new do |spec| "lib/prism/translation.rb", "lib/prism/translation/parser.rb", "lib/prism/translation/parser_current.rb", - "lib/prism/translation/parser33.rb", - "lib/prism/translation/parser34.rb", - "lib/prism/translation/parser35.rb", - "lib/prism/translation/parser40.rb", - "lib/prism/translation/parser41.rb", + "lib/prism/translation/parser_versions.rb", "lib/prism/translation/parser/builder.rb", "lib/prism/translation/parser/compiler.rb", "lib/prism/translation/parser/lexer.rb", @@ -123,11 +119,7 @@ Gem::Specification.new do |spec| "rbi/prism/reflection.rbi", "rbi/prism/string_query.rbi", "rbi/prism/translation/parser.rbi", - "rbi/prism/translation/parser33.rbi", - "rbi/prism/translation/parser34.rbi", - "rbi/prism/translation/parser35.rbi", - "rbi/prism/translation/parser40.rbi", - "rbi/prism/translation/parser41.rbi", + "rbi/prism/translation/parser_versions.rbi", "rbi/prism/translation/ripper.rbi", "rbi/prism/visitor.rbi", "sig/prism.rbs", diff --git a/lib/prism/translation.rb b/lib/prism/translation.rb index 89c70ee420..57b57135bc 100644 --- a/lib/prism/translation.rb +++ b/lib/prism/translation.rb @@ -7,11 +7,11 @@ module Prism module Translation # steep:ignore autoload :Parser, "prism/translation/parser" autoload :ParserCurrent, "prism/translation/parser_current" - autoload :Parser33, "prism/translation/parser33" - autoload :Parser34, "prism/translation/parser34" - autoload :Parser35, "prism/translation/parser35" - autoload :Parser40, "prism/translation/parser40" - autoload :Parser41, "prism/translation/parser41" + autoload :Parser33, "prism/translation/parser_versions" + autoload :Parser34, "prism/translation/parser_versions" + autoload :Parser35, "prism/translation/parser_versions" + autoload :Parser40, "prism/translation/parser_versions" + autoload :Parser41, "prism/translation/parser_versions" autoload :Ripper, "prism/translation/ripper" autoload :RubyParser, "prism/translation/ruby_parser" end diff --git a/lib/prism/translation/parser33.rb b/lib/prism/translation/parser33.rb deleted file mode 100644 index 0a59669465..0000000000 --- a/lib/prism/translation/parser33.rb +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true -# :markup: markdown - -module Prism - module Translation - # This class is the entry-point for Ruby 3.3 of `Prism::Translation::Parser`. - class Parser33 < Parser - def version # :nodoc: - 33 - end - end - end -end diff --git a/lib/prism/translation/parser34.rb b/lib/prism/translation/parser34.rb deleted file mode 100644 index 566a23fadb..0000000000 --- a/lib/prism/translation/parser34.rb +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true -# :markup: markdown - -module Prism - module Translation - # This class is the entry-point for Ruby 3.4 of `Prism::Translation::Parser`. - class Parser34 < Parser - def version # :nodoc: - 34 - end - end - end -end diff --git a/lib/prism/translation/parser35.rb b/lib/prism/translation/parser35.rb deleted file mode 100644 index 52eeeb6c8c..0000000000 --- a/lib/prism/translation/parser35.rb +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true -# :markup: markdown - -module Prism - module Translation - Parser35 = Parser40 # :nodoc: - end -end diff --git a/lib/prism/translation/parser40.rb b/lib/prism/translation/parser40.rb deleted file mode 100644 index 2ec7445882..0000000000 --- a/lib/prism/translation/parser40.rb +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true -# :markup: markdown - -module Prism - module Translation - # This class is the entry-point for Ruby 4.0 of `Prism::Translation::Parser`. - class Parser40 < Parser - def version # :nodoc: - 40 - end - end - end -end diff --git a/lib/prism/translation/parser41.rb b/lib/prism/translation/parser41.rb deleted file mode 100644 index ed81906400..0000000000 --- a/lib/prism/translation/parser41.rb +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true -# :markup: markdown - -module Prism - module Translation - # This class is the entry-point for Ruby 4.1 of `Prism::Translation::Parser`. - class Parser41 < Parser - def version # :nodoc: - 41 - end - end - end -end diff --git a/lib/prism/translation/parser_versions.rb b/lib/prism/translation/parser_versions.rb new file mode 100644 index 0000000000..720c7d548c --- /dev/null +++ b/lib/prism/translation/parser_versions.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true +# :markup: markdown + +module Prism + module Translation + # This class is the entry-point for Ruby 3.3 of `Prism::Translation::Parser`. + class Parser33 < Parser + def version # :nodoc: + 33 + end + end + + # This class is the entry-point for Ruby 3.4 of `Prism::Translation::Parser`. + class Parser34 < Parser + def version # :nodoc: + 34 + end + end + + # This class is the entry-point for Ruby 4.0 of `Prism::Translation::Parser`. + class Parser40 < Parser + def version # :nodoc: + 40 + end + end + + Parser35 = Parser40 # :nodoc: + + # This class is the entry-point for Ruby 4.1 of `Prism::Translation::Parser`. + class Parser41 < Parser + def version # :nodoc: + 41 + end + end + end +end |
