Bug 218397 - [search] Can't find references of generic local class.
Summary: [search] Can't find references of generic local class.
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.3.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.4 M6   Edit
Assignee: Frederic Fusier CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-08 18:22 EST by Brian Miller CLA
Modified: 2008-03-26 04:44 EDT (History)
4 users (show)

See Also:


Attachments
Proposed patch (1.11 KB, patch)
2008-02-11 10:24 EST, Philipe Mulet CLA
no flags Details | Diff
Test for the fix (1.60 KB, patch)
2008-02-26 05:17 EST, Frederic Fusier CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brian Miller CLA 2008-02-08 18:22:54 EST
Build ID: M20071023-1652

Steps To Reproduce:
1. Select identifier 'Row' on LINE 3. 
2. Find references in workspace.  See crash below.

------------------ Bug.java ---------------------
class Bug{{
		class Inner<Type extends Number>{
			Row field;//LINE 3
			class Row{}}}}
-------------------------------------------------

java.lang.ClassCastException: org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding cannot be cast to org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding
	at org.eclipse.jdt.internal.core.search.matching.TypeReferenceLocator.matchReportReference(TypeReferenceLocator.java:522)
	at org.eclipse.jdt.internal.core.search.matching.TypeReferenceLocator.matchReportReference(TypeReferenceLocator.java:307)
	at org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportMatching(MatchLocator.java:2288)
	at org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportMatching(MatchLocator.java:2453)
	at org.eclipse.jdt.internal.core.search.matching.MatchLocator$LocalDeclarationVisitor.visit(MatchLocator.java:179)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1238)
	at org.eclipse.jdt.internal.compiler.ast.Block.traverse(Block.java:127)
	at org.eclipse.jdt.internal.compiler.ast.Initializer.traverse(Initializer.java:119)
	at org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportMatching(MatchLocator.java:2247)
	at org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportMatching(MatchLocator.java:2453)
	at org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportMatching(MatchLocator.java:2213)
	at org.eclipse.jdt.internal.core.search.matching.MatchLocator.process(MatchLocator.java:1559)
	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:1184)
	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.ui.search.JavaSearchQuery.run(JavaSearchQuery.java:143)
	at org.eclipse.search2.internal.ui.InternalSearchUI$InternalSearchJob.run(InternalSearchUI.java:94)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 1 Philipe Mulet CLA 2008-02-11 10:24:31 EST
Created attachment 89407 [details]
Proposed patch

still need some regression tests
Comment 2 Frederic Fusier CLA 2008-02-26 05:17:52 EST
Created attachment 90734 [details]
Test for the fix
Comment 3 Frederic Fusier CLA 2008-02-26 06:06:55 EST
Released for 3.4M6 in HEAD stream.
Comment 4 Eric Jodet CLA 2008-03-26 04:44:41 EDT
Verified for 3.4M6 using build I20080324-1300