diff options
Diffstat (limited to 'lib/AST/TemplateBase.cpp')
-rw-r--r-- | lib/AST/TemplateBase.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/lib/AST/TemplateBase.cpp b/lib/AST/TemplateBase.cpp index e9ee385..d68b95e 100644 --- a/lib/AST/TemplateBase.cpp +++ b/lib/AST/TemplateBase.cpp @@ -23,8 +23,8 @@ #include "clang/Basic/Diagnostic.h" #include "llvm/ADT/FoldingSet.h" #include "llvm/ADT/SmallString.h" +#include "llvm/Support/raw_ostream.h" #include <algorithm> -#include <cctype> using namespace clang; @@ -224,12 +224,12 @@ bool TemplateArgument::containsUnexpandedParameterPack() const { return false; } -llvm::Optional<unsigned> TemplateArgument::getNumTemplateExpansions() const { +Optional<unsigned> TemplateArgument::getNumTemplateExpansions() const { assert(Kind == TemplateExpansion); if (TemplateArg.NumExpansions) return TemplateArg.NumExpansions - 1; - return llvm::Optional<unsigned>(); + return None; } void TemplateArgument::Profile(llvm::FoldingSetNodeID &ID, @@ -347,9 +347,7 @@ void TemplateArgument::print(const PrintingPolicy &Policy, case Type: { PrintingPolicy SubPolicy(Policy); SubPolicy.SuppressStrongLifetime = true; - std::string TypeStr; - getAsType().getAsStringInternal(TypeStr, SubPolicy); - Out << TypeStr; + getAsType().print(Out, SubPolicy); break; } @@ -451,10 +449,9 @@ SourceRange TemplateArgumentLoc::getSourceRange() const { llvm_unreachable("Invalid TemplateArgument Kind!"); } -TemplateArgumentLoc -TemplateArgumentLoc::getPackExpansionPattern(SourceLocation &Ellipsis, - llvm::Optional<unsigned> &NumExpansions, - ASTContext &Context) const { +TemplateArgumentLoc TemplateArgumentLoc::getPackExpansionPattern( + SourceLocation &Ellipsis, Optional<unsigned> &NumExpansions, + ASTContext &Context) const { assert(Argument.isPackExpansion()); switch (Argument.getKind()) { @@ -466,8 +463,8 @@ TemplateArgumentLoc::getPackExpansionPattern(SourceLocation &Ellipsis, ExpansionTSInfo = Context.getTrivialTypeSourceInfo( getArgument().getAsType(), Ellipsis); - PackExpansionTypeLoc Expansion - = cast<PackExpansionTypeLoc>(ExpansionTSInfo->getTypeLoc()); + PackExpansionTypeLoc Expansion = + ExpansionTSInfo->getTypeLoc().castAs<PackExpansionTypeLoc>(); Ellipsis = Expansion.getEllipsisLoc(); TypeLoc Pattern = Expansion.getPatternLoc(); |