Bug 178307 - CCE in PDOMCPPSpecialization
Summary: CCE in PDOMCPPSpecialization
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-core (show other bugs)
Version: 4.0   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 4.0   Edit
Assignee: Doug Schaefer CLA
QA Contact:
URL:
Whiteboard:
Keywords: contributed
Depends on:
Blocks:
 
Reported: 2007-03-20 11:28 EDT by Doug Schaefer CLA
Modified: 2008-06-20 09:57 EDT (History)
2 users (show)

See Also:


Attachments
proposed patch (1.61 KB, patch)
2007-03-20 12:15 EDT, Bryan Wilkinson CLA
bjorn.freeman-benson: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Doug Schaefer CLA 2007-03-20 11:28:32 EDT
I ran into this indexing Firefox (which, BTW, found 50000 more references and only took 15 seconds longer with the new template stuff, very cool!). It looks like you were trying to cast a CPPTemplateNonTypeParameter into an IType. 

Error while parsing /firefox/gfx/src/gtk/nsFontMetricsXft.cpp.

java.lang.ClassCastException: org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateNonTypeParameter
	at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPSpecialization.<init>(PDOMCPPSpecialization.java:58)
	at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPInstance.<init>(PDOMCPPInstance.java:44)
	at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPClassInstance.<init>(PDOMCPPClassInstance.java:64)
	at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkage.addBinding(PDOMCPPLinkage.java:277)
	at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkage.addBinding(PDOMCPPLinkage.java:229)
	at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkage.addType(PDOMCPPLinkage.java:519)
	at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPTypedef.<init>(PDOMCPPTypedef.java:40)
	at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkage.addBinding(PDOMCPPLinkage.java:351)
	at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkage.addBinding(PDOMCPPLinkage.java:229)
	at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPLinkage.addBinding(PDOMCPPLinkage.java:203)
	at org.eclipse.cdt.internal.core.pdom.WritablePDOM.addBinding(WritablePDOM.java:73)
	at org.eclipse.cdt.internal.core.pdom.dom.PDOMFile.createPDOMName(PDOMFile.java:214)
	at org.eclipse.cdt.internal.core.pdom.dom.PDOMFile.addNames(PDOMFile.java:197)
	at org.eclipse.cdt.internal.core.pdom.WritablePDOM.addFileContent(WritablePDOM.java:54)
	at org.eclipse.cdt.internal.core.index.WritableCIndex.setFileContent(WritableCIndex.java:70)
	at org.eclipse.cdt.internal.core.pdom.PDOMWriter.addToIndex(PDOMWriter.java:270)
	at org.eclipse.cdt.internal.core.pdom.PDOMWriter.addSymbols(PDOMWriter.java:131)
	at org.eclipse.cdt.internal.core.pdom.indexer.PDOMIndexerTask.parseTU(PDOMIndexerTask.java:198)
	at org.eclipse.cdt.internal.core.pdom.indexer.PDOMIndexerTask.parseTUs(PDOMIndexerTask.java:125)
	at org.eclipse.cdt.internal.core.pdom.indexer.fast.PDOMFastIndexerTask.run(PDOMFastIndexerTask.java:91)
	at org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask.run(PDOMRebuildTask.java:80)
	at org.eclipse.cdt.internal.core.pdom.PDOMIndexerJob.run(PDOMIndexerJob.java:89)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
Comment 1 Bryan Wilkinson CLA 2007-03-20 12:15:50 EDT
Created attachment 61420 [details]
proposed patch

Excludes template non-type parameters from a PDOMCPPClassSpecialization's argument map for the time being (since template non-type parameters are not yet implemented in the PDOM).  Eventually, there will need to be away to add a template non-type parameter to the PDOM in the same way as an IType.  For now, the CCE is gone.
Comment 2 Doug Schaefer CLA 2007-03-20 14:58:15 EDT
Patch applied. Thanks Bryan. We can use the original template bug for a more permanent fix.
Comment 3 Doug Schaefer CLA 2007-05-13 20:35:07 EDT
Setting to milestone 4.0 so we can generate a report of all bugs fixed in 4.0.
Comment 4 Doug Schaefer CLA 2008-06-03 14:42:44 EDT
assigning
Comment 5 Doug Schaefer CLA 2008-06-03 14:43:08 EDT
done