redhat-developer / redhat-developer/vscode-java

Refactoring inline methods leads to changes in access permissions

Offen
#3,599 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

potential-duplicate
Vorherrschende Sprache
TypeScript
Sterne
2.3k
Forks
546
Ø Merge
20 Std. 1 Min.
Gemergte PRs (30 T.)
11

Beschreibung

[provide a description of the issue]

Environment

Operating System: Windows11
JDK version: 17
Visual Studio Code version: 1.88
Java extension version: 1.29

Steps To Reproduce
  1. select "originalMethod()"
  2. click “Refacator-inline method”

class OriginalClass {
private boolean flag = false;
public synchronized void originalMethod() throws InterruptedException {
flag = true;
notify();
}

public void callerMethod() throws InterruptedException {
originalMethod() ;
}
}

refactoring result:
image

reason:
Missing "synchronized" keyword decoration, access permissions changed

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

Reproduzieren Sie den Fall im Issue mit der bereitgestellten Java-Klasse und ermitteln Sie anschließend die Implementierung und Tests für den Befehl „Refactor-inline method“. Verfolgen Sie, wie der synchronized-Modifikator der ursprünglichen Methode beim Inlining behandelt wird; abgeschlossen ist die Aufgabe, wenn der resultierende Code das ursprüngliche Zugriffs- und Synchronisationsverhalten beibehält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
tooling
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.