summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--basic/source/classes/sbxmod.cxx2
-rw-r--r--codemaker/source/cppumaker/cpputype.cxx31
-rw-r--r--cppuhelper/source/implbase_ex.cxx6
-rw-r--r--cpputools/source/unoexe/unoexe.cxx40
-rw-r--r--cui/source/customize/cfgutil.cxx2
-rw-r--r--cui/source/customize/selector.cxx2
6 files changed, 44 insertions, 39 deletions
diff --git a/basic/source/classes/sbxmod.cxx b/basic/source/classes/sbxmod.cxx
index 067acda987a2..a7c3e45017da 100644
--- a/basic/source/classes/sbxmod.cxx
+++ b/basic/source/classes/sbxmod.cxx
@@ -257,7 +257,7 @@ DocObjectWrapper::invoke( const OUString& aFunctionName, const Sequence< Any >&
sal_Int32 nSbxCount = n - 1;
if ( nParamsCount < nSbxCount - nSbxOptional )
{
- throw RuntimeException( "wrong number of parameters!", Reference< XInterface >() );
+ throw RuntimeException( "wrong number of parameters!" );
}
}
// set parameters
diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx
index 3d14ec8ba194..29f4b15bea78 100644
--- a/codemaker/source/cppumaker/cpputype.cxx
+++ b/codemaker/source/cppumaker/cpputype.cxx
@@ -24,6 +24,7 @@
#include <map>
#include <set>
#include <vector>
+#include <iostream>
#include "boost/noncopyable.hpp"
#include "rtl/alloc.h"
@@ -2680,7 +2681,8 @@ private:
virtual void dumpDeclaration(FileStream & out) SAL_OVERRIDE;
bool dumpBaseMembers(
- FileStream & out, OUString const & base, bool withType);
+ FileStream & out, OUString const & base, bool withType,
+ bool withDefaults, bool parentsHadDirectMember);
sal_uInt32 getTotalMemberCount(OUString const & base) const;
@@ -2730,7 +2732,7 @@ void ExceptionType::dumpHxxFile(
out << "}\n\n";
if (!entity_->getDirectMembers().empty() || getInheritedMemberCount() > 0) {
out << indent() << "inline " << id_ << "::" << id_ << "(";
- first = !dumpBaseMembers(out, base, true);
+ first = !dumpBaseMembers(out, base, true, false, false);
for (std::vector< unoidl::ExceptionTypeEntity::Member >::const_iterator
i(entity_->getDirectMembers().begin());
i != entity_->getDirectMembers().end(); ++i)
@@ -2748,7 +2750,7 @@ void ExceptionType::dumpHxxFile(
if (!base.isEmpty()) {
out << indent() << ": " << codemaker::cpp::scopedCppName(u2b(base))
<< "(";
- dumpBaseMembers(out, base, false);
+ dumpBaseMembers(out, base, false, false, false);
out << ")\n";
first = false;
}
@@ -2984,7 +2986,9 @@ void ExceptionType::dumpDeclaration(FileStream & out) {
<< "() SAL_THROW(());\n\n";
if (!entity_->getDirectMembers().empty() || getInheritedMemberCount() > 0) {
out << indent() << "inline CPPU_GCC_DLLPRIVATE " << id_ << "(";
- bool first = !dumpBaseMembers(out, base, true);
+ bool withDefaults = true;
+ bool parentsHadDirectMembers = !entity_->getDirectMembers().empty();
+ bool first = !dumpBaseMembers(out, base, true, withDefaults, parentsHadDirectMembers);
for (std::vector< unoidl::ExceptionTypeEntity::Member >::const_iterator
i(entity_->getDirectMembers().begin());
i != entity_->getDirectMembers().end(); ++i)
@@ -3023,7 +3027,7 @@ void ExceptionType::dumpDeclaration(FileStream & out) {
}
bool ExceptionType::dumpBaseMembers(
- FileStream & out, OUString const & base, bool withType)
+ FileStream & out, OUString const & base, bool withType, bool withDefaults, bool parentsHadDirectMember)
{
bool hasMember = false;
if (!base.isEmpty()) {
@@ -3036,10 +3040,12 @@ bool ExceptionType::dumpBaseMembers(
rtl::Reference< unoidl::ExceptionTypeEntity > ent2(
dynamic_cast< unoidl::ExceptionTypeEntity * >(ent.get()));
assert(ent2.is());
- hasMember = dumpBaseMembers(out, ent2->getDirectBase(), withType);
+ hasMember = dumpBaseMembers( out, ent2->getDirectBase(), withType,
+ withDefaults, parentsHadDirectMember || !ent2->getDirectMembers().empty() );
+ int memberCount = 0;
for (std::vector< unoidl::ExceptionTypeEntity::Member >::const_iterator
i(ent2->getDirectMembers().begin());
- i != ent2->getDirectMembers().end(); ++i)
+ i != ent2->getDirectMembers().end(); ++i, ++memberCount)
{
if (hasMember) {
out << ", ";
@@ -3049,6 +3055,17 @@ bool ExceptionType::dumpBaseMembers(
out << " ";
}
out << i->name << "_";
+ // We want to provide a default parameter value for uno::Exception subtype
+ // constructors, since most of the time we don't pass a Context object in to the exception
+ // throw sites.
+ if (withDefaults
+ && !parentsHadDirectMember
+ && base == "com.sun.star.uno.Exception"
+ && memberCount == 1
+ && i->name == "Context"
+ && i->type == "com.sun.star.uno.XInterface") {
+ out << " = ::css::uno::Reference< ::css::uno::XInterface >()";
+ }
hasMember = true;
}
}
diff --git a/cppuhelper/source/implbase_ex.cxx b/cppuhelper/source/implbase_ex.cxx
index 0dba5561ad6f..2aa3e1d375d7 100644
--- a/cppuhelper/source/implbase_ex.cxx
+++ b/cppuhelper/source/implbase_ex.cxx
@@ -53,7 +53,7 @@ static inline void checkInterface( Type const & rType )
{
OUString msg( "querying for interface \"" + rType.getTypeName() + "\": no interface type!" );
SAL_WARN( "cppuhelper", msg );
- throw RuntimeException( msg, Reference< XInterface >() );
+ throw RuntimeException( msg );
}
}
@@ -96,7 +96,7 @@ static inline type_entry * __getTypeEntries( class_data * cd )
{
OUString msg( "type \"" + rType.getTypeName() + "\" is no interface type!" );
SAL_WARN( "cppuhelper", msg );
- throw RuntimeException( msg, Reference< XInterface >() );
+ throw RuntimeException( msg );
}
// ref is statically held by getCppuType()
pEntry->m_type.typeRef = rType.getTypeLibType();
@@ -202,7 +202,7 @@ static inline void * __queryDeepNoXInterface(
{
OUString msg( "cannot get type description for type \"" + OUString(pEntries[ n ].m_type.typeRef->pTypeName) + "\"!" );
SAL_WARN( "cppuhelper", msg );
- throw RuntimeException( msg, Reference< XInterface >() );
+ throw RuntimeException( msg );
}
}
return 0;
diff --git a/cpputools/source/unoexe/unoexe.cxx b/cpputools/source/unoexe/unoexe.cxx
index 687c6e7bb003..50aef46560f1 100644
--- a/cpputools/source/unoexe/unoexe.cxx
+++ b/cpputools/source/unoexe/unoexe.cxx
@@ -105,9 +105,7 @@ static bool readOption( OUString * pValue, const sal_Char * pOpt,
rtl_getAppCommandArg(*pnIndex, &pValue->pData);
if (*pnIndex >= rtl_getAppCommandArgCount() || pValue->copy(1).equals(dash))
{
- throw RuntimeException(
- "incomplete option \"-" + aOpt + "\" given!",
- Reference< XInterface >() );
+ throw RuntimeException( "incomplete option \"-" + aOpt + "\" given!" );
}
else
{
@@ -170,9 +168,7 @@ void createInstance(
if (! x.is())
{
- throw RuntimeException(
- "cannot get service instance \"" + rServiceName + "\"!",
- Reference< XInterface >() );
+ throw RuntimeException( "cannot get service instance \"" + rServiceName + "\"!" );
}
rxOut = Reference< T >::query( x );
@@ -182,8 +178,7 @@ void createInstance(
throw RuntimeException(
"service instance \"" + rServiceName +
"\" does not support demanded interface \"" +
- rType.getTypeName() + "\"!",
- Reference< XInterface >() );
+ rType.getTypeName() + "\"!" );
}
}
@@ -217,8 +212,7 @@ static Reference< XInterface > loadComponent(
else
{
throw RuntimeException(
- "unknown extension of \"" + rLocation + "\"! No loader available!",
- Reference< XInterface >() );
+ "unknown extension of \"" + rLocation + "\"! No loader available!" );
}
Reference< XInterface > xInstance;
@@ -249,8 +243,7 @@ static Reference< XInterface > loadComponent(
if (! xInstance.is())
{
throw RuntimeException(
- "activating component \"" + rImplName + "\" from location \"" + rLocation + "\" failed!",
- Reference< XInterface >() );
+ "activating component \"" + rImplName + "\" from location \"" + rLocation + "\" failed!" );
}
return xInstance;
@@ -258,8 +251,7 @@ static Reference< XInterface > loadComponent(
else
{
throw RuntimeException(
- "location \"" + rLocation + "\" has no extension! Cannot determine loader to be used!",
- Reference< XInterface >() );
+ "location \"" + rLocation + "\" has no extension! Cannot determine loader to be used!" );
}
}
@@ -357,8 +349,7 @@ Reference< XInterface > OInstanceProvider::getInstance( const OUString & rName )
out( rExc.Message );
}
throw NoSuchElementException(
- "no such element \"" + rName + "\"!",
- Reference< XInterface >() );
+ "no such element \"" + rName + "\"!" );
}
struct ODisposingListener : public WeakImplHelper1< XEventListener >
@@ -437,8 +428,7 @@ SAL_IMPLEMENT_MAIN()
readOption( &bSingleInstance, "singleinstance", &nPos, arg)))
{
throw RuntimeException(
- "unexpected argument \"" + arg + "\"",
- Reference< XInterface >() );
+ "unexpected argument \"" + arg + "\"" );
}
}
@@ -448,15 +438,13 @@ SAL_IMPLEMENT_MAIN()
{
if (! aUnoUrl.endsWithIgnoreAsciiCase( ";uno.ComponentContext" ))
throw RuntimeException(
- OUString("expected UNO-URL with instance name uno.ComponentContext!" ),
- Reference<XInterface>() );
+ OUString("expected UNO-URL with instance name uno.ComponentContext!" ) );
if (bSingleInstance)
throw RuntimeException(
- OUString("unexpected option --singleinstance!"),
- Reference<XInterface>() );
+ OUString("unexpected option --singleinstance!") );
}
if (!aImplName.isEmpty() && aLocation.isEmpty())
- throw RuntimeException("give component location!", Reference< XInterface >() );
+ throw RuntimeException("give component location!" );
if (!aServiceName.isEmpty() && !aLocation.isEmpty())
out( "\n> warning: service name given, will ignore location!" );
@@ -481,7 +469,7 @@ SAL_IMPLEMENT_MAIN()
if (nTokens != 3 || aUnoUrl.getLength() < 10 ||
!aUnoUrl.copy( 0, 4 ).equalsIgnoreAsciiCase( "uno:" ))
{
- throw RuntimeException("illegal uno url given!", Reference< XInterface >() );
+ throw RuntimeException("illegal uno url given!" );
}
nIndex = 0;
OUString aConnectDescr( aUnoUrl.getToken( 0, ';', nIndex ).copy( 4 ) ); // uno:CONNECTDESCR;iiop;InstanceName
@@ -528,7 +516,7 @@ SAL_IMPLEMENT_MAIN()
{
Reference< XComponent > xComp( xBridge, UNO_QUERY );
if (! xComp.is())
- throw RuntimeException( OUString( "bridge factory does not export interface \"com.sun.star.lang.XComponent\"!" ), Reference< XInterface >() );
+ throw RuntimeException( OUString( "bridge factory does not export interface \"com.sun.star.lang.XComponent\"!" ) );
ODisposingListener::waitFor( xComp );
xComp->dispose();
// explicitly dispose the remote bridge so that it joins
@@ -557,7 +545,7 @@ SAL_IMPLEMENT_MAIN()
Reference< XComponent > xComp( xInstance, UNO_QUERY );
if (xComp.is())
xComp->dispose();
- throw RuntimeException( OUString( "component does not export interface interface \"com.sun.star.lang.XMain\"!" ), Reference< XInterface >() );
+ throw RuntimeException( OUString( "component does not export interface interface \"com.sun.star.lang.XMain\"!" ) );
}
}
}
diff --git a/cui/source/customize/cfgutil.cxx b/cui/source/customize/cfgutil.cxx
index 40b88bb386e0..5e33fa6acf43 100644
--- a/cui/source/customize/cfgutil.cxx
+++ b/cui/source/customize/cfgutil.cxx
@@ -761,7 +761,7 @@ Image SfxConfigGroupListBox::GetImage(
Any aAny = xModuleManager->getByName(appModule);
if( !( aAny >>= moduleDescr ) )
{
- throw RuntimeException("SFTreeListBox::Init: failed to get PropertyValue", Reference< XInterface >());
+ throw RuntimeException("SFTreeListBox::Init: failed to get PropertyValue");
}
beans::PropertyValue const * pmoduleDescr =
moduleDescr.getConstArray();
diff --git a/cui/source/customize/selector.cxx b/cui/source/customize/selector.cxx
index 4dbbac23a3cb..2b3b995f19ee 100644
--- a/cui/source/customize/selector.cxx
+++ b/cui/source/customize/selector.cxx
@@ -558,7 +558,7 @@ Image SvxConfigGroupListBox::GetImage(
Any aAny = xModuleManager->getByName(appModule);
if( !( aAny >>= moduleDescr ) )
{
- throw RuntimeException("SFTreeListBox::Init: failed to get PropertyValue", Reference< XInterface >());
+ throw RuntimeException("SFTreeListBox::Init: failed to get PropertyValue");
}
beans::PropertyValue const * pmoduleDescr =
moduleDescr.getConstArray();