diff options
Diffstat (limited to 'lib/rdoc/parser/ripper_state_lex.rb')
-rw-r--r-- | lib/rdoc/parser/ripper_state_lex.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/rdoc/parser/ripper_state_lex.rb b/lib/rdoc/parser/ripper_state_lex.rb index 27d7373270..ff7c41829f 100644 --- a/lib/rdoc/parser/ripper_state_lex.rb +++ b/lib/rdoc/parser/ripper_state_lex.rb @@ -1,6 +1,9 @@ # frozen_string_literal: true require 'ripper' +## +# Wrapper for Ripper lex states + class RDoc::Parser::RipperStateLex # TODO: Remove this constants after Ruby 2.4 EOL RIPPER_HAS_LEX_STATE = Ripper::Filter.method_defined?(:state) @@ -565,6 +568,7 @@ class RDoc::Parser::RipperStateLex tk end + # New lexer for +code+. def initialize(code) @buf = [] @heredoc_queue = [] @@ -572,6 +576,7 @@ class RDoc::Parser::RipperStateLex @tokens = @inner_lex.parse([]) end + # Returns tokens parsed from +code+. def self.parse(code) lex = self.new(code) tokens = [] @@ -584,6 +589,7 @@ class RDoc::Parser::RipperStateLex tokens end + # Returns +true+ if lex state will be +END+ after +token+. def self.end?(token) (token[:state] & EXPR_END) end |