Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(162)

Side by Side Diff: tools/gn/functions.cc

Issue 1869503004: Convert //tools to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase, change iwyu fixes for converted directories to include <memory> Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/gn/function_toolchain.cc ('k') | tools/gn/functions_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/functions.h" 5 #include "tools/gn/functions.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <iostream> 8 #include <iostream>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 if (!EnsureSingleStringArg(function, args, err) || 294 if (!EnsureSingleStringArg(function, args, err) ||
295 !EnsureNotProcessingImport(function, scope, err)) 295 !EnsureNotProcessingImport(function, scope, err))
296 return Value(); 296 return Value();
297 297
298 Label label(MakeLabelForScope(scope, function, args[0].string_value())); 298 Label label(MakeLabelForScope(scope, function, args[0].string_value()));
299 299
300 if (g_scheduler->verbose_logging()) 300 if (g_scheduler->verbose_logging())
301 g_scheduler->Log("Defining config", label.GetUserVisibleName(true)); 301 g_scheduler->Log("Defining config", label.GetUserVisibleName(true));
302 302
303 // Create the new config. 303 // Create the new config.
304 scoped_ptr<Config> config(new Config(scope->settings(), label)); 304 std::unique_ptr<Config> config(new Config(scope->settings(), label));
305 config->set_defined_from(function); 305 config->set_defined_from(function);
306 if (!Visibility::FillItemVisibility(config.get(), scope, err)) 306 if (!Visibility::FillItemVisibility(config.get(), scope, err))
307 return Value(); 307 return Value();
308 308
309 // Fill the flags and such. 309 // Fill the flags and such.
310 const SourceDir& input_dir = scope->GetSourceDir(); 310 const SourceDir& input_dir = scope->GetSourceDir();
311 ConfigValuesGenerator gen(&config->own_values(), scope, input_dir, err); 311 ConfigValuesGenerator gen(&config->own_values(), scope, input_dir, err);
312 gen.Run(); 312 gen.Run();
313 if (err->has_error()) 313 if (err->has_error())
314 return Value(); 314 return Value();
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 "\n" 528 "\n"
529 " home_dir = getenv(\"HOME\")\n"; 529 " home_dir = getenv(\"HOME\")\n";
530 530
531 Value RunGetEnv(Scope* scope, 531 Value RunGetEnv(Scope* scope,
532 const FunctionCallNode* function, 532 const FunctionCallNode* function,
533 const std::vector<Value>& args, 533 const std::vector<Value>& args,
534 Err* err) { 534 Err* err) {
535 if (!EnsureSingleStringArg(function, args, err)) 535 if (!EnsureSingleStringArg(function, args, err))
536 return Value(); 536 return Value();
537 537
538 scoped_ptr<base::Environment> env(base::Environment::Create()); 538 std::unique_ptr<base::Environment> env(base::Environment::Create());
539 539
540 std::string result; 540 std::string result;
541 if (!env->GetVar(args[0].string_value().c_str(), &result)) 541 if (!env->GetVar(args[0].string_value().c_str(), &result))
542 return Value(function, ""); // Not found, return empty string. 542 return Value(function, ""); // Not found, return empty string.
543 return Value(function, result); 543 return Value(function, result);
544 } 544 }
545 545
546 // import ---------------------------------------------------------------------- 546 // import ----------------------------------------------------------------------
547 547
548 const char kImport[] = "import"; 548 const char kImport[] = "import";
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 " print(sources)\n" 663 " print(sources)\n"
664 " # Will print [ \"a.cc\" ]. b_win one was filtered out.\n"; 664 " # Will print [ \"a.cc\" ]. b_win one was filtered out.\n";
665 665
666 Value RunSetSourcesAssignmentFilter(Scope* scope, 666 Value RunSetSourcesAssignmentFilter(Scope* scope,
667 const FunctionCallNode* function, 667 const FunctionCallNode* function,
668 const std::vector<Value>& args, 668 const std::vector<Value>& args,
669 Err* err) { 669 Err* err) {
670 if (args.size() != 1) { 670 if (args.size() != 1) {
671 *err = Err(function, "set_sources_assignment_filter takes one argument."); 671 *err = Err(function, "set_sources_assignment_filter takes one argument.");
672 } else { 672 } else {
673 scoped_ptr<PatternList> f(new PatternList); 673 std::unique_ptr<PatternList> f(new PatternList);
674 f->SetFromValue(args[0], err); 674 f->SetFromValue(args[0], err);
675 if (!err->has_error()) 675 if (!err->has_error())
676 scope->set_sources_assignment_filter(std::move(f)); 676 scope->set_sources_assignment_filter(std::move(f));
677 } 677 }
678 return Value(); 678 return Value();
679 } 679 }
680 680
681 // print ----------------------------------------------------------------------- 681 // print -----------------------------------------------------------------------
682 682
683 const char kPrint[] = "print"; 683 const char kPrint[] = "print";
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
921 } 921 }
922 922
923 // Otherwise it's a no-block function. 923 // Otherwise it's a no-block function.
924 if (!VerifyNoBlockForFunctionCall(function, block, err)) 924 if (!VerifyNoBlockForFunctionCall(function, block, err))
925 return Value(); 925 return Value();
926 return found_function->second.no_block_runner(scope, function, 926 return found_function->second.no_block_runner(scope, function,
927 args.list_value(), err); 927 args.list_value(), err);
928 } 928 }
929 929
930 } // namespace functions 930 } // namespace functions
OLDNEW
« no previous file with comments | « tools/gn/function_toolchain.cc ('k') | tools/gn/functions_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698