[前][次][番号順一覧][スレッド一覧]

ruby-changes:55864

From: Nobuyoshi <ko1@a...>
Date: Mon, 27 May 2019 13:59:29 +0900 (JST)
Subject: [ruby-changes:55864] Nobuyoshi Nakada: af17e111b3 (trunk): Added #inspect and #pretty_inspect to Ripper::Lexer::Elem

https://git.ruby-lang.org/ruby.git/commit/?id=af17e111b3

From af17e111b3f7cb3c5ad7dc194399b44d0e5004d0 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Mon, 27 May 2019 11:57:48 +0900
Subject: Added #inspect and #pretty_inspect to Ripper::Lexer::Elem


diff --git a/ext/ripper/lib/ripper/lexer.rb b/ext/ripper/lib/ripper/lexer.rb
index 95e1ebc..3301a60 100644
--- a/ext/ripper/lib/ripper/lexer.rb
+++ b/ext/ripper/lib/ripper/lexer.rb
@@ -49,7 +49,8 @@ class Ripper https://github.com/ruby/ruby/blob/trunk/ext/ripper/lib/ripper/lexer.rb#L49
     State = Struct.new(:to_int, :to_s) do
       alias to_i to_int
       def initialize(i) super(i, Ripper.lex_state_name(i)).freeze end
-      def inspect; "#<#{self.class}: #{self}>" end
+      # def inspect; "#<#{self.class}: #{self}>" end
+      alias inspect to_s
       def pretty_print(q) q.text(to_s) end
       def ==(i) super or to_int == i end
       def &(i) self.class.new(to_int & i) end
@@ -63,6 +64,20 @@ class Ripper https://github.com/ruby/ruby/blob/trunk/ext/ripper/lib/ripper/lexer.rb#L64
       def initialize(pos, event, tok, state)
         super(pos, event, tok, State.new(state))
       end
+
+      def inspect
+        "#<#{self.class}: #{event}@#{pos[0]}:#{pos[0]}:#{state}: #{tok.inspect}>"
+      end
+
+      def pretty_print(q)
+        q.group(2, "#<#{self.class}:", ">") {
+          q.breakable
+          q.text("#{event}@#{pos[0]}:#{pos[0]}")
+          q.breakable
+          q.text("token: ")
+          tok.pretty_print(q)
+        }
+      end
     end
 
     def tokenize
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]