Changeset 174219 in webkit for trunk/Source/JavaScriptCore/runtime/JSStringBuilder.h
- Timestamp:
- Oct 2, 2014, 9:14:25 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSStringBuilder.h
r165703 r174219 119 119 }; 120 120 121 template<typename StringType 1, typename StringType2>122 inline JSValue jsMakeNontrivialString(ExecState* exec, StringType 1 string1, StringType2 string2)121 template<typename StringType> 122 inline JSValue jsMakeNontrivialString(ExecState* exec, StringType&& string) 123 123 { 124 PassRefPtr<StringImpl> result = WTF::tryMakeString(string1, string2); 124 return jsNontrivialString(exec, std::forward<StringType>(string)); 125 } 126 127 template<typename StringType, typename... StringTypes> 128 inline JSValue jsMakeNontrivialString(ExecState* exec, const StringType& string, const StringTypes&... strings) 129 { 130 RefPtr<StringImpl> result = WTF::tryMakeString(string, strings...); 125 131 if (!result) 126 132 return throwOutOfMemoryError(exec); 127 return jsNontrivialString(exec, result); 128 } 129 130 template<typename StringType1, typename StringType2, typename StringType3> 131 inline JSValue jsMakeNontrivialString(ExecState* exec, StringType1 string1, StringType2 string2, StringType3 string3) 132 { 133 PassRefPtr<StringImpl> result = WTF::tryMakeString(string1, string2, string3); 134 if (!result) 135 return throwOutOfMemoryError(exec); 136 return jsNontrivialString(exec, result); 137 } 138 139 template<typename StringType1, typename StringType2, typename StringType3, typename StringType4> 140 inline JSValue jsMakeNontrivialString(ExecState* exec, StringType1 string1, StringType2 string2, StringType3 string3, StringType4 string4) 141 { 142 PassRefPtr<StringImpl> result = WTF::tryMakeString(string1, string2, string3, string4); 143 if (!result) 144 return throwOutOfMemoryError(exec); 145 return jsNontrivialString(exec, result); 146 } 147 148 template<typename StringType1, typename StringType2, typename StringType3, typename StringType4, typename StringType5> 149 inline JSValue jsMakeNontrivialString(ExecState* exec, StringType1 string1, StringType2 string2, StringType3 string3, StringType4 string4, StringType5 string5) 150 { 151 PassRefPtr<StringImpl> result = WTF::tryMakeString(string1, string2, string3, string4, string5); 152 if (!result) 153 return throwOutOfMemoryError(exec); 154 return jsNontrivialString(exec, result); 155 } 156 157 template<typename StringType1, typename StringType2, typename StringType3, typename StringType4, typename StringType5, typename StringType6> 158 inline JSValue jsMakeNontrivialString(ExecState* exec, StringType1 string1, StringType2 string2, StringType3 string3, StringType4 string4, StringType5 string5, StringType6 string6) 159 { 160 PassRefPtr<StringImpl> result = WTF::tryMakeString(string1, string2, string3, string4, string5, string6); 161 if (!result) 162 return throwOutOfMemoryError(exec); 163 return jsNontrivialString(exec, result); 133 return jsNontrivialString(exec, result.release()); 164 134 } 165 135
Note:
See TracChangeset
for help on using the changeset viewer.