Lines Matching defs:JSString

36     class JSString;
38 JSString* jsEmptyString(JSGlobalData*);
39 JSString* jsEmptyString(ExecState*);
40 JSString* jsString(JSGlobalData*, const UString&); // returns empty string if passed null string
41 JSString* jsString(ExecState*, const UString&); // returns empty string if passed null string
43 JSString* jsSingleCharacterString(JSGlobalData*, UChar);
44 JSString* jsSingleCharacterString(ExecState*, UChar);
45 JSString* jsSingleCharacterSubstring(ExecState*, const UString&, unsigned offset);
46 JSString* jsSubstring(JSGlobalData*, const UString&, unsigned offset, unsigned length);
47 JSString* jsSubstring(ExecState*, const UString&, unsigned offset, unsigned length);
51 JSString* jsNontrivialString(JSGlobalData*, const UString&);
52 JSString* jsNontrivialString(ExecState*, const UString&);
53 JSString* jsNontrivialString(JSGlobalData*, const char*);
54 JSString* jsNontrivialString(ExecState*, const char*);
59 JSString* jsOwnedString(JSGlobalData*, const UString&);
60 JSString* jsOwnedString(ExecState*, const UString&);
62 typedef void (*JSStringFinalizerCallback)(JSString*, void* context);
63 JSString* jsStringWithFinalizer(ExecState*, const UString&, JSStringFinalizerCallback callback, void* context);
65 class JS_EXPORTCLASS JSString : public JSCell {
92 void append(JSString* jsString)
187 ALWAYS_INLINE JSString(JSGlobalData* globalData, const UString& value)
198 JSString(JSGlobalData* globalData, const UString& value, HasOtherOwnerType)
206 JSString(JSGlobalData* globalData, PassRefPtr<StringImpl> value, HasOtherOwnerType)
214 JSString(JSGlobalData* globalData, PassRefPtr<RopeImpl> rope)
223 JSString(JSGlobalData* globalData, unsigned fiberCount, JSString* s1, JSString* s2)
236 JSString(JSGlobalData* globalData, unsigned fiberCount, JSString* s1, const UString& u2)
249 JSString(JSGlobalData* globalData, unsigned fiberCount, const UString& u1, JSString* s2)
264 JSString(ExecState* exec, JSValue v1, JSValue v2, JSValue v3)
277 JSString(JSGlobalData* globalData, const UString& u1, const UString& u2)
289 JSString(JSGlobalData* globalData, const UString& u1, const UString& u2, const UString& u3)
301 JSString(JSGlobalData* globalData, const UString& value, JSStringFinalizerCallback finalizer, void* context)
314 ~JSString()
347 JSString* getIndex(ExecState*, unsigned);
348 JSString* getIndexSlowCase(ExecState*, unsigned);
355 JSString(VPtrStealingHackType)
362 JSString* substringFromRope(ExecState*, unsigned offset, unsigned length);
371 void appendStringInConstruct(unsigned& index, JSString* jsString)
387 JSString* s = static_cast<JSString*>(v.asCell());
436 friend JSValue jsString(ExecState* exec, JSString* s1, JSString* s2);
437 friend JSValue jsString(ExecState* exec, const UString& u1, JSString* s2);
438 friend JSValue jsString(ExecState* exec, JSString* s1, const UString& u2);
441 friend JSString* jsStringWithFinalizer(ExecState*, const UString&, JSStringFinalizerCallback callback, void* context);
442 friend JSString* jsSubstring(ExecState* exec, JSString* s, unsigned offset, unsigned length);
445 JSString* asString(JSValue);
450 // The below function must be called by any inline function that invokes a JSString constructor.
452 inline JSString* fixupVPtr(JSGlobalData* globalData, JSString* string) { string->setVPtr(globalData->jsStringVPtr); return string; }
454 inline JSString* fixupVPtr(JSGlobalData*, JSString* string) { return string; }
457 inline JSString* asString(JSValue value)
460 return static_cast<JSString*>(value.asCell());
463 inline JSString* jsEmptyString(JSGlobalData* globalData)
468 inline JSString* jsSingleCharacterString(JSGlobalData* globalData, UChar c)
472 return fixupVPtr(globalData, new (globalData) JSString(globalData, UString(&c, 1)));
475 inline JSString* jsSingleCharacterSubstring(ExecState* exec, const UString& s, unsigned offset)
482 return fixupVPtr(globalData, new (globalData) JSString(globalData, UString(StringImpl::create(s.impl(), offset, 1))));
485 inline JSString* jsNontrivialString(JSGlobalData* globalData, const char* s)
490 return fixupVPtr(globalData, new (globalData) JSString(globalData, s));
493 inline JSString* jsNontrivialString(JSGlobalData* globalData, const UString& s)
496 return fixupVPtr(globalData, new (globalData) JSString(globalData, s));
499 inline JSString* JSString::getIndex(ExecState* exec, unsigned i)
508 inline JSString* jsString(JSGlobalData* globalData, const UString& s)
518 return fixupVPtr(globalData, new (globalData) JSString(globalData, s));
521 inline JSString* jsStringWithFinalizer(ExecState* exec, const UString& s, JSStringFinalizerCallback callback, void* context)
525 return fixupVPtr(globalData, new (globalData) JSString(globalData, s, callback, context));
528 inline JSString* jsSubstring(ExecState* exec, JSString* s, unsigned offset, unsigned length)
541 inline JSString* jsSubstring(JSGlobalData* globalData, const UString& s, unsigned offset, unsigned length)
553 return fixupVPtr(globalData, new (globalData) JSString(globalData, UString(StringImpl::create(s.impl(), offset, length)), JSString::HasOtherOwner));
556 inline JSString* jsOwnedString(JSGlobalData* globalData, const UString& s)
566 return fixupVPtr(globalData, new (globalData) JSString(globalData, s, JSString::HasOtherOwner));
569 inline JSString* jsEmptyString(ExecState* exec) { return jsEmptyString(&exec->globalData()); }
570 inline JSString* jsString(ExecState* exec, const UString& s) { return jsString(&exec->globalData(), s); }
571 inline JSString* jsSingleCharacterString(ExecState* exec, UChar c) { return jsSingleCharacterString(&exec->globalData(), c); }
572 inline JSString* jsSubstring(ExecState* exec, const UString& s, unsigned offset, unsigned length) { return jsSubstring(&exec->globalData(), s, offset, length); }
573 inline JSString* jsNontrivialString(ExecState* exec, const UString& s) { return jsNontrivialString(&exec->globalData(), s); }
574 inline JSString* jsNontrivialString(ExecState* exec, const char* s) { return jsNontrivialString(&exec->globalData(), s); }
575 inline JSString* jsOwnedString(ExecState* exec, const UString& s) { return jsOwnedString(&exec->globalData(), s); }
577 ALWAYS_INLINE bool JSString::getStringPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
594 ALWAYS_INLINE bool JSString::getStringPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)
611 return static_cast<JSString*>(asCell())->value(exec);