Eclipse "Name Shadowing"-Warnung

hp

Mitglied
Guten Morgen zusammen!

uns beschäftigt seit einigen Tagen folgendes Problem:

Java:
abstract class A {
  protected int field;
}

abstract class B extends A {
  protected int field;
}

class C extends B {
  protected int field;
}

In diesem Fall soll Eclipse warnen, da das Feld "field" von den anderen Klassen überschrieben wird, da man so den Überblick verliert auf welches Feld man wirklich zugreift. Dazu gibt's in Eclipse unter ""Java Compiler->Errors/Warnings" die Option "Field declaration hides another field or variable". In einem Testprojekt klappt das auch soweit.

Sobald wir das aber in unsere "Hauptprojekt" einbinden (egal ob durch project-specific settings oder workspace settings), warnt Eclipse nicht mehr.

Hat irgendjemand eine Idee wo diese Option überschrieben werden könnte? Oder warum Eclipse an der Stelle nicht warnt?
Wir sind hier langsam am Verzweifeln!

Viele Grüße,
Henning
 

hp

Mitglied
hallo maki,
ja der .settings ordner wird mit ausgecheckt. Allerdings findet man in den core.prefs, im besagten ordner, ebenfalls die einstellung "org.eclipse.jdt.core.compiler.problem.fieldHiding=warning".
 

hp

Mitglied
Schein ein Eclipse-Bug zu sein!

Es liegt an den packages.
Bei meinem Testprojekt waren die 3 Klassen A,B und C im gleichen Package. Wenn ich die Testdateien in eigene Packages packe, dann warnt Eclipse nicht mehr!

Kann das noch jemand reproduzieren? Dann stell ich 'nen Eclipse-Bug rein!
 

Oben