fix a crash in RecursiveASTVisitor's child classes (PR8403); reviewed by chandlerc.

llvm-svn: 113038
This commit is contained in:
Zhanyong Wan 2010-09-03 23:50:56 +00:00
parent 1b1b9accd1
commit 18ca8bf850
1 changed files with 8 additions and 5 deletions

View File

@ -125,19 +125,22 @@ SourceRange TemplateArgumentLoc::getSourceRange() const {
switch (Argument.getKind()) {
case TemplateArgument::Expression:
return getSourceExpression()->getSourceRange();
case TemplateArgument::Declaration:
return getSourceDeclExpression()->getSourceRange();
case TemplateArgument::Type:
return getTypeSourceInfo()->getTypeLoc().getSourceRange();
if (TypeSourceInfo *TSI = getTypeSourceInfo())
return TSI->getTypeLoc().getSourceRange();
else
return SourceRange();
case TemplateArgument::Template:
if (getTemplateQualifierRange().isValid())
return SourceRange(getTemplateQualifierRange().getBegin(),
getTemplateNameLoc());
return SourceRange(getTemplateNameLoc());
case TemplateArgument::Integral:
case TemplateArgument::Pack:
case TemplateArgument::Null: