Skip to content

Commit 7587729

Browse files
authored
Merge pull request #15425 from dcci/typereconstralloc
2 parents 8e6291f + 92c4c49 commit 7587729

File tree

1 file changed

+29
-21
lines changed

1 file changed

+29
-21
lines changed

tools/lldb-moduleimport-test/lldb-moduleimport-test.cpp

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,33 @@ static void printValidationInfo(llvm::StringRef data) {
6262
}
6363
}
6464

65+
static void resolveTypeFromMangledNameList(
66+
swift::ASTContext &Ctx, llvm::SmallVector<std::string, 8> &MangledNames) {
67+
std::string Error;
68+
for (auto &Mangled : MangledNames) {
69+
swift::Type ResolvedType =
70+
swift::ide::getTypeFromMangledSymbolname(Ctx, Mangled, Error);
71+
if (!ResolvedType) {
72+
llvm::errs() << "Can't resolve type of " << Mangled << "\n";
73+
} else {
74+
ResolvedType->print(llvm::errs());
75+
llvm::errs() << "\n";
76+
}
77+
}
78+
}
79+
80+
static void
81+
collectMangledNames(std::string &FilePath,
82+
llvm::SmallVector<std::string, 8> &MangledNames) {
83+
std::string Name;
84+
std::ifstream InputStream(FilePath);
85+
while (std::getline(InputStream, Name)) {
86+
if (Name.empty())
87+
continue;
88+
MangledNames.push_back(Name);
89+
}
90+
}
91+
6592
int main(int argc, char **argv) {
6693
PROGRAM_START(argc, argv);
6794
INITIALIZE_LLVM();
@@ -238,28 +265,9 @@ int main(int argc, char **argv) {
238265
}
239266
}
240267
if (!DumpTypeFromMangled.empty()) {
241-
std::string Error;
242-
std::string Name;
243-
swift::ASTContext &Ctx = CI.getASTContext();
244268
llvm::SmallVector<std::string, 8> MangledNames;
245-
246-
std::ifstream InputStream(DumpTypeFromMangled);
247-
while (std::getline(InputStream, Name)) {
248-
if (Name.empty())
249-
continue;
250-
MangledNames.push_back(Name);
251-
}
252-
253-
for (auto &Mangled : MangledNames) {
254-
swift::Type ResolvedType = swift::ide::getTypeFromMangledSymbolname(
255-
Ctx, Mangled, Error);
256-
if (!ResolvedType) {
257-
llvm::errs() << "Can't resolve type of " << Mangled << "\n";
258-
} else {
259-
ResolvedType->print(llvm::errs());
260-
llvm::errs() << "\n";
261-
}
262-
}
269+
collectMangledNames(DumpTypeFromMangled, MangledNames);
270+
resolveTypeFromMangledNameList(CI.getASTContext(), MangledNames);
263271
}
264272
}
265273
return 0;

0 commit comments

Comments
 (0)