-
-
Notifications
You must be signed in to change notification settings - Fork 196
Open
Description
Consider this Java class:
package test59;
public class Test59Java {
public void foo(String string, Integer num) {
}
}
and this Groovy class:
package test59
import groovy.transform.CompileStatic
@CompileStatic
class Test59 {
void bar() {
def t = new Test59Java()
t.foo('a', 1)
}
}
Now go to test59.Test59Java.foo(String, Integer)
and hit Alt+Shift+C to invoke Change Method Signature refactoring. Add a new parameter, type String
, name another
, default value null
.
Hit OK.
I get the following exception:
eclipse.buildId=4.14.0.I20191210-0610
java.version=1.8.0_202
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=it_IT
Command-line arguments: -os win32 -ws win32 -arch x86_64 -data file:/D:/ws/rolling/DCS-SHOP-trunk/
org.eclipse.jdt.ui
Error
Thu Feb 27 12:47:08 CET 2020
Internal Error
java.lang.Exception: Cannot update found node: nodeType=8; {
java.lang.Object t;
}
[105, 50] in [Working copy] Test59.groovy [in test59 [in src [in TestGroovyNull]]]
package test59
import groovy.transform.CompileStatic
class Test59
void bar():
{
def t = new Test59Java()
t.foo('a', 1)
}
at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureProcessor$NullOccurrenceUpdate.updateNode(ChangeSignatureProcessor.java:2779)
at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureProcessor.createChangeManager(ChangeSignatureProcessor.java:1436)
at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureProcessor.checkFinalConditions(ChangeSignatureProcessor.java:863)
at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:226)
at org.eclipse.ltk.core.refactoring.CheckConditionsOperation.run(CheckConditionsOperation.java:86)
at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:122)
at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:210)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:89)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
If you hit Continue, the Groovy class is not updated and a compilation error on it arises, of course.
Metadata
Metadata
Assignees
Labels
No labels