Chromium Code Reviews

Side by Side Diff: third_party/inspector_protocol/lib/Parser_cpp.template

Issue 2846673005: Roll third_party/inspector_protocol to efefa86c3183d307f0a0e53bf568fe57c5b58849 (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 {% for namespace in config.protocol.namespace %} 5 {% for namespace in config.protocol.namespace %}
6 namespace {{namespace}} { 6 namespace {{namespace}} {
7 {% endfor %} 7 {% endfor %}
8 8
9 namespace { 9 namespace {
10 10
(...skipping 33 matching lines...)
44 std::vector<char> buffer; 44 std::vector<char> buffer;
45 buffer.reserve(length + 1); 45 buffer.reserve(length + 1);
46 for (size_t i = 0; i < length; ++i) { 46 for (size_t i = 0; i < length; ++i) {
47 if (!isASCII(characters[i])) { 47 if (!isASCII(characters[i])) {
48 *ok = false; 48 *ok = false;
49 return 0; 49 return 0;
50 } 50 }
51 buffer.push_back(static_cast<char>(characters[i])); 51 buffer.push_back(static_cast<char>(characters[i]));
52 } 52 }
53 buffer.push_back('\0'); 53 buffer.push_back('\0');
54 char* endptr; 54 return StringUtil::toDouble(buffer.data(), length, ok);
55 double result = std::strtod(buffer.data(), &endptr);
56 *ok = !(*endptr);
57 return result;
58 } 55 }
59 56
60 double charactersToDouble(const uint8_t* characters, size_t length, bool* ok) 57 double charactersToDouble(const uint8_t* characters, size_t length, bool* ok)
61 { 58 {
62 std::string buffer(reinterpret_cast<const char*>(characters), length); 59 std::string buffer(reinterpret_cast<const char*>(characters), length);
63 char* endptr; 60 return StringUtil::toDouble(buffer.data(), length, ok);
64 double result = std::strtod(buffer.data(), &endptr);
65 *ok = !(*endptr);
66 return result;
67 } 61 }
68 62
69 template<typename Char> 63 template<typename Char>
70 bool parseConstToken(const Char* start, const Char* end, const Char** tokenEnd, const char* token) 64 bool parseConstToken(const Char* start, const Char* end, const Char** tokenEnd, const char* token)
71 { 65 {
72 while (start < end && *token != '\0' && *start++ == *token++) { } 66 while (start < end && *token != '\0' && *start++ == *token++) { }
73 if (*token != '\0') 67 if (*token != '\0')
74 return false; 68 return false;
75 *tokenEnd = start; 69 *tokenEnd = start;
76 return true; 70 return true;
(...skipping 467 matching lines...)
544 } 538 }
545 539
546 std::unique_ptr<Value> parseJSONCharacters(const uint8_t* characters, unsigned l ength) 540 std::unique_ptr<Value> parseJSONCharacters(const uint8_t* characters, unsigned l ength)
547 { 541 {
548 return parseJSONInternal<uint8_t>(characters, length); 542 return parseJSONInternal<uint8_t>(characters, length);
549 } 543 }
550 544
551 {% for namespace in config.protocol.namespace %} 545 {% for namespace in config.protocol.namespace %}
552 } // namespace {{namespace}} 546 } // namespace {{namespace}}
553 {% endfor %} 547 {% endfor %}
OLDNEW

Powered by Google App Engine