V8 Project
v8::internal::LineArrayCompareInput Class Reference
+ Inheritance diagram for v8::internal::LineArrayCompareInput:
+ Collaboration diagram for v8::internal::LineArrayCompareInput:

Public Member Functions

 LineArrayCompareInput (Handle< String > s1, Handle< String > s2, LineEndsWrapper line_ends1, LineEndsWrapper line_ends2)
 
int GetLength1 ()
 
int GetLength2 ()
 
bool Equals (int index1, int index2)
 
void SetSubrange1 (int offset, int len)
 
void SetSubrange2 (int offset, int len)
 

Private Attributes

Handle< Strings1_
 
Handle< Strings2_
 
LineEndsWrapper line_ends1_
 
LineEndsWrapper line_ends2_
 
int subrange_offset1_
 
int subrange_offset2_
 
int subrange_len1_
 
int subrange_len2_
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::Comparator::Input
virtual ~Input ()
 

Detailed Description

Definition at line 444 of file liveedit.cc.

Constructor & Destructor Documentation

◆ LineArrayCompareInput()

v8::internal::LineArrayCompareInput::LineArrayCompareInput ( Handle< String s1,
Handle< String s2,
LineEndsWrapper  line_ends1,
LineEndsWrapper  line_ends2 
)
inline

Member Function Documentation

◆ Equals()

bool v8::internal::LineArrayCompareInput::Equals ( int  index1,
int  index2 
)
inlinevirtual

Implements v8::internal::Comparator::Input.

Definition at line 460 of file liveedit.cc.

460  {
461  index1 += subrange_offset1_;
462  index2 += subrange_offset2_;
463 
464  int line_start1 = line_ends1_.GetLineStart(index1);
465  int line_start2 = line_ends2_.GetLineStart(index2);
466  int line_end1 = line_ends1_.GetLineEnd(index1);
467  int line_end2 = line_ends2_.GetLineEnd(index2);
468  int len1 = line_end1 - line_start1;
469  int len2 = line_end2 - line_start2;
470  if (len1 != len2) {
471  return false;
472  }
473  return CompareSubstrings(s1_, line_start1, s2_, line_start2,
474  len1);
475  }
int GetLineStart(int index)
Definition: liveedit.cc:415
static bool CompareSubstrings(Handle< String > s1, int pos1, Handle< String > s2, int pos2, int len)
Definition: liveedit.cc:244

References v8::internal::CompareSubstrings(), v8::internal::LineEndsWrapper::GetLineEnd(), v8::internal::LineEndsWrapper::GetLineStart(), line_ends1_, line_ends2_, s1_, s2_, subrange_offset1_, and subrange_offset2_.

+ Here is the call graph for this function:

◆ GetLength1()

int v8::internal::LineArrayCompareInput::GetLength1 ( )
inlinevirtual

Implements v8::internal::Comparator::Input.

Definition at line 454 of file liveedit.cc.

454  {
455  return subrange_len1_;
456  }

References subrange_len1_.

◆ GetLength2()

int v8::internal::LineArrayCompareInput::GetLength2 ( )
inlinevirtual

Implements v8::internal::Comparator::Input.

Definition at line 457 of file liveedit.cc.

457  {
458  return subrange_len2_;
459  }

References subrange_len2_.

◆ SetSubrange1()

void v8::internal::LineArrayCompareInput::SetSubrange1 ( int  offset,
int  len 
)
inlinevirtual

Implements v8::internal::SubrangableInput.

Definition at line 476 of file liveedit.cc.

476  {
477  subrange_offset1_ = offset;
478  subrange_len1_ = len;
479  }

References subrange_len1_, and subrange_offset1_.

◆ SetSubrange2()

void v8::internal::LineArrayCompareInput::SetSubrange2 ( int  offset,
int  len 
)
inlinevirtual

Implements v8::internal::SubrangableInput.

Definition at line 480 of file liveedit.cc.

480  {
481  subrange_offset2_ = offset;
482  subrange_len2_ = len;
483  }

References subrange_len2_, and subrange_offset2_.

Member Data Documentation

◆ line_ends1_

LineEndsWrapper v8::internal::LineArrayCompareInput::line_ends1_
private

Definition at line 488 of file liveedit.cc.

Referenced by Equals().

◆ line_ends2_

LineEndsWrapper v8::internal::LineArrayCompareInput::line_ends2_
private

Definition at line 489 of file liveedit.cc.

Referenced by Equals().

◆ s1_

Handle<String> v8::internal::LineArrayCompareInput::s1_
private

Definition at line 486 of file liveedit.cc.

Referenced by Equals().

◆ s2_

Handle<String> v8::internal::LineArrayCompareInput::s2_
private

Definition at line 487 of file liveedit.cc.

Referenced by Equals().

◆ subrange_len1_

int v8::internal::LineArrayCompareInput::subrange_len1_
private

Definition at line 492 of file liveedit.cc.

Referenced by GetLength1(), and SetSubrange1().

◆ subrange_len2_

int v8::internal::LineArrayCompareInput::subrange_len2_
private

Definition at line 493 of file liveedit.cc.

Referenced by GetLength2(), and SetSubrange2().

◆ subrange_offset1_

int v8::internal::LineArrayCompareInput::subrange_offset1_
private

Definition at line 490 of file liveedit.cc.

Referenced by Equals(), and SetSubrange1().

◆ subrange_offset2_

int v8::internal::LineArrayCompareInput::subrange_offset2_
private

Definition at line 491 of file liveedit.cc.

Referenced by Equals(), and SetSubrange2().


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