Ignore:
Timestamp:
Oct 13, 2010, 7:44:14 AM (15 years ago)
Author:
Nikolas Zimmermann
Message:

2010-10-13 Nikolas Zimmermann <[email protected]>

Reviewed by Dirk Schulze.

Add wtf/text/StringConcatenate
https://bugs.webkit.org/show_bug.cgi?id=47584

Move runtime/StringConcatenate.h to wtf/text, make it work for Strings too.
Add a special runtime/UStringConcatenate.h class that inherits from StringConcatenate, and extends it for use with UString.
Exactly the same design that has been followed while refactoring StringBuilder.

The UString variants can all be removed as soon as WTF::String & JSC::UString converge.

  • GNUmakefile.am: Add wtf/text/StringConcatenate.h and runtime/UStringConcatenate.h.
  • JavaScriptCore.gypi: Ditto.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
  • JavaScriptCore.vcproj/WTF/WTF.vcproj: Ditto.
  • JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
  • bytecode/CodeBlock.cpp: s/makeString/makeUString/ (JSC::escapeQuotes): (JSC::valueToSourceString): (JSC::constantName): (JSC::idName): (JSC::CodeBlock::registerName): (JSC::regexpToSourceString): (JSC::regexpName):
  • bytecompiler/NodesCodegen.cpp: Ditto. (JSC::substitute):
  • profiler/Profiler.cpp: Ditto. (JSC::Profiler::createCallIdentifier):
  • runtime/ExceptionHelpers.cpp: Ditto. (JSC::createUndefinedVariableError): (JSC::createErrorMessage): (JSC::createInvalidParamError):
  • runtime/FunctionConstructor.cpp: Ditto. (JSC::constructFunction):
  • runtime/FunctionPrototype.cpp: Ditto. (JSC::insertSemicolonIfNeeded):
  • runtime/JSONObject.cpp: Ditto. (JSC::Stringifier::indent):
  • runtime/JSStringBuilder.h: (JSC::jsMakeNontrivialString):
  • runtime/RegExpConstructor.cpp: Ditto. (JSC::constructRegExp):
  • runtime/RegExpObject.cpp: Ditto. (JSC::RegExpObject::match):
  • runtime/RegExpPrototype.cpp: Ditto. (JSC::regExpProtoFuncCompile):
  • runtime/StringConcatenate.h: Removed.
  • runtime/UStringConcatenate.h: Added. Only contains the StringTypeAdapter<JSC::UString> code and the makeUString variants, the rest lives in wtf/text/StringConcatenate.h (JSC::makeUString):
  • wtf/text/StringConcatenate.h: Copied from runtime/StringConcatenate.h. (WTF::makeString):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/runtime/JSStringBuilder.h

    r65177 r69663  
    2929#include "ExceptionHelpers.h"
    3030#include "JSString.h"
    31 #include "StringConcatenate.h"
     31#include "UStringConcatenate.h"
    3232#include "Vector.h"
    3333
     
    8888inline JSValue jsMakeNontrivialString(ExecState* exec, StringType1 string1, StringType2 string2)
    8989{
    90     PassRefPtr<StringImpl> result = tryMakeString(string1, string2);
     90    PassRefPtr<StringImpl> result = WTF::tryMakeString(string1, string2);
    9191    if (!result)
    9292        return throwOutOfMemoryError(exec);
     
    9797inline JSValue jsMakeNontrivialString(ExecState* exec, StringType1 string1, StringType2 string2, StringType3 string3)
    9898{
    99     PassRefPtr<StringImpl> result = tryMakeString(string1, string2, string3);
     99    PassRefPtr<StringImpl> result = WTF::tryMakeString(string1, string2, string3);
    100100    if (!result)
    101101        return throwOutOfMemoryError(exec);
     
    106106inline JSValue jsMakeNontrivialString(ExecState* exec, StringType1 string1, StringType2 string2, StringType3 string3, StringType4 string4)
    107107{
    108     PassRefPtr<StringImpl> result = tryMakeString(string1, string2, string3, string4);
     108    PassRefPtr<StringImpl> result = WTF::tryMakeString(string1, string2, string3, string4);
    109109    if (!result)
    110110        return throwOutOfMemoryError(exec);
     
    115115inline JSValue jsMakeNontrivialString(ExecState* exec, StringType1 string1, StringType2 string2, StringType3 string3, StringType4 string4, StringType5 string5)
    116116{
    117     PassRefPtr<StringImpl> result = tryMakeString(string1, string2, string3, string4, string5);
     117    PassRefPtr<StringImpl> result = WTF::tryMakeString(string1, string2, string3, string4, string5);
    118118    if (!result)
    119119        return throwOutOfMemoryError(exec);
     
    124124inline JSValue jsMakeNontrivialString(ExecState* exec, StringType1 string1, StringType2 string2, StringType3 string3, StringType4 string4, StringType5 string5, StringType6 string6)
    125125{
    126     PassRefPtr<StringImpl> result = tryMakeString(string1, string2, string3, string4, string5, string6);
     126    PassRefPtr<StringImpl> result = WTF::tryMakeString(string1, string2, string3, string4, string5, string6);
    127127    if (!result)
    128128        return throwOutOfMemoryError(exec);
Note: See TracChangeset for help on using the changeset viewer.