From 1d97cb0d81498923c8221e64965dcc7045c90f42 Mon Sep 17 00:00:00 2001 From: John Camelon Date: Mon, 5 Apr 2004 05:24:40 +0000 Subject: [PATCH] Fixed NPE in CompleteParseASTFactory.createUsingDeclaration() --- core/org.eclipse.cdt.core/parser/ChangeLog-parser | 3 +++ .../parser/ast/complete/CompleteParseASTFactory.java | 12 +++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/ChangeLog-parser b/core/org.eclipse.cdt.core/parser/ChangeLog-parser index 8304cff559b..522971b16dc 100644 --- a/core/org.eclipse.cdt.core/parser/ChangeLog-parser +++ b/core/org.eclipse.cdt.core/parser/ChangeLog-parser @@ -1,3 +1,6 @@ +2004-04-05 John Camelon + Fixed NPE in CompleteParseASTFactory::createUsingDeclaration(). + 2004-04-05 John Camelon Fixed https://bugs.eclipse.org/bugs/show_bug.cgi?id=54029 diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java index 65618ea8398..8787d2bc150 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java @@ -448,12 +448,14 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto ISymbol symbol = lookupQualifiedName( scopeToSymbol( scope), duple, references, true ); + IUsingDirectiveSymbol usingDirective = null; - try { - usingDirective = ((ASTScope)scope).getContainerSymbol().addUsingDirective( (IContainerSymbol)symbol ); - } catch (ParserSymbolTableException pste) { - handleProblem( pste.createProblemID(), duple.toString(), startingOffset, endingOffset, startingLine ); - } + if( symbol != null ) + try { + usingDirective = ((ASTScope)scope).getContainerSymbol().addUsingDirective( (IContainerSymbol)symbol ); + } catch (ParserSymbolTableException pste) { + handleProblem( pste.createProblemID(), duple.toString(), startingOffset, endingOffset, startingLine ); + } return new ASTUsingDirective( scopeToSymbol(scope), usingDirective, startingOffset, startingLine, endingOffset, endingLine, references ); }