Source Code Auswertung - organize imports

Status
Nicht offen für weitere Antworten.

Isaac

Bekanntes Mitglied
Moin,

der ein oder andere erinnert sich vieleicht noch an mein ansinnen ein "Organize imports" für meine generierten Files zu schreiben. Das Programm das ich geschrieben habe funktioniert zwar für kleine Files mit denen ich es getestet habe aber als ich es dann mit zur Arbeit genommen habe kam dem Programm ein verhalten in den Weg das mir unbekannt war. Ich nutzte javac um die Fehler auszuwerten und aufgrund der Fehler die imports zu bestimmen. Da gibt es nur ein Problem. Die Fehler des javac Compilers sind auf 100 begrenzt. Bei langen Dateien ist das sehr schnell erreicht. Soll heissen, meine Implementierung schaft nur ca 70% aller Imports statt 100%.
Es gibt hier diverse Probleme zu lösen.

  • Ich kann keine Classfiles erzeugen da ich nicht einfach alle packages importieren. Schon bei List oder Map sind die imports nicht mehr bestimmbar da es diese Klasse mehrfach gibt in unterschiedlichen Packages.
  • Da ich keine Class files erzeugen kann fällt Reflection unter den Tisch um schon mal die wichtigsten Imports mit zu bekommen.


Was bleibt dann noch übrig? Ich kann eigentlich nur den Sourcecode parsen. Aber wie am besten? Mit regular expressions? Den Code den ich aus der Java Zeitung, zum XML Syntax Highlightning, getestet habe ist furchbar langsam. Man kann dem Syntax Highlighter zuschauen beim Highlighten. Bei 450 Dateien kann das dauern. Also was tun sprach Zeus? Jemand Ideen wie ich die Standalone "Organize Imports" doch noch zum laufen bekomme?

Ich kenne mich mit Compilierprogrammierung nicht aus, die müssen das doch auch irgendwie testen?
 
B

bygones

Gast
mhm - kenn mich in compilerprog net aus....

aber erste intuitive und simple Idee: wenn 100 fehler kommen löse die auf und teste wieder. Kommen wieder so viele Fehler, wieder auflösen und wieder starten..... also eine rekursion.... ob das so gut ist zweifle ich...

Source code parsen könnte man vielleicht mit regex + suchalgorithmen kombinieren - das dürfte recht flott gehen - wobei ich befürchte das die regex ziemlich viel sein würden....

mal darüber nachdenken :wink:
 

Isaac

Bekanntes Mitglied
Ja das habe ich am Anfang auch gedacht deeath, aber den javac Prozess zu starten dauert jedesmal ziemlich lange. Ich habe die Iterationsschritte mal auf 5 gesetzt und das hat er auch hinbekommen. Aber ne Minute für ein File kanns nicht sein bei 450 Files. DAs ist leider auch keine Lösung.


Ich denke ich werde "Organize Imports" Versuch 4 mal mit regex versuchen. Ich hab mir schon ein paar gedanken gemacht wie man was am besten findet. Schwierig wird nur der Test um welche List es sich handelt wenn man eine List findet. Da man dann die Methode suchen muss die aufgerufen wird und dann per Reflection schauen muss welche der Klassen eine solche Methode aufweist. Selbst das ist aber gerade mal die notwendige Bedingung aber nicht die Hinreichende.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Gibt es eigentlich Java Source Code Interpreter..? Allgemeine Java-Themen 13
A Source code analyze Allgemeine Java-Themen 8
S Programm das automatisch ungenutzten Source-Code entfernt..? Allgemeine Java-Themen 4
D Source Code anschauen Allgemeine Java-Themen 6
S java source code Allgemeine Java-Themen 5
hdi Source Code von Sun's Java Klassen Allgemeine Java-Themen 11
S einfachen editor für source code Allgemeine Java-Themen 13
S java source code Allgemeine Java-Themen 7
P Source code verloren habe nur noch kompilierte .jar. Allgemeine Java-Themen 12
? jar-Datei to Source-Code? Allgemeine Java-Themen 16
M Source Code schützen Allgemeine Java-Themen 5
S Änderungen im Source-Code direkt verwenden können? Allgemeine Java-Themen 3
E Source-Code aus einer Textdatei kompilieren und ausführen Allgemeine Java-Themen 4
D Open Source Library zum erstellen von PDFs Allgemeine Java-Themen 1
G Licence-Header für InHouse entwickelten Source Allgemeine Java-Themen 8
S Class File Editor -> Source not found Allgemeine Java-Themen 4
T Stacktrace zeigt ...(Unknown Source) Allgemeine Java-Themen 10
H Quelltext / Source aus jar Datei rekonstruieren Allgemeine Java-Themen 1
F Open source file übersetzen Phython -> Java Allgemeine Java-Themen 4
M Source / Binaries plus Bugtracking auf Klassenebene Allgemeine Java-Themen 1
M Open Source Projekte => wo herunterladen? Allgemeine Java-Themen 2
M Open Source Projekte / source - binaries Allgemeine Java-Themen 13
A Methoden Generische Methode mit Arrays - Source Compatibility 1.7 benötigt, wieso? Allgemeine Java-Themen 3
E NetBeans warning: [options] bootstrap class path not set in conjunction with -source 1.6 Allgemeine Java-Themen 4
B Eclipse Attache source to own jar-files Allgemeine Java-Themen 2
P Java Probleme - java.lang.Thread.run(Unkown Source) Allgemeine Java-Themen 10
J Compiler-Fehler Unknown Source? Allgemeine Java-Themen 4
M NOA an den Source Text des Dokumentes kommen Allgemeine Java-Themen 7
E eclipse debugger - Source not found? Allgemeine Java-Themen 1
J Open Source Projekt anbieten - Leitfaden gesucht Allgemeine Java-Themen 3
N jar 2 source converter Allgemeine Java-Themen 2
aze Source Folder bestimmen Allgemeine Java-Themen 2
N C source to Java Source -> compile java layer? Allgemeine Java-Themen 9
V Source zu Javamail? Allgemeine Java-Themen 2
T JAR mit embedded Source/JavaDoc? Allgemeine Java-Themen 8
E javax.comm: Suche eine open source Alternative zu rxtx Allgemeine Java-Themen 8
musiKk Source der Java API? Allgemeine Java-Themen 2
Y Open Source Plattformen Allgemeine Java-Themen 4
F "source not found" in eigenem Projekt mit eigenen Allgemeine Java-Themen 2
T User-Kennung im Source hinterlegen? Allgemeine Java-Themen 4
I Was ist ein binray / source Build ? Allgemeine Java-Themen 3
G Brauche hilfe bei JMF: Wie eigene Streaming Data Source! Allgemeine Java-Themen 4
A Source-Management bei Kunden-Anpassungen Allgemeine Java-Themen 5
L Open Source Projekt Allgemeine Java-Themen 7
L Alle Attribute eines Source-Files auslesen Allgemeine Java-Themen 2
M Source von Java Klassen Allgemeine Java-Themen 2
E Closed Source Programm schuetzen Allgemeine Java-Themen 11
G Exceptions ohne Zeilennummer (Unknown Source) Allgemeine Java-Themen 8
M Unsicher, ob das Code richtig ist Allgemeine Java-Themen 4
MarvinsDepression Unbekanntes Zeichen in fremden Code wirft Fragen auf Allgemeine Java-Themen 4
schemil053 Methoden Code-Verbesserung Allgemeine Java-Themen 2
D Webarchive (war): Code verschleiern Allgemeine Java-Themen 7
D Compiler-Fehler child process exited with code 1 Allgemeine Java-Themen 1
Queenman Interface Mein Microsoft Visual Studio Code zeigt komische Dinge & Menüs an Allgemeine Java-Themen 9
A Clean Code: Variable vs. Methode Allgemeine Java-Themen 8
berserkerdq2 Versteht jemand, was diese beiden Zahlen bei dem IJVM Code zu bedeuten haben? Allgemeine Java-Themen 10
OnDemand Releaseversion Tag in Code Allgemeine Java-Themen 5
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
F Code auslagern Allgemeine Java-Themen 5
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
JordenJost Unverständlicher Java code? Allgemeine Java-Themen 21
V Hilfe mit Java Code Allgemeine Java-Themen 4
S Processing Java Code verstehen Allgemeine Java-Themen 4
A code wird nicht ausgeführt Allgemeine Java-Themen 3
B Bitte um Code Erklärung Allgemeine Java-Themen 5
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
N Regulären Ausdruck in normalen Java-Code umwandeln Allgemeine Java-Themen 12
OnDemand Clean Code oder Allgemeine Java-Themen 5
Noahscript Aus einem byte Array Steuerungszeichen und Code bekommen und ersetzen Allgemeine Java-Themen 3
J Simple Date Format Alternativen bitte um Code Allgemeine Java-Themen 14
AGW in Java-Code plötzlich ein paar Wörter in Rot Allgemeine Java-Themen 2
L Best Practice Auslagerung von Code = Performance Optimierung? Allgemeine Java-Themen 4
H Precompilierten code ansehen Allgemeine Java-Themen 3
R Wo müsste ich im Code eine Änderung vornehmen? Allgemeine Java-Themen 6
L Ausgabe von in Echtzeit ausgeführten Code Allgemeine Java-Themen 9
Drachenbauer Wie kann ich die menge an code reduzieren? Allgemeine Java-Themen 28
Thallius Warum ist dieser Code OS abhängig? Allgemeine Java-Themen 10
S Code Erklärung Allgemeine Java-Themen 21
B Pausem im Code Allgemeine Java-Themen 2
T Java-Quiz Code Fehler Allgemeine Java-Themen 10
L Eclipse Java Code ausführen Allgemeine Java-Themen 18
F Java Code ausführen direkt nach Anmelden in Windows Allgemeine Java-Themen 2
F Code in Klassen bringen Allgemeine Java-Themen 4
J JUnit - Auslassen von Code Allgemeine Java-Themen 25
F Klassen Spaghetti Code Vermeidung Allgemeine Java-Themen 16
C code oder Bibliotheken für 2-Center Problem Allgemeine Java-Themen 4
J Code Page characters darstellen Allgemeine Java-Themen 12
J wie sollte man sinnvoll seinen Code aufteilen Allgemeine Java-Themen 6
I Python Code in Java Code Allgemeine Java-Themen 9
M Java (GUI) Code verdoppeln oder anzeige mehrmals anzeigen? Allgemeine Java-Themen 8
N Wie öffne ich einen runtergeladadenen Code in IntelliJ Allgemeine Java-Themen 3
R Fehler im Code Allgemeine Java-Themen 1
R Fehler im Code Allgemeine Java-Themen 3
O Standard library nativer C code Allgemeine Java-Themen 1
R Wo ist mein Fehler in diesem Code Allgemeine Java-Themen 7
S Java Editor Bekomme bei der Code-Vervollständigung die Zeichen ​ Allgemeine Java-Themen 3
N Morse Code decoder Allgemeine Java-Themen 9
O Erste Schritte Benzinverbrauch Code Hilfe Allgemeine Java-Themen 3
S Eclipse exit code 805306369 Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben