First, this is minor because the workaround is simply to switch to UTF-8 instead of CP1252. But CP1252 is the default for an Eclipse project on Windows.
To reproduce :
- Set your Ceylon project encoding to CP1252
- Then create this class
class Location[unLocode, String simpleName] {
shared String unLocode;
shared String name => simpleName + " [" + unLocode + "]";
}And try to inline rename [Shift+Alt+R
] the class parameter simpleName
to simpleName2
You get
!MESSAGE Some characters cannot be mapped using "Cp1252" character encoding.
Either change the encoding or remove the characters which are not supported by the "Cp1252" character encoding.
!STACK 0
java.nio.charset.UnmappableCharacterException: Input length = 1
at java.nio.charset.CoderResult.throwException[Unknown Source]
at java.nio.charset.CharsetEncoder.encode[Unknown Source]
at org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.commitFileBufferContent[ResourceTextFileBuffer.java:366]
at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.commit[ResourceFileBuffer.java:325]
at org.eclipse.ltk.core.refactoring.TextFileChange.commit[TextFileChange.java:233]
at org.eclipse.ltk.core.refactoring.TextChange.perform[TextChange.java:240]
at org.eclipse.ltk.core.refactoring.CompositeChange.perform[CompositeChange.java:278]
at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run[PerformChangeOperation.java:258]
at org.eclipse.core.internal.resources.Workspace.run[Workspace.java:2345]
at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange[PerformChangeOperation.java:306]
at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run[PerformChangeOperation.java:223]
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run[RefactoringExecutionHelper.java:106]
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation[BatchOperation.java:39]
at org.eclipse.jdt.internal.core.JavaModelOperation.run[JavaModelOperation.java:728]
at org.eclipse.core.internal.resources.Workspace.run[Workspace.java:2345]
at org.eclipse.jdt.core.JavaCore.run[JavaCore.java:5332]
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run[WorkbenchRunnableAdapter.java:106]
at org.eclipse.jface.operation.ModalContext.runInCurrentThread[ModalContext.java:464]
at org.eclipse.jface.operation.ModalContext.run[ModalContext.java:372]
at org.eclipse.ui.internal.WorkbenchWindow$13.run[WorkbenchWindow.java:1829]
at org.eclipse.swt.custom.BusyIndicator.showWhile[BusyIndicator.java:70]
at org.eclipse.ui.internal.WorkbenchWindow.run[WorkbenchWindow.java:1826]
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform[RefactoringExecutionHelper.java:191]
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform[RefactoringExecutionHelper.java:151]
at com.redhat.ceylon.eclipse.code.refactor.RenameLinkedMode.done[RenameLinkedMode.java:92]
at com.redhat.ceylon.eclipse.code.refactor.AbstractLinkedMode$2.left[AbstractLinkedMode.java:101]
at org.eclipse.jface.text.link.LinkedModeModel.exit[LinkedModeModel.java:341]
at org.eclipse.jface.text.link.LinkedModeUI$4.run[LinkedModeUI.java:1193]
at org.eclipse.swt.widgets.RunnableLock.run[RunnableLock.java:35]
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages[Synchronizer.java:135]
at org.eclipse.swt.widgets.Display.runAsyncMessages[Display.java:4145]
at org.eclipse.swt.widgets.Display.readAndDispatch[Display.java:3762]
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run[PartRenderingEngine.java:1113]
at org.eclipse.core.databinding.observable.Realm.runWithDefault[Realm.java:332]
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run[PartRenderingEngine.java:997]
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI[E4Workbench.java:140]
at org.eclipse.ui.internal.Workbench$5.run[Workbench.java:611]
at org.eclipse.core.databinding.observable.Realm.runWithDefault[Realm.java:332]
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench[Workbench.java:567]
at org.eclipse.ui.PlatformUI.createAndRunWorkbench[PlatformUI.java:150]
at org.eclipse.ui.internal.ide.application.IDEApplication.start[IDEApplication.java:124]
at org.eclipse.equinox.internal.app.EclipseAppHandle.run[EclipseAppHandle.java:196]
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication[EclipseAppLauncher.java:110]
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start[EclipseAppLauncher.java:79]
at org.eclipse.core.runtime.adaptor.EclipseStarter.run[EclipseStarter.java:354]
at org.eclipse.core.runtime.adaptor.EclipseStarter.run[EclipseStarter.java:181]
at sun.reflect.NativeMethodAccessorImpl.invoke0[Native Method]
at sun.reflect.NativeMethodAccessorImpl.invoke[Unknown Source]
at sun.reflect.DelegatingMethodAccessorImpl.invoke[Unknown Source]
at java.lang.reflect.Method.invoke[Unknown Source]
at org.eclipse.equinox.launcher.Main.invokeFramework[Main.java:636]
at org.eclipse.equinox.launcher.Main.basicRun[Main.java:591]
at org.eclipse.equinox.launcher.Main.run[Main.java:1450]
at org.eclipse.equinox.launcher.Main.main[Main.java:1426]