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/label.h" | 5 #include "tools/gn/label.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "tools/gn/err.h" | 9 #include "tools/gn/err.h" |
10 #include "tools/gn/filesystem_utils.h" | 10 #include "tools/gn/filesystem_utils.h" |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 size_t offset = 0; | 98 size_t offset = 0; |
99 #if defined(OS_WIN) | 99 #if defined(OS_WIN) |
100 if (IsPathAbsolute(input)) { | 100 if (IsPathAbsolute(input)) { |
101 if (input[0] != '/') { | 101 if (input[0] != '/') { |
102 *err = Err(original_value, "Bad absolute path.", | 102 *err = Err(original_value, "Bad absolute path.", |
103 "Absolute paths must be of the form /C:\\ but this is \"" + | 103 "Absolute paths must be of the form /C:\\ but this is \"" + |
104 input.as_string() + "\"."); | 104 input.as_string() + "\"."); |
105 return false; | 105 return false; |
106 } | 106 } |
107 if (input.size() > 3 && input[2] == ':' && IsSlash(input[3]) && | 107 if (input.size() > 3 && input[2] == ':' && IsSlash(input[3]) && |
108 IsAsciiAlpha(input[1])) { | 108 base::IsAsciiAlpha(input[1])) { |
109 // Skip over the drive letter colon. | 109 // Skip over the drive letter colon. |
110 offset = 3; | 110 offset = 3; |
111 } | 111 } |
112 } | 112 } |
113 #endif | 113 #endif |
114 size_t path_separator = input.find_first_of(":(", offset); | 114 size_t path_separator = input.find_first_of(":(", offset); |
115 base::StringPiece location_piece; | 115 base::StringPiece location_piece; |
116 base::StringPiece name_piece; | 116 base::StringPiece name_piece; |
117 base::StringPiece toolchain_piece; | 117 base::StringPiece toolchain_piece; |
118 if (path_separator == std::string::npos) { | 118 if (path_separator == std::string::npos) { |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 } | 270 } |
271 return ret; | 271 return ret; |
272 } | 272 } |
273 | 273 |
274 std::string Label::GetUserVisibleName(const Label& default_toolchain) const { | 274 std::string Label::GetUserVisibleName(const Label& default_toolchain) const { |
275 bool include_toolchain = | 275 bool include_toolchain = |
276 default_toolchain.dir() != toolchain_dir_ || | 276 default_toolchain.dir() != toolchain_dir_ || |
277 default_toolchain.name() != toolchain_name_; | 277 default_toolchain.name() != toolchain_name_; |
278 return GetUserVisibleName(include_toolchain); | 278 return GetUserVisibleName(include_toolchain); |
279 } | 279 } |
OLD | NEW |