From 84662e9030a855c8db7cd40d9ce354b773d78c16 Mon Sep 17 00:00:00 2001 From: Mike Kaganski Date: Thu, 4 Apr 2019 12:27:22 +0300 Subject: Get rid of b2u/u2b helpers; use OUString's toUtf8/fromUtf8 instead These helpers are used in code generator code; so any invalid UTF-8 or UTF-16 in the conversion is programmer's error which needs fixing. Thus, the behavior of toUtf8/fromUtf8 which asserts the validity is fine here. Change-Id: I3004e233c9de59f8e348455f1f04d23e8c51ed3d Reviewed-on: https://gerrit.libreoffice.org/70249 Tested-by: Jenkins Reviewed-by: Noel Grandin Reviewed-by: Mike Kaganski --- .../source/skeletonmaker/cppcompskeleton.cxx | 18 +++---- unodevtools/source/skeletonmaker/cpptypemaker.cxx | 58 +++++++++++----------- .../source/skeletonmaker/javacompskeleton.cxx | 18 +++---- unodevtools/source/skeletonmaker/javatypemaker.cxx | 40 +++++++-------- .../source/skeletonmaker/skeletoncommon.cxx | 6 +-- 5 files changed, 70 insertions(+), 70 deletions(-) (limited to 'unodevtools') diff --git a/unodevtools/source/skeletonmaker/cppcompskeleton.cxx b/unodevtools/source/skeletonmaker/cppcompskeleton.cxx index 097115d94879..e4f64a9648e6 100644 --- a/unodevtools/source/skeletonmaker/cppcompskeleton.cxx +++ b/unodevtools/source/skeletonmaker/cppcompskeleton.cxx @@ -625,7 +625,7 @@ static OString generateClassDefinition(std::ostream& o, std::set< OUString >::const_iterator iter = interfaces.begin(); while (iter != interfaces.end()) { - o << "\n " << scopedCppName(u2b(*iter)); + o << "\n " << scopedCppName(iter->toUtf8()); ++iter; if (iter != interfaces.end()) o << ","; @@ -636,7 +636,7 @@ static OString generateClassDefinition(std::ostream& o, if (propertyhelper.getLength() > 1) { o << ",\n public ::cppu::PropertySetMixin< " - << scopedCppName(u2b(propertyhelper)) << " >"; + << scopedCppName(propertyhelper.toUtf8()) << " >"; } o << "\n{\npublic:\n" @@ -665,7 +665,7 @@ static OString generateClassDefinition(std::ostream& o, std::set< OUString >::const_iterator iter = interfaces.begin(); while (iter != interfaces.end()) { - buffer.append(scopedCppName(u2b(*iter))); + buffer.append(scopedCppName(iter->toUtf8())); ++iter; if (iter != interfaces.end()) buffer.append(", "); @@ -771,7 +771,7 @@ static OString generateClassDefinition(std::ostream& o, o << " ::cppu::WeakComponentImplHelper" << interfaces.size() << "<"; std::set< OUString >::const_iterator iter = interfaces.begin(); while (iter != interfaces.end()) { - o << "\n " << scopedCppName(u2b(*iter)); + o << "\n " << scopedCppName(iter->toUtf8()); ++iter; if (iter != interfaces.end()) o << ","; @@ -781,7 +781,7 @@ static OString generateClassDefinition(std::ostream& o, } if (propertyhelper.getLength() > 1) { o << " ::cppu::PropertySetMixin< " - << scopedCppName(u2b(propertyhelper)) << " >(\n" + << scopedCppName(propertyhelper.toUtf8()) << " >(\n" " context, static_cast< Implements >(\n "; OStringBuffer buffer(128); if (propinterfaces.find("com/sun/star/beans/XPropertySet") @@ -865,7 +865,7 @@ static void generateMethodBodies(std::ostream& o, for (const auto& rIface : interfaces) { if ( rIface == "com.sun.star.lang.XServiceInfo" ) { generateXServiceInfoBodies(o, name, comphelpernamespace); - generated.add(u2b(rIface)); + generated.add(rIface.toUtf8()); } else { printMethods(o, options, manager, rIface, generated, "_", name, "", true, propertyhelper); @@ -897,7 +897,7 @@ static void generateQueryInterface(std::ostream& o, std::set< OUString >::const_iterator iter = interfaces.begin(); while (iter != interfaces.end()) { - o << "\n " << scopedCppName(u2b(*iter)); + o << "\n " << scopedCppName(iter->toUtf8()); ++iter; if (iter != interfaces.end()) o << ","; @@ -940,7 +940,7 @@ void generateSkeleton(ProgramOptions const & options, bool supportxcomponent = false; for (const auto& rType : types) { - checkType(manager, b2u(rType), interfaces, services, properties); + checkType(manager, OUString::fromUtf8(rType), interfaces, services, properties); } if (options.componenttype == 3) { @@ -1071,7 +1071,7 @@ void generateCalcAddin(ProgramOptions const & options, for (const auto& rType : types) { - checkType(manager, b2u(rType), interfaces, services, properties); + checkType(manager, OUString::fromUtf8(rType), interfaces, services, properties); } OUString sAddinService; diff --git a/unodevtools/source/skeletonmaker/cpptypemaker.cxx b/unodevtools/source/skeletonmaker/cpptypemaker.cxx index 92a2db00c4b5..1e9d459f0551 100644 --- a/unodevtools/source/skeletonmaker/cpptypemaker.cxx +++ b/unodevtools/source/skeletonmaker/cpptypemaker.cxx @@ -168,7 +168,7 @@ static bool printConstructorParameters( printType(o, options, manager, rMember.type, 4); o << ' ' << codemaker::cpp::translateUnoToCppIdentifier( - u2b(rMember.name), "param"); + rMember.name.toUtf8(), "param"); } break; } @@ -191,7 +191,7 @@ static bool printConstructorParameters( } o << ' ' << codemaker::cpp::translateUnoToCppIdentifier( - u2b(rMember.name), "param"); + rMember.name.toUtf8(), "param"); } break; } @@ -218,7 +218,7 @@ static bool printConstructorParameters( } o << ' ' << codemaker::cpp::translateUnoToCppIdentifier( - u2b(rMember.name), "param"); + rMember.name.toUtf8(), "param"); } break; } @@ -244,7 +244,7 @@ static bool printConstructorParameters( printType(o, options, manager, rMember.type, 4); o << ' ' << codemaker::cpp::translateUnoToCppIdentifier( - u2b(rMember.name), "param"); + rMember.name.toUtf8(), "param"); } break; } @@ -295,7 +295,7 @@ static void printMethodParameters( printType(o, options, manager, i->type, referenceType); o << ' '; } - o << codemaker::cpp::translateUnoToCppIdentifier(u2b(i->name), "param"); + o << codemaker::cpp::translateUnoToCppIdentifier(i->name.toUtf8(), "param"); } } @@ -405,7 +405,7 @@ void printMethods(std::ostream & o, OString const & indentation, bool defaultvalue, OUString const & propertyhelper) { - if (generated.contains(u2b(name)) || name == "com.sun.star.uno.XInterface" || + if (generated.contains(name.toUtf8()) || name == "com.sun.star.uno.XInterface" || (defaultvalue && ( name == "com.sun.star.lang.XComponent" || name == "com.sun.star.lang.XTypeProvider" || @@ -420,19 +420,19 @@ void printMethods(std::ostream & o, if (body && propertyhelper.getLength() > 1) { if (name == "com.sun.star.beans.XPropertySet") { - generated.add(u2b(name)); + generated.add(name.toUtf8()); generateXPropertySetBodies( - o, classname, scopedCppName(u2b(propertyhelper))); + o, classname, scopedCppName(propertyhelper.toUtf8())); return; } else if (name == "com.sun.star.beans.XFastPropertySet") { - generated.add(u2b(name)); + generated.add(name.toUtf8()); generateXFastPropertySetBodies( - o, classname, scopedCppName(u2b(propertyhelper))); + o, classname, scopedCppName(propertyhelper.toUtf8())); return; } else if (name == "com.sun.star.beans.XPropertyAccess") { - generated.add(u2b(name)); + generated.add(name.toUtf8()); generateXPropertyAccessBodies( - o, classname, scopedCppName(u2b(propertyhelper))); + o, classname, scopedCppName(propertyhelper.toUtf8())); return; } } @@ -444,11 +444,11 @@ void printMethods(std::ostream & o, "throw (css::uno::RuntimeException)\n{\n " "return OUString(" "sADDIN_SERVICENAME);\n}\n"; - generated.add(u2b(name)); + generated.add(name.toUtf8()); return; } else if (name == "com.sun.star.sheet.XAddIn") { generateXAddInBodies(o, classname); - generated.add(u2b(name)); + generated.add(name.toUtf8()); // special handling of XLocalizable -> parent of XAddIn if (!generated.contains("com.sun.star.lang.XLocalizable")) { @@ -458,11 +458,11 @@ void printMethods(std::ostream & o, return; } else if (name == "com.sun.star.lang.XLocalizable") { generateXLocalizable(o, classname); - generated.add(u2b(name)); + generated.add(name.toUtf8()); return; } else if (name == "com.sun.star.sheet.XCompatibilityNames") { generateXCompatibilityNamesBodies(o, classname); - generated.add(u2b(name)); + generated.add(name.toUtf8()); return; } } @@ -470,20 +470,20 @@ void printMethods(std::ostream & o, if (body && options.componenttype == 3) { if (name == "com.sun.star.lang.XInitialization") { generateXInitialization(o, classname); - generated.add(u2b(name)); + generated.add(name.toUtf8()); return; } else if (name == "com.sun.star.frame.XDispatch") { generateXDispatch(o, classname, options.protocolCmdMap); - generated.add(u2b(name)); + generated.add(name.toUtf8()); return; } else if (name == "com.sun.star.frame.XDispatchProvider") { generateXDispatchProvider(o, classname, options.protocolCmdMap); - generated.add(u2b(name)); + generated.add(name.toUtf8()); return; } } - generated.add(u2b(name)); + generated.add(name.toUtf8()); rtl::Reference< unoidl::Entity > ent; if (manager->getSort(name, &ent) != codemaker::UnoType::Sort::Interface) { @@ -657,7 +657,7 @@ static void printConstructors( o << "create"; } else { o << codemaker::cpp::translateUnoToCppIdentifier( - u2b(rConstructor.name), "method"); + rConstructor.name.toUtf8(), "method"); } o << ((options.shortnames) ? "(css::uno::Reference< css" : "(::com::sun::star::uno::Reference< ::com::sun::star") @@ -668,7 +668,7 @@ static void printConstructors( printType(o, options, manager, rParam.type, 4); o << ' ' << codemaker::cpp::translateUnoToCppIdentifier( - u2b(rParam.name), "param"); + rParam.name.toUtf8(), "param"); } o << ')'; printExceptionSpecification(o, options, manager, rConstructor.exceptions); @@ -687,13 +687,13 @@ static void printServiceMembers( for (const auto& rService : entity->getDirectMandatoryBaseServices()) { o << "\n// exported service " << rService.name << "\n"; - generateDocumentation(o, options, manager, u2b(rService.name), delegate); + generateDocumentation(o, options, manager, rService.name.toUtf8(), delegate); o << "\n// end of exported service " << rService.name << "\n"; } for (const auto& rIface : entity->getDirectMandatoryBaseInterfaces()) { o << "\n// supported interface " << rIface.name << "\n"; - generateDocumentation(o, options, manager, u2b(rIface.name), delegate); + generateDocumentation(o, options, manager, rIface.name.toUtf8(), delegate); } if (delegate.isEmpty()) { o << "\n// properties of service \""<< name << "\"\n"; @@ -703,7 +703,7 @@ static void printServiceMembers( printType(o, options, manager, rProp.type, 1); o << " " << codemaker::cpp::translateUnoToCppIdentifier( - u2b(rProp.name), "property") + rProp.name.toUtf8(), "property") << ";\n"; } } @@ -738,7 +738,7 @@ void generateDocumentation(std::ostream & o, OUString nucleus; sal_Int32 rank; codemaker::UnoType::Sort sort = manager->decompose( - b2u(type), false, &nucleus, &rank, nullptr, nullptr); + OUString::fromUtf8(type), false, &nucleus, &rank, nullptr, nullptr); bool comment = true; if (!delegate.isEmpty()) { @@ -821,7 +821,7 @@ void generateDocumentation(std::ostream & o, std::vector< OUString > arguments; rtl::Reference< unoidl::Entity > entity; sort = manager->decompose( - b2u(type), true, &nucleus, &rank, &arguments, &entity); + OUString::fromUtf8(type), true, &nucleus, &rank, &arguments, &entity); if (rank != 0) { if (comment) { printMapsToCppType( @@ -930,8 +930,8 @@ void generateDocumentation(std::ostream & o, assert(dynamic_cast(entity.get())); generateDocumentation( o, options, manager, - u2b(static_cast( - entity.get())->getBase()), + static_cast( + entity.get())->getBase().toUtf8(), delegate); break; diff --git a/unodevtools/source/skeletonmaker/javacompskeleton.cxx b/unodevtools/source/skeletonmaker/javacompskeleton.cxx index 741387cfe120..cf6f6c5f1304 100644 --- a/unodevtools/source/skeletonmaker/javacompskeleton.cxx +++ b/unodevtools/source/skeletonmaker/javacompskeleton.cxx @@ -495,18 +495,18 @@ static void generateMethodBodies(std::ostream& o, for (const OUString& type : interfaces) { if (type == "com.sun.star.lang.XServiceInfo") { generateXServiceInfoBodies(o); - generated.add(u2b(type)); + generated.add(type.toUtf8()); } else { if (options.componenttype == 2) { if (type == "com.sun.star.lang.XServiceName") { o << " // com.sun.star.lang.XServiceName:\n" " public String getServiceName() {\n" " return sADDIN_SERVICENAME;\n }\n"; - generated.add(u2b(type)); + generated.add(type.toUtf8()); continue; } else if (type == "com.sun.star.sheet.XAddIn") { generateXAddInBodies(o); - generated.add(u2b(type)); + generated.add(type.toUtf8()); // special handling of XLocalizable -> parent of XAddIn if (!generated.contains("com.sun.star.lang.XLocalizable")) { @@ -516,26 +516,26 @@ static void generateMethodBodies(std::ostream& o, continue; } else if (type == "com.sun.star.lang.XLocalizable") { generateXLocalizableBodies(o); - generated.add(u2b(type)); + generated.add(type.toUtf8()); continue; } else if (type == "com.sun.star.sheet.XCompatibilityNames") { generateXCompatibilityNamesBodies(o); - generated.add(u2b(type)); + generated.add(type.toUtf8()); continue; } } if (options.componenttype == 3) { if (type == "com.sun.star.lang.XInitialization") { generateXInitializationBodies(o); - generated.add(u2b(type)); + generated.add(type.toUtf8()); continue; } else if (type == "com.sun.star.frame.XDispatch") { generateXDispatchBodies(o, options); - generated.add(u2b(type)); + generated.add(type.toUtf8()); continue; } else if (type == "com.sun.star.frame.XDispatchProvider") { generateXDispatchProviderBodies(o, options); - generated.add(u2b(type)); + generated.add(type.toUtf8()); continue; } } @@ -812,7 +812,7 @@ void generateSkeleton(ProgramOptions const & options, bool supportxcomponent = false; for (const auto& rType : types) { - checkType(manager, b2u(rType), interfaces, services, properties); + checkType(manager, OUString::fromUtf8(rType), interfaces, services, properties); } if (options.componenttype == 3) { diff --git a/unodevtools/source/skeletonmaker/javatypemaker.cxx b/unodevtools/source/skeletonmaker/javatypemaker.cxx index 4cf3fd677822..a9575810b744 100644 --- a/unodevtools/source/skeletonmaker/javatypemaker.cxx +++ b/unodevtools/source/skeletonmaker/javatypemaker.cxx @@ -77,7 +77,7 @@ static void printType( OString sType( codemaker::java::translateUnoToJavaType( - sort, u2b(nucleus), referenceType && rank == 0)); + sort, nucleus.toUtf8(), referenceType && rank == 0)); if (sType.startsWith("java.lang.")) { sType = sType.copy(std::strlen("java.lang.")); } @@ -155,7 +155,7 @@ static bool printConstructorParameters( printType(o, options, manager, rMember.type, false); o << ' ' << codemaker::java::translateUnoToJavaIdentifier( - u2b(rMember.name), "param"); + rMember.name.toUtf8(), "param"); } break; } @@ -178,7 +178,7 @@ static bool printConstructorParameters( } o << ' ' << codemaker::java::translateUnoToJavaIdentifier( - u2b(rMember.name), "param"); + rMember.name.toUtf8(), "param"); } break; } @@ -205,7 +205,7 @@ static bool printConstructorParameters( } o << ' ' << codemaker::java::translateUnoToJavaIdentifier( - u2b(rMember.name), "param"); + rMember.name.toUtf8(), "param"); } break; } @@ -231,7 +231,7 @@ static bool printConstructorParameters( printType(o, options, manager, rMember.type, false); o << ' ' << codemaker::java::translateUnoToJavaIdentifier( - u2b(rMember.name), "param"); + rMember.name.toUtf8(), "param"); } break; } @@ -280,7 +280,7 @@ static void printMethodParameters( o << ' '; } o << codemaker::java::translateUnoToJavaIdentifier( - u2b(i->name), "param"); + i->name.toUtf8(), "param"); } } @@ -397,7 +397,7 @@ void printMethods(std::ostream & o, OString const & delegate, OString const & indentation, bool defaultvalue, bool usepropertymixin) { - if ( generated.contains(u2b(name)) || name == "com.sun.star.uno.XInterface" || + if ( generated.contains(name.toUtf8()) || name == "com.sun.star.uno.XInterface" || ( defaultvalue && ( name == "com.sun.star.lang.XComponent" || name == "com.sun.star.lang.XTypeProvider" || @@ -407,15 +407,15 @@ void printMethods(std::ostream & o, if ( usepropertymixin ) { if (name == "com.sun.star.beans.XPropertySet") { - generated.add(u2b(name)); + generated.add(name.toUtf8()); generateXPropertySetBodies(o); return; } else if (name == "com.sun.star.beans.XFastPropertySet") { - generated.add(u2b(name)); + generated.add(name.toUtf8()); generateXFastPropertySetBodies(o); return; } else if (name == "com.sun.star.beans.XPropertyAccess") { - generated.add(u2b(name)); + generated.add(name.toUtf8()); generateXPropertyAccessBodies(o); return; } @@ -425,7 +425,7 @@ void printMethods(std::ostream & o, bool body = !delegate.isEmpty(); bool defaultbody = delegate == sd; - generated.add(u2b(name)); + generated.add(name.toUtf8()); rtl::Reference< unoidl::Entity > ent; if (manager->getSort(name, &ent) != codemaker::UnoType::Sort::Interface) { @@ -570,7 +570,7 @@ static void printConstructors( o << "create"; } else { o << codemaker::java::translateUnoToJavaIdentifier( - u2b(rConstructor.name), "method"); + rConstructor.name.toUtf8(), "method"); } o << "(com.sun.star.uno.XComponentContext the_context"; for (const auto& rParam : rConstructor.parameters) @@ -582,7 +582,7 @@ static void printConstructors( } o << ' ' << codemaker::java::translateUnoToJavaIdentifier( - u2b(rParam.name), "param"); + rParam.name.toUtf8(), "param"); } o << ')'; printExceptionSpecification(o, options, manager, rConstructor.exceptions); @@ -601,12 +601,12 @@ static void printServiceMembers( for (const auto& rService : entity->getDirectMandatoryBaseServices()) { o << "\n// exported service " << rService.name << "\n"; - generateDocumentation(o, options, manager, u2b(rService.name), delegate); + generateDocumentation(o, options, manager, rService.name.toUtf8(), delegate); } for (const auto& rIface : entity->getDirectMandatoryBaseInterfaces()) { o << "\n// supported interface " << rIface.name << "\n"; - generateDocumentation(o, options, manager, u2b(rIface.name), delegate); + generateDocumentation(o, options, manager, rIface.name.toUtf8(), delegate); } o << "\n// properties of service \""<< name << "\"\n"; for (const auto& rProp : entity->getDirectProperties()) @@ -615,7 +615,7 @@ static void printServiceMembers( printType(o, options, manager, rProp.type, false); o << " " << codemaker::java::translateUnoToJavaIdentifier( - u2b(rProp.name), "property") + rProp.name.toUtf8(), "property") << ";\n"; } } @@ -647,7 +647,7 @@ void generateDocumentation(std::ostream & o, OUString nucleus; sal_Int32 rank; codemaker::UnoType::Sort sort = manager->decompose( - b2u(type), false, &nucleus, &rank, nullptr, nullptr); + OUString::fromUtf8(type), false, &nucleus, &rank, nullptr, nullptr); bool comment = true; if (!delegate.isEmpty()) { @@ -730,7 +730,7 @@ void generateDocumentation(std::ostream & o, std::vector< OUString > arguments; rtl::Reference< unoidl::Entity > entity; sort = manager->decompose( - b2u(type), true, &nucleus, &rank, &arguments, &entity); + OUString::fromUtf8(type), true, &nucleus, &rank, &arguments, &entity); if (rank != 0) { printMapsToJavaType( o, options, manager, sort, nucleus, rank, arguments, "array"); @@ -816,8 +816,8 @@ void generateDocumentation(std::ostream & o, printConstructors(o, options, manager, nucleus); generateDocumentation( o, options, manager, - u2b(dynamic_cast< unoidl::SingleInterfaceBasedServiceEntity * >( - entity.get())->getBase()), + dynamic_cast< unoidl::SingleInterfaceBasedServiceEntity * >( + entity.get())->getBase().toUtf8(), delegate); break; diff --git a/unodevtools/source/skeletonmaker/skeletoncommon.cxx b/unodevtools/source/skeletonmaker/skeletoncommon.cxx index f57afcdab7ce..9fc47f175861 100644 --- a/unodevtools/source/skeletonmaker/skeletoncommon.cxx +++ b/unodevtools/source/skeletonmaker/skeletoncommon.cxx @@ -81,7 +81,7 @@ bool getOutputStream(ProgramOptions const & options, if( !file.isValid() ) { throw CannotDumpException( - "cannot open " + b2u(targetSourceFileName) + " for writing"); + "cannot open " + OUString::fromUtf8(targetSourceFileName) + " for writing"); } tmpSourceFileName = file.getName(); file.close(); @@ -539,10 +539,10 @@ static void generateFunctionParameterMap(std::ostream& o, o, options, manager, rBase.name, generated, bFirst); } - if ( generated.contains(u2b(name)) ) + if ( generated.contains(name.toUtf8()) ) return; else - generated.add(u2b(name)); + generated.add(name.toUtf8()); for (const auto& rMethod : ent2->getDirectMethods()) { -- cgit