diff options
Diffstat (limited to 'tools/gn/token.cc')
-rw-r--r-- | tools/gn/token.cc | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/tools/gn/token.cc b/tools/gn/token.cc deleted file mode 100644 index cbce5e7..0000000 --- a/tools/gn/token.cc +++ /dev/null @@ -1,60 +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/token.h" - -#include "base/logging.h" - -namespace { - -std::string UnescapeString(const base::StringPiece& input) { - std::string result; - result.reserve(input.size()); - - for (size_t i = 0; i < input.size(); i++) { - if (input[i] == '\\') { - DCHECK(i < input.size() - 1); // Last char shouldn't be a backslash or - // it would have escaped the terminator. - i++; // Skip backslash, next char is a literal. - } - result.push_back(input[i]); - } - return result; -} - -} // namespace - -Token::Token() : type_(INVALID), value_() { -} - -Token::Token(const Location& location, - Type t, - const base::StringPiece& v) - : type_(t), - value_(v), - location_(location) { -} - -bool Token::IsIdentifierEqualTo(const char* v) const { - return type_ == IDENTIFIER && value_ == v; -} - -bool Token::IsOperatorEqualTo(const char* v) const { - return type_ == OPERATOR && value_ == v; -} - -bool Token::IsScoperEqualTo(const char* v) const { - return type_ == SCOPER && value_ == v; -} - -bool Token::IsStringEqualTo(const char* v) const { - return type_ == STRING && value_ == v; -} - -std::string Token::StringValue() const { - DCHECK(type() == STRING); - - // Trim off the string terminators at the end. - return UnescapeString(value_.substr(1, value_.size() - 2)); -} |