summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/TemplateBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/AST/TemplateBase.cpp')
-rw-r--r--clang/lib/AST/TemplateBase.cpp68
1 files changed, 34 insertions, 34 deletions
diff --git a/clang/lib/AST/TemplateBase.cpp b/clang/lib/AST/TemplateBase.cpp
index 394e9f38bcf..a78927d229b 100644
--- a/clang/lib/AST/TemplateBase.cpp
+++ b/clang/lib/AST/TemplateBase.cpp
@@ -157,16 +157,16 @@ bool TemplateArgument::isInstantiationDependent() const {
switch (getKind()) {
case Null:
llvm_unreachable("Should not have a NULL template argument");
-
+
case Type:
return getAsType()->isInstantiationDependentType();
-
+
case Template:
return getAsTemplate().isInstantiationDependent();
-
+
case TemplateExpansion:
return true;
-
+
case Declaration:
if (DeclContext *DC = dyn_cast<DeclContext>(getAsDecl()))
return DC->isDependentContext();
@@ -174,14 +174,14 @@ bool TemplateArgument::isInstantiationDependent() const {
case NullPtr:
return false;
-
+
case Integral:
// Never dependent
return false;
-
+
case Expression:
return getAsExpr()->isInstantiationDependent();
-
+
case Pack:
for (const auto &P : pack_elements())
if (P.isInstantiationDependent())
@@ -197,17 +197,17 @@ bool TemplateArgument::isPackExpansion() const {
case Null:
case Declaration:
case Integral:
- case Pack:
+ case Pack:
case Template:
case NullPtr:
return false;
-
+
case TemplateExpansion:
return true;
-
+
case Type:
return isa<PackExpansionType>(getAsType());
-
+
case Expression:
return isa<PackExpansionExpr>(getAsExpr());
}
@@ -233,7 +233,7 @@ bool TemplateArgument::containsUnexpandedParameterPack() const {
if (getAsTemplate().containsUnexpandedParameterPack())
return true;
break;
-
+
case Expression:
if (getAsExpr()->containsUnexpandedParameterPack())
return true;
@@ -254,8 +254,8 @@ Optional<unsigned> TemplateArgument::getNumTemplateExpansions() const {
assert(getKind() == TemplateExpansion);
if (TemplateArg.NumExpansions)
return TemplateArg.NumExpansions - 1;
-
- return None;
+
+ return None;
}
QualType TemplateArgument::getNonTypeTemplateArgumentType() const {
@@ -319,7 +319,7 @@ void TemplateArgument::Profile(llvm::FoldingSetNodeID &ID,
}
break;
}
-
+
case Integral:
getAsIntegral().Profile(ID);
getIntegralType().Profile(ID);
@@ -342,7 +342,7 @@ bool TemplateArgument::structurallyEquals(const TemplateArgument &Other) const {
switch (getKind()) {
case Null:
case Type:
- case Expression:
+ case Expression:
case Template:
case TemplateExpansion:
case NullPtr:
@@ -368,14 +368,14 @@ bool TemplateArgument::structurallyEquals(const TemplateArgument &Other) const {
TemplateArgument TemplateArgument::getPackExpansionPattern() const {
assert(isPackExpansion());
-
+
switch (getKind()) {
case Type:
return getAsType()->getAs<PackExpansionType>()->getPattern();
-
+
case Expression:
return cast<PackExpansionExpr>(getAsExpr())->getPattern();
-
+
case TemplateExpansion:
return TemplateArgument(getAsTemplateOrTemplatePattern());
@@ -391,20 +391,20 @@ TemplateArgument TemplateArgument::getPackExpansionPattern() const {
llvm_unreachable("Invalid TemplateArgument Kind!");
}
-void TemplateArgument::print(const PrintingPolicy &Policy,
+void TemplateArgument::print(const PrintingPolicy &Policy,
raw_ostream &Out) const {
switch (getKind()) {
case Null:
Out << "(no value)";
break;
-
+
case Type: {
PrintingPolicy SubPolicy(Policy);
SubPolicy.SuppressStrongLifetime = true;
getAsType().print(Out, SubPolicy);
break;
}
-
+
case Declaration: {
NamedDecl *ND = getAsDecl();
Out << '&';
@@ -429,15 +429,15 @@ void TemplateArgument::print(const PrintingPolicy &Policy,
getAsTemplateOrTemplatePattern().print(Out, Policy);
Out << "...";
break;
-
+
case Integral:
printIntegral(*this, Out, Policy);
break;
-
+
case Expression:
getAsExpr()->printPretty(Out, nullptr, Policy);
break;
-
+
case Pack:
Out << "<";
bool First = true;
@@ -446,11 +446,11 @@ void TemplateArgument::print(const PrintingPolicy &Policy,
First = false;
else
Out << ", ";
-
+
P.print(Policy, Out);
}
Out << ">";
- break;
+ break;
}
}
@@ -486,13 +486,13 @@ SourceRange TemplateArgumentLoc::getSourceRange() const {
case TemplateArgument::Template:
if (getTemplateQualifierLoc())
- return SourceRange(getTemplateQualifierLoc().getBeginLoc(),
+ return SourceRange(getTemplateQualifierLoc().getBeginLoc(),
getTemplateNameLoc());
return SourceRange(getTemplateNameLoc());
case TemplateArgument::TemplateExpansion:
if (getTemplateQualifierLoc())
- return SourceRange(getTemplateQualifierLoc().getBeginLoc(),
+ return SourceRange(getTemplateQualifierLoc().getBeginLoc(),
getTemplateEllipsisLoc());
return SourceRange(getTemplateNameLoc(), getTemplateEllipsisLoc());
@@ -514,19 +514,19 @@ const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB,
// This is bad, but not as bad as crashing because of argument
// count mismatches.
return DB << "(null template argument)";
-
+
case TemplateArgument::Type:
return DB << Arg.getAsType();
-
+
case TemplateArgument::Declaration:
return DB << Arg.getAsDecl();
case TemplateArgument::NullPtr:
return DB << "nullptr";
-
+
case TemplateArgument::Integral:
return DB << Arg.getAsIntegral().toString(10);
-
+
case TemplateArgument::Template:
return DB << Arg.getAsTemplate();
@@ -545,7 +545,7 @@ const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB,
Arg.getAsExpr()->printPretty(OS, nullptr, Policy);
return DB << OS.str();
}
-
+
case TemplateArgument::Pack: {
// FIXME: We're guessing at LangOptions!
SmallString<32> Str;
OpenPOWER on IntegriCloud