Bug 102732 - [NPE] caused by CPPSemantics#getLookupScope(IASTName) line: 871 from indexing Mozilla on Windows
Summary: [NPE] caused by CPPSemantics#getLookupScope(IASTName) line: 871 from indexing...
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-parser (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.0   Edit
Assignee: Andrew Niefer CLA
QA Contact:
URL:
Whiteboard:
Keywords: contributed
Depends on:
Blocks:
 
Reported: 2005-07-05 10:14 EDT by Devin Steffler CLA
Modified: 2008-06-18 19:18 EDT (History)
1 user (show)

See Also:


Attachments
fix for this PR (812 bytes, patch)
2005-07-05 10:43 EDT, Devin Steffler 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 Devin Steffler CLA 2005-07-05 10:14:25 EDT
Found from indexing Mozilla in Windows.

NPE comes from indexing the file:
C:\mozilla-1_7_5-2\mozilla\layout\html\forms\src\nsListControlFrame.cpp

java.lang.NullPointerException
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.getLookupScope
(CPPSemantics.java:871)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.lookup
(CPPSemantics.java:962)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.findOperator
(CPPSemantics.java:3114)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.getExpressionType
(CPPVisitor.java:1877)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.getSourceParameterType
s(CPPSemantics.java:2057)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.getAssociatedScopes
(CPPSemantics.java:811)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.createLookupData
(CPPSemantics.java:804)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPSemantics.resolveBinding
(CPPSemantics.java:599)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.resolveBinding
(CPPVisitor.java:924)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.createBinding
(CPPVisitor.java:182)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.resolveBinding
(CPPASTName.java:52)
	at 
org.eclipse.cdt.internal.core.index.domsourceindexer.CPPGenerateIndexVisitor.pro
cessName(CPPGenerateIndexVisitor.java:148)
	at 
org.eclipse.cdt.internal.core.index.domsourceindexer.CPPGenerateIndexVisitor.vis
it(CPPGenerateIndexVisitor.java:112)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.accept
(CPPASTName.java:90)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTIdExpression.accept
(CPPASTIdExpression.java:46)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.accept
(CPPASTFunctionCallExpression.java:64)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTInitializerExpression.accept
(CPPASTInitializerExpression.java:49)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTDeclarator.postAccept
(CPPASTDeclarator.java:135)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTDeclarator.accept
(CPPASTDeclarator.java:131)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclaration.accept
(CPPASTSimpleDeclaration.java:74)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTDeclarationStatement.accept
(CPPASTDeclarationStatement.java:49)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompoundStatement.accept
(CPPASTCompoundStatement.java:66)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTForStatement.accept
(CPPASTForStatement.java:99)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompoundStatement.accept
(CPPASTCompoundStatement.java:66)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionDefinition.accept
(CPPASTFunctionDefinition.java:93)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompositeTypeSpecifier.accept
(CPPASTCompositeTypeSpecifier.java:136)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclaration.accept
(CPPASTSimpleDeclaration.java:71)
	at 
org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTranslationUnit.accept
(CPPASTTranslationUnit.java:520)
	at 
org.eclipse.cdt.internal.core.index.domsourceindexer.DOMSourceIndexerRunner.inde
xFile(DOMSourceIndexerRunner.java:133)
	at 
org.eclipse.cdt.internal.core.index.domsourceindexer.AbstractIndexerRunner.index
(AbstractIndexerRunner.java:76)
	at org.eclipse.cdt.internal.core.index.cindexstorage.Index.add
(Index.java:110)
	at 
org.eclipse.cdt.internal.core.index.domsourceindexer.DOMAddCompilationUnitToInde
x.indexDocument(DOMAddCompilationUnitToIndex.java:29)
	at 
org.eclipse.cdt.internal.core.index.domsourceindexer.DOMAddFileToIndex.execute
(DOMAddFileToIndex.java:60)
	at org.eclipse.cdt.internal.core.search.processing.JobManager.run
(JobManager.java:466)
	at java.lang.Thread.run(Thread.java:534)
Comment 1 John Camelon CLA 2005-07-05 10:21:04 EDT
This is a general problem you need to deal w/Andrew.  If you are expecting a
particular interface, you either need to check first that its a problem, or have
the implementations adapt to the interface that you are casting. 
Comment 2 Devin Steffler CLA 2005-07-05 10:43:54 EDT
Created attachment 24348 [details]
fix for this PR
Comment 3 Devin Steffler CLA 2005-07-05 13:13:20 EDT
Please take a look at the attached patch and apply/reject it.
Comment 4 John Camelon CLA 2005-07-05 14:04:43 EDT
Andrew, please look at this when you get a slice o time.
Comment 5 Andrew Niefer CLA 2005-07-05 15:33:27 EDT
applied slightly different patch. 
we should have done a check in CPPSemantics.findOperator