| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "tools/gn/builder.h" | 5 #include "tools/gn/builder.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <utility> |
| 8 | 9 |
| 9 #include "tools/gn/config.h" | 10 #include "tools/gn/config.h" |
| 10 #include "tools/gn/deps_iterator.h" | 11 #include "tools/gn/deps_iterator.h" |
| 11 #include "tools/gn/err.h" | 12 #include "tools/gn/err.h" |
| 12 #include "tools/gn/loader.h" | 13 #include "tools/gn/loader.h" |
| 13 #include "tools/gn/scheduler.h" | 14 #include "tools/gn/scheduler.h" |
| 14 #include "tools/gn/settings.h" | 15 #include "tools/gn/settings.h" |
| 15 #include "tools/gn/target.h" | 16 #include "tools/gn/target.h" |
| 16 #include "tools/gn/trace.h" | 17 #include "tools/gn/trace.h" |
| 17 | 18 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 if (record->item()) { | 76 if (record->item()) { |
| 76 err = Err(item->defined_from(), "Duplicate definition.", | 77 err = Err(item->defined_from(), "Duplicate definition.", |
| 77 "The item\n " + item->label().GetUserVisibleName(false) + | 78 "The item\n " + item->label().GetUserVisibleName(false) + |
| 78 "\nwas already defined."); | 79 "\nwas already defined."); |
| 79 err.AppendSubErr(Err(record->item()->defined_from(), | 80 err.AppendSubErr(Err(record->item()->defined_from(), |
| 80 "Previous definition:")); | 81 "Previous definition:")); |
| 81 g_scheduler->FailWithError(err); | 82 g_scheduler->FailWithError(err); |
| 82 return; | 83 return; |
| 83 } | 84 } |
| 84 | 85 |
| 85 record->set_item(item.Pass()); | 86 record->set_item(std::move(item)); |
| 86 | 87 |
| 87 // Do target-specific dependency setup. This will also schedule dependency | 88 // Do target-specific dependency setup. This will also schedule dependency |
| 88 // loads for targets that are required. | 89 // loads for targets that are required. |
| 89 switch (type) { | 90 switch (type) { |
| 90 case BuilderRecord::ITEM_TARGET: | 91 case BuilderRecord::ITEM_TARGET: |
| 91 TargetDefined(record, &err); | 92 TargetDefined(record, &err); |
| 92 break; | 93 break; |
| 93 case BuilderRecord::ITEM_CONFIG: | 94 case BuilderRecord::ITEM_CONFIG: |
| 94 ConfigDefined(record, &err); | 95 ConfigDefined(record, &err); |
| 95 break; | 96 break; |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 505 std::string ret; | 506 std::string ret; |
| 506 for (size_t i = 0; i < cycle.size(); i++) { | 507 for (size_t i = 0; i < cycle.size(); i++) { |
| 507 ret += " " + cycle[i]->label().GetUserVisibleName(false); | 508 ret += " " + cycle[i]->label().GetUserVisibleName(false); |
| 508 if (i != cycle.size() - 1) | 509 if (i != cycle.size() - 1) |
| 509 ret += " ->"; | 510 ret += " ->"; |
| 510 ret += "\n"; | 511 ret += "\n"; |
| 511 } | 512 } |
| 512 | 513 |
| 513 return ret; | 514 return ret; |
| 514 } | 515 } |
| OLD | NEW |