redhat-developer / redhat-developer/vscode-java

The this keyword causes errors in the "Move Method" refactoring.

Open
#4,299 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug refactoring upstream
Dominant language
TypeScript
Stars
2.3k
Forks
546
Avg merge
20h 1m
Merged PRs (30d)
11

Description

Select the "methodToBeMoved" method, and perform "move" refactoring
Before refactoring

class SourceClass {
     TargetClass t;
     void methodToBeMoved(SourceClass this) {}
}
class TargetClass{}

After refactoring

 class SourceClass {
     TargetClass t;
}
class TargetClass{
    void methodToBeMoved(SourceClass this) {}
}

Error message: The declared type of the explicit 'this' parameter is expected to be TargetClass

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue in the VS Code Java extension by selecting methodToBeMoved and running the Move Method refactoring on the supplied Java example. Inspect the Move Method handling for explicit this parameters; done means the refactoring completes without the declared-type error and produces valid Java.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.