This repository was archived by the owner on Nov 30, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +15
-7
lines changed Expand file tree Collapse file tree 2 files changed +15
-7
lines changed Original file line number Diff line number Diff line change @@ -47,6 +47,10 @@ def non_mri?
47
47
def mri?
48
48
!defined? ( RUBY_ENGINE ) || RUBY_ENGINE == 'ruby'
49
49
end
50
+
51
+ def truffleruby?
52
+ defined? ( RUBY_ENGINE ) && RUBY_ENGINE == 'truffleruby'
53
+ end
50
54
end
51
55
52
56
# @api private
@@ -101,7 +105,7 @@ def supports_taint?
101
105
end
102
106
ripper_requirements = [ ComparableVersion . new ( RUBY_VERSION ) >= '1.9.2' ]
103
107
104
- ripper_requirements . push ( false ) if Ruby . rbx?
108
+ ripper_requirements . push ( false ) if Ruby . rbx? || Ruby . truffleruby?
105
109
106
110
if Ruby . jruby?
107
111
ripper_requirements . push ( Ruby . jruby_version >= '1.7.5' )
Original file line number Diff line number Diff line change @@ -126,12 +126,16 @@ def ripper_works_correctly?
126
126
# https://github.com/jruby/jruby/issues/3386
127
127
def ripper_reports_correct_line_number?
128
128
in_sub_process_if_possible do
129
- require 'ripper'
130
- tokens = ::Ripper . lex ( 'foo' )
131
- token = tokens . first
132
- location = token . first
133
- line_number = location . first
134
- line_number == 1
129
+ begin
130
+ require 'ripper'
131
+ tokens = ::Ripper . lex ( 'foo' )
132
+ token = tokens . first
133
+ location = token . first
134
+ line_number = location . first
135
+ line_number == 1
136
+ rescue NoMethodError
137
+ false # TruffleRuby defines Ripper but implementation is not complete
138
+ end
135
139
end
136
140
end
137
141
You can’t perform that action at this time.
0 commit comments