mirror of
https://github.com/ruby/ruby.git
synced 2026-01-27 04:24:23 +00:00
[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
This commit is contained in:
parent
f34297604f
commit
a1ba9f5733
@ -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",
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -1,8 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
# :markup: markdown
|
||||
|
||||
module Prism
|
||||
module Translation
|
||||
Parser35 = Parser40 # :nodoc:
|
||||
end
|
||||
end
|
||||
@ -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
|
||||
@ -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
|
||||
36
lib/prism/translation/parser_versions.rb
Normal file
36
lib/prism/translation/parser_versions.rb
Normal file
@ -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
|
||||
@ -5,8 +5,6 @@ require_relative "../test_helper"
|
||||
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.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user