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/operators.h" | 5 #include "tools/gn/operators.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <algorithm> | 8 #include <algorithm> |
9 | 9 |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 } else if (old_value.type() == Value::SCOPE) { | 221 } else if (old_value.type() == Value::SCOPE) { |
222 type_name = "scope"; | 222 type_name = "scope"; |
223 empty_def = "{}"; | 223 empty_def = "{}"; |
224 } else { | 224 } else { |
225 NOTREACHED(); | 225 NOTREACHED(); |
226 } | 226 } |
227 | 227 |
228 Err result(op_node->left()->GetRange(), | 228 Err result(op_node->left()->GetRange(), |
229 "Replacing nonempty " + type_name + ".", | 229 "Replacing nonempty " + type_name + ".", |
230 "This overwrites a previously-defined nonempty " + type_name + | 230 "This overwrites a previously-defined nonempty " + type_name + |
231 "with another nonempty " + type_name + "."); | 231 " with another nonempty " + type_name + "."); |
232 result.AppendSubErr(Err(old_value, "for previous definition", | 232 result.AppendSubErr(Err(old_value, "for previous definition", |
233 "Did you mean to append/modify instead? If you really want to overwrite, " | 233 "Did you mean to append/modify instead? If you really want to overwrite, " |
234 "do:\n" | 234 "do:\n" |
235 " foo = " + empty_def + "\nbefore reassigning.")); | 235 " foo = " + empty_def + "\nbefore reassigning.")); |
236 return result; | 236 return result; |
237 } | 237 } |
238 | 238 |
239 // ----------------------------------------------------------------------------- | 239 // ----------------------------------------------------------------------------- |
240 | 240 |
241 Err MakeIncompatibleTypeError(const BinaryOpNode* op_node, | 241 Err MakeIncompatibleTypeError(const BinaryOpNode* op_node, |
(...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
774 return ExecuteGreaterEquals(scope, op_node, left_value, right_value, err); | 774 return ExecuteGreaterEquals(scope, op_node, left_value, right_value, err); |
775 if (op.type() == Token::LESS_EQUAL) | 775 if (op.type() == Token::LESS_EQUAL) |
776 return ExecuteLessEquals(scope, op_node, left_value, right_value, err); | 776 return ExecuteLessEquals(scope, op_node, left_value, right_value, err); |
777 if (op.type() == Token::GREATER_THAN) | 777 if (op.type() == Token::GREATER_THAN) |
778 return ExecuteGreater(scope, op_node, left_value, right_value, err); | 778 return ExecuteGreater(scope, op_node, left_value, right_value, err); |
779 if (op.type() == Token::LESS_THAN) | 779 if (op.type() == Token::LESS_THAN) |
780 return ExecuteLess(scope, op_node, left_value, right_value, err); | 780 return ExecuteLess(scope, op_node, left_value, right_value, err); |
781 | 781 |
782 return Value(); | 782 return Value(); |
783 } | 783 } |
OLD | NEW |