Module: RuboCop::ProcessedSource::ParserClassExt

Included in:
RuboCop::ProcessedSource
Defined in:
lib/ruby-next/rubocop.rb

Constant Summary collapse

TEXT_REWRITERS =
RubyNext::Language.rewriters.select(&:text?)

Instance Method Summary collapse

Instance Method Details

#parse(src, *args) ⇒ Object



42
43
44
45
46
# File 'lib/ruby-next/rubocop.rb', line 42

def parse(src, *args)
  # We must apply text rewriters before parsing
  src = RubyNext::Language.send(:text_rewrite, src, rewriters: TEXT_REWRITERS, using: false, context: RubyNext::Language::TransformContext.new(path: path))
  super
end

#parser_class(version) ⇒ Object



48
49
50
51
52
53
# File 'lib/ruby-next/rubocop.rb', line 48

def parser_class(version, *)
  return super unless version == RUBY_NEXT_VERSION

  require "parser/rubynext"
  Parser::RubyNext
end