Community
Participate
Working Groups
CDT 4.0 HEAD: Here are three exceptions I've encountered: java.lang.NullPointerException at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPParameterSpecialization.hasDefaultValue(PDOMCPPParameterSpecialization.java:105) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.reduceToViable(CPPSemantics.java:2181) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.resolveFunction(CPPSemantics.java:2294) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.resolveAmbiguities(CPPSemantics.java:2108) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.resolveAmbiguities(CPPSemantics.java:1880) at org.eclipse.cdt.internal.core.pdom.dom.cpp.PDOMCPPNamespace.getBinding(PDOMCPPNamespace.java:125) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.lookup(CPPSemantics.java:1023) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.resolveBinding(CPPSemantics.java:622) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:170) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding(CPPASTName.java:73) at org.eclipse.cdt.internal.core.pdom.PDOMWriter.addSymbols(PDOMWriter.java:106) 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) java.lang.NullPointerException at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplates.isSameTemplate(CPPTemplates.java:892) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.isSameFunction(CPPSemantics.java:3427) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:555) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:195) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding(CPPASTName.java:73) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplates.getContainingTemplate(CPPTemplates.java:167) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplates.createBinding(CPPTemplates.java:176) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:209) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding(CPPASTName.java:73) at org.eclipse.cdt.internal.core.pdom.PDOMWriter.addSymbols(PDOMWriter.java:106) 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) java.lang.ClassCastException: org.eclipse.cdt.internal.core.dom.parser.ProblemBinding at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClassInstance.getBases(CPPClassInstance.java:61) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.lookupInParents(CPPSemantics.java:1175) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.lookup(CPPSemantics.java:1125) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.resolveBinding(CPPSemantics.java:622) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.resolveBinding(CPPVisitor.java:948) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding(CPPVisitor.java:191) at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding(CPPASTName.java:73) at org.eclipse.cdt.internal.core.pdom.PDOMWriter.addSymbols(PDOMWriter.java:106) 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)
Created attachment 62149 [details] patch for exceptions 1 and 3 Fixes the first and last exceptions. Fixed getSpecializedBinding() for PDOMCPPParameterSpecialization and threw in an instanceof for the CCE. Also fixes some other exceptions related to function templates. Sergey, could you please provide a sample project that encounters the NPE in CPPTemplates.isSameTemplate(...)?
*** Bug 179605 has been marked as a duplicate of this bug. ***
I'll take a look at this in a moment.
Patch applied. Thanks Bryan!