summaryrefslogtreecommitdiffstats
path: root/tools/gn/value.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gn/value.cc')
-rw-r--r--tools/gn/value.cc126
1 files changed, 0 insertions, 126 deletions
diff --git a/tools/gn/value.cc b/tools/gn/value.cc
deleted file mode 100644
index cb78faa..0000000
--- a/tools/gn/value.cc
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "tools/gn/value.h"
-
-#include "base/strings/string_number_conversions.h"
-
-Value::Value()
- : type_(NONE),
- int_value_(0),
- origin_(NULL) {
-}
-
-Value::Value(const ParseNode* origin, Type t)
- : type_(t),
- int_value_(0),
- origin_(origin) {
-}
-
-Value::Value(const ParseNode* origin, int64 int_val)
- : type_(INTEGER),
- int_value_(int_val),
- origin_(origin) {
-}
-
-Value::Value(const ParseNode* origin, const base::StringPiece& str_val)
- : type_(STRING),
- string_value_(str_val.as_string()),
- int_value_(0),
- origin_(origin) {
-}
-
-Value::~Value() {
-}
-
-// static
-const char* Value::DescribeType(Type t) {
- switch (t) {
- case NONE:
- return "none";
- case INTEGER:
- return "integer";
- case STRING:
- return "string";
- case LIST:
- return "list";
- default:
- NOTREACHED();
- return "UNKNOWN";
- }
-}
-
-int64 Value::InterpretAsInt() const {
- switch (type_) {
- case NONE:
- return 0;
- case INTEGER:
- return int_value_;
- case STRING:
- return string_value_.empty() ? 0 : 1;
- case LIST:
- return list_value_.empty() ? 0 : 1;
- }
- return 0;
-}
-
-std::string Value::ToString() const {
- switch (type_) {
- case NONE:
- return "<void>";
- case INTEGER:
- return base::Int64ToString(int_value_);
- case STRING:
- return string_value_;
- case LIST: {
- std::string result = "[";
- for (size_t i = 0; i < list_value_.size(); i++) {
- if (i > 0)
- result += ", ";
- // TODO(brettw) maybe also want to escape quotes in the string.
- if (list_value_[i].type() == STRING)
- result += std::string("\"") + list_value_[i].ToString() + "\"";
- else
- result += list_value_[i].ToString();
- }
- result.push_back(']');
- return result;
- }
- }
- return std::string();
-}
-
-bool Value::VerifyTypeIs(Type t, Err* err) const {
- if (type_ == t)
- return true;
-
- *err = Err(origin(), std::string("This is not a ") + DescribeType(t) + ".");
- return false;
-}
-
-bool Value::operator==(const Value& other) const {
- if (type_ != other.type_)
- return false;
-
- switch (type_) {
- case Value::INTEGER:
- return int_value() == other.int_value();
- case Value::STRING:
- return string_value() == other.string_value();
- case Value::LIST:
- if (list_value().size() != other.list_value().size())
- return false;
- for (size_t i = 0; i < list_value().size(); i++) {
- if (list_value()[i] != other.list_value()[i])
- return false;
- }
- return true;
- default:
- return false;
- }
-}
-
-bool Value::operator!=(const Value& other) const {
- return !operator==(other);
-}