Lines Matching defs:string
51 class Resource: public v8::String::ExternalStringResource,
54 explicit Resource(Vector<const uc16> string): data_(string.start()) {
55 length_ = string.length();
66 class AsciiResource: public v8::String::ExternalAsciiStringResource,
69 explicit AsciiResource(Vector<const char> string): data_(string.start()) {
70 length_ = string.length();
82 Handle<String> building_blocks[NUMBER_OF_BUILDING_BLOCKS]) {
145 static Handle<String> ConstructLeft(
146 Handle<String> building_blocks[NUMBER_OF_BUILDING_BLOCKS],
148 Handle<String> answer = FACTORY->NewStringFromAscii(CStrVector(""));
158 static Handle<String> ConstructRight(
159 Handle<String> building_blocks[NUMBER_OF_BUILDING_BLOCKS],
161 Handle<String> answer = FACTORY->NewStringFromAscii(CStrVector(""));
171 static Handle<String> ConstructBalancedHelper(
172 Handle<String> building_blocks[NUMBER_OF_BUILDING_BLOCKS],
184 Handle<String> part1 =
186 Handle<String> part2 =
192 static Handle<String> ConstructBalanced(
193 Handle<String> building_blocks[NUMBER_OF_BUILDING_BLOCKS]) {
201 static void Traverse(Handle<String> s1, Handle<String> s2) {
216 static void TraverseFirst(Handle<String> s1, Handle<String> s2, int chars) {
235 Handle<String> building_blocks[NUMBER_OF_BUILDING_BLOCKS];
238 Handle<String> flat = ConstructBalanced(building_blocks);
240 Handle<String> left_asymmetric = ConstructLeft(building_blocks, DEEP_DEPTH);
241 Handle<String> right_asymmetric = ConstructRight(building_blocks, DEEP_DEPTH);
242 Handle<String> symmetric = ConstructBalanced(building_blocks);
250 Handle<String> left_deep_asymmetric =
252 Handle<String> right_deep_asymmetric =
288 Handle<String> string =
290 Handle<String> foo_string = FACTORY->NewStringFromAscii(CStrVector("foo"));
292 string = FACTORY->NewConsString(string, foo_string);
294 Handle<String> flat_string = FACTORY->NewConsString(string, foo_string);
298 TraverseFirst(flat_string, string, DEEP_ASCII_DEPTH);
308 // A simple ascii string
311 v8::String::New(ascii_string,
314 // A mixed ascii and non-ascii string
327 v8::Handle<v8::String> mixed = v8::String::New(mixed_string, 5);
329 // Try encoding the string with all capacities
373 // string data.
376 v8::Local<v8::String> ascii_external_string =
377 v8::String::NewExternal(ascii_resource);
385 // string data.
387 v8::Local<v8::String> non_ascii_external_string =
388 v8::String::NewExternal(resource);
474 v8::Script::Compile(v8::String::New(line))->Run();
489 Handle<String> string =
491 Handle<String> parent = FACTORY->NewConsString(string, string);
494 Handle<String> slice = FACTORY->NewSubString(parent, 1, 25);
495 // After slicing, the original string becomes a flat cons.
505 class AsciiVectorResource : public v8::String::ExternalAsciiStringResource {
523 Handle<String> string = FACTORY->NewExternalStringFromAscii(&resource);
524 CHECK(string->IsExternalString());
525 Handle<String> slice = FACTORY->NewSubString(string, 1, 25);
527 CHECK(string->IsExternalString());
528 CHECK_EQ(SlicedString::cast(*slice)->parent(), *string);
535 // This tests whether a slice that contains the entire parent string
536 // actually creates a new string (it should not).
541 Handle<String> string;
550 string = v8::Utils::OpenHandle(v8::String::Cast(*result));
551 CHECK(!string->IsSlicedString());
553 string = FACTORY->NewSubString(string, 0, 26);
554 CHECK(!string->IsSlicedString());
557 string = v8::Utils::OpenHandle(v8::String::Cast(*result));
558 CHECK(string->IsSlicedString());
559 CHECK_EQ("bcdefghijklmnopqrstuvwxy", *(string->ToCString()));
564 // This tests whether a slice that contains the entire parent string
565 // actually creates a new string (it should not).
570 Handle<String> string;
578 string = v8::Utils::OpenHandle(v8::String::Cast(*result));
579 CHECK(string->IsSlicedString());
580 CHECK(SlicedString::cast(*string)->parent()->IsSeqString());
581 CHECK_EQ("bcdefghijklmnopqrstuvwxy", *(string->ToCString()));
585 string = v8::Utils::OpenHandle(v8::String::Cast(*result));
586 CHECK(string->IsSlicedString());
587 CHECK(SlicedString::cast(*string)->parent()->IsSeqString());
588 CHECK_EQ("cdefghijklmnopqrstuvwx", *(string->ToCString()));