Bug 268299 - [search] Rename of public method to toString() failed with internal error
Summary: [search] Rename of public method to toString() failed with internal error
Status: VERIFIED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.3.2   Edit
Hardware: All All
: P3 major (vote)
Target Milestone: 3.5   Edit
Assignee: Frederic Fusier CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2009-03-12 05:01 EDT by Jörg Thönnes CLA
Modified: 2009-08-12 06:47 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jörg Thönnes CLA 2009-03-12 05:01:25 EDT
Renaming the last method in this class failed:

bc.. 
final class OrderedHeader extends FieldMap {
    
    /**
     * Order of header fields as per FIX 4.4 specification.
     */
    private final static int[] HEADER_FIELD_ORDER = { BeginString.FIELD, BodyLength.FIELD, MsgType.FIELD };
    
    /**
     * Create ordered FIX {@link Message} header from given {@link Header}.
     */
    public OrderedHeader( final Header fieldMap ) {
        super();
        initializeFrom( fieldMap );
    }

    public String asReorderedString() {
        
        final StringBuffer buffer = new StringBuffer();
        calculateString( buffer, HEADER_FIELD_ORDER, null );
        return buffer.toString();
    }
}
p. 

and I got the below exception:

-- Error Details --
Date: Thu Mar 12 09:57:35 CET 2009
Message: Internal Error
Severity: Error
Plugin: org.eclipse.ltk.ui.refactoring
Session Data:
eclipse.buildId=M20080221-1800
java.version=1.6.0_11
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments:  -keyring /export/home/joerg/.eclipse-keyring/.keyring
Command-line arguments:  -os linux -ws gtk -arch x86 -keyring /export/home/joerg/.eclipse-keyring/.keyring

Exception Stack Trace:
java.lang.reflect.InvocationTargetException
at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:91)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:113)
Caused by: org.eclipse.core.internal.resources.ResourceException: Resource '/all-macd/groovy-bin/groovy/macd/gloxcontrol/command/ResetLocalOrderIds.class' does not exist.
at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:310)
at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:193)
at org.eclipse.core.internal.resources.File.getContents(File.java:285)
at org.eclipse.jdt.internal.core.util.Util.newClassFileReader(Util.java:1471)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.getBinaryInfo(MatchLocator.java:784)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.process(MatchLocator.java:1520)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1037)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1078)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1199)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.locateMatches(JavaSearchParticipant.java:94)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:217)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:502)
at org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:550)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameMethodProcessor.searchForOuterTypesOfReferences(RenameMethodProcessor.java:401)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameMethodProcessor.doCheckFinalConditions(RenameMethodProcessor.java:322)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameVirtualMethodProcessor.doCheckFinalConditions(RenameVirtualMethodProcessor.java:126)
at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:48)
at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:174)
at org.eclipse.ltk.core.refactoring.CheckConditionsOperation.run(CheckConditionsOperation.java:83)
at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:118)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
... 1 more
Root exception:
org.eclipse.core.internal.resources.ResourceException: Resource '/all-macd/groovy-bin/groovy/macd/gloxcontrol/command/ResetLocalOrderIds.class' does not exist.
at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:310)
at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:193)
at org.eclipse.core.internal.resources.File.getContents(File.java:285)
at org.eclipse.jdt.internal.core.util.Util.newClassFileReader(Util.java:1471)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.getBinaryInfo(MatchLocator.java:784)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.process(MatchLocator.java:1520)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1037)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1078)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1199)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.locateMatches(JavaSearchParticipant.java:94)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:217)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:502)
at org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:550)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameMethodProcessor.searchForOuterTypesOfReferences(RenameMethodProcessor.java:401)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameMethodProcessor.doCheckFinalConditions(RenameMethodProcessor.java:322)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameVirtualMethodProcessor.doCheckFinalConditions(RenameVirtualMethodProcessor.java:126)
at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:48)
at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:174)
at org.eclipse.ltk.core.refactoring.CheckConditionsOperation.run(CheckConditionsOperation.java:83)
at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:118)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:113)
Comment 1 Jörg Thönnes CLA 2009-03-12 05:05:42 EDT
Further details:

The method @asReorderString@ was already used in one other place. I wanted to rename the method to "@toString()@",
but this failed. Looking at the method were the method was used, I saw the @toString()@ was already used here.

The special case here is that the target name is a method present in every class which has to be overridden.
Comment 2 Frederic Fusier CLA 2009-03-17 06:14:36 EDT
Is your workspace well synchronized? Could you try to make a refresh of all projects contained in it and see if you can reproduce the problem again?
Comment 3 Jörg Thönnes CLA 2009-03-17 06:55:36 EDT
(In reply to comment #2)
> Is your workspace well synchronized? Could you try to make a refresh of all
> projects contained in it and see if you can reproduce the problem again?

If I remember correctly, my workspace was synchronized.

But in the meantime, a lot of things changed of course. I will try to reproduce as soon as my time allows (end of week).
Comment 4 Jörg Thönnes CLA 2009-08-12 06:20:31 EDT
Closing as I cannot reproduce this since I switched to Eclipse 3.5 a while ago.
Comment 5 Frederic Fusier CLA 2009-08-12 06:47:02 EDT
Verified by reporter