diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java index 0c085b6c742..d6963d23521 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java @@ -3466,6 +3466,9 @@ public class Parser implements IParserData, IParser } try { + int nameStart = (id != null) ? id.getOffset() : 0; + int nameEnd = (id != null) ? id.getEndOffset() : 0; + int nameLine = (id != null) ? id.getLineNumber() : 0; returnValue.add( astFactory.createTemplateParameter( kind, @@ -3475,10 +3478,9 @@ public class Parser implements IParserData, IParser null, ( parameterScope instanceof IASTCodeScope ) ? (IASTCodeScope) parameterScope : null, startingToken.getOffset(), startingToken.getLineNumber(), - (id != null) ? id.getOffset() : 0, - (id != null) ? id.getEndOffset() : 0, - (id != null) ? id.getLineNumber() : 0, - lastToken.getEndOffset(), lastToken.getLineNumber(), lastToken.getFilename() )); + nameStart, nameEnd, nameLine, + (lastToken != null ) ? lastToken.getEndOffset() : nameEnd, + (lastToken != null ) ? lastToken.getLineNumber() : nameLine, startingToken.getFilename() )); } catch( ASTSemanticException ase ) {