1

互換性の理由から、Eclipse プラグインを JDT 3.7 から 3.6 に変更する必要があります。残念ながら、古いバージョンには便利な .getParameters() メソッドがまだないようです。

ElementTreeSelectionDialog をユーザーに表示して、ユーザーがクラスのメソッドを参照し、メソッドのパラメーターを選択できるようにする必要があります。このために、この単純な getChildren メソッドを使用して ITreeContentProvider を作成しました。

public Object[] getChildren(Object paramObject) {       
        if(paramObject instanceof ICompilationUnit){
            ICompilationUnit icu = (ICompilationUnit) paramObject;
            try {
                return icu.getAllTypes()[0].getMethods();
            } catch (JavaModelException e) {
                e.printStackTrace();
            }
        }
        if(paramObject instanceof IType){
            IType type = (IType) paramObject;
            try {
                return type.getMethods();
            } catch (JavaModelException e) {
                e.printStackTrace();
            }
        }
        if(paramObject instanceof IMethod){
            IMethod method = (IMethod) paramObject;
            try {
                return method.getParameters();
            } catch (JavaModelException e) {
                e.printStackTrace();
            }
        }
        return null;
    }

適切なアイコン、署名などですべてを表示する JavaUILabelProvider を使用できるように、インターフェイスに固執したいと思います。

したがって、注意が必要なのは、パラメーターから有効な LocalVariable オブジェクトを作成するか、JavaUILabelProvider によって適切に表示されるその他の有効な IJavaElement 実装を作成することです。

LocalVariable[]の配列を作成しようとしましたが、要素に必要な位置マーカーと注釈オブジェクトを取得する方法が見つからないため、これは実際にはうまくいきません...

4

0 に答える 0