| OLD | NEW |
| 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 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 }; | 159 }; |
| 160 | 160 |
| 161 | 161 |
| 162 // ---------------------------------------------------------------------------- | 162 // ---------------------------------------------------------------------------- |
| 163 // LiteralBuffer - Collector of chars of literals. | 163 // LiteralBuffer - Collector of chars of literals. |
| 164 | 164 |
| 165 class LiteralBuffer { | 165 class LiteralBuffer { |
| 166 public: | 166 public: |
| 167 LiteralBuffer() : is_one_byte_(true), position_(0), backing_store_() { } | 167 LiteralBuffer() : is_one_byte_(true), position_(0), backing_store_() { } |
| 168 | 168 |
| 169 ~LiteralBuffer() { | 169 ~LiteralBuffer() { backing_store_.Dispose(); } |
| 170 if (backing_store_.length() > 0) { | |
| 171 backing_store_.Dispose(); | |
| 172 } | |
| 173 } | |
| 174 | 170 |
| 175 INLINE(void AddChar(uint32_t code_unit)) { | 171 INLINE(void AddChar(uint32_t code_unit)) { |
| 176 if (position_ >= backing_store_.length()) ExpandBuffer(); | 172 if (position_ >= backing_store_.length()) ExpandBuffer(); |
| 177 if (is_one_byte_) { | 173 if (is_one_byte_) { |
| 178 if (code_unit <= unibrow::Latin1::kMaxChar) { | 174 if (code_unit <= unibrow::Latin1::kMaxChar) { |
| 179 backing_store_[position_] = static_cast<byte>(code_unit); | 175 backing_store_[position_] = static_cast<byte>(code_unit); |
| 180 position_ += kOneByteSize; | 176 position_ += kOneByteSize; |
| 181 return; | 177 return; |
| 182 } | 178 } |
| 183 ConvertToTwoByte(); | 179 ConvertToTwoByte(); |
| (...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 760 bool has_line_terminator_before_next_; | 756 bool has_line_terminator_before_next_; |
| 761 // Whether there is a multi-line comment that contains a | 757 // Whether there is a multi-line comment that contains a |
| 762 // line-terminator after the current token, and before the next. | 758 // line-terminator after the current token, and before the next. |
| 763 bool has_multiline_comment_before_next_; | 759 bool has_multiline_comment_before_next_; |
| 764 }; | 760 }; |
| 765 | 761 |
| 766 } // namespace internal | 762 } // namespace internal |
| 767 } // namespace v8 | 763 } // namespace v8 |
| 768 | 764 |
| 769 #endif // V8_SCANNER_H_ | 765 #endif // V8_SCANNER_H_ |
| OLD | NEW |