Changeset 248822 in webkit
- Timestamp:
- Aug 17, 2019 11:49:37 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r248807 r248822 1 2019-08-17 Sam Weinig <weinig@apple.com> 2 3 Rename StringBuilder::flexibleAppend(...) to StringBuilder::append(...) 4 https://bugs.webkit.org/show_bug.cgi?id=200756 5 6 Reviewed by Darin Adler. 7 8 Now that there are no remaining multi-parameter or behavior changing overloads 9 of StringBuilder::append(...), we can rename StringBuilder::flexibleAppend(...) 10 to StringBuilder::append(...). 11 12 This change leaves the existing single parameter overloads StringBuilder::append(...) 13 for now, and since they have specify specific types, they will continue to be prefered 14 in overload resolution. Once we have concluded the variadic StringBuilder::append(...) 15 can provide the same performance as the single parameter variant, we can remove the 16 single parameter variant. 17 18 * wtf/posix/FileSystemPOSIX.cpp: 19 (WTF::FileSystemImpl::pathByAppendingComponents): 20 * wtf/text/StringBuilder.h: 21 (WTF::StringBuilder::appendFromAdapters): 22 (WTF::StringBuilder::append): 23 (WTF::StringBuilder::flexibleAppendFromAdapters): Deleted. 24 (WTF::StringBuilder::flexibleAppend): Deleted. 25 Update for rename from StringBuilder::flexibleAppend(...) to StringBuilder::append(...). 26 1 27 2019-08-15 Ryosuke Niwa <rniwa@webkit.org> 2 28 -
trunk/Source/WTF/wtf/posix/FileSystemPOSIX.cpp
r248702 r248822 309 309 builder.append(path); 310 310 for (auto& component : components) 311 builder. flexibleAppend('/', component);311 builder.append('/', component); 312 312 return builder.toString(); 313 313 } -
trunk/Source/WTF/wtf/text/StringBuilder.h
r248659 r248822 236 236 WTF_EXPORT_PRIVATE void appendFixedWidthNumber(double, unsigned decimalPlaces); 237 237 238 // FIXME: Rename to append(...) after renaming any overloads of append that take more than one argument. 239 template<typename... StringTypes> void flexibleAppend(StringTypes...); 238 template<typename... StringTypes> void append(StringTypes...); 240 239 241 240 String toString() … … 369 368 WTF_EXPORT_PRIVATE void reifyString() const; 370 369 371 template<typename... StringTypeAdapters> void flexibleAppendFromAdapters(StringTypeAdapters...);370 template<typename... StringTypeAdapters> void appendFromAdapters(StringTypeAdapters...); 372 371 373 372 mutable String m_string; … … 400 399 401 400 template<typename... StringTypeAdapters> 402 void StringBuilder:: flexibleAppendFromAdapters(StringTypeAdapters... adapters)401 void StringBuilder::appendFromAdapters(StringTypeAdapters... adapters) 403 402 { 404 403 auto requiredLength = checkedSum<int32_t>(m_length, adapters.length()...); … … 426 425 427 426 template<typename... StringTypes> 428 void StringBuilder:: flexibleAppend(StringTypes... strings)429 { 430 flexibleAppendFromAdapters(StringTypeAdapter<StringTypes>(strings)...);427 void StringBuilder::append(StringTypes... strings) 428 { 429 appendFromAdapters(StringTypeAdapter<StringTypes>(strings)...); 431 430 } 432 431 -
trunk/Source/WebCore/ChangeLog
r248816 r248822 1 2019-08-17 Sam Weinig <weinig@apple.com> 2 3 Rename StringBuilder::flexibleAppend(...) to StringBuilder::append(...) 4 https://bugs.webkit.org/show_bug.cgi?id=200756 5 6 Reviewed by Darin Adler. 7 8 Update call sites for rename from StringBuilder::flexibleAppend(...) to 9 StringBuilder::append(...). 10 11 * Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp: 12 (WebCore::WHLSL::Metal::EntryPointScaffolding::emitResourceHelperTypes): 13 (WebCore::WHLSL::Metal::EntryPointScaffolding::emitResourceSignature): 14 (WebCore::WHLSL::Metal::EntryPointScaffolding::emitBuiltInsSignature): 15 (WebCore::WHLSL::Metal::EntryPointScaffolding::emitMangledInputPath): 16 (WebCore::WHLSL::Metal::EntryPointScaffolding::emitMangledOutputPath): 17 (WebCore::WHLSL::Metal::EntryPointScaffolding::emitUnpackResourcesAndNamedBuiltIns): 18 (WebCore::WHLSL::Metal::VertexEntryPointScaffolding::emitHelperTypes): 19 (WebCore::WHLSL::Metal::VertexEntryPointScaffolding::emitSignature): 20 (WebCore::WHLSL::Metal::VertexEntryPointScaffolding::emitUnpack): 21 (WebCore::WHLSL::Metal::VertexEntryPointScaffolding::emitPack): 22 (WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::emitHelperTypes): 23 (WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::emitSignature): 24 (WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::emitUnpack): 25 (WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::emitPack): 26 (WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::emitSignature): 27 * Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp: 28 (WebCore::WHLSL::Metal::declareFunction): 29 (WebCore::WHLSL::Metal::FunctionDefinitionWriter::visit): 30 (WebCore::WHLSL::Metal::FunctionDefinitionWriter::emitLoop): 31 (WebCore::WHLSL::Metal::FunctionDefinitionWriter::emitConstantExpressionString): 32 * Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp: 33 (WebCore::WHLSL::Metal::inlineNativeFunction): 34 * Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.cpp: 35 (WebCore::WHLSL::Metal::TypeNamer::emitUnnamedTypeDefinition): 36 (WebCore::WHLSL::Metal::TypeNamer::emitNamedTypeDefinition): 37 * Modules/webgpu/WHLSL/WHLSLParser.cpp: 38 (WebCore::WHLSL::Types::appendNameTo): 39 * rendering/RenderLayerCompositor.cpp: 40 (WebCore::RenderLayerCompositor::logLayerInfo): 41 * testing/Internals.cpp: 42 (WebCore::Internals::ongoingLoadsDescriptions const): 43 1 44 2019-08-16 Commit Queue <commit-queue@webkit.org> 2 45 -
trunk/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp
r248307 r248822 143 143 { 144 144 for (size_t i = 0; i < m_layout.size(); ++i) { 145 stringBuilder. flexibleAppend("struct ", m_namedBindGroups[i].structName, " {\n");145 stringBuilder.append("struct ", m_namedBindGroups[i].structName, " {\n"); 146 146 Vector<std::pair<unsigned, String>> structItems; 147 147 for (size_t j = 0; j < m_layout[i].bindings.size(); ++j) { … … 171 171 }); 172 172 for (const auto& structItem : structItems) 173 stringBuilder. flexibleAppend(" ", structItem.second, '\n');173 stringBuilder.append(" ", structItem.second, '\n'); 174 174 stringBuilder.append("};\n\n"); 175 175 } … … 188 188 stringBuilder.append(", "); 189 189 auto& namedBindGroup = m_namedBindGroups[i]; 190 stringBuilder. flexibleAppend("device ", namedBindGroup.structName, "& ", namedBindGroup.variableName, " [[buffer(", namedBindGroup.argumentBufferIndex, ")]]");190 stringBuilder.append("device ", namedBindGroup.structName, "& ", namedBindGroup.variableName, " [[buffer(", namedBindGroup.argumentBufferIndex, ")]]"); 191 191 } 192 192 return true; … … 244 244 auto internalType = internalTypeForSemantic(builtInSemantic); 245 245 if (!internalType.isNull()) 246 stringBuilder. flexibleAppend(internalType);246 stringBuilder.append(internalType); 247 247 else 248 stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(*item.unnamedType));249 stringBuilder. flexibleAppend(' ', namedBuiltIn.variableName, ' ', attributeForSemantic(builtInSemantic));248 stringBuilder.append(m_typeNamer.mangledNameForType(*item.unnamedType)); 249 stringBuilder.append(' ', namedBuiltIn.variableName, ' ', attributeForSemantic(builtInSemantic)); 250 250 } 251 251 return true; … … 259 259 for (size_t i = 0; i < m_functionDefinition.parameters().size(); ++i) { 260 260 if (m_functionDefinition.parameters()[i]->name() == path[0]) { 261 stringBuilder. flexibleAppend(m_parameterVariables[i]);261 stringBuilder.append(m_parameterVariables[i]); 262 262 auto& unifyNode = m_functionDefinition.parameters()[i]->type()->unifyNode(); 263 263 if (is<AST::NamedType>(unifyNode)) { … … 275 275 auto* next = structureDefinition->find(path[i]); 276 276 ASSERT(next); 277 stringBuilder. flexibleAppend('.', m_typeNamer.mangledNameForStructureElement(*next));277 stringBuilder.append('.', m_typeNamer.mangledNameForStructureElement(*next)); 278 278 structureDefinition = nullptr; 279 279 auto& unifyNode = next->type().unifyNode(); … … 295 295 auto* next = structureDefinition->find(component); 296 296 ASSERT(next); 297 stringBuilder. flexibleAppend('.', m_typeNamer.mangledNameForStructureElement(*next));297 stringBuilder.append('.', m_typeNamer.mangledNameForStructureElement(*next)); 298 298 structureDefinition = nullptr; 299 299 auto& unifyNode = next->type().unifyNode(); … … 309 309 { 310 310 for (size_t i = 0; i < m_functionDefinition.parameters().size(); ++i) 311 stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(*m_functionDefinition.parameters()[i]->type()), ' ', m_parameterVariables[i], ";\n");311 stringBuilder.append(m_typeNamer.mangledNameForType(*m_functionDefinition.parameters()[i]->type()), ' ', m_parameterVariables[i], ";\n"); 312 312 313 313 for (size_t i = 0; i < m_layout.size(); ++i) { … … 326 326 auto mangledTypeName = m_typeNamer.mangledNameForType(downcast<AST::ReferenceType>(unnamedType).elementType()); 327 327 328 stringBuilder. flexibleAppend(328 stringBuilder.append( 329 329 "size_t ", lengthTemporaryName, " = ", variableName, '.', lengthElementName, ".y;\n", 330 330 lengthTemporaryName, " = ", lengthTemporaryName, " << 32;\n", … … 335 335 336 336 emitMangledInputPath(stringBuilder, path); 337 stringBuilder. flexibleAppend(337 stringBuilder.append( 338 338 " = { ", variableName, '.', elementName, ", static_cast<uint32_t>(", lengthTemporaryName, ") };\n" 339 339 ); … … 343 343 344 344 emitMangledInputPath(stringBuilder, path); 345 stringBuilder. flexibleAppend(" = ", variableName, '.', elementName, ";\n");345 stringBuilder.append(" = ", variableName, '.', elementName, ";\n"); 346 346 } 347 347 } … … 355 355 356 356 emitMangledInputPath(stringBuilder, path); 357 stringBuilder. flexibleAppend(" = ", mangledTypeName, '(', variableName, ");\n");357 stringBuilder.append(" = ", mangledTypeName, '(', variableName, ");\n"); 358 358 } 359 359 } … … 393 393 void VertexEntryPointScaffolding::emitHelperTypes(StringBuilder& stringBuilder) 394 394 { 395 stringBuilder. flexibleAppend("struct ", m_stageInStructName, " {\n");395 stringBuilder.append("struct ", m_stageInStructName, " {\n"); 396 396 for (auto& namedStageIn : m_namedStageIns) { 397 397 auto mangledTypeName = m_typeNamer.mangledNameForType(*m_entryPointItems.inputs[namedStageIn.indexInEntryPointItems].unnamedType); 398 398 auto elementName = namedStageIn.elementName; 399 399 auto attributeIndex = namedStageIn.attributeIndex; 400 stringBuilder. flexibleAppend(" ", mangledTypeName, ' ', elementName, " [[attribute(", attributeIndex, ")]];\n");401 } 402 stringBuilder. flexibleAppend(400 stringBuilder.append(" ", mangledTypeName, ' ', elementName, " [[attribute(", attributeIndex, ")]];\n"); 401 } 402 stringBuilder.append( 403 403 "};\n\n" 404 404 "struct ", m_returnStructName, " {\n" … … 409 409 auto elementName = m_namedOutputs[i].elementName; 410 410 auto attribute = attributeForSemantic(*outputItem.semantic); 411 stringBuilder. flexibleAppend(" ", internalTypeName, ' ', elementName, ' ', attribute, ";\n");411 stringBuilder.append(" ", internalTypeName, ' ', elementName, ' ', attribute, ";\n"); 412 412 } 413 413 stringBuilder.append( … … 420 420 void VertexEntryPointScaffolding::emitSignature(StringBuilder& stringBuilder, MangledFunctionName functionName) 421 421 { 422 stringBuilder. flexibleAppend("vertex ", m_returnStructName, ' ', functionName, '(', m_stageInStructName, ' ', m_stageInParameterName, " [[stage_in]]");422 stringBuilder.append("vertex ", m_returnStructName, ' ', functionName, '(', m_stageInStructName, ' ', m_stageInParameterName, " [[stage_in]]"); 423 423 emitResourceSignature(stringBuilder, IncludePrecedingComma::Yes); 424 424 emitBuiltInsSignature(stringBuilder, IncludePrecedingComma::Yes); … … 434 434 auto& elementName = namedStageIn.elementName; 435 435 emitMangledInputPath(stringBuilder, path); 436 stringBuilder. flexibleAppend(" = ", m_stageInParameterName, '.', elementName, ";\n");436 stringBuilder.append(" = ", m_stageInParameterName, '.', elementName, ";\n"); 437 437 } 438 438 } … … 440 440 void VertexEntryPointScaffolding::emitPack(StringBuilder& stringBuilder, MangledVariableName inputVariableName, MangledVariableName outputVariableName) 441 441 { 442 stringBuilder. flexibleAppend(m_returnStructName, ' ', outputVariableName, ";\n");442 stringBuilder.append(m_returnStructName, ' ', outputVariableName, ";\n"); 443 443 if (m_entryPointItems.outputs.size() == 1 && !m_entryPointItems.outputs[0].path.size()) { 444 444 auto& elementName = m_namedOutputs[0].elementName; 445 stringBuilder. flexibleAppend(outputVariableName, '.', elementName, " = ", inputVariableName, ";\n");445 stringBuilder.append(outputVariableName, '.', elementName, " = ", inputVariableName, ";\n"); 446 446 return; 447 447 } … … 450 450 auto& internalTypeName = m_namedOutputs[i].internalTypeName; 451 451 auto& path = m_entryPointItems.outputs[i].path; 452 stringBuilder. flexibleAppend(outputVariableName, '.', elementName, " = ", internalTypeName, '(', inputVariableName);452 stringBuilder.append(outputVariableName, '.', elementName, " = ", internalTypeName, '(', inputVariableName); 453 453 emitMangledOutputPath(stringBuilder, path); 454 stringBuilder. flexibleAppend(");\n");454 stringBuilder.append(");\n"); 455 455 } 456 456 } … … 492 492 void FragmentEntryPointScaffolding::emitHelperTypes(StringBuilder& stringBuilder) 493 493 { 494 stringBuilder. flexibleAppend("struct ", m_stageInStructName, " {\n");494 stringBuilder.append("struct ", m_stageInStructName, " {\n"); 495 495 for (auto& namedStageIn : m_namedStageIns) { 496 496 auto mangledTypeName = m_typeNamer.mangledNameForType(*m_entryPointItems.inputs[namedStageIn.indexInEntryPointItems].unnamedType); 497 497 auto elementName = namedStageIn.elementName; 498 498 auto attributeIndex = namedStageIn.attributeIndex; 499 stringBuilder. flexibleAppend(" ", mangledTypeName, ' ', elementName, " [[user(user", attributeIndex, ")]];\n");500 } 501 stringBuilder. flexibleAppend(499 stringBuilder.append(" ", mangledTypeName, ' ', elementName, " [[user(user", attributeIndex, ")]];\n"); 500 } 501 stringBuilder.append( 502 502 "};\n\n" 503 503 "struct ", m_returnStructName, " {\n" … … 508 508 auto elementName = m_namedOutputs[i].elementName; 509 509 auto attribute = attributeForSemantic(*outputItem.semantic); 510 stringBuilder. flexibleAppend(" ", internalTypeName, ' ', elementName, ' ', attribute, ";\n");510 stringBuilder.append(" ", internalTypeName, ' ', elementName, ' ', attribute, ";\n"); 511 511 } 512 512 stringBuilder.append( … … 519 519 void FragmentEntryPointScaffolding::emitSignature(StringBuilder& stringBuilder, MangledFunctionName functionName) 520 520 { 521 stringBuilder. flexibleAppend("fragment ", m_returnStructName, ' ', functionName, '(', m_stageInStructName, ' ', m_stageInParameterName, " [[stage_in]]");521 stringBuilder.append("fragment ", m_returnStructName, ' ', functionName, '(', m_stageInStructName, ' ', m_stageInParameterName, " [[stage_in]]"); 522 522 emitResourceSignature(stringBuilder, IncludePrecedingComma::Yes); 523 523 emitBuiltInsSignature(stringBuilder, IncludePrecedingComma::Yes); … … 533 533 auto& elementName = namedStageIn.elementName; 534 534 emitMangledInputPath(stringBuilder, path); 535 stringBuilder. flexibleAppend(" = ", m_stageInParameterName, '.', elementName, ";\n");535 stringBuilder.append(" = ", m_stageInParameterName, '.', elementName, ";\n"); 536 536 } 537 537 } … … 539 539 void FragmentEntryPointScaffolding::emitPack(StringBuilder& stringBuilder, MangledVariableName inputVariableName, MangledVariableName outputVariableName) 540 540 { 541 stringBuilder. flexibleAppend(m_returnStructName, ' ', outputVariableName, ";\n");541 stringBuilder.append(m_returnStructName, ' ', outputVariableName, ";\n"); 542 542 if (m_entryPointItems.outputs.size() == 1 && !m_entryPointItems.outputs[0].path.size()) { 543 543 auto& elementName = m_namedOutputs[0].elementName; 544 stringBuilder. flexibleAppend(outputVariableName, '.', elementName, " = ", inputVariableName, ";\n");544 stringBuilder.append(outputVariableName, '.', elementName, " = ", inputVariableName, ";\n"); 545 545 return; 546 546 } … … 549 549 auto& internalTypeName = m_namedOutputs[i].internalTypeName; 550 550 auto& path = m_entryPointItems.outputs[i].path; 551 stringBuilder. flexibleAppend(outputVariableName, '.', elementName, " = ", internalTypeName, '(', inputVariableName);551 stringBuilder.append(outputVariableName, '.', elementName, " = ", internalTypeName, '(', inputVariableName); 552 552 emitMangledOutputPath(stringBuilder, path); 553 stringBuilder. flexibleAppend(");\n");553 stringBuilder.append(");\n"); 554 554 } 555 555 } … … 567 567 void ComputeEntryPointScaffolding::emitSignature(StringBuilder& stringBuilder, MangledFunctionName functionName) 568 568 { 569 stringBuilder. flexibleAppend("kernel void ", functionName, '(');569 stringBuilder.append("kernel void ", functionName, '('); 570 570 bool addedToSignature = emitResourceSignature(stringBuilder, IncludePrecedingComma::No); 571 571 emitBuiltInsSignature(stringBuilder, addedToSignature ? IncludePrecedingComma::Yes : IncludePrecedingComma::No); -
trunk/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp
r248729 r248822 55 55 auto iterator = functionMapping.find(&functionDeclaration); 56 56 ASSERT(iterator != functionMapping.end()); 57 stringBuilder. flexibleAppend(typeNamer.mangledNameForType(functionDeclaration.type()), ' ', iterator->value, '(');57 stringBuilder.append(typeNamer.mangledNameForType(functionDeclaration.type()), ' ', iterator->value, '('); 58 58 for (size_t i = 0; i < functionDeclaration.parameters().size(); ++i) { 59 59 if (i) 60 60 stringBuilder.append(", "); 61 stringBuilder. flexibleAppend(typeNamer.mangledNameForType(*functionDeclaration.parameters()[i]->type()));61 stringBuilder.append(typeNamer.mangledNameForType(*functionDeclaration.parameters()[i]->type())); 62 62 } 63 63 stringBuilder.append(");\n"); … … 238 238 } else { 239 239 ASSERT(m_entryPointScaffolding == nullptr); 240 m_stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(functionDefinition.type()), ' ', iterator->value, '(');240 m_stringBuilder.append(m_typeNamer.mangledNameForType(functionDefinition.type()), ' ', iterator->value, '('); 241 241 for (size_t i = 0; i < functionDefinition.parameters().size(); ++i) { 242 242 auto& parameter = functionDefinition.parameters()[i]; … … 246 246 auto addResult = m_variableMapping.add(¶meter, parameterName); 247 247 ASSERT_UNUSED(addResult, addResult.isNewEntry); 248 m_stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(*parameter->type()), ' ', parameterName);248 m_stringBuilder.append(m_typeNamer.mangledNameForType(*parameter->type()), ' ', parameterName); 249 249 } 250 250 m_stringBuilder.append(")\n"); … … 282 282 case BreakContext::Loop: 283 283 ASSERT(m_breakOutOfCurrentLoopEarlyVariable); 284 m_stringBuilder. flexibleAppend(284 m_stringBuilder.append( 285 285 *m_breakOutOfCurrentLoopEarlyVariable, " = true;\n" 286 286 "break;\n" … … 311 311 SetForScope<Optional<MangledVariableName>> loopVariableScope(m_breakOutOfCurrentLoopEarlyVariable, generateNextVariableName()); 312 312 313 m_stringBuilder. flexibleAppend(313 m_stringBuilder.append( 314 314 "bool ", *m_breakOutOfCurrentLoopEarlyVariable, " = false;\n", 315 315 "while (true) {\n" … … 318 318 if (loopConditionLocation == LoopConditionLocation::BeforeBody && conditionExpression) { 319 319 checkErrorAndVisit(*conditionExpression); 320 m_stringBuilder. flexibleAppend("if (!", takeLastValue(), ") break;\n");320 m_stringBuilder.append("if (!", takeLastValue(), ") break;\n"); 321 321 } 322 322 … … 324 324 SetForScope<Optional<BreakContext>> breakContext(m_currentBreakContext, BreakContext::Loop); 325 325 checkErrorAndVisit(body); 326 m_stringBuilder. flexibleAppend(326 m_stringBuilder.append( 327 327 "} while(false); \n" 328 328 "if (", *m_breakOutOfCurrentLoopEarlyVariable, ") break;\n" … … 338 338 if (loopConditionLocation == LoopConditionLocation::AfterBody && conditionExpression) { 339 339 checkErrorAndVisit(*conditionExpression); 340 m_stringBuilder. flexibleAppend("if (!", takeLastValue(), ") break;\n");340 m_stringBuilder.append("if (!", takeLastValue(), ") break;\n"); 341 341 } 342 342 … … 365 365 { 366 366 checkErrorAndVisit(ifStatement.conditional()); 367 m_stringBuilder. flexibleAppend("if (", takeLastValue(), ") {\n");367 m_stringBuilder.append("if (", takeLastValue(), ") {\n"); 368 368 checkErrorAndVisit(ifStatement.body()); 369 369 if (ifStatement.elseBody()) { … … 381 381 auto variableName = generateNextVariableName(); 382 382 m_entryPointScaffolding->emitPack(m_stringBuilder, takeLastValue(), variableName); 383 m_stringBuilder. flexibleAppend("return ", variableName, ";\n");383 m_stringBuilder.append("return ", variableName, ";\n"); 384 384 } else 385 m_stringBuilder. flexibleAppend("return ", takeLastValue(), ";\n");385 m_stringBuilder.append("return ", takeLastValue(), ";\n"); 386 386 } else 387 387 m_stringBuilder.append("return;\n"); … … 392 392 checkErrorAndVisit(switchStatement.value()); 393 393 394 m_stringBuilder. flexibleAppend("switch (", takeLastValue(), ") {");394 m_stringBuilder.append("switch (", takeLastValue(), ") {"); 395 395 for (auto& switchCase : switchStatement.switchCases()) 396 396 checkErrorAndVisit(switchCase); … … 401 401 { 402 402 if (switchCase.value()) { 403 m_stringBuilder. flexibleAppend("case ");403 m_stringBuilder.append("case "); 404 404 emitConstantExpressionString(*switchCase.value()); 405 m_stringBuilder. flexibleAppend(":\n");405 m_stringBuilder.append(":\n"); 406 406 } else 407 407 m_stringBuilder.append("default:\n"); … … 420 420 auto variableName = generateNextVariableName(); 421 421 auto mangledTypeName = m_typeNamer.mangledNameForType(integerLiteral.resolvedType()); 422 m_stringBuilder. flexibleAppend(mangledTypeName, ' ', variableName, " = static_cast<", mangledTypeName, ">(", integerLiteral.value(), ");\n");422 m_stringBuilder.append(mangledTypeName, ' ', variableName, " = static_cast<", mangledTypeName, ">(", integerLiteral.value(), ");\n"); 423 423 appendRightValue(integerLiteral, variableName); 424 424 } … … 428 428 auto variableName = generateNextVariableName(); 429 429 auto mangledTypeName = m_typeNamer.mangledNameForType(unsignedIntegerLiteral.resolvedType()); 430 m_stringBuilder. flexibleAppend(mangledTypeName, ' ', variableName, " = static_cast<", mangledTypeName, ">(", unsignedIntegerLiteral.value(), ");\n");430 m_stringBuilder.append(mangledTypeName, ' ', variableName, " = static_cast<", mangledTypeName, ">(", unsignedIntegerLiteral.value(), ");\n"); 431 431 appendRightValue(unsignedIntegerLiteral, variableName); 432 432 } … … 436 436 auto variableName = generateNextVariableName(); 437 437 auto mangledTypeName = m_typeNamer.mangledNameForType(floatLiteral.resolvedType()); 438 m_stringBuilder. flexibleAppend(mangledTypeName, ' ', variableName, " = static_cast<", mangledTypeName, ">(", floatLiteral.value(), ");\n");438 m_stringBuilder.append(mangledTypeName, ' ', variableName, " = static_cast<", mangledTypeName, ">(", floatLiteral.value(), ");\n"); 439 439 appendRightValue(floatLiteral, variableName); 440 440 } … … 447 447 448 448 auto variableName = generateNextVariableName(); 449 m_stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(nullLiteral.resolvedType()), ' ', variableName, " = ");449 m_stringBuilder.append(m_typeNamer.mangledNameForType(nullLiteral.resolvedType()), ' ', variableName, " = "); 450 450 if (isArrayReferenceType) 451 451 m_stringBuilder.append("{ nullptr, 0 };\n"); … … 459 459 auto variableName = generateNextVariableName(); 460 460 auto mangledTypeName = m_typeNamer.mangledNameForType(booleanLiteral.resolvedType()); 461 m_stringBuilder. flexibleAppend(mangledTypeName, ' ', variableName, " = static_cast<", mangledTypeName, ">(", booleanLiteral.value() ? "true" : "false", ");\n");461 m_stringBuilder.append(mangledTypeName, ' ', variableName, " = static_cast<", mangledTypeName, ">(", booleanLiteral.value() ? "true" : "false", ");\n"); 462 462 appendRightValue(booleanLiteral, variableName); 463 463 } … … 469 469 auto variableName = generateNextVariableName(); 470 470 auto mangledTypeName = m_typeNamer.mangledNameForType(enumerationMemberLiteral.resolvedType()); 471 m_stringBuilder. flexibleAppend(mangledTypeName, ' ', variableName, " = ", mangledTypeName, "::", m_typeNamer.mangledNameForEnumerationMember(*enumerationMemberLiteral.enumerationMember()), ";\n");471 m_stringBuilder.append(mangledTypeName, ' ', variableName, " = ", mangledTypeName, "::", m_typeNamer.mangledNameForEnumerationMember(*enumerationMemberLiteral.enumerationMember()), ";\n"); 472 472 appendRightValue(enumerationMemberLiteral, variableName); 473 473 } … … 492 492 auto mangledTypeName = m_typeNamer.mangledNameForType(globalVariableReference.resolvedType()); 493 493 checkErrorAndVisit(globalVariableReference.base()); 494 m_stringBuilder. flexibleAppend(494 m_stringBuilder.append( 495 495 "thread ", mangledTypeName, "* ", pointerName, " = &", takeLastValue(), "->", m_typeNamer.mangledNameForStructureElement(globalVariableReference.structField()), ";\n", 496 496 mangledTypeName, ' ', valueName, " = ", "*", pointerName, ";\n" … … 524 524 if (variableDeclaration.initializer()) { 525 525 checkErrorAndVisit(*variableDeclaration.initializer()); 526 m_stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(*variableDeclaration.type()), ' ', variableName, " = ", takeLastValue(), ";\n");526 m_stringBuilder.append(m_typeNamer.mangledNameForType(*variableDeclaration.type()), ' ', variableName, " = ", takeLastValue(), ";\n"); 527 527 } else 528 m_stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(*variableDeclaration.type()), ' ', variableName, " = { };\n");528 m_stringBuilder.append(m_typeNamer.mangledNameForType(*variableDeclaration.type()), ' ', variableName, " = { };\n"); 529 529 } 530 530 … … 536 536 auto [rightName, rightNullability] = takeLastValueAndNullability(); 537 537 if (nullability == Nullability::CanBeNull) 538 m_stringBuilder. flexibleAppend("if (", pointerName, ") *", pointerName, " = ", rightName, ";\n");538 m_stringBuilder.append("if (", pointerName, ") *", pointerName, " = ", rightName, ";\n"); 539 539 else 540 m_stringBuilder. flexibleAppend("*", pointerName, " = ", rightName, ";\n");540 m_stringBuilder.append("*", pointerName, " = ", rightName, ";\n"); 541 541 appendRightValueWithNullability(assignmentExpression, rightName, rightNullability); 542 542 } … … 554 554 if (!isVoid) { 555 555 returnName = generateNextVariableName(); 556 m_stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(callExpression.resolvedType()), ' ', returnName, ";\n");556 m_stringBuilder.append(m_typeNamer.mangledNameForType(callExpression.resolvedType()), ' ', returnName, ";\n"); 557 557 } 558 558 … … 563 563 ASSERT(iterator != m_functionMapping.end()); 564 564 if (!isVoid) 565 m_stringBuilder. flexibleAppend(returnName, " = ");566 m_stringBuilder. flexibleAppend(iterator->value, '(');565 m_stringBuilder.append(returnName, " = "); 566 m_stringBuilder.append(iterator->value, '('); 567 567 for (size_t i = 0; i < argumentNames.size(); ++i) { 568 568 if (i) 569 569 m_stringBuilder.append(", "); 570 m_stringBuilder. flexibleAppend(argumentNames[i]);570 m_stringBuilder.append(argumentNames[i]); 571 571 } 572 572 m_stringBuilder.append(");\n"); … … 593 593 auto resultValue = generateNextVariableName(); 594 594 auto resultPointer = generateNextVariableName(); 595 m_stringBuilder. flexibleAppend(595 m_stringBuilder.append( 596 596 m_typeNamer.mangledNameForType(dereferenceExpression.pointer().resolvedType()), ' ', resultPointer, " = ", inputPointer, ";\n", 597 597 m_typeNamer.mangledNameForType(dereferenceExpression.resolvedType()), ' ', resultValue, ";\n"); 598 598 if (nullability == Nullability::CanBeNull) { 599 m_stringBuilder. flexibleAppend(599 m_stringBuilder.append( 600 600 "if (", resultPointer, ") ", resultValue, " = *", inputPointer, ";\n", 601 601 "else ", resultValue, " = { };\n"); 602 602 } else 603 m_stringBuilder. flexibleAppend(resultValue, " = *", inputPointer, ";\n");603 m_stringBuilder.append(resultValue, " = *", inputPointer, ";\n"); 604 604 appendLeftValue(dereferenceExpression, resultValue, resultPointer, nullability); 605 605 } … … 612 612 auto right = takeLastValue(); 613 613 auto variableName = generateNextVariableName(); 614 m_stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(logicalExpression.resolvedType()), ' ', variableName, " = ", left);614 m_stringBuilder.append(m_typeNamer.mangledNameForType(logicalExpression.resolvedType()), ' ', variableName, " = ", left); 615 615 switch (logicalExpression.type()) { 616 616 case AST::LogicalExpression::Type::And: … … 622 622 break; 623 623 } 624 m_stringBuilder. flexibleAppend(right, ";\n");624 m_stringBuilder.append(right, ";\n"); 625 625 appendRightValue(logicalExpression, variableName); 626 626 } … … 631 631 auto operand = takeLastValue(); 632 632 auto variableName = generateNextVariableName(); 633 m_stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(logicalNotExpression.resolvedType()), ' ', variableName, " = !", operand, ";\n");633 m_stringBuilder.append(m_typeNamer.mangledNameForType(logicalNotExpression.resolvedType()), ' ', variableName, " = !", operand, ";\n"); 634 634 appendRightValue(logicalNotExpression, variableName); 635 635 } … … 645 645 if (is<AST::PointerType>(makeArrayReferenceExpression.leftValue().resolvedType())) { 646 646 auto ptrValue = takeLastValue(); 647 m_stringBuilder. flexibleAppend(647 m_stringBuilder.append( 648 648 mangledTypeName, ' ', variableName, ";\n", 649 649 "if (", ptrValue, ") ", variableName, " = { ", ptrValue, ", 1};\n", … … 653 653 auto lValue = takeLastLeftValue().value; 654 654 auto& arrayType = downcast<AST::ArrayType>(makeArrayReferenceExpression.leftValue().resolvedType()); 655 m_stringBuilder. flexibleAppend(mangledTypeName, ' ', variableName, " = { ", lValue, "->data(), ", arrayType.numElements(), " };\n");655 m_stringBuilder.append(mangledTypeName, ' ', variableName, " = { ", lValue, "->data(), ", arrayType.numElements(), " };\n"); 656 656 } else { 657 657 auto lValue = takeLastLeftValue().value; 658 m_stringBuilder. flexibleAppend(mangledTypeName, ' ', variableName, " = { ", lValue, ", 1 };\n");658 m_stringBuilder.append(mangledTypeName, ' ', variableName, " = { ", lValue, ", 1 };\n"); 659 659 } 660 660 appendRightValue(makeArrayReferenceExpression, variableName); … … 666 666 auto [pointer, nullability] = takeLastLeftValue(); 667 667 auto variableName = generateNextVariableName(); 668 m_stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(makePointerExpression.resolvedType()), ' ', variableName, " = ", pointer, ";\n");668 m_stringBuilder.append(m_typeNamer.mangledNameForType(makePointerExpression.resolvedType()), ' ', variableName, " = ", pointer, ";\n"); 669 669 appendRightValueWithNullability(makePointerExpression, variableName, nullability); 670 670 } … … 686 686 687 687 auto variableName = generateNextVariableName(); 688 m_stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(ternaryExpression.resolvedType()), ' ', variableName, " = ", check, " ? ", body, " : ", elseBody, ";\n");688 m_stringBuilder.append(m_typeNamer.mangledNameForType(ternaryExpression.resolvedType()), ' ', variableName, " = ", check, " ? ", body, " : ", elseBody, ";\n"); 689 689 appendRightValue(ternaryExpression, variableName); 690 690 } … … 696 696 ASSERT(iterator != m_variableMapping.end()); 697 697 auto pointerName = generateNextVariableName(); 698 m_stringBuilder. flexibleAppend("thread ", m_typeNamer.mangledNameForType(variableReference.resolvedType()), "* ", pointerName, " = &", iterator->value, ";\n");698 m_stringBuilder.append("thread ", m_typeNamer.mangledNameForType(variableReference.resolvedType()), "* ", pointerName, " = &", iterator->value, ";\n"); 699 699 appendLeftValue(variableReference, iterator->value, pointerName, Nullability::NotNull); 700 700 } … … 704 704 constantExpression.visit(WTF::makeVisitor( 705 705 [&](AST::IntegerLiteral& integerLiteral) { 706 m_stringBuilder. flexibleAppend(integerLiteral.value());706 m_stringBuilder.append(integerLiteral.value()); 707 707 }, 708 708 [&](AST::UnsignedIntegerLiteral& unsignedIntegerLiteral) { 709 m_stringBuilder. flexibleAppend(unsignedIntegerLiteral.value());709 m_stringBuilder.append(unsignedIntegerLiteral.value()); 710 710 }, 711 711 [&](AST::FloatLiteral& floatLiteral) { 712 m_stringBuilder. flexibleAppend(floatLiteral.value());712 m_stringBuilder.append(floatLiteral.value()); 713 713 }, 714 714 [&](AST::NullLiteral&) { 715 m_stringBuilder. flexibleAppend("nullptr");715 m_stringBuilder.append("nullptr"); 716 716 }, 717 717 [&](AST::BooleanLiteral& booleanLiteral) { 718 718 if (booleanLiteral.value()) 719 m_stringBuilder. flexibleAppend("true");719 m_stringBuilder.append("true"); 720 720 else 721 m_stringBuilder. flexibleAppend("false");721 m_stringBuilder.append("false"); 722 722 }, 723 723 [&](AST::EnumerationMemberLiteral& enumerationMemberLiteral) { 724 724 ASSERT(enumerationMemberLiteral.enumerationDefinition()); 725 725 ASSERT(enumerationMemberLiteral.enumerationDefinition()); 726 m_stringBuilder. flexibleAppend(m_typeNamer.mangledNameForType(*enumerationMemberLiteral.enumerationDefinition()), "::", m_typeNamer.mangledNameForEnumerationMember(*enumerationMemberLiteral.enumerationMember()));726 m_stringBuilder.append(m_typeNamer.mangledNameForType(*enumerationMemberLiteral.enumerationDefinition()), "::", m_typeNamer.mangledNameForEnumerationMember(*enumerationMemberLiteral.enumerationMember())); 727 727 } 728 728 )); -
trunk/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp
r248814 r248822 140 140 141 141 if (!nativeFunctionDeclaration.parameters().size()) { 142 stringBuilder. flexibleAppend(returnName, " = { };\n");142 stringBuilder.append(returnName, " = { };\n"); 143 143 return; 144 144 } … … 148 148 auto& parameterType = *nativeFunctionDeclaration.parameters()[0]->type(); 149 149 auto metalParameterTypeName = typeNamer.mangledNameForType(parameterType); 150 stringBuilder. flexibleAppend("{\n", metalParameterTypeName, " x = ", args[0], ";\n");150 stringBuilder.append("{\n", metalParameterTypeName, " x = ", args[0], ";\n"); 151 151 152 152 { … … 161 161 for (auto& member : enumerationDefinition.enumerationMembers()) { 162 162 hasZeroCase |= !member.get().value(); 163 stringBuilder. flexibleAppend(" case ", member.get().value(), ": break;\n");163 stringBuilder.append(" case ", member.get().value(), ": break;\n"); 164 164 } 165 165 ASSERT_UNUSED(hasZeroCase, hasZeroCase); … … 168 168 } 169 169 170 stringBuilder. flexibleAppend(170 stringBuilder.append( 171 171 returnName, " = static_cast<", metalReturnTypeName, ">(x);\n}\n"); 172 172 … … 179 179 RELEASE_ASSERT(nativeFunctionDeclaration.parameters().size() == numRows || nativeFunctionDeclaration.parameters().size() == numRows * numColumns); 180 180 181 stringBuilder. flexibleAppend("{\n", metalReturnTypeName, " x;\n");181 stringBuilder.append("{\n", metalReturnTypeName, " x;\n"); 182 182 183 183 // We need to abide by the memory layout we use for matrices here. … … 186 186 for (unsigned i = 0; i < numRows; ++i) { 187 187 for (unsigned j = 0; j < numColumns; ++j) 188 stringBuilder. flexibleAppend("x[", j * numRows + i, "] = ", args[i], "[", j, "];\n");188 stringBuilder.append("x[", j * numRows + i, "] = ", args[i], "[", j, "];\n"); 189 189 } 190 190 … … 194 194 for (unsigned i = 0; i < numRows; ++i) { 195 195 for (unsigned j = 0; j < numColumns; ++j) { 196 stringBuilder. flexibleAppend("x[", j * numRows + i, "] = ", args[index], ";\n");196 stringBuilder.append("x[", j * numRows + i, "] = ", args[index], ";\n"); 197 197 ++index; 198 198 } … … 200 200 } 201 201 202 stringBuilder. flexibleAppend(returnName, " = x;\n}\n");202 stringBuilder.append(returnName, " = x;\n}\n"); 203 203 return; 204 204 } 205 205 206 stringBuilder. flexibleAppend(returnName, " = ", metalReturnTypeName, "(");206 stringBuilder.append(returnName, " = ", metalReturnTypeName, "("); 207 207 for (unsigned i = 0; i < nativeFunctionDeclaration.parameters().size(); ++i) { 208 208 if (i > 0) 209 209 stringBuilder.append(", "); 210 stringBuilder. flexibleAppend(args[i]);210 stringBuilder.append(args[i]); 211 211 } 212 212 stringBuilder.append(");\n"); … … 222 222 if (is<AST::ArrayType>(unnamedParameterType)) { 223 223 auto& arrayParameterType = downcast<AST::ArrayType>(unnamedParameterType); 224 stringBuilder. flexibleAppend(224 stringBuilder.append( 225 225 returnName, " = ", arrayParameterType.numElements(), ";\n"); 226 226 return; … … 228 228 229 229 ASSERT(is<AST::ArrayReferenceType>(unnamedParameterType)); 230 stringBuilder. flexibleAppend(230 stringBuilder.append( 231 231 returnName, " = ", args[0], ".length;\n"); 232 232 return; … … 241 241 auto* structureElement = structureDefinition.find(fieldName); 242 242 ASSERT(structureElement); 243 stringBuilder. flexibleAppend(typeNamer.mangledNameForStructureElement(*structureElement));243 stringBuilder.append(typeNamer.mangledNameForStructureElement(*structureElement)); 244 244 return; 245 245 } … … 253 253 fieldName = fieldName.substring(0, fieldName.length() - 1); 254 254 255 stringBuilder. flexibleAppend(255 stringBuilder.append( 256 256 returnName, " = ", args[0], ";\n", 257 257 returnName, '.'); 258 258 appendMangledFieldName(fieldName); 259 stringBuilder. flexibleAppend(" = ", args[1], ";\n");259 stringBuilder.append(" = ", args[1], ";\n"); 260 260 261 261 return; … … 264 264 ASSERT(nativeFunctionDeclaration.parameters().size() == 1); 265 265 auto fieldName = nativeFunctionDeclaration.name().substring("operator."_str.length()); 266 stringBuilder. flexibleAppend(266 stringBuilder.append( 267 267 returnName, " = ", args[0], '.'); 268 268 appendMangledFieldName(fieldName); … … 275 275 auto fieldName = nativeFunctionDeclaration.name().substring("operator&."_str.length()); 276 276 277 stringBuilder. flexibleAppend(277 stringBuilder.append( 278 278 returnName, " = &(", args[0], "->"); 279 279 … … 285 285 auto* structureElement = structureDefinition.find(fieldName); 286 286 ASSERT(structureElement); 287 stringBuilder. flexibleAppend(typeNamer.mangledNameForStructureElement(*structureElement));287 stringBuilder.append(typeNamer.mangledNameForStructureElement(*structureElement)); 288 288 } else 289 stringBuilder. flexibleAppend(fieldName);289 stringBuilder.append(fieldName); 290 290 291 291 stringBuilder.append(");\n"); … … 298 298 ASSERT(is<AST::ArrayReferenceType>(*nativeFunctionDeclaration.parameters()[0]->type())); 299 299 300 stringBuilder. flexibleAppend(300 stringBuilder.append( 301 301 returnName, " = (", args[1], " < ", args[0], ".length) ? ", " &(", args[0], ".pointer[", args[1], "]) : nullptr;\n"); 302 302 … … 328 328 unsigned numberOfRows = getMatrixType().numberOfMatrixRows(); 329 329 unsigned numberOfColumns = getMatrixType().numberOfMatrixColumns(); 330 stringBuilder. flexibleAppend("do {\n", metalReturnName, " result;\n");331 332 stringBuilder. flexibleAppend(330 stringBuilder.append("do {\n", metalReturnName, " result;\n"); 331 332 stringBuilder.append( 333 333 " if (", args[1], " >= ", numberOfRows, ") {", returnName, " = ", metalReturnName, "(0); break;}\n", 334 334 " result[0] = ", args[0], '[', args[1], "];\n", … … 336 336 337 337 if (numberOfColumns >= 3) 338 stringBuilder. flexibleAppend(" result[2] = ", args[0], '[', args[1], " + ", numberOfRows * 2, "];\n");338 stringBuilder.append(" result[2] = ", args[0], '[', args[1], " + ", numberOfRows * 2, "];\n"); 339 339 if (numberOfColumns >= 4) 340 stringBuilder. flexibleAppend(" result[3] = ", args[0], '[', args[1], " + ", numberOfRows * 3, "];\n");341 342 stringBuilder. flexibleAppend(340 stringBuilder.append(" result[3] = ", args[0], '[', args[1], " + ", numberOfRows * 3, "];\n"); 341 342 stringBuilder.append( 343 343 " ", returnName, " = result;\n", 344 344 "} while (0);\n"); … … 349 349 auto metalReturnName = typeNamer.mangledNameForType(nativeFunctionDeclaration.type()); 350 350 351 stringBuilder. flexibleAppend("do {\n", metalReturnName, " result;\n");352 353 stringBuilder. flexibleAppend(351 stringBuilder.append("do {\n", metalReturnName, " result;\n"); 352 353 stringBuilder.append( 354 354 " if (", args[1], " >= ", numElements, ") {", returnName, " = ", metalReturnName, "(0); break;}\n", 355 355 " result = ", args[0], "[", args[1], "];\n"); 356 stringBuilder. flexibleAppend(356 stringBuilder.append( 357 357 " ", returnName, " = result;\n", 358 358 "} while (0);\n"); … … 373 373 unsigned numberOfColumns = getMatrixType().numberOfMatrixColumns(); 374 374 375 stringBuilder. flexibleAppend("do {\n", metalReturnName, " m = ", args[0], ";\n",375 stringBuilder.append("do {\n", metalReturnName, " m = ", args[0], ";\n", 376 376 metalParameter2Name, " i = ", args[1], ";\n"); 377 377 378 stringBuilder. flexibleAppend(378 stringBuilder.append( 379 379 " if (i >= ", numberOfRows, ") {", returnName, " = m;\nbreak;}\n", 380 380 " m[i] = ", args[2], "[0];\n", 381 381 " m[i + ", numberOfRows, "] = ", args[2], "[1];\n"); 382 382 if (numberOfColumns >= 3) 383 stringBuilder. flexibleAppend(" m[i + ", numberOfRows * 2, "] = ", args[2], "[2];\n");383 stringBuilder.append(" m[i + ", numberOfRows * 2, "] = ", args[2], "[2];\n"); 384 384 if (numberOfColumns >= 4) 385 stringBuilder. flexibleAppend(" m[i + ", numberOfRows * 3, "] = ", args[2], "[3];\n");386 stringBuilder. flexibleAppend(385 stringBuilder.append(" m[i + ", numberOfRows * 3, "] = ", args[2], "[3];\n"); 386 stringBuilder.append( 387 387 " ", returnName, " = m;\n", 388 388 "} while(0);\n"); … … 396 396 unsigned numElements = vectorSize(); 397 397 398 stringBuilder. flexibleAppend("do {\n", metalReturnName, " v = ", args[0], ";\n",398 stringBuilder.append("do {\n", metalReturnName, " v = ", args[0], ";\n", 399 399 metalParameter2Name, " i = ", args[1], ";\n"); 400 400 401 stringBuilder. flexibleAppend(401 stringBuilder.append( 402 402 " if (i >= ", numElements, ") {", returnName, " = v;\nbreak;}\n", 403 403 " v[i] = ", args[2], ";\n"); 404 stringBuilder. flexibleAppend(404 stringBuilder.append( 405 405 " ", returnName, " = v;\n", 406 406 "} while(0);\n"); … … 415 415 if (nativeFunctionDeclaration.parameters().size() == 1) { 416 416 if (auto* matrixType = asMatrixType(nativeFunctionDeclaration.type())) { 417 stringBuilder. flexibleAppend(417 stringBuilder.append( 418 418 "{\n", metalReturnType, " x = ", args[0], ";\n", 419 419 "for (size_t i = 0; i < x.size(); ++i) x[i] = ", operatorName, "x[i];\n", 420 420 returnName, " = x;\n}\n"); 421 421 } else { 422 stringBuilder. flexibleAppend(422 stringBuilder.append( 423 423 "{\n", metalReturnType, " x = ", args[0], ";\n", 424 424 returnName, " = ", operatorName, "x;\n}\n"); … … 431 431 if (auto* rightMatrix = asMatrixType(*nativeFunctionDeclaration.parameters()[1]->type())) { 432 432 // matrix <op> matrix 433 stringBuilder. flexibleAppend(433 stringBuilder.append( 434 434 "{\n", metalReturnType, " x;\n", 435 435 "for (size_t i = 0; i < x.size(); ++i) x[i] = ", args[0], "[i] ", operatorName, ' ', args[1], "[i];\n", … … 437 437 } else { 438 438 // matrix <op> scalar 439 stringBuilder. flexibleAppend(439 stringBuilder.append( 440 440 "{\n", metalReturnType, " x;\n", 441 441 "for (size_t i = 0; i < x.size(); ++i) x[i] = ", args[0], "[i] ", operatorName, ' ', args[1], ";\n", … … 445 445 ASSERT(!asMatrixType(*nativeFunctionDeclaration.parameters()[0]->type())); 446 446 // scalar <op> matrix 447 stringBuilder. flexibleAppend(447 stringBuilder.append( 448 448 "{\n", metalReturnType, " x;\n", 449 449 "for (size_t i = 0; i < x.size(); ++i) x[i] = ", args[0], ' ', operatorName, ' ', args[1], "[i];\n", … … 454 454 // vector <op> scalar 455 455 // scalar <op> vector 456 stringBuilder. flexibleAppend(456 stringBuilder.append( 457 457 returnName, " = ", args[0], ' ', operatorName, ' ', args[1], ";\n"); 458 458 } … … 487 487 || nativeFunctionDeclaration.name() == "length") { 488 488 ASSERT(nativeFunctionDeclaration.parameters().size() == 1); 489 stringBuilder. flexibleAppend(489 stringBuilder.append( 490 490 returnName, " = ", mapFunctionName(nativeFunctionDeclaration.name()), '(', args[0], ");\n"); 491 491 return; … … 494 494 if (nativeFunctionDeclaration.name() == "pow" || nativeFunctionDeclaration.name() == "atan2") { 495 495 ASSERT(nativeFunctionDeclaration.parameters().size() == 2); 496 stringBuilder. flexibleAppend(496 stringBuilder.append( 497 497 returnName, " = ", nativeFunctionDeclaration.name(), "(", args[0], ", ", args[1], ");\n"); 498 498 return; … … 503 503 if (asMatrixType(nativeFunctionDeclaration.type())) { 504 504 auto metalReturnType = typeNamer.mangledNameForType(nativeFunctionDeclaration.type()); 505 stringBuilder. flexibleAppend(505 stringBuilder.append( 506 506 "{\n", metalReturnType, " x;\n", 507 507 "for (size_t i = 0; i < x.size(); ++i) x[i] = clamp(", args[0], "[i], ", args[1], "[i], ", args[2], "[i]);", 508 508 returnName, " = x;\n}\n"); 509 509 } else { 510 stringBuilder. flexibleAppend(510 stringBuilder.append( 511 511 returnName, " = clamp(", args[0], ", ", args[1], ", ", args[2], ");\n"); 512 512 } … … 540 540 if (nativeFunctionDeclaration.name() == "InterlockedCompareExchange") { 541 541 ASSERT(nativeFunctionDeclaration.parameters().size() == 4); 542 stringBuilder. flexibleAppend(542 stringBuilder.append( 543 543 "atomic_compare_exchange_weak_explicit(", args[0], ", &", args[1], ", ", args[2], ", memory_order_relaxed, memory_order_relaxed);\n", 544 544 '*', args[3], " = ", args[1], ";\n"); … … 548 548 ASSERT(nativeFunctionDeclaration.parameters().size() == 3); 549 549 auto name = atomicName(nativeFunctionDeclaration.name().substring("Interlocked"_str.length())); 550 stringBuilder. flexibleAppend(550 stringBuilder.append( 551 551 '*', args[2], " = atomic_", name, "_explicit(", args[0], ", ", args[1], ", memory_order_relaxed);\n"); 552 552 return; … … 562 562 auto returnVectorLength = vectorLength(returnType); 563 563 564 stringBuilder. flexibleAppend(564 stringBuilder.append( 565 565 returnName, " = ", args[0], ".sample(", args[1], ", "); 566 566 567 567 if (textureType.isTextureArray()) { 568 568 ASSERT(locationVectorLength > 1); 569 stringBuilder. flexibleAppend(args[2], '.', "xyzw"_str.substring(0, locationVectorLength - 1), ", ", args[2], '.', "xyzw"_str.substring(locationVectorLength - 1, 1));569 stringBuilder.append(args[2], '.', "xyzw"_str.substring(0, locationVectorLength - 1), ", ", args[2], '.', "xyzw"_str.substring(locationVectorLength - 1, 1)); 570 570 } else 571 stringBuilder. flexibleAppend(args[2]);571 stringBuilder.append(args[2]); 572 572 if (nativeFunctionDeclaration.parameters().size() == 4) 573 stringBuilder. flexibleAppend(", ", args[3]);573 stringBuilder.append(", ", args[3]); 574 574 stringBuilder.append(")"); 575 575 if (!textureType.isDepthTexture()) 576 stringBuilder. flexibleAppend(".", "xyzw"_str.substring(0, returnVectorLength));576 stringBuilder.append(".", "xyzw"_str.substring(0, returnVectorLength)); 577 577 stringBuilder.append(";\n"); 578 578 … … 597 597 for (int i = 0; i < locationVectorLength - 1; ++i) { 598 598 auto suffix = "xyzw"_str.substring(i, 1); 599 stringBuilder. flexibleAppend(" if (", args[1], '.', suffix, " < 0 || static_cast<uint32_t>(", args[1], '.', suffix, ") >= ", args[0], ".get_", dimensions[i], "()) {", returnName, " = ", metalReturnName, "(0); break;}\n");599 stringBuilder.append(" if (", args[1], '.', suffix, " < 0 || static_cast<uint32_t>(", args[1], '.', suffix, ") >= ", args[0], ".get_", dimensions[i], "()) {", returnName, " = ", metalReturnName, "(0); break;}\n"); 600 600 } 601 601 auto suffix = "xyzw"_str.substring(locationVectorLength - 1, 1); 602 stringBuilder. flexibleAppend(" if (", args[1], '.', suffix, " < 0 || static_cast<uint32_t>(", args[1], '.', suffix, ") >= ", args[0], ".get_array_size()) {", returnName, " = ", metalReturnName, "(0); break;}\n");602 stringBuilder.append(" if (", args[1], '.', suffix, " < 0 || static_cast<uint32_t>(", args[1], '.', suffix, ") >= ", args[0], ".get_array_size()) {", returnName, " = ", metalReturnName, "(0); break;}\n"); 603 603 } else { 604 604 if (locationVectorLength == 1) 605 stringBuilder. flexibleAppend(" if (", args[1], " < 0 || static_cast<uint32_t>(", args[1], ") >= ", args[0], ".get_width()) { ", returnName, " = ", metalReturnName, "(0); break;}\n");605 stringBuilder.append(" if (", args[1], " < 0 || static_cast<uint32_t>(", args[1], ") >= ", args[0], ".get_width()) { ", returnName, " = ", metalReturnName, "(0); break;}\n"); 606 606 else { 607 stringBuilder. flexibleAppend(607 stringBuilder.append( 608 608 " if (", args[1], ".x < 0 || static_cast<uint32_t>(", args[1], ".x) >= ", args[0], ".get_width()) {", returnName, " = ", metalReturnName, "(0); break;}\n" 609 609 " if (", args[1], ".y < 0 || static_cast<uint32_t>(", args[1], ".y) >= ", args[0], ".get_height()) {", returnName, " = ", metalReturnName, "(0); break;}\n"); 610 610 611 611 if (locationVectorLength >= 3) 612 stringBuilder. flexibleAppend(" if (", args[1], ".z < 0 || static_cast<uint32_t>(", args[1], ".z) >= ", args[0], ".get_depth()) {", returnName, " = ", metalReturnName, "(0); break;}\n");612 stringBuilder.append(" if (", args[1], ".z < 0 || static_cast<uint32_t>(", args[1], ".z) >= ", args[0], ".get_depth()) {", returnName, " = ", metalReturnName, "(0); break;}\n"); 613 613 } 614 614 } 615 stringBuilder. flexibleAppend(" ", returnName, " = ", args[0], ".read(");615 stringBuilder.append(" ", returnName, " = ", args[0], ".read("); 616 616 if (textureType.isTextureArray()) { 617 617 ASSERT(locationVectorLength > 1); 618 stringBuilder. flexibleAppend("uint", vectorSuffix(locationVectorLength - 1), '(', args[1], '.', "xyzw"_str.substring(0, locationVectorLength - 1), "), uint(", args[1], '.', "xyzw"_str.substring(locationVectorLength - 1, 1), ')');618 stringBuilder.append("uint", vectorSuffix(locationVectorLength - 1), '(', args[1], '.', "xyzw"_str.substring(0, locationVectorLength - 1), "), uint(", args[1], '.', "xyzw"_str.substring(locationVectorLength - 1, 1), ')'); 619 619 } else 620 stringBuilder. flexibleAppend("uint", vectorSuffix(locationVectorLength), '(', args[1], ')');620 stringBuilder.append("uint", vectorSuffix(locationVectorLength), '(', args[1], ')'); 621 621 stringBuilder.append(')'); 622 622 if (!textureType.isDepthTexture()) 623 stringBuilder. flexibleAppend('.', "xyzw"_str.substring(0, returnVectorLength));623 stringBuilder.append('.', "xyzw"_str.substring(0, returnVectorLength)); 624 624 stringBuilder.append( 625 625 ";\n" … … 631 631 if (nativeFunctionDeclaration.name() == "load") { 632 632 ASSERT(nativeFunctionDeclaration.parameters().size() == 1); 633 stringBuilder. flexibleAppend(633 stringBuilder.append( 634 634 returnName, " = atomic_load_explicit(", args[0], ", memory_order_relaxed);\n"); 635 635 return; … … 638 638 if (nativeFunctionDeclaration.name() == "store") { 639 639 ASSERT(nativeFunctionDeclaration.parameters().size() == 2); 640 stringBuilder. flexibleAppend(640 stringBuilder.append( 641 641 "atomic_store_explicit(", args[0], ", ", args[1], ", memory_order_relaxed);\n"); 642 642 return; … … 674 674 ASSERT(index == nativeFunctionDeclaration.parameters().size()); 675 675 676 stringBuilder. flexibleAppend(676 stringBuilder.append( 677 677 "if (", widthName, ")\n" 678 678 " *", widthName, " = ", args[0], ".get_width("); 679 679 680 680 if (hasMipLevel) 681 stringBuilder. flexibleAppend(args[1]);681 stringBuilder.append(args[1]); 682 682 stringBuilder.append(");\n"); 683 683 if (heightName) { 684 stringBuilder. flexibleAppend(684 stringBuilder.append( 685 685 " if (", *heightName, ")\n" 686 686 " *", *heightName, " = ", args[0], ".get_height("); 687 687 if (hasMipLevel) 688 stringBuilder. flexibleAppend(args[1]);688 stringBuilder.append(args[1]); 689 689 stringBuilder.append(");\n"); 690 690 } 691 691 if (depthName) { 692 stringBuilder. flexibleAppend(692 stringBuilder.append( 693 693 " if (", *depthName, ")\n" 694 694 " *", *depthName, " = ", args[0], ".get_depth("); 695 695 if (hasMipLevel) 696 stringBuilder. flexibleAppend(args[1]);696 stringBuilder.append(args[1]); 697 697 stringBuilder.append(");\n"); 698 698 } 699 699 if (elementsName) { 700 stringBuilder. flexibleAppend(700 stringBuilder.append( 701 701 " if (", *elementsName, ")\n" 702 702 " *", *elementsName, " = ", args[0], ".get_array_size();\n"); 703 703 } 704 704 if (numberOfLevelsName) { 705 stringBuilder. flexibleAppend(705 stringBuilder.append( 706 706 " if (", *numberOfLevelsName, ")\n" 707 707 " *", *numberOfLevelsName, " = ", args[0], ".get_num_mip_levels();\n"); … … 763 763 for (int i = 0; i < locationVectorLength - 1; ++i) { 764 764 auto suffix = "xyzw"_str.substring(i, 1); 765 stringBuilder. flexibleAppend(" if (", args[2], ".", suffix, " >= ", args[0], ".get_", dimensions[i], "()) break;\n");765 stringBuilder.append(" if (", args[2], ".", suffix, " >= ", args[0], ".get_", dimensions[i], "()) break;\n"); 766 766 } 767 767 auto suffix = "xyzw"_str.substring(locationVectorLength - 1, 1); 768 stringBuilder. flexibleAppend(" if (", args[2], '.', suffix, " >= ", args[0], ".get_array_size()) break;\n");768 stringBuilder.append(" if (", args[2], '.', suffix, " >= ", args[0], ".get_array_size()) break;\n"); 769 769 } else { 770 770 if (locationVectorLength == 1) 771 stringBuilder. flexibleAppend(" if (", args[2], " >= ", args[0], ".get_width()) break;\n");771 stringBuilder.append(" if (", args[2], " >= ", args[0], ".get_width()) break;\n"); 772 772 else { 773 stringBuilder. flexibleAppend(773 stringBuilder.append( 774 774 " if (", args[2], ".x >= ", args[0], ".get_width()) break;\n" 775 775 " if (", args[2], ".y >= ", args[0], ".get_height()) break;\n"); 776 776 if (locationVectorLength >= 3) 777 stringBuilder. flexibleAppend(" if (", args[2], ".z >= ", args[0], ".get_depth()) break;\n");777 stringBuilder.append(" if (", args[2], ".z >= ", args[0], ".get_depth()) break;\n"); 778 778 } 779 779 } 780 stringBuilder. flexibleAppend(" ", args[0], ".write(vec<", metalInnerTypeName, ", 4>(", args[1]);780 stringBuilder.append(" ", args[0], ".write(vec<", metalInnerTypeName, ", 4>(", args[1]); 781 781 for (int i = 0; i < 4 - itemVectorLength; ++i) 782 782 stringBuilder.append(", 0"); … … 784 784 if (textureType.isTextureArray()) { 785 785 ASSERT(locationVectorLength > 1); 786 stringBuilder. flexibleAppend("uint", vectorSuffix(locationVectorLength - 1), '(', args[2], '.', "xyzw"_str.substring(0, locationVectorLength - 1), "), uint(", args[2], ".", "xyzw"_str.substring(locationVectorLength - 1, 1), ')');786 stringBuilder.append("uint", vectorSuffix(locationVectorLength - 1), '(', args[2], '.', "xyzw"_str.substring(0, locationVectorLength - 1), "), uint(", args[2], ".", "xyzw"_str.substring(locationVectorLength - 1, 1), ')'); 787 787 } else 788 stringBuilder. flexibleAppend("uint", vectorSuffix(locationVectorLength), '(', args[2], ')');788 stringBuilder.append("uint", vectorSuffix(locationVectorLength), '(', args[2], ')'); 789 789 stringBuilder.append( 790 790 ");\n" -
trunk/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.cpp
r248488 r248822 336 336 void visit(AST::StructureDefinition& structureDefinition) override 337 337 { 338 m_stringBuilder. flexibleAppend("struct ", m_mangledNameForNamedType(structureDefinition), ";\n");338 m_stringBuilder.append("struct ", m_mangledNameForNamedType(structureDefinition), ";\n"); 339 339 } 340 340 … … 363 363 auto& namedType = downcast<ReferenceTypeNameNode>(baseTypeNameNode).namedType(); 364 364 emitNamedTypeDefinition(stringBuilder, namedType, emittedNamedTypes, emittedUnnamedTypes); 365 stringBuilder. flexibleAppend("typedef ", mangledNameForType(namedType), ' ', baseTypeNameNode.mangledName(), ";\n");365 stringBuilder.append("typedef ", mangledNameForType(namedType), ' ', baseTypeNameNode.mangledName(), ";\n"); 366 366 break; 367 367 } … … 369 369 auto& pointerType = downcast<PointerTypeNameNode>(baseTypeNameNode); 370 370 ASSERT(baseTypeNameNode.parent()); 371 stringBuilder. flexibleAppend("typedef ", toString(pointerType.addressSpace()), ' ', pointerType.parent()->mangledName(), "* ", pointerType.mangledName(), ";\n");371 stringBuilder.append("typedef ", toString(pointerType.addressSpace()), ' ', pointerType.parent()->mangledName(), "* ", pointerType.mangledName(), ";\n"); 372 372 break; 373 373 } … … 375 375 auto& arrayReferenceType = downcast<ArrayReferenceTypeNameNode>(baseTypeNameNode); 376 376 ASSERT(baseTypeNameNode.parent()); 377 stringBuilder. flexibleAppend(377 stringBuilder.append( 378 378 "struct ", arrayReferenceType.mangledName(), "{ \n" 379 379 " ", toString(arrayReferenceType.addressSpace()), ' ', arrayReferenceType.parent()->mangledName(), "* pointer;\n" … … 386 386 auto& arrayType = downcast<ArrayTypeNameNode>(baseTypeNameNode); 387 387 ASSERT(baseTypeNameNode.parent()); 388 stringBuilder. flexibleAppend("typedef array<", arrayType.parent()->mangledName(), ", ", arrayType.numElements(), "> ", arrayType.mangledName(), ";\n");388 stringBuilder.append("typedef array<", arrayType.parent()->mangledName(), ", ", arrayType.numElements(), "> ", arrayType.mangledName(), ";\n"); 389 389 break; 390 390 } … … 407 407 auto& enumerationDefinition = downcast<AST::EnumerationDefinition>(namedType); 408 408 auto& baseType = enumerationDefinition.type().unifyNode(); 409 stringBuilder. flexibleAppend("enum class ", mangledNameForType(enumerationDefinition), " : ", mangledNameForType(downcast<AST::NamedType>(baseType)), " {\n");409 stringBuilder.append("enum class ", mangledNameForType(enumerationDefinition), " : ", mangledNameForType(downcast<AST::NamedType>(baseType)), " {\n"); 410 410 for (auto& enumerationMember : enumerationDefinition.enumerationMembers()) 411 stringBuilder. flexibleAppend(" ", mangledNameForEnumerationMember(enumerationMember), " = ", enumerationMember.get().value(), ",\n");411 stringBuilder.append(" ", mangledNameForEnumerationMember(enumerationMember), " = ", enumerationMember.get().value(), ",\n"); 412 412 stringBuilder.append("};\n"); 413 413 } else if (is<AST::NativeTypeDeclaration>(namedType)) { … … 415 415 } else if (is<AST::StructureDefinition>(namedType)) { 416 416 auto& structureDefinition = downcast<AST::StructureDefinition>(namedType); 417 stringBuilder. flexibleAppend("struct ", mangledNameForType(structureDefinition), " {\n");417 stringBuilder.append("struct ", mangledNameForType(structureDefinition), " {\n"); 418 418 for (auto& structureElement : structureDefinition.structureElements()) 419 stringBuilder. flexibleAppend(" ", mangledNameForType(structureElement.type()), ' ', mangledNameForStructureElement(structureElement), ";\n");419 stringBuilder.append(" ", mangledNameForType(structureElement.type()), ' ', mangledNameForStructureElement(structureElement), ";\n"); 420 420 stringBuilder.append("};\n"); 421 421 } else { 422 422 auto& typeDefinition = downcast<AST::TypeDefinition>(namedType); 423 stringBuilder. flexibleAppend("typedef ", mangledNameForType(typeDefinition.type()), ' ', mangledNameForType(typeDefinition), ";\n");423 stringBuilder.append("typedef ", mangledNameForType(typeDefinition.type()), ' ', mangledNameForType(typeDefinition), ";\n"); 424 424 } 425 425 emittedNamedTypes.add(&namedType); -
trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLParser.cpp
r248650 r248822 159 159 static void appendNameTo(StringBuilder& builder) 160 160 { 161 builder. flexibleAppend(Token::typeName(t), ", ");161 builder.append(Token::typeName(t), ", "); 162 162 Types<ts...>::appendNameTo(builder); 163 163 } -
trunk/Source/WebCore/loader/archive/mhtml/MHTMLArchive.cpp
r230211 r248822 181 181 stringBuilder.append(contentEncoding); 182 182 stringBuilder.append("\r\nContent-Location: "); 183 stringBuilder.append(resource.url );183 stringBuilder.append(resource.url.string()); 184 184 stringBuilder.append("\r\n\r\n"); 185 185 -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r248591 r248822 1369 1369 1370 1370 StringBuilder logString; 1371 logString. flexibleAppend(pad(' ', 12 + depth * 2, hex(reinterpret_cast<uintptr_t>(&layer))), " id ", backing->graphicsLayer()->primaryLayerID(), " (", FormattedNumber::fixedWidth(absoluteBounds.x().toFloat(), 3), ',', FormattedNumber::fixedWidth(absoluteBounds.y().toFloat(), 3), '-', FormattedNumber::fixedWidth(absoluteBounds.maxX().toFloat(), 3), ',', FormattedNumber::fixedWidth(absoluteBounds.maxY().toFloat(), 3), ") ", FormattedNumber::fixedWidth(backing->backingStoreMemoryEstimate() / 1024, 2), "KB");1371 logString.append(pad(' ', 12 + depth * 2, hex(reinterpret_cast<uintptr_t>(&layer))), " id ", backing->graphicsLayer()->primaryLayerID(), " (", FormattedNumber::fixedWidth(absoluteBounds.x().toFloat(), 3), ',', FormattedNumber::fixedWidth(absoluteBounds.y().toFloat(), 3), '-', FormattedNumber::fixedWidth(absoluteBounds.maxX().toFloat(), 3), ',', FormattedNumber::fixedWidth(absoluteBounds.maxY().toFloat(), 3), ") ", FormattedNumber::fixedWidth(backing->backingStoreMemoryEstimate() / 1024, 2), "KB"); 1372 1372 1373 1373 if (!layer.renderer().style().hasAutoZIndex()) 1374 logString. flexibleAppend(" z-index: ", layer.renderer().style().zIndex());1375 1376 logString. flexibleAppend(" (", logReasonsForCompositing(layer), ") ");1374 logString.append(" z-index: ", layer.renderer().style().zIndex()); 1375 1376 logString.append(" (", logReasonsForCompositing(layer), ") "); 1377 1377 1378 1378 if (backing->graphicsLayer()->contentsOpaque() || backing->paintsIntoCompositedAncestor() || backing->foregroundLayer() || backing->backgroundLayer()) { -
trunk/Source/WebCore/testing/Internals.cpp
r248718 r248822 5010 5010 5011 5011 for (auto& info : platformStrategies()->loaderStrategy()->intermediateLoadInformationFromResourceLoadIdentifier(identifier)) 5012 builder. flexibleAppend('[', (int)info.type, ",\"", info.request.url().string(), "\",\"", info.request.httpMethod(), "\",", info.response.httpStatusCode(), ']');5012 builder.append('[', (int)info.type, ",\"", info.request.url().string(), "\",\"", info.request.httpMethod(), "\",", info.response.httpStatusCode(), ']'); 5013 5013 5014 5014 builder.append(']'); -
trunk/Source/WebKit/ChangeLog
r248821 r248822 1 2019-08-17 Sam Weinig <weinig@apple.com> 2 3 Rename StringBuilder::flexibleAppend(...) to StringBuilder::append(...) 4 https://bugs.webkit.org/show_bug.cgi?id=200756 5 6 Reviewed by Darin Adler. 7 8 Update call sites for rename from StringBuilder::flexibleAppend(...) to 9 StringBuilder::append(...). 10 11 * WebProcess/WebPage/WebPage.cpp: 12 (WebKit::dumpHistoryItem): 13 We have to explicitly access the underlying String of the URL rather than 14 relying on the implicit conversion since it is now ambiguous which append(...) 15 overload should be used. 16 1 17 2019-08-17 Devin Rousso <drousso@apple.com> 2 18 -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
r248713 r248822 1871 1871 stringBuilder.append(url.string().substring(start)); 1872 1872 } else 1873 stringBuilder.append(url );1873 stringBuilder.append(url.string()); 1874 1874 1875 1875 auto& target = item.target(); -
trunk/Tools/ChangeLog
r248820 r248822 1 2019-08-17 Sam Weinig <weinig@apple.com> 2 3 Rename StringBuilder::flexibleAppend(...) to StringBuilder::append(...) 4 https://bugs.webkit.org/show_bug.cgi?id=200756 5 6 Reviewed by Darin Adler. 7 8 Update call sites for rename from StringBuilder::flexibleAppend(...) to 9 StringBuilder::append(...). 10 11 * TestWebKitAPI/Tests/WTF/StringBuilder.cpp: 12 (TestWebKitAPI::TEST): 13 1 14 2019-08-17 Simon Fraser <simon.fraser@apple.com> 2 15 -
trunk/Tools/TestWebKitAPI/Tests/WTF/StringBuilder.cpp
r248659 r248822 117 117 } 118 118 119 TEST(StringBuilderTest, FlexibleAppend)119 TEST(StringBuilderTest, VariadicAppend) 120 120 { 121 121 { 122 122 StringBuilder builder; 123 builder. flexibleAppend(String("0123456789"));123 builder.append(String("0123456789")); 124 124 expectBuilderContent("0123456789", builder); 125 builder. flexibleAppend("abcd");125 builder.append("abcd"); 126 126 expectBuilderContent("0123456789abcd", builder); 127 builder. flexibleAppend('e');127 builder.append('e'); 128 128 expectBuilderContent("0123456789abcde", builder); 129 builder. flexibleAppend("");129 builder.append(""); 130 130 expectBuilderContent("0123456789abcde", builder); 131 131 } … … 133 133 { 134 134 StringBuilder builder; 135 builder. flexibleAppend(String("0123456789"), "abcd", 'e', "");135 builder.append(String("0123456789"), "abcd", 'e', ""); 136 136 expectBuilderContent("0123456789abcde", builder); 137 builder. flexibleAppend(String("A"), "B", 'C', "");137 builder.append(String("A"), "B", 'C', ""); 138 138 expectBuilderContent("0123456789abcdeABC", builder); 139 139 }
Note: See TracChangeset
for help on using the changeset viewer.