summaryrefslogtreecommitdiff
path: root/stoc/source/typeconv/convert.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'stoc/source/typeconv/convert.cxx')
-rw-r--r--stoc/source/typeconv/convert.cxx33
1 files changed, 18 insertions, 15 deletions
diff --git a/stoc/source/typeconv/convert.cxx b/stoc/source/typeconv/convert.cxx
index b0c01c34e35d..19d235337797 100644
--- a/stoc/source/typeconv/convert.cxx
+++ b/stoc/source/typeconv/convert.cxx
@@ -521,9 +521,8 @@ Any SAL_CALL TypeConverter_Impl::convertTo( const Any& rVal, const Type& aDestTy
case TypeClass_ANY:
return rVal;
- // --- to STRUCT, UNION, EXCEPTION ----------------------------------------------------------
+ // --- to STRUCT, EXCEPTION ----------------------------------------------------------
case TypeClass_STRUCT:
-// case TypeClass_UNION: // xxx todo
case TypeClass_EXCEPTION:
{
// same types or destination type is derived source type?
@@ -700,22 +699,26 @@ Any TypeConverter_Impl::convertToSimpleType( const Any& rVal, TypeClass aDestina
switch (aDestinationClass)
{
// only simple Conversion of _simple_ types
- case TypeClass_INTERFACE:
- case TypeClass_SERVICE:
- case TypeClass_STRUCT:
- case TypeClass_TYPEDEF:
- case TypeClass_UNION:
- case TypeClass_EXCEPTION:
- case TypeClass_ARRAY:
- case TypeClass_SEQUENCE:
- case TypeClass_ENUM:
- case TypeClass_UNKNOWN:
- case TypeClass_MODULE:
+ case TypeClass_VOID:
+ case TypeClass_BOOLEAN:
+ case TypeClass_BYTE:
+ case TypeClass_SHORT:
+ case TypeClass_UNSIGNED_SHORT:
+ case TypeClass_LONG:
+ case TypeClass_UNSIGNED_LONG:
+ case TypeClass_HYPER:
+ case TypeClass_UNSIGNED_HYPER:
+ case TypeClass_FLOAT:
+ case TypeClass_DOUBLE:
+ case TypeClass_CHAR:
+ case TypeClass_STRING:
+ case TypeClass_ANY:
+ break;
+
+ default:
throw IllegalArgumentException(
OUString("destination type is not simple!"),
Reference< XInterface >(), (sal_Int16) 1 );
- default:
- break;
}
Type aSourceType = rVal.getValueType();