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/err.h" | 5 #include "tools/gn/err.h" |
6 #include "tools/gn/functions.h" | 6 #include "tools/gn/functions.h" |
7 #include "tools/gn/parse_tree.h" | 7 #include "tools/gn/parse_tree.h" |
8 #include "tools/gn/scope.h" | 8 #include "tools/gn/scope.h" |
9 | 9 |
10 namespace functions { | 10 namespace functions { |
(...skipping 17 matching lines...) Expand all Loading... |
28 " command.\n" | 28 " command.\n" |
29 "\n" | 29 "\n" |
30 "Example:\n" | 30 "Example:\n" |
31 " set_defaults(\"static_library\") {\n" | 31 " set_defaults(\"static_library\") {\n" |
32 " configs = [ \"//tools/mything:settings\" ]\n" | 32 " configs = [ \"//tools/mything:settings\" ]\n" |
33 " }\n" | 33 " }\n" |
34 "\n" | 34 "\n" |
35 " static_library(\"mylib\")\n" | 35 " static_library(\"mylib\")\n" |
36 " # The configs will be auto-populated as above. You can remove it if\n" | 36 " # The configs will be auto-populated as above. You can remove it if\n" |
37 " # you don't want the default for a particular default:\n" | 37 " # you don't want the default for a particular default:\n" |
38 " configs -= \"//tools/mything:setgings\"\n" | 38 " configs -= \"//tools/mything:settings\"\n" |
39 " }\n"; | 39 " }\n"; |
40 | 40 |
41 Value RunSetDefaults(Scope* scope, | 41 Value RunSetDefaults(Scope* scope, |
42 const FunctionCallNode* function, | 42 const FunctionCallNode* function, |
43 const std::vector<Value>& args, | 43 const std::vector<Value>& args, |
44 BlockNode* block, | 44 BlockNode* block, |
45 Err* err) { | 45 Err* err) { |
46 if (!EnsureSingleStringArg(function, args, err)) | 46 if (!EnsureSingleStringArg(function, args, err)) |
47 return Value(); | 47 return Value(); |
48 const std::string& target_type(args[0].string_value()); | 48 const std::string& target_type(args[0].string_value()); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 return Value(); | 80 return Value(); |
81 | 81 |
82 // Now copy the values set on the scope we made into the free-floating one | 82 // Now copy the values set on the scope we made into the free-floating one |
83 // (with no containing scope) used to hold the target defaults. | 83 // (with no containing scope) used to hold the target defaults. |
84 Scope* dest = scope->MakeTargetDefaults(target_type); | 84 Scope* dest = scope->MakeTargetDefaults(target_type); |
85 block_scope.NonRecursiveMergeTo(dest, function, "<SHOULD NOT FAIL>", err); | 85 block_scope.NonRecursiveMergeTo(dest, function, "<SHOULD NOT FAIL>", err); |
86 return Value(); | 86 return Value(); |
87 } | 87 } |
88 | 88 |
89 } // namespace functions | 89 } // namespace functions |
OLD | NEW |