Ist es möglich, die Code-Indizierungsfunktionen von Eclipse zu entkoppeln?

Ich möchte einen statischen Analysator für eine Universitätsklasse schreiben. Um mehr Leistung für das Tool bereitzustellen, möchte ich in der Lage sein, die Aufrufhierarchie nachzuschlagen (wie dies bei Strg + Alt + H in Eclipse der Fall ist). Dies müsste auch eine schnelle Operation sein, daher müsste die Suche wahrscheinlich eher gegen einen Index als gegen das Scannen von Bytecodes erfolgen.

Allerdings wäre das Schreiben eines Eclipse-Plugins meiner Meinung nach zu ehrgeizig. Stattdessen würde ich eher die Teile von Eclipse entkoppeln, die den Codeindex erstellen, und eine Bibliothek verwenden, um Nachschlagevorgänge durchzuführen. Die Benutzeroberfläche befindet sich in der Befehlszeile, um die Implementierung zu vereinfachen.

Ich habe gelesen, dass Eclipse Lucene für die Indizierung verwendet [1], es muss jedoch eine erhebliche Menge an Arbeit auf Lucene vorhanden sein, damit Eclipse diese Funktionen unterstützt.

Die Frage ist, ist es möglich, die Indizierungsfunktionen von Eclipse für die Wiederverwendung zu entkoppeln? Wenn nicht, gibt es andere, leicht verfügbare Bibliotheken, die die von mir diskutierte Art der Verarbeitung durchführen könnten?

[1] Lucene in Aktion (IIRC)

BEARBEITEN

Ich denke, es gab ein Missverständnis. Ich möchte nicht die Klassenhierarchie überprüfen, sondern dieAnruf Hierarchie. Das ist der Grund, warum Suchen und Indizieren (obwohl dies vielleicht nicht der richtige Begriff ist) in die Diskussion einbezogen werden. Das Überprüfen der Klassenhierarchie ist wahrscheinlich wesentlich kostengünstiger als das Überprüfen der Aufrufhierarchie.

Was das Schreiben eines Eclipse-Plugins angeht, würde ich es gerne tun, aber da diese Aufgabe auf einer sehr kurzen Zeitskala liegt, ist es wahrscheinlich unwahrscheinlich, dass ich es schaffen werde. Aber es ist eine nützliche Information, dass einige von Ihnen der Meinung sind, dass dies nicht so schwierig ist, wie ich denke.

Vielleicht habe ich zu viel Wert auf Eclipse gelegt. Mir ist aufgefallen, dass ich wirklich nach einem Tool suche, das eine API zum Überprüfen eines Aufrufdiagramms durch den Bytecode bereitstellt.

Vielen Dank für eure bisherigen Antworten!

Antworten auf die Frage(9)

Ihre Antwort auf die Frage