Skip to main content



      Home
Home » Language IDEs » Java Development Tools (JDT) » cannot refactor (introducing a new method parameter)(Class file name must end with .class)
cannot refactor (introducing a new method parameter) [message #502627] Wed, 09 December 2009 03:44 Go to next message
Eclipse UserFriend
Hi all,
I've got a project under a git repository and I was trying to do a simple code refactoring: introducing a new parameter into a method of an abstract class with a few implementations in subclasses. The project, of course, was compiling fine (no errors) before the refactoring. However, I was unable to perform the refactoring and I received a "Class file name must end with .class" error. Having a look at the log I found the following:

!ENTRY org.eclipse.ltk.ui.refactoring 4 10000 2009-12-08 18:15:36.319
!MESSAGE Internal Error                                              
!STACK 0                                                             
java.lang.reflect.InvocationTargetException                          
        at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421)
        at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.run(RefactoringWizardDialog2.java:330)
        at org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPerformFinish(RefactoringWizard.java:557)     
        at org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFinish(UserInputWizardPage.java:153)         
        at org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:621)             
        at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.okPressed(RefactoringWizardDialog2.java:453)
        at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:472)                                              
        at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)                                           
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)                                    
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)                                             
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176)                                                   
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3493)                                         
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3112)                                           
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)                                                
        at org.eclipse.jface.window.Window.open(Window.java:801)                                                        
        at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:143) 
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)                                        
        at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:155)   
        at org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter.activate(RefactoringStarter.java:38)      
        at org.eclipse.jdt.internal.corext.refactoring.RefactoringExecutionStarter.startChangeSignatureRefactoring(RefactoringExecutionStarter.java:213)                                                                                                                            
        at org.eclipse.jdt.ui.actions.ModifyParametersAction.run(ModifyParametersAction.java:143)                                         
        at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:278)                               
        at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250)                                       
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)                                                                  
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)                         
        at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)                                      
        at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)                                 
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)                                                               
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176)                                                                     
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3493)                                                           
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3112)                                                             
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)                                                            
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)                                                                   
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)                                                                
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)                                                                    
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)                                                   
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)                                                    
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)                                                           
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)                                          
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)                                               
        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:368)                                                   
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)                                                   
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                    
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)                                                  
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)                                          
        at java.lang.reflect.Method.invoke(Method.java:616)                                                                               
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)                                                               
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)                                                                      
        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)                                                                          
        at org.eclipse.equinox.launcher.Main.main(Main.java:1287)                                                                         
Caused by: java.lang.IllegalArgumentException: Class file name must end with .class                                                       
        at org.eclipse.jdt.internal.core.PackageFragment.getClassFile(PackageFragment.java:182)                                           
        at org.eclipse.jdt.internal.core.util.HandleFactory.createOpenable(HandleFactory.java:109)                                        
        at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1174)                               
        at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.locateMatches(JavaSearchParticipant.java:94)                        
        at org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:223)                                 
        at org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:507)                                      
        at org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:551)                                                         
        at org.eclipse.jdt.internal.corext.refactoring.RefactoringSearchEngine.internalSearch(RefactoringSearchEngine.java:142)           
        at org.eclipse.jdt.internal.corext.refactoring.RefactoringSearchEngine.search(RefactoringSearchEngine.java:129)                   
        at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureProcessor.findOccurrences(ChangeSignatureProcessor.java:1608)
        at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureProcessor.checkFinalConditions(ChangeSignatureProcessor.java:821)
        at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:224)
        at org.eclipse.ltk.core.refactoring.CheckConditionsOperation.run(CheckConditionsOperation.java:85)
        at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:121)
        at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:211)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
        at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Root exception:
java.lang.IllegalArgumentException: Class file name must end with .class
        at org.eclipse.jdt.internal.core.PackageFragment.getClassFile(PackageFragment.java:182)
        at org.eclipse.jdt.internal.core.util.HandleFactory.createOpenable(HandleFactory.java:109)
        at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1174)
        at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.locateMatches(JavaSearchParticipant.java:94)
        at org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:223)
        at org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:507)
        at org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:551)
        at org.eclipse.jdt.internal.corext.refactoring.RefactoringSearchEngine.internalSearch(RefactoringSearchEngine.java:142)
        at org.eclipse.jdt.internal.corext.refactoring.RefactoringSearchEngine.search(RefactoringSearchEngine.java:129)
        at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureProcessor.findOccurrences(ChangeSignatureProcessor.java:1608)
        at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureProcessor.checkFinalConditions(ChangeSignatureProcessor.java:821)
        at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:224)
        at org.eclipse.ltk.core.refactoring.CheckConditionsOperation.run(CheckConditionsOperation.java:85)
        at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:121)
        at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:211)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
        at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)



Anybody has an idea of what the problem could be? One year ago I found a refactoring problem due to the use of SVN, could it be something similar? Please note that the code was in committed state.

Thanks
Re: cannot refactor (introducing a new method parameter) [message #514768 is a reply to message #502627] Tue, 16 February 2010 10:21 Go to previous messageGo to next message
Eclipse UserFriend
Hi all

i'm getting the same problem in various places mainly when I try to remove, move classes around.. Like just now I got:
'items filtering' has encountered a problem. An internal error occurred during "items filtering". Class file name must end with .class.

eclipse.buildId=M20090917-0800
java.version=1.6.0_06
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os linux -ws gtk -arch x86 -product org.eclipse.epp.package.jee.product


Error
Tue Feb 16 15:13:15 GMT 2010
An internal error occurred during: "Items filtering".

java.lang.IllegalArgumentException: Class file name must end with .class
at org.eclipse.jdt.internal.core.PackageFragment.getClassFile(P ackageFragment.java:182)
at org.eclipse.jdt.internal.core.search.TypeNameMatchRequestorW rapper.createTypeFromJar(TypeNameMatchRequestorWrapper.java: 146)
at org.eclipse.jdt.internal.core.search.TypeNameMatchRequestorW rapper.acceptType(TypeNameMatchRequestorWrapper.java:108)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine$3.acc eptIndexMatch(BasicSearchEngine.java:1111)
at org.eclipse.jdt.core.search.SearchPattern.acceptMatch(Search Pattern.java:289)
at org.eclipse.jdt.core.search.SearchPattern.findIndexMatches(S earchPattern.java:2124)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.f indIndexMatches(MatchLocator.java:264)
at org.eclipse.jdt.internal.core.search.PatternSearchJob.search (PatternSearchJob.java:97)
at org.eclipse.jdt.internal.core.search.PatternSearchJob.execut e(PatternSearchJob.java:63)
at org.eclipse.jdt.internal.core.search.processing.JobManager.p erformConcurrentJob(JobManager.java:276)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.searc hAllTypeNames(BasicSearchEngine.java:1122)
at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames( SearchEngine.java:815)
at org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDi alog.fillContentProvider(FilteredTypesSelectionDialog.java:5 56)
at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJo b.filterContent(FilteredItemsSelectionDialog.java:2182)
at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJo b.internalRun(FilteredItemsSelectionDialog.java:2124)
at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJo b.doRun(FilteredItemsSelectionDialog.java:2096)
at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJo b.run(FilteredItemsSelectionDialog.java:2083)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Re: cannot refactor (introducing a new method parameter) [message #514804 is a reply to message #514768] Tue, 16 February 2010 11:58 Go to previous messageGo to next message
Eclipse UserFriend
Alexei wrote:
> Hi all
>
> i'm getting the same problem in various places mainly when I try to
> remove, move classes around.. Like just now I got:
> 'items filtering' has encountered a problem. An internal error
> occurred during "items filtering". Class file name must end with .class.
See https://bugs.eclipse.org/bugs/show_bug.cgi?id=286379

Dani
>
> eclipse.buildId=M20090917-0800
> java.version=1.6.0_06
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
> Framework arguments: -product org.eclipse.epp.package.jee.product
> Command-line arguments: -os linux -ws gtk -arch x86 -product
> org.eclipse.epp.package.jee.product
>
>
> Error
> Tue Feb 16 15:13:15 GMT 2010
> An internal error occurred during: "Items filtering".
>
> java.lang.IllegalArgumentException: Class file name must end with .class
> at org.eclipse.jdt.internal.core.PackageFragment.getClassFile(P
> ackageFragment.java:182)
> at org.eclipse.jdt.internal.core.search.TypeNameMatchRequestorW
> rapper.createTypeFromJar(TypeNameMatchRequestorWrapper.java: 146)
> at org.eclipse.jdt.internal.core.search.TypeNameMatchRequestorW
> rapper.acceptType(TypeNameMatchRequestorWrapper.java:108)
> at org.eclipse.jdt.internal.core.search.BasicSearchEngine$3.acc
> eptIndexMatch(BasicSearchEngine.java:1111)
> at org.eclipse.jdt.core.search.SearchPattern.acceptMatch(Search
> Pattern.java:289)
> at org.eclipse.jdt.core.search.SearchPattern.findIndexMatches(S
> earchPattern.java:2124)
> at org.eclipse.jdt.internal.core.search.matching.MatchLocator.f
> indIndexMatches(MatchLocator.java:264)
> at org.eclipse.jdt.internal.core.search.PatternSearchJob.search
> (PatternSearchJob.java:97)
> at org.eclipse.jdt.internal.core.search.PatternSearchJob.execut
> e(PatternSearchJob.java:63)
> at org.eclipse.jdt.internal.core.search.processing.JobManager.p
> erformConcurrentJob(JobManager.java:276)
> at org.eclipse.jdt.internal.core.search.BasicSearchEngine.searc
> hAllTypeNames(BasicSearchEngine.java:1122)
> at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames(
> SearchEngine.java:815)
> at org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDi
> alog.fillContentProvider(FilteredTypesSelectionDialog.java:5 56)
> at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJo
> b.filterContent(FilteredItemsSelectionDialog.java:2182)
> at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJo
> b.internalRun(FilteredItemsSelectionDialog.java:2124)
> at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJo
> b.doRun(FilteredItemsSelectionDialog.java:2096)
> at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJo
> b.run(FilteredItemsSelectionDialog.java:2083)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
>
>
Re: cannot refactor (introducing a new method parameter) [message #514834 is a reply to message #502627] Tue, 16 February 2010 14:23 Go to previous messageGo to next message
Eclipse UserFriend
Thanks, Dani!
I should have checked bugzilla first..
So.. we should wait for the next release, basically, I understand? Ok, it's a bit annoying but i can live with it..
Re: cannot refactor (introducing a new method parameter) [message #514916 is a reply to message #514834] Wed, 17 February 2010 03:23 Go to previous messageGo to next message
Eclipse UserFriend
Alexei wrote:
> Thanks, Dani!
> I should have checked bugzilla first..
> So.. we should wait for the next release, basically, I understand?
Or you use a 3.6 build, e.g. I20100217-0800.

Dani
> Ok, it's a bit annoying but i can live with it..
Re: cannot refactor (introducing a new method parameter) [message #514932 is a reply to message #502627] Wed, 17 February 2010 04:12 Go to previous messageGo to next message
Eclipse UserFriend
Quote:
Or you use a 3.6 build, e.g. I20100217-0800.

Dani


Is it stable? Smile
Re: cannot refactor (introducing a new method parameter) [message #514940 is a reply to message #514932] Wed, 17 February 2010 04:49 Go to previous message
Eclipse UserFriend
Alexei wrote:
> Quote:
>> Or you use a 3.6 build, e.g. I20100217-0800.
>>
>> Dani
>
>
> Is it stable? :)
Not always perfect, since it is an integration build. But I work on
those daily. If you want to be safer you can wait for M6, which will be
the next "stable" build.

Dani
Previous Topic:Junit eclipse galileo - unable to install
Next Topic:Confused Newbie
Goto Forum:
  


Current Time: Sun Nov 09 21:26:29 EST 2025

Powered by FUDForum. Page generated in 0.04749 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top