redhat-developer / redhat-developer/vscode-java

Refactoring error caused by inline implementation interface method

Open
#3,600 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

potential-duplicate
Dominant language
TypeScript
Stars
2.3k
Forks
546
Avg merge
20h 1m
Merged PRs (30d)
11

Description

[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 "myMethod()"
2. click “Refacator-inline method”

interface MyInterface {
default void myMethod() {
System.out.println("Inline method in default method of Inheriting interface classes");
}
}

class cxlass implements MyInterface {
public static void main(String[] args) {
cxlass obj = new cxlass();
((MyInterface) obj).myMethod();
}

// inline method
@Override
public void myMethod() {
// TODO Auto-generated method stub
}
}

refactoring result:
image
reason: When refactoring inline methods, there is no interface method that cannot be refactored

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

Start by reproducing the issue with the provided Java interfaces and the “Refactor-inline method” command in Visual Studio Code. Trace the inline-method refactoring entry point and verify the result when the selected method overrides an interface default method; done means the refactoring completes without the reported erroneous result.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, typescript, vscode
Domain
developer-experience, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.