そのため、Eclipse プラグインを開発し、変数ビューに似たビューを構築しようとしています。ここで、選択した StackFrame をデバッグ ビューから取得するために、IDebugContextListener を登録しました。これは、選択された場合に、以下にリストされているメソッドを最終的に呼び出します。問題は、IStructuredSelection.getFirstElement() から IStackFrame オブジェクトを取得できないことです。IStackframe クラスのアダプターも取得しようとしました。それもうまくいきませんでした。選択範囲から IStackFrame オブジェクトを取得する方法を教えていただければ幸いです。
private void contextActivated(ISelection context) {
if (context instanceof StructuredSelection) {
System.out.println("a");
Object data = ((StructuredSelection) context).getFirstElement();
if (data instanceof IStackFrame) {
System.out.println("yes");
} else {
System.out.println("no" + data.getClass().getName());
}
}
}
これに関する問題は、(選択がデバッグ ビューで StackFrame であっても) 常に else 部分を実行することです。また、アダプターのアプローチは機能しませんでした。