|
@@ -402,8 +402,6 @@ namespace clang {
|
|
|
Error ImportDefinition(
|
|
|
ObjCProtocolDecl *From, ObjCProtocolDecl *To,
|
|
|
ImportDefinitionKind Kind = IDK_Default);
|
|
|
- Expected<TemplateParameterList *> ImportTemplateParameterList(
|
|
|
- TemplateParameterList *Params);
|
|
|
Error ImportTemplateArguments(
|
|
|
const TemplateArgument *FromArgs, unsigned NumFromArgs,
|
|
|
SmallVectorImpl<TemplateArgument> &ToArgs);
|
|
@@ -1899,40 +1897,6 @@ Error ASTNodeImporter::ImportDefinition(
|
|
|
return Error::success();
|
|
|
}
|
|
|
|
|
|
-// FIXME: Remove this, use `import` instead.
|
|
|
-Expected<TemplateParameterList *> ASTNodeImporter::ImportTemplateParameterList(
|
|
|
- TemplateParameterList *Params) {
|
|
|
- SmallVector<NamedDecl *, 4> ToParams(Params->size());
|
|
|
- if (Error Err = ImportContainerChecked(*Params, ToParams))
|
|
|
- return std::move(Err);
|
|
|
-
|
|
|
- Expr *ToRequiresClause;
|
|
|
- if (Expr *const R = Params->getRequiresClause()) {
|
|
|
- if (Error Err = importInto(ToRequiresClause, R))
|
|
|
- return std::move(Err);
|
|
|
- } else {
|
|
|
- ToRequiresClause = nullptr;
|
|
|
- }
|
|
|
-
|
|
|
- auto ToTemplateLocOrErr = import(Params->getTemplateLoc());
|
|
|
- if (!ToTemplateLocOrErr)
|
|
|
- return ToTemplateLocOrErr.takeError();
|
|
|
- auto ToLAngleLocOrErr = import(Params->getLAngleLoc());
|
|
|
- if (!ToLAngleLocOrErr)
|
|
|
- return ToLAngleLocOrErr.takeError();
|
|
|
- auto ToRAngleLocOrErr = import(Params->getRAngleLoc());
|
|
|
- if (!ToRAngleLocOrErr)
|
|
|
- return ToRAngleLocOrErr.takeError();
|
|
|
-
|
|
|
- return TemplateParameterList::Create(
|
|
|
- Importer.getToContext(),
|
|
|
- *ToTemplateLocOrErr,
|
|
|
- *ToLAngleLocOrErr,
|
|
|
- ToParams,
|
|
|
- *ToRAngleLocOrErr,
|
|
|
- ToRequiresClause);
|
|
|
-}
|
|
|
-
|
|
|
Error ASTNodeImporter::ImportTemplateArguments(
|
|
|
const TemplateArgument *FromArgs, unsigned NumFromArgs,
|
|
|
SmallVectorImpl<TemplateArgument> &ToArgs) {
|
|
@@ -3479,7 +3443,7 @@ ExpectedDecl ASTNodeImporter::VisitFriendDecl(FriendDecl *D) {
|
|
|
SmallVector<TemplateParameterList *, 1> ToTPLists(D->NumTPLists);
|
|
|
auto **FromTPLists = D->getTrailingObjects<TemplateParameterList *>();
|
|
|
for (unsigned I = 0; I < D->NumTPLists; I++) {
|
|
|
- if (auto ListOrErr = ImportTemplateParameterList(FromTPLists[I]))
|
|
|
+ if (auto ListOrErr = import(FromTPLists[I]))
|
|
|
ToTPLists[I] = *ListOrErr;
|
|
|
else
|
|
|
return ListOrErr.takeError();
|
|
@@ -4914,8 +4878,7 @@ ASTNodeImporter::VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl *D) {
|
|
|
return LocationOrErr.takeError();
|
|
|
|
|
|
// Import template parameters.
|
|
|
- auto TemplateParamsOrErr = ImportTemplateParameterList(
|
|
|
- D->getTemplateParameters());
|
|
|
+ auto TemplateParamsOrErr = import(D->getTemplateParameters());
|
|
|
if (!TemplateParamsOrErr)
|
|
|
return TemplateParamsOrErr.takeError();
|
|
|
|
|
@@ -5002,8 +4965,7 @@ ExpectedDecl ASTNodeImporter::VisitClassTemplateDecl(ClassTemplateDecl *D) {
|
|
|
return std::move(Err);
|
|
|
|
|
|
// Create the class template declaration itself.
|
|
|
- auto TemplateParamsOrErr = ImportTemplateParameterList(
|
|
|
- D->getTemplateParameters());
|
|
|
+ auto TemplateParamsOrErr = import(D->getTemplateParameters());
|
|
|
if (!TemplateParamsOrErr)
|
|
|
return TemplateParamsOrErr.takeError();
|
|
|
|
|
@@ -5135,8 +5097,7 @@ ExpectedDecl ASTNodeImporter::VisitClassTemplateSpecializationDecl(
|
|
|
return std::move(Err);
|
|
|
CanonInjType = CanonInjType.getCanonicalType();
|
|
|
|
|
|
- auto ToTPListOrErr = ImportTemplateParameterList(
|
|
|
- PartialSpec->getTemplateParameters());
|
|
|
+ auto ToTPListOrErr = import(PartialSpec->getTemplateParameters());
|
|
|
if (!ToTPListOrErr)
|
|
|
return ToTPListOrErr.takeError();
|
|
|
|
|
@@ -5290,8 +5251,7 @@ ExpectedDecl ASTNodeImporter::VisitVarTemplateDecl(VarTemplateDecl *D) {
|
|
|
return std::move(Err);
|
|
|
|
|
|
// Create the variable template declaration itself.
|
|
|
- auto TemplateParamsOrErr = ImportTemplateParameterList(
|
|
|
- D->getTemplateParameters());
|
|
|
+ auto TemplateParamsOrErr = import(D->getTemplateParameters());
|
|
|
if (!TemplateParamsOrErr)
|
|
|
return TemplateParamsOrErr.takeError();
|
|
|
|
|
@@ -5396,8 +5356,7 @@ ExpectedDecl ASTNodeImporter::VisitVarTemplateSpecializationDecl(
|
|
|
*FromTAArgsAsWritten, ArgInfos))
|
|
|
return std::move(Err);
|
|
|
|
|
|
- auto ToTPListOrErr = ImportTemplateParameterList(
|
|
|
- FromPartial->getTemplateParameters());
|
|
|
+ auto ToTPListOrErr = import(FromPartial->getTemplateParameters());
|
|
|
if (!ToTPListOrErr)
|
|
|
return ToTPListOrErr.takeError();
|
|
|
|
|
@@ -5505,8 +5464,7 @@ ASTNodeImporter::VisitFunctionTemplateDecl(FunctionTemplateDecl *D) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- auto ParamsOrErr = ImportTemplateParameterList(
|
|
|
- D->getTemplateParameters());
|
|
|
+ auto ParamsOrErr = import(D->getTemplateParameters());
|
|
|
if (!ParamsOrErr)
|
|
|
return ParamsOrErr.takeError();
|
|
|
|