Skip to content

Commit ee02e20

Browse files
committed
[clangd] NFC: Use SmallVector<T> where possible
SmallVector<T> with default size is now the recommended version (D92522). Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D92788
1 parent 0447f35 commit ee02e20

22 files changed

+36
-37
lines changed

clang-tools-extra/clangd/AST.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ std::string printTemplateSpecializationArgs(const NamedDecl &ND) {
258258
// TemplateArgumentTypeLocs, they only have TemplateArgumentTypes. So we
259259
// create a new argument location list from TypeSourceInfo.
260260
auto STL = TSI->getTypeLoc().getAs<TemplateSpecializationTypeLoc>();
261-
llvm::SmallVector<TemplateArgumentLoc, 8> ArgLocs;
261+
llvm::SmallVector<TemplateArgumentLoc> ArgLocs;
262262
ArgLocs.reserve(STL.getNumArgs());
263263
for (unsigned I = 0; I < STL.getNumArgs(); ++I)
264264
ArgLocs.push_back(STL.getArgLoc(I));

clang-tools-extra/clangd/CompileCommands.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ llvm::ArrayRef<ArgStripper::Rule> ArgStripper::rulesFor(llvm::StringRef Arg) {
367367
for (unsigned ID = 1 /*Skip INVALID */; ID < DriverID::LastOption; ++ID) {
368368
if (PrevAlias[ID] || ID == DriverID::OPT_Xclang)
369369
continue; // Not canonical, or specially handled.
370-
llvm::SmallVector<Rule, 8> Rules;
370+
llvm::SmallVector<Rule> Rules;
371371
// Iterate over each alias, to add rules for parsing it.
372372
for (unsigned A = ID; A != DriverID::OPT_INVALID; A = NextAlias[A]) {
373373
if (Prefixes[A] == nullptr) // option groups.

clang-tools-extra/clangd/CompileCommands.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class ArgStripper {
9292
static llvm::ArrayRef<Rule> rulesFor(llvm::StringRef Arg);
9393
const Rule *matchingRule(llvm::StringRef Arg, unsigned Mode,
9494
unsigned &ArgCount) const;
95-
llvm::SmallVector<Rule, 4> Rules;
95+
llvm::SmallVector<Rule> Rules;
9696
std::deque<std::string> Storage; // Store strings not found in option table.
9797
};
9898

clang-tools-extra/clangd/ConfigCompile.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ struct FragmentCompiler {
137137
llvm::StringRef EnumName;
138138
const Located<std::string> &Input;
139139
llvm::Optional<T> Result;
140-
llvm::SmallVector<llvm::StringLiteral, 8> ValidValues;
140+
llvm::SmallVector<llvm::StringLiteral> ValidValues;
141141

142142
public:
143143
EnumSwitch(llvm::StringRef EnumName, const Located<std::string> &In,

clang-tools-extra/clangd/FileDistance.cpp

+3-4
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ const llvm::hash_code FileDistance::RootHash =
5858
FileDistance::FileDistance(llvm::StringMap<SourceParams> Sources,
5959
const FileDistanceOptions &Opts)
6060
: Opts(Opts) {
61-
llvm::DenseMap<llvm::hash_code, llvm::SmallVector<llvm::hash_code, 4>>
62-
DownEdges;
61+
llvm::DenseMap<llvm::hash_code, llvm::SmallVector<llvm::hash_code>> DownEdges;
6362
// Compute the best distance following only up edges.
6463
// Keep track of down edges, in case we can use them to improve on this.
6564
for (const auto &S : Sources) {
@@ -118,7 +117,7 @@ FileDistance::FileDistance(llvm::StringMap<SourceParams> Sources,
118117
unsigned FileDistance::distance(llvm::StringRef Path) {
119118
auto Canonical = canonicalize(Path);
120119
unsigned Cost = Unreachable;
121-
llvm::SmallVector<llvm::hash_code, 16> Ancestors;
120+
llvm::SmallVector<llvm::hash_code> Ancestors;
122121
// Walk up ancestors until we find a path we know the distance for.
123122
for (llvm::StringRef Rest = Canonical; !Rest.empty();
124123
Rest = parent_path(Rest, llvm::sys::path::Style::posix)) {
@@ -177,7 +176,7 @@ FileDistance &URIDistance::forScheme(llvm::StringRef Scheme) {
177176
}
178177

179178
static std::pair<std::string, int> scopeToPath(llvm::StringRef Scope) {
180-
llvm::SmallVector<llvm::StringRef, 4> Split;
179+
llvm::SmallVector<llvm::StringRef> Split;
181180
Scope.split(Split, "::", /*MaxSplit=*/-1, /*KeepEmpty=*/false);
182181
return {"/" + llvm::join(Split, "/"), Split.size()};
183182
}

clang-tools-extra/clangd/FindTarget.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -750,9 +750,9 @@ explicitReferenceTargets(DynTypedNode N, DeclRelationSet Mask) {
750750
}
751751

752752
namespace {
753-
llvm::SmallVector<ReferenceLoc, 2> refInDecl(const Decl *D) {
753+
llvm::SmallVector<ReferenceLoc> refInDecl(const Decl *D) {
754754
struct Visitor : ConstDeclVisitor<Visitor> {
755-
llvm::SmallVector<ReferenceLoc, 2> Refs;
755+
llvm::SmallVector<ReferenceLoc> Refs;
756756

757757
void VisitUsingDirectiveDecl(const UsingDirectiveDecl *D) {
758758
// We want to keep it as non-declaration references, as the
@@ -819,10 +819,10 @@ llvm::SmallVector<ReferenceLoc, 2> refInDecl(const Decl *D) {
819819
return V.Refs;
820820
}
821821

822-
llvm::SmallVector<ReferenceLoc, 2> refInStmt(const Stmt *S) {
822+
llvm::SmallVector<ReferenceLoc> refInStmt(const Stmt *S) {
823823
struct Visitor : ConstStmtVisitor<Visitor> {
824824
// FIXME: handle more complicated cases: more ObjC, designated initializers.
825-
llvm::SmallVector<ReferenceLoc, 2> Refs;
825+
llvm::SmallVector<ReferenceLoc> Refs;
826826

827827
void VisitConceptSpecializationExpr(const ConceptSpecializationExpr *E) {
828828
Refs.push_back(ReferenceLoc{E->getNestedNameSpecifierLoc(),
@@ -920,7 +920,7 @@ llvm::SmallVector<ReferenceLoc, 2> refInStmt(const Stmt *S) {
920920
return V.Refs;
921921
}
922922

923-
llvm::SmallVector<ReferenceLoc, 2> refInTypeLoc(TypeLoc L) {
923+
llvm::SmallVector<ReferenceLoc> refInTypeLoc(TypeLoc L) {
924924
struct Visitor : TypeLocVisitor<Visitor> {
925925
llvm::Optional<ReferenceLoc> Ref;
926926

@@ -1114,7 +1114,7 @@ class ExplicitReferenceCollector
11141114
/// be references. However, declarations can have references inside them,
11151115
/// e.g. 'namespace foo = std' references namespace 'std' and this
11161116
/// function will return the corresponding reference.
1117-
llvm::SmallVector<ReferenceLoc, 2> explicitReference(DynTypedNode N) {
1117+
llvm::SmallVector<ReferenceLoc> explicitReference(DynTypedNode N) {
11181118
if (auto *D = N.get<Decl>())
11191119
return refInDecl(D);
11201120
if (auto *S = N.get<Stmt>())

clang-tools-extra/clangd/Headers.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ class IncludeStructure {
136136
unsigned fileIndex(llvm::StringRef Name);
137137
llvm::StringMap<unsigned> NameToIndex; // Values are file indexes.
138138
// Maps a file's index to that of the files it includes.
139-
llvm::DenseMap<unsigned, SmallVector<unsigned, 8>> IncludeChildren;
139+
llvm::DenseMap<unsigned, SmallVector<unsigned>> IncludeChildren;
140140
};
141141

142142
/// Returns a PPCallback that visits all inclusions in the main file.

clang-tools-extra/clangd/QueryDriverDatabase.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ llvm::Optional<DriverInfo> parseDriverOutput(llvm::StringRef Output) {
7979
const char SIS[] = "#include <...> search starts here:";
8080
const char SIE[] = "End of search list.";
8181
const char TS[] = "Target: ";
82-
llvm::SmallVector<llvm::StringRef, 8> Lines;
82+
llvm::SmallVector<llvm::StringRef> Lines;
8383
Output.split(Lines, '\n', /*MaxSplit=*/-1, /*KeepEmpty=*/false);
8484

8585
enum {
@@ -171,8 +171,8 @@ extractSystemIncludesAndTarget(PathRef Driver, llvm::StringRef Lang,
171171
llvm::Optional<llvm::StringRef> Redirects[] = {
172172
{""}, {""}, llvm::StringRef(StdErrPath)};
173173

174-
llvm::SmallVector<llvm::StringRef, 12> Args = {Driver, "-E", "-x",
175-
Lang, "-", "-v"};
174+
llvm::SmallVector<llvm::StringRef> Args = {Driver, "-E", "-x",
175+
Lang, "-", "-v"};
176176

177177
// These flags will be preserved
178178
const llvm::StringRef FlagsToPreserve[] = {

clang-tools-extra/clangd/Selection.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ template <typename T> class IntervalSet {
8383
// Removes the elements of Claim from the set, modifying or removing ranges
8484
// that overlap it.
8585
// Returns the continuous subranges of Claim that were actually removed.
86-
llvm::SmallVector<llvm::ArrayRef<T>, 4> erase(llvm::ArrayRef<T> Claim) {
87-
llvm::SmallVector<llvm::ArrayRef<T>, 4> Out;
86+
llvm::SmallVector<llvm::ArrayRef<T>> erase(llvm::ArrayRef<T> Claim) {
87+
llvm::SmallVector<llvm::ArrayRef<T>> Out;
8888
if (Claim.empty())
8989
return Out;
9090

clang-tools-extra/clangd/Selection.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ class SelectionTree {
123123
// The parent within the selection tree. nullptr for TranslationUnitDecl.
124124
Node *Parent;
125125
// Direct children within the selection tree.
126-
llvm::SmallVector<const Node *, 8> Children;
126+
llvm::SmallVector<const Node *> Children;
127127
// The corresponding node from the full AST.
128128
ast_type_traits::DynTypedNode ASTNode;
129129
// The extent to which this node is covered by the selection.

clang-tools-extra/clangd/SemanticHighlighting.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,7 @@ toTheiaSemanticHighlightingInformation(
605605
std::vector<TheiaSemanticHighlightingInformation> Lines;
606606
Lines.reserve(Tokens.size());
607607
for (const auto &Line : Tokens) {
608-
llvm::SmallVector<char, 128> LineByteTokens;
608+
llvm::SmallVector<char> LineByteTokens;
609609
llvm::raw_svector_ostream OS(LineByteTokens);
610610
for (const auto &Token : Line.Tokens) {
611611
// Writes the token to LineByteTokens in the byte format specified by the

clang-tools-extra/clangd/SourceCode.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -779,8 +779,8 @@ void parseNamespaceEvents(llvm::StringRef Code, const LangOptions &LangOpts,
779779
}
780780

781781
// Returns the prefix namespaces of NS: {"" ... NS}.
782-
llvm::SmallVector<llvm::StringRef, 8> ancestorNamespaces(llvm::StringRef NS) {
783-
llvm::SmallVector<llvm::StringRef, 8> Results;
782+
llvm::SmallVector<llvm::StringRef> ancestorNamespaces(llvm::StringRef NS) {
783+
llvm::SmallVector<llvm::StringRef> Results;
784784
Results.push_back(NS.take_front(0));
785785
NS.split(Results, "::", /*MaxSplit=*/-1, /*KeepEmpty=*/false);
786786
for (llvm::StringRef &R : Results)

clang-tools-extra/clangd/TUScheduler.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ class ASTWorker {
477477
/// thread are not locked, as it's the only writer.
478478
ParseInputs FileInputs; /* GUARDED_BY(Mutex) */
479479
/// Times of recent AST rebuilds, used for UpdateDebounce computation.
480-
llvm::SmallVector<DebouncePolicy::clock::duration, 8>
480+
llvm::SmallVector<DebouncePolicy::clock::duration>
481481
RebuildTimes; /* GUARDED_BY(Mutex) */
482482
/// Set to true to signal run() to finish processing.
483483
bool Done; /* GUARDED_BY(Mutex) */

clang-tools-extra/clangd/TidyProvider.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class DotClangTidyTree {
8181
// Compute absolute paths to all ancestors (substrings of P.Path).
8282
// Ensure cache entries for each ancestor exist in the map.
8383
llvm::StringRef Parent = path::parent_path(AbsPath);
84-
llvm::SmallVector<DotClangTidyCache *, 8> Caches;
84+
llvm::SmallVector<DotClangTidyCache *> Caches;
8585
{
8686
std::lock_guard<std::mutex> Lock(Mu);
8787
for (auto I = path::begin(Parent, path::Style::posix),
@@ -105,7 +105,7 @@ class DotClangTidyTree {
105105
// This will take a (per-file) lock for each file that actually exists.
106106
std::chrono::steady_clock::time_point FreshTime =
107107
std::chrono::steady_clock::now() - MaxStaleness;
108-
llvm::SmallVector<std::shared_ptr<const tidy::ClangTidyOptions>, 4>
108+
llvm::SmallVector<std::shared_ptr<const tidy::ClangTidyOptions>>
109109
OptionStack;
110110
for (const DotClangTidyCache *Cache : Caches)
111111
if (auto Config = Cache->get(FS, FreshTime)) {

clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ class FuzzyFind : public Command {
153153
Request.Limit = Limit;
154154
Request.Query = Query;
155155
if (Scopes.getNumOccurrences() > 0) {
156-
llvm::SmallVector<llvm::StringRef, 8> Scopes;
156+
llvm::SmallVector<llvm::StringRef> Scopes;
157157
llvm::StringRef(this->Scopes).split(Scopes, ',');
158158
Request.Scopes = {Scopes.begin(), Scopes.end()};
159159
}
@@ -339,7 +339,7 @@ std::unique_ptr<SymbolIndex> openIndex(llvm::StringRef Index) {
339339
bool runCommand(std::string Request, const SymbolIndex &Index) {
340340
// Split on spaces and add required null-termination.
341341
std::replace(Request.begin(), Request.end(), ' ', '\0');
342-
llvm::SmallVector<llvm::StringRef, 8> Args;
342+
llvm::SmallVector<llvm::StringRef> Args;
343343
llvm::StringRef(Request).split(Args, '\0', /*MaxSplit=*/-1,
344344
/*KeepEmpty=*/false);
345345
if (Args.empty())
@@ -351,7 +351,7 @@ bool runCommand(std::string Request, const SymbolIndex &Index) {
351351
llvm::outs() << "Get detailed command help with e.g. `find -help`.\n";
352352
return true;
353353
}
354-
llvm::SmallVector<const char *, 8> FakeArgv;
354+
llvm::SmallVector<const char *> FakeArgv;
355355
for (llvm::StringRef S : Args)
356356
FakeArgv.push_back(S.data()); // Terminated by separator or end of string.
357357

clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ class DefineInline : public Tweak {
480480
const tooling::Replacement DeleteFuncBody(SM, DefRange->getBegin(),
481481
SourceLen, "");
482482

483-
llvm::SmallVector<std::pair<std::string, Edit>, 2> Edits;
483+
llvm::SmallVector<std::pair<std::string, Edit>> Edits;
484484
// Edit for Target.
485485
auto FE = Effect::fileEdit(SM, SM.getFileID(*Semicolon),
486486
std::move(TargetFileReplacements));

clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ ExtractionContext::insertDeclaration(llvm::StringRef VarName,
202202
struct ParsedBinaryOperator {
203203
BinaryOperatorKind Kind;
204204
SourceLocation ExprLoc;
205-
llvm::SmallVector<const SelectionTree::Node*, 8> SelectedOperands;
205+
llvm::SmallVector<const SelectionTree::Node *> SelectedOperands;
206206

207207
// If N is a binary operator, populate this and return true.
208208
bool parse(const SelectionTree::Node &N) {

clang-tools-extra/clangd/support/Markup.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ std::string getMarkerForCodeBlock(llvm::StringRef Input) {
215215

216216
// Trims the input and concatenates whitespace blocks into a single ` `.
217217
std::string canonicalizeSpaces(llvm::StringRef Input) {
218-
llvm::SmallVector<llvm::StringRef, 4> Words;
218+
llvm::SmallVector<llvm::StringRef> Words;
219219
llvm::SplitString(Input, Words);
220220
return llvm::join(Words, " ");
221221
}

clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ TEST(CommandMangler, ConfigEdits) {
208208
}
209209

210210
static std::string strip(llvm::StringRef Arg, llvm::StringRef Argv) {
211-
llvm::SmallVector<llvm::StringRef, 8> Parts;
211+
llvm::SmallVector<llvm::StringRef> Parts;
212212
llvm::SplitString(Argv, Parts);
213213
std::vector<std::string> Args = {Parts.begin(), Parts.end()};
214214
ArgStripper S;

clang-tools-extra/clangd/unittests/TestIndex.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Symbol symbol(llvm::StringRef QName) {
2929

3030
static std::string replace(llvm::StringRef Haystack, llvm::StringRef Needle,
3131
llvm::StringRef Repl) {
32-
llvm::SmallVector<llvm::StringRef, 8> Parts;
32+
llvm::SmallVector<llvm::StringRef> Parts;
3333
Haystack.split(Parts, Needle);
3434
return llvm::join(Parts, Repl);
3535
}

clang-tools-extra/clangd/unittests/TestTU.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ const Symbol &findSymbol(const SymbolSlab &Slab, llvm::StringRef QName) {
187187
}
188188

189189
const NamedDecl &findDecl(ParsedAST &AST, llvm::StringRef QName) {
190-
llvm::SmallVector<llvm::StringRef, 4> Components;
190+
llvm::SmallVector<llvm::StringRef> Components;
191191
QName.split(Components, "::");
192192

193193
auto &Ctx = AST.getASTContext();

clang-tools-extra/clangd/unittests/support/TraceTests.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ class CSVMetricsTracerTest : public ::testing::Test {
154154
std::vector<std::string> outputLines() {
155155
// Deliberately don't flush output stream, the tracer should do that.
156156
// This is important when clangd crashes.
157-
llvm::SmallVector<llvm::StringRef, 4> Lines;
157+
llvm::SmallVector<llvm::StringRef> Lines;
158158
llvm::StringRef(Output).split(Lines, "\r\n");
159159
return {Lines.begin(), Lines.end()};
160160
}

0 commit comments

Comments
 (0)