| OLD | NEW | 
|---|
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. | 
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without | 
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are | 
| 4 // met: | 4 // met: | 
| 5 // | 5 // | 
| 6 //     * Redistributions of source code must retain the above copyright | 6 //     * Redistributions of source code must retain the above copyright | 
| 7 //       notice, this list of conditions and the following disclaimer. | 7 //       notice, this list of conditions and the following disclaimer. | 
| 8 //     * Redistributions in binary form must reproduce the above | 8 //     * Redistributions in binary form must reproduce the above | 
| 9 //       copyright notice, this list of conditions and the following | 9 //       copyright notice, this list of conditions and the following | 
| 10 //       disclaimer in the documentation and/or other materials provided | 10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 162 class LiteralBuffer { | 162 class LiteralBuffer { | 
| 163  public: | 163  public: | 
| 164   LiteralBuffer() : is_ascii_(true), position_(0), backing_store_() { } | 164   LiteralBuffer() : is_ascii_(true), position_(0), backing_store_() { } | 
| 165 | 165 | 
| 166   ~LiteralBuffer() { | 166   ~LiteralBuffer() { | 
| 167     if (backing_store_.length() > 0) { | 167     if (backing_store_.length() > 0) { | 
| 168       backing_store_.Dispose(); | 168       backing_store_.Dispose(); | 
| 169     } | 169     } | 
| 170   } | 170   } | 
| 171 | 171 | 
| 172   inline void AddChar(uc16 character) { | 172   INLINE(void AddChar(uc16 character)) { | 
| 173     if (position_ >= backing_store_.length()) ExpandBuffer(); | 173     if (position_ >= backing_store_.length()) ExpandBuffer(); | 
| 174     if (is_ascii_) { | 174     if (is_ascii_) { | 
| 175       if (character < kMaxAsciiCharCodeU) { | 175       if (character < kMaxAsciiCharCodeU) { | 
| 176         backing_store_[position_] = static_cast<byte>(character); | 176         backing_store_[position_] = static_cast<byte>(character); | 
| 177         position_ += kASCIISize; | 177         position_ += kASCIISize; | 
| 178         return; | 178         return; | 
| 179       } | 179       } | 
| 180       ConvertToUC16(); | 180       ConvertToUC16(); | 
| 181     } | 181     } | 
| 182     *reinterpret_cast<uc16*>(&backing_store_[position_]) = character; | 182     *reinterpret_cast<uc16*>(&backing_store_[position_]) = character; | 
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 382   } | 382   } | 
| 383 | 383 | 
| 384   // Literal buffer support | 384   // Literal buffer support | 
| 385   inline void StartLiteral() { | 385   inline void StartLiteral() { | 
| 386     LiteralBuffer* free_buffer = (current_.literal_chars == &literal_buffer1_) ? | 386     LiteralBuffer* free_buffer = (current_.literal_chars == &literal_buffer1_) ? | 
| 387             &literal_buffer2_ : &literal_buffer1_; | 387             &literal_buffer2_ : &literal_buffer1_; | 
| 388     free_buffer->Reset(); | 388     free_buffer->Reset(); | 
| 389     next_.literal_chars = free_buffer; | 389     next_.literal_chars = free_buffer; | 
| 390   } | 390   } | 
| 391 | 391 | 
| 392   inline void AddLiteralChar(uc32 c) { | 392   INLINE(void AddLiteralChar(uc32 c)) { | 
| 393     ASSERT_NOT_NULL(next_.literal_chars); | 393     ASSERT_NOT_NULL(next_.literal_chars); | 
| 394     next_.literal_chars->AddChar(c); | 394     next_.literal_chars->AddChar(c); | 
| 395   } | 395   } | 
| 396 | 396 | 
| 397   // Complete scanning of a literal. | 397   // Complete scanning of a literal. | 
| 398   inline void TerminateLiteral() { | 398   inline void TerminateLiteral() { | 
| 399     // Does nothing in the current implementation. | 399     // Does nothing in the current implementation. | 
| 400   } | 400   } | 
| 401 | 401 | 
| 402   // Stops scanning of a literal and drop the collected characters, | 402   // Stops scanning of a literal and drop the collected characters, | 
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 566   // line-terminator after the current token, and before the next. | 566   // line-terminator after the current token, and before the next. | 
| 567   bool has_multiline_comment_before_next_; | 567   bool has_multiline_comment_before_next_; | 
| 568   // Whether we scan 'let' as a keyword for harmony block scoped | 568   // Whether we scan 'let' as a keyword for harmony block scoped | 
| 569   // let bindings. | 569   // let bindings. | 
| 570   bool harmony_scoping_; | 570   bool harmony_scoping_; | 
| 571 }; | 571 }; | 
| 572 | 572 | 
| 573 } }  // namespace v8::internal | 573 } }  // namespace v8::internal | 
| 574 | 574 | 
| 575 #endif  // V8_SCANNER_H_ | 575 #endif  // V8_SCANNER_H_ | 
| OLD | NEW | 
|---|