1
0
Эх сурвалжийг харах

cmGeneratorExpressionDAGChecker: De-duplicate constructor signature

Brad King 8 сар өмнө
parent
commit
99fee5720d

+ 2 - 2
Source/cmComputeLinkDepends.cxx

@@ -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,

+ 2 - 13
Source/cmGeneratorExpressionDAGChecker.cxx

@@ -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)

+ 6 - 13
Source/cmGeneratorExpressionDAGChecker.h

@@ -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
   {

+ 8 - 3
Source/cmGeneratorExpressionNode.cxx

@@ -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()) {

+ 14 - 4
Source/cmGeneratorTarget_IncludeDirectories.cxx

@@ -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) {

+ 1 - 1
Source/cmGeneratorTarget_TransitiveProperty.cxx

@@ -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: