1010#include " support/Logger.h"
1111#include " clang/AST/ASTContext.h"
1212#include " clang/Tooling/Core/Replacement.h"
13+ #include " llvm/ADT/SmallVector.h"
1314#include " llvm/ADT/StringRef.h"
1415#include " llvm/Support/Error.h"
1516#include < numeric>
@@ -46,11 +47,11 @@ class AbbreviateFunctionTemplate : public Tweak {
4647 struct TemplateParameterInfo {
4748 const TypeConstraint *Constraint;
4849 unsigned int FunctionParameterIndex;
49- std::vector <tok::TokenKind> FunctionParameterQualifiers;
50- std::vector <tok::TokenKind> FunctionParameterTypeQualifiers;
50+ llvm::SmallVector <tok::TokenKind> FunctionParameterQualifiers;
51+ llvm::SmallVector <tok::TokenKind> FunctionParameterTypeQualifiers;
5152 };
5253
53- std::vector <TemplateParameterInfo> TemplateParameterInfoList;
54+ llvm::SmallVector <TemplateParameterInfo> TemplateParameterInfoList;
5455
5556 auto traverseFunctionParameters (size_t NumberOfTemplateParameters) -> bool;
5657
@@ -65,8 +66,8 @@ class AbbreviateFunctionTemplate : public Tweak {
6566 -> llvm::Expected<tooling::Replacement>;
6667
6768 static auto deconstructType (QualType Type)
68- -> std::tuple<QualType, std::vector <tok::TokenKind>,
69- std::vector <tok::TokenKind>>;
69+ -> std::tuple<QualType, llvm::SmallVector <tok::TokenKind>,
70+ llvm::SmallVector <tok::TokenKind>>;
7071};
7172
7273REGISTER_TWEAK (AbbreviateFunctionTemplate)
@@ -110,7 +111,7 @@ bool AbbreviateFunctionTemplate::prepare(const Selection &Inputs) {
110111
111112 auto NumberOfTemplateParameters = TemplateParameters->size ();
112113 TemplateParameterInfoList =
113- std::vector <TemplateParameterInfo>(NumberOfTemplateParameters);
114+ llvm::SmallVector <TemplateParameterInfo>(NumberOfTemplateParameters);
114115
115116 // Check how many times each template parameter is referenced.
116117 // Depending on the number of references it can be checked
@@ -236,7 +237,7 @@ auto AbbreviateFunctionTemplate::generateFunctionParameterReplacement(
236237 Function->getParamDecl (TemplateParameterInfo.FunctionParameterIndex );
237238 auto ParameterName = Parameter->getDeclName ().getAsString ();
238239
239- std::vector <std::string> ParameterTokens{};
240+ llvm::SmallVector <std::string> ParameterTokens{};
240241
241242 if (const auto *TypeConstraint = TemplateParameterInfo.Constraint ) {
242243 auto *ConceptReference = TypeConstraint->getConceptReference ();
@@ -299,10 +300,10 @@ auto AbbreviateFunctionTemplate::generateTemplateDeclarationReplacement(
299300}
300301
301302auto AbbreviateFunctionTemplate::deconstructType (QualType Type)
302- -> std::tuple<QualType, std::vector <tok::TokenKind>,
303- std::vector <tok::TokenKind>> {
304- std::vector <tok::TokenKind> ParameterTypeQualifiers{};
305- std::vector <tok::TokenKind> ParameterQualifiers{};
303+ -> std::tuple<QualType, llvm::SmallVector <tok::TokenKind>,
304+ llvm::SmallVector <tok::TokenKind>> {
305+ llvm::SmallVector <tok::TokenKind> ParameterTypeQualifiers{};
306+ llvm::SmallVector <tok::TokenKind> ParameterQualifiers{};
306307
307308 if (Type->isIncompleteArrayType ()) {
308309 ParameterQualifiers.push_back (tok::l_square);
0 commit comments