redhat-developer / redhat-developer/vscode-java

Move Method refactoring causes name shadowing.

Offen
#4,300 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug refactoring upstream
Vorherrschende Sprache
TypeScript
Sterne
2.3k
Forks
546
Ø Merge
20 Std. 1 Min.
Gemergte PRs (30 T.)
11

Beschreibung

Select the "methodToBeMoved" in class SourceClass, and move to class TargetClass
Before refactoring

class TargetClass {
}
class SubClass extends TargetClass {
    static public void methodToBeMoved() {
    }
}

class SourceClass {
    TargetClass t;
    void methodToBeMoved() {
    }
}
class TargetClass {
    void methodToBeMoved() {
    }
}
class SubClass extends TargetClass {
    static public void methodToBeMoved() {
    }
}
class SourceClass {
    TargetClass t;
}

Error: This static method cannot hide the instance method from TargetClass

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das Move Method-Refactoring mit dem Java-Beispiel im Issue zu reproduzieren, und verfolge dann den Einstiegspunkt des Refactorings in der vscode-java-Implementierung. Die Korrektur ist abgeschlossen, wenn das Verschieben von methodToBeMoved keine ungültige statische Methode erzeugt, die eine Instanzmethode verbirgt, während die gezeigte Klassenstruktur gültig bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.