1 //===-- DynamicLoaderDarwinProperties.cpp ---------------------------------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #include "DynamicLoaderDarwinProperties.h"
11 using namespace lldb_private
;
13 #define LLDB_PROPERTIES_dynamicloaderdarwin_experimental
14 #include "DynamicLoaderDarwinProperties.inc"
17 #define LLDB_PROPERTIES_dynamicloaderdarwin_experimental
18 #include "DynamicLoaderDarwinPropertiesEnum.inc"
21 llvm::StringRef
DynamicLoaderDarwinProperties::GetSettingName() {
22 static constexpr llvm::StringLiteral
g_setting_name("darwin");
23 return g_setting_name
;
26 DynamicLoaderDarwinProperties::ExperimentalProperties::ExperimentalProperties()
27 : Properties(std::make_shared
<OptionValueProperties
>(
28 GetExperimentalSettingsName())) {
29 m_collection_sp
->Initialize(g_dynamicloaderdarwin_experimental_properties
);
32 DynamicLoaderDarwinProperties::DynamicLoaderDarwinProperties()
33 : Properties(std::make_shared
<OptionValueProperties
>(GetSettingName())),
34 m_experimental_properties(std::make_unique
<ExperimentalProperties
>()) {
35 m_collection_sp
->AppendProperty(
36 Properties::GetExperimentalSettingsName(),
37 "Experimental settings - setting these won't produce errors if the "
38 "setting is not present.",
39 true, m_experimental_properties
->GetValueProperties());
42 bool DynamicLoaderDarwinProperties::GetEnableParallelImageLoad() const {
43 return m_experimental_properties
->GetPropertyAtIndexAs
<bool>(
44 ePropertyEnableParallelImageLoad
,
45 g_dynamicloaderdarwin_experimental_properties
46 [ePropertyEnableParallelImageLoad
]
47 .default_uint_value
!= 0);
50 DynamicLoaderDarwinProperties
&DynamicLoaderDarwinProperties::GetGlobal() {
51 static DynamicLoaderDarwinProperties g_settings
;