Re: -rules - まさたか日記

事情はよく理解しておりませんが「IDEAでも出来るのか?」とあったのでお答えします.「($T)$a => $a::$a instanceof $T;」くらいの簡単な置換であれば「Structural Search and Replace」でできます.
指定の仕方は,こんな具合.


「Edit variables...」を調整することで,対象を「java.util.Listと,その子ども達」みたく絞り込む事もできます.


(追記)とんだ早とちりだったようで,元の式「($T)$a => $a::$a instanceof $T;」は「$aが$Tのインスタンスならば,無用なキャスト($T)を除く」という意味でした。そこまで抽象的な条件付けはIDEAのStructural Search&Replaceでは対処できないです。
#変数の条件設定に内部関数とか使えるようにでもならないとムリ。


できるのは,もっと具体的な条件付けで,例えば「Listのインスタンスに対して,無駄な(List)へのキャストを除く」とかならできます。
#下図のlist1, list2, list3のうち,list1しか対象にならない。


どうも,お騒がせしました。