cmGeneratorExpressionDAGChecker: De-duplicate constructor signature

This commit is contained in:
Brad King
2025-02-22 07:27:18 -05:00
parent 82151ea289
commit 99fee5720d
6 changed files with 33 additions and 36 deletions

View File

@@ -584,13 +584,13 @@ cmComputeLinkDepends::cmComputeLinkDepends(const cmGeneratorTarget* target,
if (!feature->empty() && key.length() > lloPrefix.length()) {
auto item = key.substr(lloPrefix.length());
cmGeneratorExpressionDAGChecker dagChecker{
this->Target->GetBacktrace(),
this->Target,
"LINK_LIBRARY_OVERRIDE",
nullptr,
nullptr,
this->Target->GetLocalGenerator(),
config,
this->Target->GetBacktrace(),
};
auto overrideFeature = cmGeneratorExpression::Evaluate(
*feature, this->Target->GetLocalGenerator(), config,
@@ -604,13 +604,13 @@ cmComputeLinkDepends::cmComputeLinkDepends(const cmGeneratorTarget* target,
if (cmValue linkLibraryOverride =
this->Target->GetProperty("LINK_LIBRARY_OVERRIDE")) {
cmGeneratorExpressionDAGChecker dagChecker{
target->GetBacktrace(),
target,
"LINK_LIBRARY_OVERRIDE",
nullptr,
nullptr,
target->GetLocalGenerator(),
config,
target->GetBacktrace(),
};
auto overrideValue = cmGeneratorExpression::Evaluate(
*linkLibraryOverride, target->GetLocalGenerator(), config, target,

View File

@@ -19,20 +19,9 @@
cmGeneratorExpressionDAGChecker::cmGeneratorExpressionDAGChecker(
cmGeneratorTarget const* target, std::string property,
const GeneratorExpressionContent* content,
GeneratorExpressionContent const* content,
cmGeneratorExpressionDAGChecker* parent, cmLocalGenerator const* contextLG,
std::string const& contextConfig)
: cmGeneratorExpressionDAGChecker(cmListFileBacktrace(), target,
std::move(property), content, parent,
contextLG, contextConfig)
{
}
cmGeneratorExpressionDAGChecker::cmGeneratorExpressionDAGChecker(
cmListFileBacktrace backtrace, cmGeneratorTarget const* target,
std::string property, const GeneratorExpressionContent* content,
cmGeneratorExpressionDAGChecker* parent, cmLocalGenerator const* contextLG,
std::string const& contextConfig)
std::string const& contextConfig, cmListFileBacktrace backtrace)
: Parent(parent)
, Top(parent ? parent->Top : this)
, Target(target)

View File

@@ -17,19 +17,12 @@ class cmLocalGenerator;
struct cmGeneratorExpressionDAGChecker
{
cmGeneratorExpressionDAGChecker(cmListFileBacktrace backtrace,
cmGeneratorTarget const* target,
std::string property,
const GeneratorExpressionContent* content,
cmGeneratorExpressionDAGChecker* parent,
cmLocalGenerator const* contextLG,
std::string const& contextConfig);
cmGeneratorExpressionDAGChecker(cmGeneratorTarget const* target,
std::string property,
const GeneratorExpressionContent* content,
cmGeneratorExpressionDAGChecker* parent,
cmLocalGenerator const* contextLG,
std::string const& contextConfig);
cmGeneratorExpressionDAGChecker(
cmGeneratorTarget const* target, std::string property,
GeneratorExpressionContent const* content,
cmGeneratorExpressionDAGChecker* parent, cmLocalGenerator const* contextLG,
std::string const& contextConfig,
cmListFileBacktrace backtrace = cmListFileBacktrace());
enum Result
{

View File

@@ -486,13 +486,13 @@ protected:
{
if (context->HeadTarget) {
cmGeneratorExpressionDAGChecker dagChecker{
context->Backtrace,
context->HeadTarget,
genexOperator + ":" + expression,
content,
dagCheckerParent,
context->LG,
context->Config,
context->Backtrace,
};
switch (dagChecker.Check()) {
case cmGeneratorExpressionDAGChecker::SELF_REFERENCE:
@@ -2993,8 +2993,13 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
}
cmGeneratorExpressionDAGChecker dagChecker{
context->Backtrace, target, propertyName, content,
dagCheckerParent, context->LG, context->Config,
target,
propertyName,
content,
dagCheckerParent,
context->LG,
context->Config,
context->Backtrace,
};
switch (dagChecker.Check()) {

View File

@@ -48,8 +48,13 @@ std::string AddLangSpecificInterfaceIncludeDirectories(
cmGeneratorExpressionDAGChecker* context)
{
cmGeneratorExpressionDAGChecker dagChecker{
target->GetBacktrace(), target, propertyName, nullptr, context,
target->GetLocalGenerator(), config,
target,
propertyName,
nullptr,
context,
target->GetLocalGenerator(),
config,
target->GetBacktrace(),
};
switch (dagChecker.Check()) {
case cmGeneratorExpressionDAGChecker::SELF_REFERENCE:
@@ -101,8 +106,13 @@ void AddLangSpecificImplicitIncludeDirectories(
if (const auto* libraries =
target->GetLinkImplementationLibraries(config, UseTo::Compile)) {
cmGeneratorExpressionDAGChecker dagChecker{
target->GetBacktrace(), target, propertyName, nullptr, nullptr,
target->GetLocalGenerator(), config,
target,
propertyName,
nullptr,
nullptr,
target->GetLocalGenerator(),
config,
target->GetBacktrace(),
};
for (const cmLinkImplItem& library : libraries->Libraries) {

View File

@@ -110,13 +110,13 @@ std::string cmGeneratorTarget::EvaluateInterfaceProperty(
// a subset of TargetPropertyNode::Evaluate without stringify/parse steps
// but sufficient for transitive interface properties.
cmGeneratorExpressionDAGChecker dagChecker{
context->Backtrace,
this,
prop,
nullptr,
dagCheckerParent,
this->LocalGenerator,
context->Config,
context->Backtrace,
};
switch (dagChecker.Check()) {
case cmGeneratorExpressionDAGChecker::SELF_REFERENCE: