Lint/OrderedMagicCommentsの興味深い偽陽性を直すPRを開いた

ken1flan さんからのバグレポート。ありがとうございます。

github.com

以下のコードが # coding: utf-8 のようなエンコーディングマジックコメントにマッチしてしまうという偽陽性だった。

# frozen_string_literal: true

x = { encoding: Encoding::SJIS }
puts x

エンコーディング種別は別として、このあたり正規表現でマジックコメントの種類をマッチさせていたあたりにバグがあったので、それを直していたりした。

Ruby 1.9 Hash 記法とエンコーディングマジックコメントが似通っている記述ということからなる興味深いバグだった。

また PR を開いた翌日くらいに pocke さんから processed_source.comments を使って対象をコードコメントに絞ればというアドバイスをもらって、そのあたりも掛け合わせに対応している。