1*4882a593SmuzhiyunFrom 330bdeeaa4389225c27d27188499543ddd184f69 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Adrian Perez de Castro <aperez@igalia.com>
3*4882a593SmuzhiyunDate: Wed, 15 Jan 2020 22:15:38 +0000
4*4882a593SmuzhiyunSubject: [PATCH] Offlineasm warnings with newer Ruby versions
5*4882a593Smuzhiyun https://bugs.webkit.org/show_bug.cgi?id=206233
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunReviewed by Yusuke Suzuki.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunAvoid a warning about using Object#=~ on Annotation instances, which
10*4882a593Smuzhiyunhas been deprecated in Ruby 2.7.
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun* offlineasm/parser.rb: Swap checks to prevent applying the =~ operator
13*4882a593Smuzhiyunto Annotation instances, which do not define it.
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunCanonical link: https://commits.webkit.org/219400@main
16*4882a593Smuzhiyungit-svn-id: https://svn.webkit.org/repository/webkit/trunk@254637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
17*4882a593SmuzhiyunUpstream-Status: Backport
18*4882a593SmuzhiyunSigned-off-by: Martin Jansa <Martin.Jansa@gmail.com>
19*4882a593Smuzhiyun---
20*4882a593Smuzhiyun Source/JavaScriptCore/offlineasm/parser.rb | 6 +++---
21*4882a593Smuzhiyun 1 file changed, 3 insertions(+), 3 deletions(-)
22*4882a593Smuzhiyun
23*4882a593Smuzhiyundiff --git a/Source/JavaScriptCore/offlineasm/parser.rb b/Source/JavaScriptCore/offlineasm/parser.rb
24*4882a593Smuzhiyunindex b44511245..cd1cffaec 100644
25*4882a593Smuzhiyun--- a/Source/JavaScriptCore/offlineasm/parser.rb
26*4882a593Smuzhiyun+++ b/Source/JavaScriptCore/offlineasm/parser.rb
27*4882a593Smuzhiyun@@ -584,9 +584,7 @@ class Parser
28*4882a593Smuzhiyun         firstCodeOrigin = @tokens[@idx].codeOrigin
29*4882a593Smuzhiyun         list = []
30*4882a593Smuzhiyun         loop {
31*4882a593Smuzhiyun-            if (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final)
32*4882a593Smuzhiyun-                break
33*4882a593Smuzhiyun-            elsif @tokens[@idx].is_a? Annotation
34*4882a593Smuzhiyun+            if @tokens[@idx].is_a? Annotation
35*4882a593Smuzhiyun                 # This is the only place where we can encounter a global
36*4882a593Smuzhiyun                 # annotation, and hence need to be able to distinguish between
37*4882a593Smuzhiyun                 # them.
38*4882a593Smuzhiyun@@ -600,6 +598,8 @@ class Parser
39*4882a593Smuzhiyun                 list << Instruction.new(codeOrigin, annotationOpcode, [], @tokens[@idx].string)
40*4882a593Smuzhiyun                 @annotation = nil
41*4882a593Smuzhiyun                 @idx += 2 # Consume the newline as well.
42*4882a593Smuzhiyun+            elsif (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final)
43*4882a593Smuzhiyun+                break
44*4882a593Smuzhiyun             elsif @tokens[@idx] == "\n"
45*4882a593Smuzhiyun                 # ignore
46*4882a593Smuzhiyun                 @idx += 1
47*4882a593Smuzhiyun--
48*4882a593Smuzhiyun2.39.0
49*4882a593Smuzhiyun
50