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

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

Issue 212933008: Don't dynamically scope GN templates. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « tools/gn/BUILD.gn ('k') | tools/gn/function_template.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/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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 // Run the block for the rule invocation. 76 // Run the block for the rule invocation.
77 Scope block_scope(scope); 77 Scope block_scope(scope);
78 block->ExecuteBlockInScope(&block_scope, err); 78 block->ExecuteBlockInScope(&block_scope, err);
79 if (err->has_error()) 79 if (err->has_error())
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, false, function,
86 "<SHOULD NOT FAIL>", err);
86 return Value(); 87 return Value();
87 } 88 }
88 89
89 } // namespace functions 90 } // namespace functions
OLDNEW
« no previous file with comments | « tools/gn/BUILD.gn ('k') | tools/gn/function_template.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698