Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Side by Side Diff: src/scanner.h

Issue 821383009: Correctly parse line ends for debugging. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/objects.cc ('k') | test/mjsunit/regress/regress-2825.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project 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 // Features shared by parsing and pre-parsing scanners. 5 // Features shared by parsing and pre-parsing scanners.
6 6
7 #ifndef V8_SCANNER_H_ 7 #ifndef V8_SCANNER_H_
8 #define V8_SCANNER_H_ 8 #define V8_SCANNER_H_
9 9
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 UnicodeCache() {} 114 UnicodeCache() {}
115 typedef unibrow::Utf8Decoder<512> Utf8Decoder; 115 typedef unibrow::Utf8Decoder<512> Utf8Decoder;
116 116
117 StaticResource<Utf8Decoder>* utf8_decoder() { 117 StaticResource<Utf8Decoder>* utf8_decoder() {
118 return &utf8_decoder_; 118 return &utf8_decoder_;
119 } 119 }
120 120
121 bool IsIdentifierStart(unibrow::uchar c) { return kIsIdentifierStart.get(c); } 121 bool IsIdentifierStart(unibrow::uchar c) { return kIsIdentifierStart.get(c); }
122 bool IsIdentifierPart(unibrow::uchar c) { return kIsIdentifierPart.get(c); } 122 bool IsIdentifierPart(unibrow::uchar c) { return kIsIdentifierPart.get(c); }
123 bool IsLineTerminator(unibrow::uchar c) { return kIsLineTerminator.get(c); } 123 bool IsLineTerminator(unibrow::uchar c) { return kIsLineTerminator.get(c); }
124 bool IsLineTerminatorSequence(unibrow::uchar c, unibrow::uchar next) {
125 if (!IsLineTerminator(c)) return false;
126 if (c == 0x000d && next == 0x000a) return false; // CR with following LF.
127 return true;
128 }
129
124 bool IsWhiteSpace(unibrow::uchar c) { return kIsWhiteSpace.get(c); } 130 bool IsWhiteSpace(unibrow::uchar c) { return kIsWhiteSpace.get(c); }
125 bool IsWhiteSpaceOrLineTerminator(unibrow::uchar c) { 131 bool IsWhiteSpaceOrLineTerminator(unibrow::uchar c) {
126 return kIsWhiteSpaceOrLineTerminator.get(c); 132 return kIsWhiteSpaceOrLineTerminator.get(c);
127 } 133 }
128 134
129 private: 135 private:
130 unibrow::Predicate<IdentifierStart, 128> kIsIdentifierStart; 136 unibrow::Predicate<IdentifierStart, 128> kIsIdentifierStart;
131 unibrow::Predicate<IdentifierPart, 128> kIsIdentifierPart; 137 unibrow::Predicate<IdentifierPart, 128> kIsIdentifierPart;
132 unibrow::Predicate<unibrow::LineTerminator, 128> kIsLineTerminator; 138 unibrow::Predicate<unibrow::LineTerminator, 128> kIsLineTerminator;
133 unibrow::Predicate<WhiteSpace, 128> kIsWhiteSpace; 139 unibrow::Predicate<WhiteSpace, 128> kIsWhiteSpace;
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 bool harmony_classes_; 743 bool harmony_classes_;
738 // Whether we scan TEMPLATE_SPAN and TEMPLATE_TAIL 744 // Whether we scan TEMPLATE_SPAN and TEMPLATE_TAIL
739 bool harmony_templates_; 745 bool harmony_templates_;
740 // Whether we allow \u{xxxxx}. 746 // Whether we allow \u{xxxxx}.
741 bool harmony_unicode_; 747 bool harmony_unicode_;
742 }; 748 };
743 749
744 } } // namespace v8::internal 750 } } // namespace v8::internal
745 751
746 #endif // V8_SCANNER_H_ 752 #endif // V8_SCANNER_H_
OLDNEW
« no previous file with comments | « src/objects.cc ('k') | test/mjsunit/regress/regress-2825.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698