Ich habe zum Beispiel einer if-Klausel, die immer falsch ist (nicht, dass die Variable FINAL sind) z.B .:Kann Eclipse nicht erreichbaren Code hervorheben?
public static final boolean FOO = false;
if (FOO) {
doSomething();
}
Ich will es in Eclipse grau dargestellt zum Beispiel sein. Im Grunde möchte ich, dass dies genau so funktioniert, wie Visual C++ dies für Makros tut, die unerreichbar sind.
Update: Ich möchte, dass es in Echtzeit angezeigt wird, genauso wie Eclipse Java kompiliert, wenn Sie Änderungen am Code vornehmen. Das sollte möglich sein, oder? Ich weiß, dass es diese toten Code-Tools gibt, um das später zu tun, aber das ist nicht das, was ich gerne mache.
Wie kann es Unberechenbar sein, wenn Visual C++ weiß, wie das mit Makros funktioniert? Du solltest sehen, dass ich von endgültigen Variablen spreche, die Laufzeit nicht geändert werden können. –
Ihr Beispiel ist in der Tat berechenbar, und ich glaube, PMD kann diese Art von Codeblock identifizieren. Ich habe nur an die Berechnungsbeschränkungen dieser Funktion erinnert. –
Jeder einfache Ausdruck, der vollständig auf Konstanten basiert, die sich nie ändern, nicht vor, während oder nach der Kompilierung, wird leicht bestimmt, entweder immer den 'wahren' Zweig oder den 'falschen' Zweig nach dem Kompilieren des Codes auszuführen. Natürlich liegt darin das Problem. – Arafangion