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 diff --git a/prism.gemspec b/prism.gemspec index a45e0d93e7..6a3bed32d8 100644 --- a/prism.gemspec +++ b/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/rbi/prism/translation/parser33.rbi b/rbi/prism/translation/parser33.rbi deleted file mode 100644 index de3f73131d..0000000000 --- a/rbi/prism/translation/parser33.rbi +++ /dev/null @@ -1,6 +0,0 @@ -# typed: strict - -class Prism::Translation::Parser33 < Prism::Translation::Parser - sig { override.returns(Integer) } - def version; end -end diff --git a/rbi/prism/translation/parser34.rbi b/rbi/prism/translation/parser34.rbi deleted file mode 100644 index 34fee5030b..0000000000 --- a/rbi/prism/translation/parser34.rbi +++ /dev/null @@ -1,6 +0,0 @@ -# typed: strict - -class Prism::Translation::Parser34 < Prism::Translation::Parser - sig { override.returns(Integer) } - def version; end -end diff --git a/rbi/prism/translation/parser35.rbi b/rbi/prism/translation/parser35.rbi deleted file mode 100644 index 86b590fb07..0000000000 --- a/rbi/prism/translation/parser35.rbi +++ /dev/null @@ -1,3 +0,0 @@ -# typed: strict - -Prism::Translation::Parser35 = Prism::Translation::Parser40 diff --git a/rbi/prism/translation/parser40.rbi b/rbi/prism/translation/parser40.rbi deleted file mode 100644 index 218682365b..0000000000 --- a/rbi/prism/translation/parser40.rbi +++ /dev/null @@ -1,6 +0,0 @@ -# typed: strict - -class Prism::Translation::Parser40 < Prism::Translation::Parser - sig { override.returns(Integer) } - def version; end -end diff --git a/rbi/prism/translation/parser41.rbi b/rbi/prism/translation/parser41.rbi deleted file mode 100644 index 218682365b..0000000000 --- a/rbi/prism/translation/parser41.rbi +++ /dev/null @@ -1,6 +0,0 @@ -# typed: strict - -class Prism::Translation::Parser40 < Prism::Translation::Parser - sig { override.returns(Integer) } - def version; end -end diff --git a/rbi/prism/translation/parser_versions.rbi b/rbi/prism/translation/parser_versions.rbi new file mode 100644 index 0000000000..8a7297be3e --- /dev/null +++ b/rbi/prism/translation/parser_versions.rbi @@ -0,0 +1,23 @@ +# typed: strict + +class Prism::Translation::Parser33 < Prism::Translation::Parser + sig { override.returns(Integer) } + def version; end +end + +class Prism::Translation::Parser34 < Prism::Translation::Parser + sig { override.returns(Integer) } + def version; end +end + +class Prism::Translation::Parser40 < Prism::Translation::Parser + sig { override.returns(Integer) } + def version; end +end + +Prism::Translation::Parser35 = Prism::Translation::Parser40 + +class Prism::Translation::Parser40 < Prism::Translation::Parser + sig { override.returns(Integer) } + def version; end +end diff --git a/test/prism/ruby/parser_test.rb b/test/prism/ruby/parser_test.rb index df290a6a8e..55c12cab6f 100644 --- a/test/prism/ruby/parser_test.rb +++ b/test/prism/ruby/parser_test.rb @@ -5,8 +5,6 @@ begin verbose, $VERBOSE = $VERBOSE, nil require "parser/ruby33" - require "prism/translation/parser33" - require "prism/translation/parser34" rescue LoadError # In CRuby's CI, we're not going to test against the parser gem because we # don't want to have to install it. So in this case we'll just skip this test.