Frage

Ich habe eine GUI mit einem Listenfeld der Liste der Methoden in der Klasse anzuzeigen. Ich kann es mithilfe von Reflektion erzielen. Aber kann ich den Quellcode in einem anderen Textbereich die Namen der Methode bei der Auswahl?

Ich wusste von decompilers. aber ich will nicht Quellcode in ihren Fenstern sehen.

Ich möchte einige Drittanbieter-lib verwenden, so dass ich den Quellcode spezifische Methode in meinem eigenen GUI sehen können.

Bitte vorschlagen, wenn es eine API für diese verfügbar ist.

War es hilfreich?

Lösung

Sie erhalten einen Decompiler irgendeiner Art benötigen, dass Sie einen Link zu können. Ich bin nicht sicher, es gibt keine Bibliotheken, aber hier ist ein Link auf die JD Java Decompiler .

Beachten Sie, dass Sie Variablennamen und so während der Kompilierung zu verlieren, wenn Sie also die resultierende Quellcode dekompilieren kann weniger lesbar.

Wenn Sie Zugriff auf die Quelle haben Sie es zu den Klassendateien in Verbindung bringen könnten, und die gewählte Methode Quelle in den Quelldateien verknüpft finden. Dies kann durch ein einfaches One-Pass-Parsing der Quelldateien erreicht werden.

Ihr größtes Problem wird sein, festzustellen, wann ein Verfahren endet, und eine einfache Lösung des zählen { und } ist und bestimmen, wann die { der Methodendeklaration geschlossen ist.

Andere Tipps

Dies ist eine alte Frage, aber da die Decompiler Landschaft deutlich im vergangenen Jahr verändert hat, ich glaube, es lohnt sich Resurrecting.

Procyon ist ein Open-Source-Framework, das unter anderem enthält ein Java Decompiler. Es ist in Java geschrieben und die Decompiler APIs kann relativ leicht in einer anderen Anwendung integriert werden. In der Tat gibt es bereits zwei Fremd GUI-Front-Ends, einschließlich der SecureTeam Java Decompiler .

CFR nicht Quellcode noch vorhanden, aber es ist auch ein ausgezeichneter Decompiler. Auch sie ist in Java geschrieben, und während ich es nicht mit einer bestehenden Anwendung zu integrieren versucht haben, sollte es auf jeden Fall möglich sein.

Ich habe einmal Anwendung erstellt, die enthalten einen eigenen Quellcode-Viewer ist. Ich denke, es ist eine gute Alternative zu Decompiler, die mit ganz Abhängigkeiten kommen kann.

Ich war mit NetBeans so Verpacken der .java Dateien war so einfach wie eine Filteroption zu ändern. Ich habe Java-Eigenschaften die JAR-Datei zu finden und scannte es wie jede Zip-Datei für Java-Quelldateien. Mit diesem Ansatz mit Quelldateien und JTextArea Anzeigen Quellcode eine GUI mit JTreeTable bevölkerte, das war trivial.

Ich glaube, Sie könnten unter Zusatz von einem Schritt mehr das gleiche tun - Clipping der Quelle nur die gewählte Methode zu enthalten. Ich denke, es zu einfachen Parser einkochen sollte man das zählt das Öffnen und Schließen Klammern.

Ich verlasse die frühere Antwort, falls bis Sie sie brauchen, aber JODE nicht in einer langen Zeit aktualisiert. Suche um, ich kann keine Decompiler finden, die Open-Source oder in Bibliothek Form.

JODE kann nur sein, was Sie wollen. Der Kern Decompiler ist als Bibliothek unter der GNU LGPL freigegeben, so dass Sie es in Ihr Programm ohne Probleme integrieren können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top