独自Inspectorでやってみたかったことは,こんなこと

オレオレフレームワークごとで恐縮なのだが,とあるコンポーネントを生成するときに,そのコンポーネントの識別子を引数に与える。その識別子は文字列なんだけど,なんでもいいわけじゃなくて,JLSでいうJava識別子(正規表現で「^[a-z_]?w*$」を満たし,かつJavaキーワードを除く値)でなけれならない。
当然,不正な値を設定した場合は実行時に「その値は識別子にできないよ〜」と警告するんだが,まあよく忘れるのだ。


自分で仕込んだ仕様なんで,気をつけて入るんだが,ついついうっかり忘れて怒られる。この手の自分で仕掛けたワナに嵌ることほど,腹立たしいことはそうはないわけで,なんとできんものかと思って作ったのが,これだ。


↑このように特定のコンポーネントの引数がJava識別子になってなければ警告を表示し,申し訳程度のQuickFixも付けてみた。QuickFixでは「正規化する?」と称して,空白文字の除去と記号文字をアンダースコアに置き換える。運が良ければ,こんな具合に無害化される。