| 3755 | } |
| 3756 | |
| 3757 | std::string cmMakefile::FormatListFileStack() const |
| 3758 | { |
| 3759 | std::vector<std::string> listFiles; |
| 3760 | for (auto snp = this->StateSnapshot; snp.IsValid(); |
| 3761 | snp = snp.GetCallStackParent()) { |
| 3762 | listFiles.emplace_back(snp.GetExecutionListFile()); |
| 3763 | } |
| 3764 | |
| 3765 | if (listFiles.empty()) { |
| 3766 | return {}; |
| 3767 | } |
| 3768 | |
| 3769 | auto depth = 1; |
| 3770 | std::transform(listFiles.begin(), listFiles.end(), listFiles.begin(), |
| 3771 | [&depth](std::string const& file) { |
| 3772 | return cmStrCat('[', depth++, "]\t", file); |
| 3773 | }); |
| 3774 | |
| 3775 | return cmJoinStrings(cmMakeRange(listFiles.rbegin(), listFiles.rend()), |
| 3776 | "\n "_s, {}); |
| 3777 | } |
| 3778 | |
| 3779 | void cmMakefile::PushScope() |
| 3780 | { |
no test coverage detected