V8 Project
v8::internal::GenericStringUtf16CharacterStream Class Reference

#include <scanner-character-streams.h>

+ Inheritance diagram for v8::internal::GenericStringUtf16CharacterStream:
+ Collaboration diagram for v8::internal::GenericStringUtf16CharacterStream:

Public Member Functions

 GenericStringUtf16CharacterStream (Handle< String > data, unsigned start_position, unsigned end_position)
 
virtual ~GenericStringUtf16CharacterStream ()
 
- Public Member Functions inherited from v8::internal::BufferedUtf16CharacterStream
 BufferedUtf16CharacterStream ()
 
virtual ~BufferedUtf16CharacterStream ()
 
virtual void PushBack (uc32 character)
 
- Public Member Functions inherited from v8::internal::Utf16CharacterStream
 Utf16CharacterStream ()
 
virtual ~Utf16CharacterStream ()
 
uc32 Advance ()
 
unsigned pos () const
 
unsigned SeekForward (unsigned code_unit_count)
 

Protected Member Functions

virtual unsigned BufferSeekForward (unsigned delta)
 
virtual unsigned FillBuffer (unsigned position)
 
- Protected Member Functions inherited from v8::internal::BufferedUtf16CharacterStream
virtual unsigned SlowSeekForward (unsigned delta)
 
virtual bool ReadBlock ()
 
virtual void SlowPushBack (uc16 character)
 

Protected Attributes

Handle< Stringstring_
 
unsigned length_
 
- Protected Attributes inherited from v8::internal::BufferedUtf16CharacterStream
const uc16pushback_limit_
 
uc16 buffer_ [kBufferSize]
 
- Protected Attributes inherited from v8::internal::Utf16CharacterStream
const uint16_t * buffer_cursor_
 
const uint16_t * buffer_end_
 
unsigned pos_
 

Additional Inherited Members

- Static Protected Attributes inherited from v8::internal::BufferedUtf16CharacterStream
static const unsigned kBufferSize = 512
 
static const unsigned kPushBackStepSize = 16
 
- Static Protected Attributes inherited from v8::internal::Utf16CharacterStream
static const uc32 kEndOfInput = -1
 

Detailed Description

Definition at line 40 of file scanner-character-streams.h.

Constructor & Destructor Documentation

◆ GenericStringUtf16CharacterStream()

v8::internal::GenericStringUtf16CharacterStream::GenericStringUtf16CharacterStream ( Handle< String data,
unsigned  start_position,
unsigned  end_position 
)

Definition at line 127 of file scanner-character-streams.cc.

131  : string_(data),
132  length_(end_position) {
133  DCHECK(end_position >= start_position);
134  pos_ = start_position;
135 }
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK, and v8::internal::Utf16CharacterStream::pos_.

◆ ~GenericStringUtf16CharacterStream()

v8::internal::GenericStringUtf16CharacterStream::~GenericStringUtf16CharacterStream ( )
virtual

Definition at line 138 of file scanner-character-streams.cc.

138 { }

Member Function Documentation

◆ BufferSeekForward()

unsigned v8::internal::GenericStringUtf16CharacterStream::BufferSeekForward ( unsigned  delta)
protectedvirtual

Implements v8::internal::BufferedUtf16CharacterStream.

Definition at line 141 of file scanner-character-streams.cc.

141  {
142  unsigned old_pos = pos_;
143  pos_ = Min(pos_ + delta, length_);
144  ReadBlock();
145  return pos_ - old_pos;
146 }
static LifetimePosition Min(LifetimePosition a, LifetimePosition b)

References length_, v8::internal::Min(), v8::internal::Utf16CharacterStream::pos_, and v8::internal::BufferedUtf16CharacterStream::ReadBlock().

+ Here is the call graph for this function:

◆ FillBuffer()

unsigned v8::internal::GenericStringUtf16CharacterStream::FillBuffer ( unsigned  position)
protectedvirtual

Implements v8::internal::BufferedUtf16CharacterStream.

Definition at line 149 of file scanner-character-streams.cc.

149  {
150  if (from_pos >= length_) return 0;
151  unsigned length = kBufferSize;
152  if (from_pos + length > length_) {
153  length = length_ - from_pos;
154  }
155  String::WriteToFlat<uc16>(*string_, buffer_, from_pos, from_pos + length);
156  return length;
157 }

References v8::internal::BufferedUtf16CharacterStream::buffer_, v8::internal::BufferedUtf16CharacterStream::kBufferSize, length_, and string_.

Member Data Documentation

◆ length_

unsigned v8::internal::GenericStringUtf16CharacterStream::length_
protected

Definition at line 52 of file scanner-character-streams.h.

Referenced by BufferSeekForward(), and FillBuffer().

◆ string_

Handle<String> v8::internal::GenericStringUtf16CharacterStream::string_
protected

Definition at line 51 of file scanner-character-streams.h.

Referenced by FillBuffer().


The documentation for this class was generated from the following files: