diff options
author | Andrew Niefer | 2005-07-05 19:32:19 +0000 |
---|---|---|
committer | Andrew Niefer | 2005-07-05 19:32:19 +0000 |
commit | e91a9f5de557ce802a08cdea43bb51cae638f8bf (patch) | |
tree | f0d89947db4526cf0094020e0a6cd628cb6bbd6b | |
parent | a638aed7e57e280af3a4ad7384c9a0367031d30c (diff) | |
download | org.eclipse.cdt-e91a9f5de557ce802a08cdea43bb51cae638f8bf.tar.gz org.eclipse.cdt-e91a9f5de557ce802a08cdea43bb51cae638f8bf.tar.xz org.eclipse.cdt-e91a9f5de557ce802a08cdea43bb51cae638f8bf.zip |
fix bug 102732 : NPE in CPPSemantics.getLookupScope modified from Devin's patch
-rw-r--r-- | core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java index efd5680d14b..fe13c2ac0cb 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPSemantics.java @@ -958,8 +958,10 @@ public class CPPSemantics { ICPPScope scope = null; if( start instanceof ICPPScope ) scope = (ICPPScope) start; - else + else if( start instanceof IASTName ) scope = getLookupScope( (IASTName) start ); + else + return; boolean friendInLocalClass = false; if( scope instanceof ICPPClassScope && data.forFriendship() ){ @@ -3091,6 +3093,9 @@ public class CPPSemantics { } catch (DOMException e1) { return null; } + if( scope == null ) + return null; + CPPASTName astName = new CPPASTName(); astName.setParent( exp ); astName.setPropertyInParent( STRING_LOOKUP_PROPERTY ); |