redhat-developer / redhat-developer/vscode-java

Renaming fields causes conflicts with variable naming, resulting in changes in code behavior

Ouverte
#3,615 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

potential-duplicate
Langage dominant
TypeScript
Étoiles
2.3k
Forks
546
Merge moyen
20 h 1 min
PR mergées (30 j)
11

Description

[provide a description of the issue]

Environment
  • Operating System:
  • JDK version:
  • Visual Studio Code version:
  • Java extension version:
Steps To Reproduce

1.select "originalField"
2.click “Rename”
3. new name "originalFieldRenamed"

class MyClass {
// rename "originalField" to "originalFieldRenamed"
private final int originalField = 10;
protected int protectedField;

public void myMethod() {
int originalFieldRenamed = 20; // Local variable with the same name as the field
System.out.println(originalField);
}
}
refactoring result:
image

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencer par reproduire les étapes de renommage indiquées dans l’exemple Java et comparer les références obtenues avec le renommage prévu du champ. Suivre le chemin du refactoring de renommage Java afin d’identifier pourquoi le comportement d’une variable locale portant le nouveau nom du champ change ; le travail est terminé lorsque le renommage préserve la sémantique de la variable locale et du champ pour cet exemple.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, typescript, vscode
Domaine
developer-experience, devtools
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.