Skip to content

Commit 2d3c7da

Browse files
committed
[lldb] Re-arrange some Apple-only code to prevent merge conflicts
There are some Apple-only changes that add an extra parameter to `TypeSystemMap::GetTypeSystemForLanguage`. Add a separate method instead (similar to `TypeSystem::CreateInstance`) and surround the code in `BEGIN/END APPLE` blocks to make it clear they are Apple-only changes. This also fixes compilation failures in `lldb/unittests/Symbol/TestTypeSystem.cpp` since that can now use the regular method instead.
1 parent add63b8 commit 2d3c7da

File tree

2 files changed

+40
-23
lines changed

2 files changed

+40
-23
lines changed

lldb/include/lldb/Symbol/TypeSystem.h

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,13 @@ class TypeSystem : public PluginInterface {
8080
Module *module);
8181

8282
static lldb::TypeSystemSP CreateInstance(lldb::LanguageType language,
83-
Target *target,
84-
const char *compiler_options);
83+
Target *target);
8584

85+
// BEGIN APPLE
8686
static lldb::TypeSystemSP CreateInstance(lldb::LanguageType language,
87-
Target *target);
87+
Target *target,
88+
const char *compiler_options);
89+
// END APPLE
8890

8991
// Free up any resources associated with this TypeSystem. Done before
9092
// removing all the TypeSystems from the TypeSystemMap.
@@ -556,16 +558,22 @@ class TypeSystemMap {
556558
// callback to keep iterating, false to stop iterating.
557559
void ForEach(std::function<bool(TypeSystem *)> const &callback);
558560

559-
void RemoveTypeSystemsForLanguage(lldb::LanguageType language);
560-
561561
llvm::Expected<TypeSystem &>
562562
GetTypeSystemForLanguage(lldb::LanguageType language, Module *module,
563563
bool can_create);
564564

565+
llvm::Expected<TypeSystem &>
566+
GetTypeSystemForLanguage(lldb::LanguageType language, Target *target,
567+
bool can_create);
568+
569+
// BEGIN SWIFT
565570
llvm::Expected<TypeSystem &>
566571
GetTypeSystemForLanguage(lldb::LanguageType language, Target *target,
567572
bool can_create, const char *compiler_options);
568573

574+
void RemoveTypeSystemsForLanguage(lldb::LanguageType language);
575+
// END SWIFT
576+
569577
protected:
570578
typedef std::map<lldb::LanguageType, lldb::TypeSystemSP> collection;
571579
mutable std::mutex m_mutex; ///< A mutex to keep this object happy in

lldb/source/Symbol/TypeSystem.cpp

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@ lldb::TypeSystemSP TypeSystem::CreateInstance(lldb::LanguageType language,
6060
}
6161

6262
lldb::TypeSystemSP TypeSystem::CreateInstance(lldb::LanguageType language,
63-
Target *target,
64-
const char *compiler_options) {
65-
return CreateInstanceHelper(language, nullptr, target, compiler_options);
63+
Target *target) {
64+
return CreateInstanceHelper(language, nullptr, target, nullptr);
6665
}
6766

6867
lldb::TypeSystemSP TypeSystem::CreateInstance(lldb::LanguageType language,
69-
Target *target) {
70-
return CreateInstanceHelper(language, nullptr, target, nullptr);
68+
Target *target,
69+
const char *compiler_options) {
70+
return CreateInstanceHelper(language, nullptr, target, compiler_options);
7171
}
7272

7373
#ifndef NDEBUG
@@ -299,29 +299,38 @@ llvm::Expected<TypeSystem &> TypeSystemMap::GetTypeSystemForLanguage(
299299

300300
llvm::Expected<TypeSystem &>
301301
TypeSystemMap::GetTypeSystemForLanguage(lldb::LanguageType language,
302-
Target *target, bool can_create,
303-
// BEGIN: SWIFT
304-
const char *compiler_options) {
305-
// END: SWIFT
302+
Module *module, bool can_create) {
306303
if (can_create) {
307304
return GetTypeSystemForLanguage(
308-
language, llvm::Optional<CreateCallback>([language, target,
309-
// BEGIN SWIFT
310-
compiler_options]() {
311-
return TypeSystem::CreateInstance(language, target, compiler_options);
312-
// END SWIFT
305+
language, llvm::Optional<CreateCallback>([language, module]() {
306+
return TypeSystem::CreateInstance(language, module);
313307
}));
314308
}
315309
return GetTypeSystemForLanguage(language);
316310
}
317311

318312
llvm::Expected<TypeSystem &>
319313
TypeSystemMap::GetTypeSystemForLanguage(lldb::LanguageType language,
320-
Module *module, bool can_create) {
314+
Target *target, bool can_create) {
321315
if (can_create) {
322316
return GetTypeSystemForLanguage(
323-
language, llvm::Optional<CreateCallback>([language, module]() {
324-
return TypeSystem::CreateInstance(language, module);
317+
language, llvm::Optional<CreateCallback>([language, target]() {
318+
return TypeSystem::CreateInstance(language, target);
319+
}));
320+
}
321+
return GetTypeSystemForLanguage(language);
322+
}
323+
324+
// BEGIN SWIFT
325+
llvm::Expected<TypeSystem &>
326+
TypeSystemMap::GetTypeSystemForLanguage(lldb::LanguageType language,
327+
Target *target, bool can_create,
328+
const char *compiler_options) {
329+
if (can_create) {
330+
return GetTypeSystemForLanguage(
331+
language, llvm::Optional<CreateCallback>([language, target,
332+
compiler_options]() {
333+
return TypeSystem::CreateInstance(language, target, compiler_options);
325334
}));
326335
}
327336
return GetTypeSystemForLanguage(language);
@@ -337,4 +346,4 @@ void TypeSystemMap::RemoveTypeSystemsForLanguage(lldb::LanguageType language) {
337346
m_map.erase(pos);
338347
}
339348
}
340-
349+
// END SWIFT

0 commit comments

Comments
 (0)