[PATCH] fdo#57950: Remove chained appends in codemaker
Marcos Souza (via Code Review)
gerrit at gerrit.libreoffice.org
Thu Mar 7 05:27:56 PST 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/2583
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/83/2583/1
fdo#57950: Remove chained appends in codemaker
And another cleanups like removing RTL_CONST* macros and other simple
things.
Much more can be done inside codemaker.
Change-Id: I338e1c0e88558124741c6202896355533535a129
---
M codemaker/source/codemaker/codemaker.cxx
M codemaker/source/commoncpp/commoncpp.cxx
M codemaker/source/commonjava/commonjava.cxx
M codemaker/source/cppumaker/cpputype.cxx
M codemaker/source/javamaker/javatype.cxx
5 files changed, 44 insertions(+), 108 deletions(-)
diff --git a/codemaker/source/codemaker/codemaker.cxx b/codemaker/source/codemaker/codemaker.cxx
index 454f59c..6c203bf 100644
--- a/codemaker/source/codemaker/codemaker.cxx
+++ b/codemaker/source/codemaker/codemaker.cxx
@@ -66,11 +66,8 @@
return s;
}
-rtl::OString errorMsg(rtl::OString const & desc, rtl::OString const & type) {
- rtl::OStringBuffer msg(128);
- msg.append(desc);
- msg.append(type);
- return msg.makeStringAndClear();
+OString errorMsg(OString const & desc, OString const & type) {
+ return desc + type;
}
codemaker::UnoType::Sort decomposeAndResolve(
diff --git a/codemaker/source/commoncpp/commoncpp.cxx b/codemaker/source/commoncpp/commoncpp.cxx
index 989052d..5db10d4 100644
--- a/codemaker/source/commoncpp/commoncpp.cxx
+++ b/codemaker/source/commoncpp/commoncpp.cxx
@@ -37,7 +37,7 @@
namespace codemaker { namespace cpp {
-rtl::OString scopedCppName(rtl::OString const & type, bool ns_alias)
+OString scopedCppName(OString const & type, bool ns_alias)
{
char c('/');
sal_Int32 nPos = type.lastIndexOf( c );
@@ -49,12 +49,11 @@
c = '.';
}
- rtl::OStringBuffer tmpBuf(type.getLength()*2);
+ OStringBuffer tmpBuf(type.getLength()*2);
nPos = 0;
do
{
- tmpBuf.append("::");
- tmpBuf.append(type.getToken(0, c, nPos));
+ tmpBuf.append("::" + type.getToken(0, c, nPos));
} while( nPos != -1 );
rtl::OString s(tmpBuf.makeStringAndClear());
@@ -67,16 +66,16 @@
}
-rtl::OString translateUnoToCppType(
+OString translateUnoToCppType(
codemaker::UnoType::Sort sort, RTTypeClass typeClass,
- rtl::OString const & nucleus, bool shortname)
+ OString const & nucleus, bool shortname)
{
rtl::OStringBuffer buf;
if (sort == codemaker::UnoType::SORT_COMPLEX) {
if (typeClass == RT_TYPE_INTERFACE
&& nucleus == rtl::OString("com/sun/star/uno/XInterface"))
{
- buf.append(RTL_CONSTASCII_STRINGPARAM("::com::sun::star::uno::XInterface"));
+ buf.append("::com::sun::star::uno::XInterface");
} else {
//TODO: check that nucleus is a valid (UTF-8) identifier
buf.append(nucleus);
@@ -303,10 +302,7 @@
|| unoIdentifier == "NDEBUG"
|| (forbidden != 0 && unoIdentifier == *forbidden) )
{
- rtl::OStringBuffer buf(prefix);
- buf.append('_');
- buf.append(unoIdentifier);
- return buf.makeStringAndClear();
+ return prefix + "_" + unoIdentifier;
} else {
return unoIdentifier;
}
diff --git a/codemaker/source/commonjava/commonjava.cxx b/codemaker/source/commonjava/commonjava.cxx
index 8c01be9..e5f6eca 100644
--- a/codemaker/source/commonjava/commonjava.cxx
+++ b/codemaker/source/commonjava/commonjava.cxx
@@ -39,16 +39,15 @@
namespace codemaker { namespace java {
-rtl::OString translateUnoToJavaType(
+OString translateUnoToJavaType(
codemaker::UnoType::Sort sort, RTTypeClass typeClass,
- rtl::OString const & nucleus, bool referenceType)
+ OString const & nucleus, bool referenceType)
{
- rtl::OStringBuffer buf;
+ OStringBuffer buf;
if (sort == codemaker::UnoType::SORT_COMPLEX) {
- if (typeClass == RT_TYPE_INTERFACE
- && nucleus == rtl::OString("com/sun/star/uno/XInterface"))
+ if (typeClass == RT_TYPE_INTERFACE && nucleus == "com/sun/star/uno/XInterface")
{
- buf.append(RTL_CONSTASCII_STRINGPARAM("java/lang/Object"));
+ buf.append("java/lang/Object");
} else {
//TODO: check that nucleus is a valid (Java-modified UTF-8)
// identifier
@@ -145,10 +144,7 @@
|| identifier == "volatile"
|| identifier == "while")
{
- rtl::OStringBuffer buf(prefix);
- buf.append('_');
- buf.append(identifier);
- return buf.makeStringAndClear();
+ return prefix + "_" + identifier;
} else {
return identifier;
}
diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx
index 29516c8..6ee5f9e 100644
--- a/codemaker/source/cppumaker/cpputype.cxx
+++ b/codemaker/source/cppumaker/cpputype.cxx
@@ -403,13 +403,10 @@
OStringBuffer tmpBuf(length);
- tmpBuf.append("INCLUDED_");
- tmpBuf.append(m_typeName);
- tmpBuf.append('_');
+ tmpBuf.append("INCLUDED_" + m_typeName + "_");
if (bExtended)
{
- tmpBuf.append(m_name);
- tmpBuf.append('_');
+ tmpBuf.append(m_name + "_");
}
tmpBuf.append(prefix);
@@ -1222,9 +1219,9 @@
}
if (bResolveTypeOnly) {
- rtl::OStringBuffer buf;
+ OStringBuffer buf;
for (sal_Int32 i = 0; i < rank; ++i) {
- buf.append(RTL_CONSTASCII_STRINGPARAM("[]"));
+ buf.append("[]");
}
baseType = buf.makeStringAndClear() + baseType;
}
@@ -4025,7 +4022,7 @@
if ((m_reader.getMethodParameterFlags(i, j) & RT_PARAM_REST)
!= 0)
{
- buf.append(RTL_CONSTASCII_STRINGPARAM("[]"));
+ buf.append("[]");
}
buf.append(
rtl::OUStringToOString(
diff --git a/codemaker/source/javamaker/javatype.cxx b/codemaker/source/javamaker/javatype.cxx
index 404626a..64d0e24 100644
--- a/codemaker/source/javamaker/javatype.cxx
+++ b/codemaker/source/javamaker/javatype.cxx
@@ -63,7 +63,7 @@
{
OSL_ASSERT(rank >= 0 && buffer != 0);
for (sal_Int32 i = 0; i < rank; ++i) {
- buffer->append(RTL_CONSTASCII_STRINGPARAM("[]"));
+ buffer->append("[]");
}
buffer->append(nucleus.replace('/', '.'));
if (!arguments.empty()) {
@@ -171,20 +171,13 @@
}
if (sort == codemaker::UnoType::SORT_COMPLEX) {
//TODO: check that nucleus is a valid (Java-modified UTF-8) identifier
- if (typeClass == RT_TYPE_INTERFACE
- && (nucleus
- == rtl::OString(
- RTL_CONSTASCII_STRINGPARAM("com/sun/star/uno/XInterface"))))
+ if (typeClass == RT_TYPE_INTERFACE && nucleus == "com/sun/star/uno/XInterface")
{
if (descriptor != 0) {
- descriptor->append(
- rtl::OString(
- RTL_CONSTASCII_STRINGPARAM("Ljava/lang/Object;")));
+ descriptor->append("Ljava/lang/Object;");
}
if (signature != 0) {
- signature->append(
- rtl::OString(
- RTL_CONSTASCII_STRINGPARAM("Ljava/lang/Object;")));
+ signature->append("Ljava/lang/Object;");
}
if (polymorphicUnoType != 0) {
polymorphicUnoType->kind = PolymorphicUnoType::KIND_NONE;
@@ -195,13 +188,10 @@
dependencies->insert(nucleus);
}
if (descriptor != 0) {
- descriptor->append('L');
- descriptor->append(nucleus);
- descriptor->append(';');
+ descriptor->append("L" + nucleus + ";");
}
if (signature != 0) {
- signature->append('L');
- signature->append(nucleus);
+ signature->append("L" + nucleus);
if (!arguments.empty()) {
signature->append('<');
for (std::vector< rtl::OString >::const_iterator i(
@@ -411,11 +401,9 @@
polymorphicUnoType);
}
-void MethodDescriptor::addTypeParameter(rtl::OString const & name) {
- m_descriptorStart.append(RTL_CONSTASCII_STRINGPARAM("Ljava/lang/Object;"));
- m_signatureStart.append('T');
- m_signatureStart.append(name);
- m_signatureStart.append(';');
+void MethodDescriptor::addTypeParameter(OString const & name) {
+ m_descriptorStart.append("Ljava/lang/Object;");
+ m_signatureStart.append("T" + name + ";");
m_needsSignature = true;
}
@@ -427,9 +415,7 @@
rtl::OString MethodDescriptor::getSignature() const {
if (m_needsSignature) {
- rtl::OStringBuffer buf(m_signatureStart);
- buf.append(m_signatureEnd);
- return buf.makeStringAndClear();
+ return m_signatureStart + m_signatureEnd;
} else {
return rtl::OString();
}
@@ -756,12 +742,7 @@
}
tempfile.close();
if (!makeValidTypeFile(filename, tempname, check)) {
- rtl::OStringBuffer msg;
- msg.append(RTL_CONSTASCII_STRINGPARAM("Cannot create "));
- msg.append(filename);
- msg.append(RTL_CONSTASCII_STRINGPARAM(" from temporary file "));
- msg.append(tempname);
- throw CannotDumpException(msg.makeStringAndClear());
+ throw CannotDumpException("Cannot create " + filename + " from temporary file " + tempname);
}
}
@@ -1029,13 +1010,8 @@
SpecialType specialType;
PolymorphicUnoType polymorphicUnoType;
if (typeParameterIndex >= 0) {
- descriptor = rtl::OString(
- RTL_CONSTASCII_STRINGPARAM("Ljava/lang/Object;"));
- rtl::OStringBuffer buf;
- buf.append('T');
- buf.append(type);
- buf.append(';');
- signature = buf.makeStringAndClear();
+ descriptor = "Ljava/lang/Object;";
+ signature = "T" + type + ";";
specialType = SPECIAL_TYPE_NONE; //TODO: SPECIAL_TYPE_TYPE_PARAMETER?
} else {
specialType = getFieldDescriptor(
@@ -1894,26 +1870,21 @@
if (reader.getReferenceFlags(i) != RT_ACCESS_INVALID
|| reader.getReferenceSort(i) != RT_REF_TYPE_PARAMETER)
{
- throw CannotDumpException(
- rtl::OString(
- RTL_CONSTASCII_STRINGPARAM("Bad type information")));
+ throw CannotDumpException("Bad type information");
//TODO
}
rtl::OString name(
codemaker::convertString(reader.getReferenceTypeName(i)));
- buf.append(name);
- buf.append(RTL_CONSTASCII_STRINGPARAM(":Ljava/lang/Object;"));
+ buf.append(name + ":Ljava/lang/Object;");
if (!typeParameters.insert(
std::map< rtl::OString, sal_Int32 >::value_type(name, i)).
second)
{
- throw CannotDumpException(
- rtl::OString(
- RTL_CONSTASCII_STRINGPARAM("Bad type information")));
+ throw CannotDumpException("Bad type information");
//TODO
}
}
- buf.append(RTL_CONSTASCII_STRINGPARAM(">Ljava/lang/Object;"));
+ buf.append(">Ljava/lang/Object;");
sig = buf.makeStringAndClear();
}
SAL_WNODEPRECATED_DECLARATIONS_PUSH
@@ -2571,9 +2542,7 @@
rtl::OString(RTL_CONSTASCII_STRINGPARAM("Bad type information")));
//TODO
}
- rtl::OStringBuffer buf(codemaker::convertString(reader.getTypeName()));
- buf.append('/');
- rtl::OString prefix(buf.makeStringAndClear());
+ rtl::OString prefix(codemaker::convertString(reader.getTypeName()) + "/");
sal_uInt16 fields = reader.getFieldCount();
for (sal_uInt16 i = 0; i < fields; ++i) {
rtl::OString className(
@@ -2774,15 +2743,8 @@
// stack: ex
code->instrDup();
// stack: ex ex
- rtl::OStringBuffer msg;
- msg.append(
- RTL_CONSTASCII_STRINGPARAM(
- "component context fails to supply service "));
- msg.append(unoName);
- msg.append(RTL_CONSTASCII_STRINGPARAM(" of type "));
- msg.append(realJavaBaseName);
- msg.append(RTL_CONSTASCII_STRINGPARAM(": "));
- code->loadStringConstant(msg.makeStringAndClear());
+ code->loadStringConstant("component context fails to supply service " + unoName +
+ " of type " + realJavaBaseName + ": ");
// stack: ex ex "..."
code->loadLocalReference(1);
// stack: ex ex "..." str
@@ -2957,14 +2919,8 @@
// stack: ex
code->instrDup();
// stack: ex ex
- rtl::OStringBuffer msg;
- msg.append(
- RTL_CONSTASCII_STRINGPARAM(
- "component context fails to supply service "));
- msg.append(unoName);
- msg.append(RTL_CONSTASCII_STRINGPARAM(" of type "));
- msg.append(realJavaBaseName);
- code->loadStringConstant(msg.makeStringAndClear());
+ code->loadStringConstant("component context fails to supply service " + unoName +
+ " of type " + realJavaBaseName);
// stack: ex ex "..."
code->loadLocalReference(1);
// stack: ex ex "..." context
@@ -3152,14 +3108,8 @@
// stack: ex
code->instrDup();
// stack: ex ex
- rtl::OStringBuffer msg;
- msg.append(
- RTL_CONSTASCII_STRINGPARAM(
- "component context fails to supply singleton "));
- msg.append(unoName);
- msg.append(RTL_CONSTASCII_STRINGPARAM(" of type "));
- msg.append(realJavaBaseName);
- code->loadStringConstant(msg.makeStringAndClear());
+ code->loadStringConstant("component context fails to supply singleton " + unoName +
+ " of type " + realJavaBaseName);
// stack: ex ex "..."
code->loadLocalReference(0);
// stack: ex ex "..." context
--
To view, visit https://gerrit.libreoffice.org/2583
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I338e1c0e88558124741c6202896355533535a129
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Marcos Souza <marcos.souza.org at gmail.com>
More information about the LibreOffice
mailing list