| 80 | } |
| 81 | |
| 82 | void cmXCodeObject::Print(std::ostream& out) |
| 83 | { |
| 84 | std::string separator = "\n"; |
| 85 | int indentFactor = 1; |
| 86 | cmXCodeObject::Indent(2 * indentFactor, out); |
| 87 | if (this->Version > 15 && |
| 88 | (this->IsA == PBXFileReference || this->IsA == PBXBuildFile)) { |
| 89 | separator = " "; |
| 90 | indentFactor = 0; |
| 91 | } |
| 92 | out << this->Id; |
| 93 | this->PrintComment(out); |
| 94 | out << " = {"; |
| 95 | if (separator == "\n"_s) { |
| 96 | out << separator; |
| 97 | } |
| 98 | cmXCodeObject::Indent(3 * indentFactor, out); |
| 99 | out << "isa = " << PBXTypeNames[this->IsA] << ";" << separator; |
| 100 | for (auto const& keyVal : this->ObjectAttributes) { |
| 101 | if (keyVal.first == "isa"_s) { |
| 102 | continue; |
| 103 | } |
| 104 | |
| 105 | PrintAttribute(out, 3, separator, indentFactor, keyVal.first, |
| 106 | keyVal.second, this); |
| 107 | } |
| 108 | cmXCodeObject::Indent(2 * indentFactor, out); |
| 109 | out << "};\n"; |
| 110 | } |
| 111 | |
| 112 | void cmXCodeObject::PrintAttribute(std::ostream& out, int level, |
| 113 | std::string const& separator, int factor, |
no test coverage detected