Cevelop / cevelop

The C++ IDE for professional developers
Eclipse Public License 2.0
6 stars 0 forks source link

What does Refactor-Elevate Project do? #4

Open PeterSommerlad opened 7 years ago

PeterSommerlad commented 7 years ago

Expected Behavior

??

Actual Behavior

"An unknown exception occured"

Cevelop Version, Operating System and Compiler

most recent, including beta plugins.

tcorbat commented 7 years ago

Elevate project should scan the whole project for Elevator-related issues and apply all possible resolutions for the encountered problems.

In a simple case it worked for me. Could you please provide the stack trace for the exception and a minimal example to reproduce the issue?

PeterSommerlad commented 7 years ago
eclipse.buildId=unknown
java.version=1.8.0_66
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -keyring /Users/sop/.eclipse_keyring
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -keyring /Users/sop/.eclipse_keyring

This is a continuation of log file /Users/sop/Documents/Vortraege/ACCU/2017/workspace /.metadata/.bak_1.log
Created Time: 2017-04-26 09:24:29.038

org.eclipse.ltk.ui.refactoring
Error
Wed Apr 26 09:25:00 CEST 2017
Internal Error

java.lang.reflect.InvocationTargetException
    at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:398)
    at org.eclipse.ui.internal.WorkbenchWindow$14.run(WorkbenchWindow.java:2184)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2180)
    at org.eclipse.ltk.ui.refactoring.RefactoringWizard.createChange(RefactoringWizard.java:662)
    at org.eclipse.ltk.ui.refactoring.RefactoringWizard.computeUserInputSuccessorPage(RefactoringWizard.java:503)
    at org.eclipse.ltk.ui.refactoring.RefactoringWizard.getStartingPage(RefactoringWizard.java:475)
    at org.eclipse.jface.wizard.WizardDialog.showStartingPage(WizardDialog.java:1227)
    at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:590)
    at org.eclipse.jface.window.Window.create(Window.java:426)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1095)
    at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:179)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:203)
    at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:122)
    at org.eclipse.cdt.internal.ui.refactoring.RefactoringStarter.activate(RefactoringStarter.java:33)
    at org.eclipse.cdt.internal.ui.refactoring.RefactoringRunner.run(RefactoringRunner.java:43)
    at ch.hsr.ifs.cute.elevator.refactoring.ElevateProjectRunner.run(ElevateProjectRunner.java:29)
    at ch.hsr.ifs.cute.elevator.refactoring.ElevateProjectAction.run(ElevateProjectAction.java:18)
    at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:247)
    at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:228)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)
    at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:397)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4256)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1501)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1509)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1313)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4080)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3706)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
Caused by: org.eclipse.text.edits.MalformedTreeException: Overlapping text edits
    at org.eclipse.text.edits.TextEdit$InsertionComparator.compare(TextEdit.java:119)
    at org.eclipse.text.edits.TextEdit$InsertionComparator.compare(TextEdit.java:1)
    at java.util.Collections.indexedBinarySearch(Collections.java:332)
    at java.util.Collections.binarySearch(Collections.java:320)
    at org.eclipse.text.edits.TextEdit.computeInsertionIndex(TextEdit.java:794)
    at org.eclipse.text.edits.TextEdit.internalAdd(TextEdit.java:779)
    at org.eclipse.text.edits.TextEdit.addChild(TextEdit.java:333)
    at org.eclipse.cdt.internal.core.dom.rewrite.changegenerator.ChangeGenerator.addChildEdit(ChangeGenerator.java:323)
    at org.eclipse.cdt.internal.core.dom.rewrite.changegenerator.ChangeGenerator.handleReplace(ChangeGenerator.java:432)
    at org.eclipse.cdt.internal.core.dom.rewrite.changegenerator.ChangeGenerator.visit(ChangeGenerator.java:174)
    at org.eclipse.cdt.internal.core.dom.parser.c.CASTDeclarator.accept(CASTDeclarator.java:140)
    at org.eclipse.cdt.internal.core.dom.parser.c.CASTSimpleDeclaration.accept(CASTSimpleDeclaration.java:103)
    at org.eclipse.cdt.internal.core.dom.parser.c.CASTCompositeTypeSpecifier.accept(CASTCompositeTypeSpecifier.java:152)
    at org.eclipse.cdt.internal.core.dom.parser.c.CASTSimpleDeclaration.accept(CASTSimpleDeclaration.java:99)
    at org.eclipse.cdt.internal.core.dom.parser.ASTTranslationUnit.accept(ASTTranslationUnit.java:266)
    at org.eclipse.cdt.internal.core.dom.rewrite.changegenerator.ChangeGenerator.generateChange(ChangeGenerator.java:111)
    at org.eclipse.cdt.internal.core.dom.rewrite.changegenerator.ChangeGenerator.generateChange(ChangeGenerator.java:104)
    at org.eclipse.cdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.rewriteAST(ASTRewriteAnalyzer.java:26)
    at org.eclipse.cdt.core.dom.rewrite.ASTRewrite.rewriteAST(ASTRewrite.java:212)
    at org.eclipse.cdt.internal.ui.refactoring.ModificationCollector.createFinalChange(ModificationCollector.java:84)
    at org.eclipse.cdt.internal.ui.refactoring.CRefactoring.createChange(CRefactoring.java:171)
    at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:122)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267)
    at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:86)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Root exception:
org.eclipse.text.edits.MalformedTreeException: Overlapping text edits
    at org.eclipse.text.edits.TextEdit$InsertionComparator.compare(TextEdit.java:119)
    at org.eclipse.text.edits.TextEdit$InsertionComparator.compare(TextEdit.java:1)
    at java.util.Collections.indexedBinarySearch(Collections.java:332)
    at java.util.Collections.binarySearch(Collections.java:320)
    at org.eclipse.text.edits.TextEdit.computeInsertionIndex(TextEdit.java:794)
    at org.eclipse.text.edits.TextEdit.internalAdd(TextEdit.java:779)
    at org.eclipse.text.edits.TextEdit.addChild(TextEdit.java:333)
    at org.eclipse.cdt.internal.core.dom.rewrite.changegenerator.ChangeGenerator.addChildEdit(ChangeGenerator.java:323)
    at org.eclipse.cdt.internal.core.dom.rewrite.changegenerator.ChangeGenerator.handleReplace(ChangeGenerator.java:432)
    at org.eclipse.cdt.internal.core.dom.rewrite.changegenerator.ChangeGenerator.visit(ChangeGenerator.java:174)
    at org.eclipse.cdt.internal.core.dom.parser.c.CASTDeclarator.accept(CASTDeclarator.java:140)
    at org.eclipse.cdt.internal.core.dom.parser.c.CASTSimpleDeclaration.accept(CASTSimpleDeclaration.java:103)
    at org.eclipse.cdt.internal.core.dom.parser.c.CASTCompositeTypeSpecifier.accept(CASTCompositeTypeSpecifier.java:152)
    at org.eclipse.cdt.internal.core.dom.parser.c.CASTSimpleDeclaration.accept(CASTSimpleDeclaration.java:99)
    at org.eclipse.cdt.internal.core.dom.parser.ASTTranslationUnit.accept(ASTTranslationUnit.java:266)
    at org.eclipse.cdt.internal.core.dom.rewrite.changegenerator.ChangeGenerator.generateChange(ChangeGenerator.java:111)
    at org.eclipse.cdt.internal.core.dom.rewrite.changegenerator.ChangeGenerator.generateChange(ChangeGenerator.java:104)
    at org.eclipse.cdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.rewriteAST(ASTRewriteAnalyzer.java:26)
    at org.eclipse.cdt.core.dom.rewrite.ASTRewrite.rewriteAST(ASTRewrite.java:212)
    at org.eclipse.cdt.internal.ui.refactoring.ModificationCollector.createFinalChange(ModificationCollector.java:84)
    at org.eclipse.cdt.internal.ui.refactoring.CRefactoring.createChange(CRefactoring.java:171)
    at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:122)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267)
    at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:86)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
tcorbat commented 7 years ago

This looks like the position of two modifications for independent markers interfere eachother. Do you have code that Cevelop might think elevatable in two nested locations?

PeterSommerlad commented 7 years ago

I tried it on the fish-shell project (which has many many elevation issues. So that might be the reason. I will have a hard time figuring out a failing small test case and do not have it right now.