You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Bug][Inline Method Refactoring] Inline Method refactoring for input program contians Lambda with Method Reference in Super Call produces uncompilable program
#1779
Open
RETester66 opened this issue
Nov 6, 2024
· 0 comments
import java.util.function.Consumer;
public class A {
void baseMethod(Consumer<String> consumer) {
consumer.accept("Test");
}
}
Then, create a class named B:
public class B extends A {
void derivedMethod() {
super.baseMethod(System.out::println);
}
static void staticContextMethod(B obj) {
obj.derivedMethod(); // Inline call to derivedMethod()
}
}
Left click derivedMethod() in obj.derivedMethod(); like I comment in class B. Then, right click -> Refactor -> Inline. Use default configuration to inline this method like following, click ok:
The program is successfully refactored without any warning or exception. The refactored program is following, which contains syntax error:
import java.util.function.Consumer;
public class A {
void baseMethod(Consumer<String> consumer) {
consumer.accept("Test");
}
}
public class B extends A {
void derivedMethod() {
super.baseMethod(System.out::println);
}
static void staticContextMethod(B obj) {
super.baseMethod(System.out::println); // syntax error
}
}
Environment
OS Version
Windows 10, 64-bit Operating System, x64-based processor
Eclipse Version
Eclipse IDE for Enterprise Java and Web Developers (includes Incubating components)
Version: 2024-09 (4.33.0)
Build id: 20240905-0614
JDK Version
java version "22.0.1" 2024-04-16
Java(TM) SE Runtime Environment (build 22.0.1+8-16)
Java HotSpot(TM) 64-Bit Server VM (build 22.0.1+8-16, mixed mode, sharing)
The text was updated successfully, but these errors were encountered:
Steps to reproduce
derivedMethod()
inobj.derivedMethod();
like I comment in class B. Then, right click -> Refactor -> Inline. Use default configuration to inline this method like following, click ok:The program is successfully refactored without any warning or exception. The refactored program is following, which contains syntax error:
Environment
OS Version
Windows 10, 64-bit Operating System, x64-based processor
Eclipse Version
Eclipse IDE for Enterprise Java and Web Developers (includes Incubating components)
Version: 2024-09 (4.33.0)
Build id: 20240905-0614
JDK Version
java version "22.0.1" 2024-04-16
Java(TM) SE Runtime Environment (build 22.0.1+8-16)
Java HotSpot(TM) 64-Bit Server VM (build 22.0.1+8-16, mixed mode, sharing)
The text was updated successfully, but these errors were encountered: