| /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying | |
| file LICENSE.rst or https://cmake.org/licensing for details. */ | |
| #pragma once | |
| #include "cmConfigure.h" // IWYU pragma: keep | |
| #include <memory> | |
| #include <set> | |
| #include <string> | |
| #include <utility> | |
| #include <vector> | |
| #include "cmAlgorithms.h" | |
| #include "cmPolicies.h" | |
| class cmFileSet; | |
| class cmGlobalGenerator; | |
| class cmMakefile; | |
| class cmTarget; | |
| class cmTest; | |
| namespace cmDebugger { | |
| class cmDebuggerStackFrame; | |
| class cmDebuggerVariables; | |
| class cmDebuggerVariablesManager; | |
| } | |
| template <typename T> | |
| class BT; | |
| namespace cmDebugger { | |
| class cmDebuggerVariablesHelper | |
| { | |
| cmDebuggerVariablesHelper() = default; | |
| public: | |
| static std::shared_ptr<cmDebuggerVariables> Create( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, | |
| cmPolicies::PolicyMap const& policyMap); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, | |
| std::vector<std::pair<std::string, std::string>> const& list); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, | |
| cmBTStringRange entries); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, | |
| std::set<std::string> const& values); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, | |
| std::vector<std::string> const& values); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, | |
| std::vector<BT<std::string>> const& list); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, cmFileSet* fileSet); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, | |
| std::vector<cmFileSet*> const& fileSets); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, cmTest* test); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, | |
| std::vector<cmTest*> const& tests); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, | |
| std::vector<cmTarget*> const& targets); | |
| static std::shared_ptr<cmDebuggerVariables> Create( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, | |
| std::shared_ptr<cmDebuggerStackFrame> const& frame); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, cmMakefile* mf); | |
| static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | |
| std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | |
| std::string const& name, bool supportsVariableType, | |
| cmGlobalGenerator* gen); | |
| }; | |
| } // namespace cmDebugger |