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

Static Public Member Functions

static int Lookup (const uint32_t *pre, int len)
 
static KeywordType GetType (int i)
 
static int GetValue (int i)
 

Static Public Attributes

static const int kPrefixLength = 3
 
static const int kTypeOffset = kPrefixLength
 
static const int kValueOffset = kTypeOffset + 1
 
static const int kEntrySize = kValueOffset + 1
 
static const int8_t array [][kEntrySize]
 

Detailed Description

Definition at line 266 of file dateparser.h.

Member Function Documentation

◆ GetType()

static KeywordType v8::internal::DateParser::KeywordTable::GetType ( int  i)
inlinestatic

Definition at line 273 of file dateparser.h.

273  {
274  return static_cast<KeywordType>(array[i][kTypeOffset]);
275  }
static const int8_t array[][kEntrySize]
Definition: dateparser.h:283

References array, and kTypeOffset.

◆ GetValue()

static int v8::internal::DateParser::KeywordTable::GetValue ( int  i)
inlinestatic

Definition at line 277 of file dateparser.h.

277 { return array[i][kValueOffset]; }

References array, and kValueOffset.

◆ Lookup()

int v8::internal::DateParser::KeywordTable::Lookup ( const uint32_t pre,
int  len 
)
static

Definition at line 140 of file dateparser.cc.

140  {
141  int i;
142  for (i = 0; array[i][kTypeOffset] != INVALID; i++) {
143  int j = 0;
144  while (j < kPrefixLength &&
145  pre[j] == static_cast<uint32_t>(array[i][j])) {
146  j++;
147  }
148  // Check if we have a match and the length is legal.
149  // Word longer than keyword is only allowed for month names.
150  if (j == kPrefixLength &&
151  (len <= kPrefixLength || array[i][kTypeOffset] == MONTH_NAME)) {
152  return i;
153  }
154  }
155  return i;
156 }

References array, v8::internal::DateParser::INVALID, kPrefixLength, kTypeOffset, and v8::internal::DateParser::MONTH_NAME.

Member Data Documentation

◆ array

const int8_t v8::internal::DateParser::KeywordTable::array[][kEntrySize]
static

Definition at line 283 of file dateparser.h.

Referenced by GetType(), GetValue(), and Lookup().

◆ kEntrySize

const int v8::internal::DateParser::KeywordTable::kEntrySize = kValueOffset + 1
static

Definition at line 282 of file dateparser.h.

◆ kPrefixLength

const int v8::internal::DateParser::KeywordTable::kPrefixLength = 3
static

Definition at line 279 of file dateparser.h.

Referenced by Lookup().

◆ kTypeOffset

const int v8::internal::DateParser::KeywordTable::kTypeOffset = kPrefixLength
static

Definition at line 280 of file dateparser.h.

Referenced by GetType(), and Lookup().

◆ kValueOffset

const int v8::internal::DateParser::KeywordTable::kValueOffset = kTypeOffset + 1
static

Definition at line 281 of file dateparser.h.

Referenced by GetValue().


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