summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEarlopain <14981592+Earlopain@users.noreply.github.com>2025-12-17 10:47:43 +0100
committerKevin Newton <kddnewton@gmail.com>2025-12-18 19:58:53 -0500
commit76248400b75d42288a5941aa03e2d2e6d4fac057 (patch)
tree89597f7f084fe0371acc4f62aea8320e8e3b24ce /lib
parentd9b03c9369001a835b186ee7fd637e7f94d3d64f (diff)
[ruby/prism] Add Ruby 4.1 as a version specifier
https://github.com/ruby/prism/commit/138db9ccc4
Diffstat (limited to 'lib')
-rw-r--r--lib/prism/ffi.rb2
-rw-r--r--lib/prism/prism.gemspec2
-rw-r--r--lib/prism/translation.rb1
-rw-r--r--lib/prism/translation/parser.rb4
-rw-r--r--lib/prism/translation/parser41.rb13
-rw-r--r--lib/prism/translation/parser_current.rb2
6 files changed, 23 insertions, 1 deletions
diff --git a/lib/prism/ffi.rb b/lib/prism/ffi.rb
index 7e6103fde7..d4c9d60c9a 100644
--- a/lib/prism/ffi.rb
+++ b/lib/prism/ffi.rb
@@ -434,6 +434,8 @@ module Prism
2
when /\A3\.5(\.\d+)?\z/, /\A4\.0(\.\d+)?\z/
3
+ when /\A4\.1(\.\d+)?\z/
+ 4
else
if current
raise CurrentVersionError, RUBY_VERSION
diff --git a/lib/prism/prism.gemspec b/lib/prism/prism.gemspec
index 10c2eaad20..d9872f88ac 100644
--- a/lib/prism/prism.gemspec
+++ b/lib/prism/prism.gemspec
@@ -102,6 +102,7 @@ Gem::Specification.new do |spec|
"lib/prism/translation/parser34.rb",
"lib/prism/translation/parser35.rb",
"lib/prism/translation/parser40.rb",
+ "lib/prism/translation/parser41.rb",
"lib/prism/translation/parser/builder.rb",
"lib/prism/translation/parser/compiler.rb",
"lib/prism/translation/parser/lexer.rb",
@@ -125,6 +126,7 @@ Gem::Specification.new do |spec|
"rbi/prism/translation/parser34.rbi",
"rbi/prism/translation/parser35.rbi",
"rbi/prism/translation/parser40.rbi",
+ "rbi/prism/translation/parser41.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 7933b4a722..89c70ee420 100644
--- a/lib/prism/translation.rb
+++ b/lib/prism/translation.rb
@@ -11,6 +11,7 @@ module Prism
autoload :Parser34, "prism/translation/parser34"
autoload :Parser35, "prism/translation/parser35"
autoload :Parser40, "prism/translation/parser40"
+ autoload :Parser41, "prism/translation/parser41"
autoload :Ripper, "prism/translation/ripper"
autoload :RubyParser, "prism/translation/ruby_parser"
end
diff --git a/lib/prism/translation/parser.rb b/lib/prism/translation/parser.rb
index 23245dc383..fed4ac4cd1 100644
--- a/lib/prism/translation/parser.rb
+++ b/lib/prism/translation/parser.rb
@@ -84,7 +84,7 @@ module Prism
end
def version # :nodoc:
- 40
+ 41
end
# The default encoding for Ruby files is UTF-8.
@@ -358,6 +358,8 @@ module Prism
"3.4.0"
when 35, 40
"4.0.0"
+ when 41
+ "4.1.0"
else
"latest"
end
diff --git a/lib/prism/translation/parser41.rb b/lib/prism/translation/parser41.rb
new file mode 100644
index 0000000000..ed81906400
--- /dev/null
+++ b/lib/prism/translation/parser41.rb
@@ -0,0 +1,13 @@
+# 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_current.rb b/lib/prism/translation/parser_current.rb
index 76d71e9409..ac6daf7082 100644
--- a/lib/prism/translation/parser_current.rb
+++ b/lib/prism/translation/parser_current.rb
@@ -12,6 +12,8 @@ module Prism
ParserCurrent = Parser34
when /^3\.5\./, /^4\.0\./
ParserCurrent = Parser40
+ when /^4\.1\./
+ ParserCurrent = Parser41
else
# Keep this in sync with released Ruby.
parser = Parser34