Community
Participate
Working Groups
HEAD Search for an OrPattern of two field reference patterns throws a CCE when a qualified name reference is found. To reproduce, e.g. have the code below, select class Inner, choose Refactor > Extract Class..., and click Preview. package xy; public class Outer { static class Inner { public String fOne; public String fTwo; } void m(Inner inner) { inner.fOne= null; } } java.lang.ClassCastException: org.eclipse.jdt.internal.core.search.matching.OrPattern cannot be cast to org.eclipse.jdt.internal.core.search.matching.VariablePattern at org.eclipse.jdt.internal.core.search.matching.MatchLocator.newFieldReferenceMatch(MatchLocator.java:1409) at org.eclipse.jdt.internal.core.search.matching.FieldLocator.matchReportReference(FieldLocator.java:223) at org.eclipse.jdt.internal.core.search.matching.OrLocator.matchReportReference(OrLocator.java:265) at org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportMatching(MatchLocator.java:2147) at org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportMatching(MatchLocator.java:2593) at org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportMatching(MatchLocator.java:2322) at org.eclipse.jdt.internal.core.search.matching.MatchLocator.process(MatchLocator.java:1614) at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1040) at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1081) at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1213) 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:506) 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:117) at org.eclipse.jdt.internal.corext.refactoring.structure.ExtractClassRefactoring.updateReferences(ExtractClassRefactoring.java:531) at org.eclipse.jdt.internal.corext.refactoring.structure.ExtractClassRefactoring.checkFinalConditions(ExtractClassRefactoring.java:364) 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.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)
*** This bug has been marked as a duplicate of bug 265065 ***
Verified for 3.5M6 using I20090309-0100.