Rascal を使用して、M3 モデルを介してポリモーフィック型 (1 つ以上の実装) を検出しています。JHotDraw 6 ( http://www.jhotdraw.org/org::jhotdraw::framework::ViewChangeListener
) には、匿名クラスによってのみ実装されるインターフェースがありますが、JHotDraw の m3 モデルにはこの情報が含まれていないようです。
import lang::java::jdt::m3::Core;
import lang::java::m3::TypeHierarchy;
jhd6 = createM3FromEclipseProject(|project://jhotdraw60b1|);
vcl = |java+interface:///org/jhotdraw/framework/ViewChangeListener|;
invert(jhd6@implements)[vcl];
空集合を返します。
匿名クラス|java+anonymousClass:///org/jhotdraw/standard/AbstractTool/createViewChangeListener()/$anonymous1|
は m3 モデルにありますが、ViewChangeListener インターフェイスを実装しているとは認識されません。
この情報を取得する信頼できる方法はありますか?