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/string_utils.h" | 5 #include "tools/gn/string_utils.h" |
6 | 6 |
7 #include "tools/gn/err.h" | 7 #include "tools/gn/err.h" |
8 #include "tools/gn/input_file.h" | 8 #include "tools/gn/input_file.h" |
9 #include "tools/gn/parser.h" | 9 #include "tools/gn/parser.h" |
10 #include "tools/gn/scope.h" | 10 #include "tools/gn/scope.h" |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 } else if (input[i] == '$') { | 235 } else if (input[i] == '$') { |
236 if (!AppendStringInterpolation(scope, literal, input, size, &i, | 236 if (!AppendStringInterpolation(scope, literal, input, size, &i, |
237 &output, err)) | 237 &output, err)) |
238 return false; | 238 return false; |
239 } else { | 239 } else { |
240 output.push_back(input[i]); | 240 output.push_back(input[i]); |
241 } | 241 } |
242 } | 242 } |
243 return true; | 243 return true; |
244 } | 244 } |
245 | |
246 std::string RemovePrefix(const std::string& str, const std::string& prefix) { | |
247 CHECK(str.size() >= prefix.size() && | |
248 str.compare(0, prefix.size(), prefix) == 0); | |
249 return str.substr(prefix.size()); | |
250 } | |
251 | |
252 void TrimTrailingSlash(std::string* str) { | |
253 if (!str->empty()) { | |
254 DCHECK((*str)[str->size() - 1] == '/'); | |
255 str->resize(str->size() - 1); | |
256 } | |
257 } | |
OLD | NEW |