From 9e77c2fb7cadfd477fb1b971b011d43f30781660 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Fri, 31 Jan 2014 10:15:47 +0100 Subject: Remove UNOIDL "array" and "union" vaporware remnants ...and deprecate what cannot be removed for compatibility. Change-Id: I1ea335af775b867b468b8285113631167729a92a --- bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx | 2 - bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx | 2 - bridges/source/cpp_uno/mingw_x86-64/abi.cxx | 2 - codemaker/source/cppumaker/cpputype.cxx | 2 - comphelper/source/container/enumerablemap.cxx | 2 - comphelper/source/misc/anytostring.cxx | 2 - .../source/helper/purpenv/helper_purpenv_Proxy.cxx | 3 - cppuhelper/source/tdmgr.cxx | 102 --------------------- extensions/source/ole/unoconversionutilities.hxx | 7 +- .../source/propctrlr/formcomponenthandler.cxx | 1 - include/com/sun/star/uno/Sequence.h | 3 +- include/typelib/typeclass.h | 10 +- odk/docs/idl/idl_chapter_refs.txt | 2 - pyuno/source/module/pyuno.cxx | 5 - pyuno/source/module/pyuno_type.cxx | 4 - ridljar/com/sun/star/uno/Union.java | 8 +- solenv/gdb/libreoffice/util/uno.py | 10 +- stoc/source/corereflection/crarray.cxx | 8 +- stoc/source/corereflection/crefl.cxx | 2 - stoc/source/typeconv/convert.cxx | 33 ++++--- stoc/test/testconv.cxx | 8 +- stoc/test/testintrosp.cxx | 2 - .../sun/star/reflection/XArrayTypeDescription.idl | 4 +- .../sun/star/reflection/XUnionTypeDescription.idl | 5 +- udkapi/com/sun/star/uno/TypeClass.idl | 8 +- winaccessibility/source/UAccCOM/MAccessible.cxx | 4 - .../sun/star/wizards/common/NumericalHelper.java | 43 ++------- 27 files changed, 54 insertions(+), 230 deletions(-) diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx index 31d38beba7e6..facdcddad4bc 100644 --- a/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx @@ -171,9 +171,7 @@ classify_argument( typelib_TypeDescriptionReference *pTypeRef, enum x86_64_reg_c case typelib_TypeClass_TYPE: case typelib_TypeClass_ANY: case typelib_TypeClass_TYPEDEF: - case typelib_TypeClass_UNION: case typelib_TypeClass_SEQUENCE: - case typelib_TypeClass_ARRAY: case typelib_TypeClass_INTERFACE: return 0; case typelib_TypeClass_STRUCT: diff --git a/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx b/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx index 9fb14a90082c..06e33de2913a 100644 --- a/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx +++ b/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx @@ -171,9 +171,7 @@ classify_argument( typelib_TypeDescriptionReference *pTypeRef, enum x86_64_reg_c case typelib_TypeClass_TYPE: case typelib_TypeClass_ANY: case typelib_TypeClass_TYPEDEF: - case typelib_TypeClass_UNION: case typelib_TypeClass_SEQUENCE: - case typelib_TypeClass_ARRAY: case typelib_TypeClass_INTERFACE: return 0; case typelib_TypeClass_STRUCT: diff --git a/bridges/source/cpp_uno/mingw_x86-64/abi.cxx b/bridges/source/cpp_uno/mingw_x86-64/abi.cxx index 9fb14a90082c..06e33de2913a 100644 --- a/bridges/source/cpp_uno/mingw_x86-64/abi.cxx +++ b/bridges/source/cpp_uno/mingw_x86-64/abi.cxx @@ -171,9 +171,7 @@ classify_argument( typelib_TypeDescriptionReference *pTypeRef, enum x86_64_reg_c case typelib_TypeClass_TYPE: case typelib_TypeClass_ANY: case typelib_TypeClass_TYPEDEF: - case typelib_TypeClass_UNION: case typelib_TypeClass_SEQUENCE: - case typelib_TypeClass_ARRAY: case typelib_TypeClass_INTERFACE: return 0; case typelib_TypeClass_STRUCT: diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx index 691aa752653c..eccb931e4aaa 100644 --- a/codemaker/source/cppumaker/cpputype.cxx +++ b/codemaker/source/cppumaker/cpputype.cxx @@ -94,7 +94,6 @@ bool isBootstrapType(OUString const & name) { "com.sun.star.reflection.ParamInfo", "com.sun.star.reflection.ParamMode", "com.sun.star.reflection.TypeDescriptionSearchDepth", - "com.sun.star.reflection.XArrayTypeDescription", "com.sun.star.reflection.XCompoundTypeDescription", "com.sun.star.reflection.XEnumTypeDescription", "com.sun.star.reflection.XIdlArray", @@ -115,7 +114,6 @@ bool isBootstrapType(OUString const & name) { "com.sun.star.reflection.XTypeDescription", "com.sun.star.reflection.XTypeDescriptionEnumeration", "com.sun.star.reflection.XTypeDescriptionEnumerationAccess", - "com.sun.star.reflection.XUnionTypeDescription", "com.sun.star.registry.RegistryKeyType", "com.sun.star.registry.RegistryValueType", "com.sun.star.registry.XImplementationRegistration", diff --git a/comphelper/source/container/enumerablemap.cxx b/comphelper/source/container/enumerablemap.cxx index b31427713cf1..207680e172ea 100644 --- a/comphelper/source/container/enumerablemap.cxx +++ b/comphelper/source/container/enumerablemap.cxx @@ -70,7 +70,6 @@ namespace comphelper using ::com::sun::star::uno::TypeClass_ANY; using ::com::sun::star::uno::TypeClass_EXCEPTION; using ::com::sun::star::uno::TypeClass_STRUCT; - using ::com::sun::star::uno::TypeClass_UNION; using ::com::sun::star::uno::TypeClass_FLOAT; using ::com::sun::star::uno::TypeClass_DOUBLE; using ::com::sun::star::uno::TypeClass_INTERFACE; @@ -462,7 +461,6 @@ namespace comphelper break; case TypeClass_EXCEPTION: case TypeClass_STRUCT: - case TypeClass_UNION: { // values are accepted if and only if their type equals, or is derived from, our value type diff --git a/comphelper/source/misc/anytostring.cxx b/comphelper/source/misc/anytostring.cxx index 624c973290c7..12f646ca884d 100644 --- a/comphelper/source/misc/anytostring.cxx +++ b/comphelper/source/misc/anytostring.cxx @@ -297,8 +297,6 @@ void appendValue( OUStringBuffer & buf, case typelib_TypeClass_UNSIGNED_HYPER: buf.append( *static_cast< sal_Int64 const * >(val) ); break; -// case typelib_TypeClass_UNION: -// case typelib_TypeClass_ARRAY: // case typelib_TypeClass_UNKNOWN: // case typelib_TypeClass_SERVICE: // case typelib_TypeClass_MODULE: diff --git a/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx b/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx index f0706e190dbb..b02439eb6f21 100644 --- a/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx +++ b/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx @@ -51,7 +51,6 @@ static bool relatesToInterface(typelib_TypeDescription * pTypeDescr) switch (((typelib_IndirectTypeDescription *)pTypeDescr)->pType->eTypeClass) { case typelib_TypeClass_INTERFACE: - case typelib_TypeClass_UNION: // might relate to interface case typelib_TypeClass_ANY: // might relate to interface return true; case typelib_TypeClass_SEQUENCE: @@ -80,7 +79,6 @@ static bool relatesToInterface(typelib_TypeDescription * pTypeDescr) switch (pTypes[nPos]->eTypeClass) { case typelib_TypeClass_INTERFACE: - case typelib_TypeClass_UNION: // might relate to interface case typelib_TypeClass_ANY: // might relate to interface return true; // case typelib_TypeClass_TYPEDEF: @@ -103,7 +101,6 @@ static bool relatesToInterface(typelib_TypeDescription * pTypeDescr) return relatesToInterface( (typelib_TypeDescription *)pComp->pBaseTypeDescription ); break; } - case typelib_TypeClass_UNION: // might relate to interface case typelib_TypeClass_ANY: // might relate to interface case typelib_TypeClass_INTERFACE: return true; diff --git a/cppuhelper/source/tdmgr.cxx b/cppuhelper/source/tdmgr.cxx index df6adc6ed28d..8e614d2ce39c 100644 --- a/cppuhelper/source/tdmgr.cxx +++ b/cppuhelper/source/tdmgr.cxx @@ -47,7 +47,6 @@ #include #include #include -#include #include "com/sun/star/uno/RuntimeException.hpp" #include "boost/scoped_array.hpp" @@ -65,104 +64,6 @@ static typelib_TypeDescription * createCTD( Reference< container::XHierarchicalNameAccess > const & access, const Reference< XTypeDescription > & xType ); -//================================================================================================== -inline static sal_Int64 coerceToInt64( const Any & rVal ) -{ - switch (rVal.getValueTypeClass()) - { - case TypeClass_CHAR: - return *(sal_Unicode *)rVal.getValue(); - case TypeClass_BOOLEAN: - return (*(sal_Bool *)rVal.getValue() ? 1 : 0); - case TypeClass_BYTE: - return *(sal_Int8 *)rVal.getValue(); - case TypeClass_SHORT: - return *(sal_Int16 *)rVal.getValue(); - case TypeClass_UNSIGNED_SHORT: - return *(sal_uInt16 *)rVal.getValue(); - case TypeClass_LONG: - return *(sal_Int32 *)rVal.getValue(); - case TypeClass_UNSIGNED_LONG: - return *(sal_uInt32 *)rVal.getValue(); - case TypeClass_HYPER: - return *(sal_Int64 *)rVal.getValue(); - case TypeClass_UNSIGNED_HYPER: - return *(sal_uInt64 *)rVal.getValue(); - case TypeClass_ENUM: - return *(int *)rVal.getValue(); - default: - OSL_ASSERT(false); - return 0; - } -} -//================================================================================================== -inline static typelib_TypeDescription * createCTD( - const Reference< XUnionTypeDescription > & xType ) -{ - typelib_TypeDescription * pRet = 0; - if (xType.is()) - { - OUString aTypeName( xType->getName() ); - - // discriminant type - Reference< XTypeDescription > xDiscrTD( xType->getDiscriminantType() ); - OUString aDiscrTypeName( xDiscrTD->getName() ); - typelib_TypeDescriptionReference * pDiscrTypeRef = 0; - typelib_typedescriptionreference_new( &pDiscrTypeRef, - (typelib_TypeClass)xDiscrTD->getTypeClass(), - aDiscrTypeName.pData ); - // default member type - Reference< XTypeDescription > xDefaultMemberTD( xType->getDefaultMemberType() ); - OUString aDefMemberTypeName( xDefaultMemberTD->getName() ); - typelib_TypeDescriptionReference * pDefMemberTypeRef = 0; - typelib_typedescriptionreference_new( &pDefMemberTypeRef, - (typelib_TypeClass)xDefaultMemberTD->getTypeClass(), - aDefMemberTypeName.pData ); - // init array - Sequence< Any > aDiscriminants( xType->getDiscriminants() ); - Sequence< Reference< XTypeDescription > > aMemberTypes( xType->getMemberTypes() ); - Sequence< OUString > aMemberNames( xType->getMemberNames() ); - sal_Int32 nMembers = aDiscriminants.getLength(); - OSL_ASSERT( nMembers == aMemberNames.getLength() && nMembers == aMemberTypes.getLength() ); - - const Any * pDiscriminants = aDiscriminants.getConstArray(); - const Reference< XTypeDescription > * pMemberTypes = aMemberTypes.getConstArray(); - const OUString * pMemberNames = aMemberNames.getConstArray(); - - typelib_Union_Init * pMembers = (typelib_Union_Init *)alloca( nMembers * sizeof(typelib_Union_Init) ); - - sal_Int32 nPos; - for ( nPos = nMembers; nPos--; ) - { - typelib_Union_Init & rEntry = pMembers[nPos]; - // member discriminant - rEntry.nDiscriminant = coerceToInt64( pDiscriminants[nPos] ); - // member type - OUString aMemberTypeName( pMemberTypes[nPos]->getName() ); - rEntry.pTypeRef = 0; - typelib_typedescriptionreference_new( &rEntry.pTypeRef, - (typelib_TypeClass)pMemberTypes[nPos]->getTypeClass(), - aMemberTypeName.pData ); - // member name - rEntry.pMemberName = pMemberNames[nPos].pData; - } - - typelib_typedescription_newUnion( &pRet, aTypeName.pData, - pDiscrTypeRef, - coerceToInt64( xType->getDefaultDiscriminant() ), - pDefMemberTypeRef, - nMembers, pMembers ); - - for ( nPos = nMembers; nPos--; ) - { - typelib_typedescriptionreference_release( pMembers[nPos].pTypeRef ); - } - - typelib_typedescriptionreference_release( pDiscrTypeRef ); - typelib_typedescriptionreference_release( pDefMemberTypeRef ); - } - return pRet; -} //================================================================================================== inline static typelib_TypeDescription * createCTD( const Reference< XCompoundTypeDescription > & xType ) @@ -620,9 +521,6 @@ static typelib_TypeDescription * createCTD( break; } - case TypeClass_UNION: - pRet = createCTD( Reference< XUnionTypeDescription >::query( xType ) ); - break; case TypeClass_EXCEPTION: pRet = createCTD( Reference< XCompoundTypeDescription >::query( xType ) ); break; diff --git a/extensions/source/ole/unoconversionutilities.hxx b/extensions/source/ole/unoconversionutilities.hxx index 1307d33bc4ab..546d7965616c 100644 --- a/extensions/source/ole/unoconversionutilities.hxx +++ b/extensions/source/ole/unoconversionutilities.hxx @@ -963,12 +963,7 @@ void UnoConversionUtilities::anyToVariant(VARIANT* pVariant, const Any& rAny) //TypeClass_TYPEDEF //TypeClass_ANY: //TypeClass_UNKNOWN: - //TypeClass_UNSIGNED_OCTET: - // TypeClass_UNION: - // TypeClass_ARRAY: - // TypeClass_UNSIGNED_INT: - // TypeClass_UNSIGNED_BYTE: - // TypeClass_MODULE: + //TypeClass_MODULE: throw CannotConvertException( "[automation bridge]UnoConversionUtilities::anyToVariant\n" "There is no conversion for this UNO type to a Automation type." diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx b/extensions/source/propctrlr/formcomponenthandler.cxx index 7260092d774b..c6d5f3106116 100644 --- a/extensions/source/propctrlr/formcomponenthandler.cxx +++ b/extensions/source/propctrlr/formcomponenthandler.cxx @@ -2207,7 +2207,6 @@ namespace pcr return false; if ( ( _rProperty.Type.getTypeClass() == TypeClass_INTERFACE ) - || ( _rProperty.Type.getTypeClass() == TypeClass_ARRAY ) || ( _rProperty.Type.getTypeClass() == TypeClass_UNKNOWN ) ) return true; diff --git a/include/com/sun/star/uno/Sequence.h b/include/com/sun/star/uno/Sequence.h index ff52ee30fd01..b7e4195601c0 100644 --- a/include/com/sun/star/uno/Sequence.h +++ b/include/com/sun/star/uno/Sequence.h @@ -278,8 +278,7 @@ SAL_CALL getCppuType( const ::com::sun::star::uno::Sequence< E > * ) /** Gets the meta type of IDL sequence. This function has been introduced, because one cannot get the (templated) - cppu type out of C++ array types. Array types have special - getCppuArrayTypeN() functions. + cppu type out of C++ array types. @attention the given element type must be the same as the template argument type! diff --git a/include/typelib/typeclass.h b/include/typelib/typeclass.h index 434094fe3d8d..1c6b0d64458e 100644 --- a/include/typelib/typeclass.h +++ b/include/typelib/typeclass.h @@ -61,13 +61,19 @@ typedef enum _typelib_TypeClass typelib_TypeClass_TYPEDEF = 16, /** type class of struct */ typelib_TypeClass_STRUCT = 17, - /** type class of union (not implemented) */ + /** Deprecated, UNOIDL does not have a union concept. + + @deprecated + */ typelib_TypeClass_UNION = 18, /** type class of exception */ typelib_TypeClass_EXCEPTION = 19, /** type class of sequence */ typelib_TypeClass_SEQUENCE = 20, - /** type class of array (not implemented) */ + /** Deprecated, UNOIDL does not have an array concept. + + @deprecated + */ typelib_TypeClass_ARRAY = 21, /** type class of interface */ typelib_TypeClass_INTERFACE = 22, diff --git a/odk/docs/idl/idl_chapter_refs.txt b/odk/docs/idl/idl_chapter_refs.txt index 8569d282c7db..c9ffe1bbea74 100644 --- a/odk/docs/idl/idl_chapter_refs.txt +++ b/odk/docs/idl/idl_chapter_refs.txt @@ -3389,13 +3389,11 @@ com.sun.star.reflection.XInterfaceMemberTypeDescription com.sun.star.reflection.XInterfaceTypeDescription com.sun.star.reflection.XInterfaceMethodTypeDescription com.sun.star.reflection.XIndirectTypeDescription -com.sun.star.reflection.XUnionTypeDescription com.sun.star.reflection.TypeDescriptionProvider com.sun.star.reflection.XInterfaceAttributeTypeDescription com.sun.star.reflection.XTypeDescription com.sun.star.reflection.XCompoundTypeDescription com.sun.star.container.XHierarchicalNameAccess -com.sun.star.reflection.XArrayTypeDescription TOPIC: LINK:Documentation/DevGuide/OfficeDev/Component/Controllers#XSelectionSupplier diff --git a/pyuno/source/module/pyuno.cxx b/pyuno/source/module/pyuno.cxx index ece456094291..4c8145b7ceb4 100644 --- a/pyuno/source/module/pyuno.cxx +++ b/pyuno/source/module/pyuno.cxx @@ -118,10 +118,6 @@ OUString val2str( const void * pVal, typelib_TypeDescriptionReference * pTypeRef break; } - case typelib_TypeClass_UNION: - { - break; - } case typelib_TypeClass_STRUCT: case typelib_TypeClass_EXCEPTION: { @@ -283,7 +279,6 @@ OUString val2str( const void * pVal, typelib_TypeDescriptionReference * pTypeRef break; case typelib_TypeClass_VOID: - case typelib_TypeClass_ARRAY: case typelib_TypeClass_UNKNOWN: case typelib_TypeClass_SERVICE: case typelib_TypeClass_MODULE: diff --git a/pyuno/source/module/pyuno_type.cxx b/pyuno/source/module/pyuno_type.cxx index c23d1e7c29b5..80d1fdb28f57 100644 --- a/pyuno/source/module/pyuno_type.cxx +++ b/pyuno/source/module/pyuno_type.cxx @@ -81,10 +81,6 @@ const char *typeClassToString( TypeClass t ) ret = "INTERFACE"; break; case com::sun::star::uno::TypeClass_TYPEDEF: ret = "TYPEDEF"; break; - case com::sun::star::uno::TypeClass_UNION: - ret = "UNION"; break; - case com::sun::star::uno::TypeClass_ARRAY: - ret = "ARRAY"; break; case com::sun::star::uno::TypeClass_SERVICE: ret = "SERVICE"; break; case com::sun::star::uno::TypeClass_MODULE: diff --git a/ridljar/com/sun/star/uno/Union.java b/ridljar/com/sun/star/uno/Union.java index 8daabbd4a6f9..6a35d667fb3a 100644 --- a/ridljar/com/sun/star/uno/Union.java +++ b/ridljar/com/sun/star/uno/Union.java @@ -19,11 +19,9 @@ package com.sun.star.uno; /** - * The Union class is the base class for all classes generated - * as java binding for the IDL type union. - *

- * Note: The idl type union is currently not fully - * integrated into the UNO framework, so don't use it. + * Deprecated, UNOIDL does not have a union concept. + * + * @deprecated */ public class Union { /** diff --git a/solenv/gdb/libreoffice/util/uno.py b/solenv/gdb/libreoffice/util/uno.py index b92a817a5357..a80fdd856d0d 100644 --- a/solenv/gdb/libreoffice/util/uno.py +++ b/solenv/gdb/libreoffice/util/uno.py @@ -63,14 +63,12 @@ class TypeClass(object): TYPEDEF = 16 # type class of struct STRUCT = 17 - # type class of union (not implemented) - UNION = 18 + # type class of exception EXCEPTION = 19 # type class of sequence SEQUENCE = 20 - # type class of array (not implemented) - ARRAY = 21 + # type class of interface INTERFACE = 22 # type class of service (not implemented) @@ -236,14 +234,10 @@ def make_uno_type(val): pass elif type_class == TypeClass.STRUCT: uno_type = StructType(val, full_val) - elif type_class == TypeClass.UNION: - raise UnsupportedType('union') elif type_class == TypeClass.EXCEPTION: uno_type = CompoundType(val, full_val) elif type_class == TypeClass.SEQUENCE: uno_type = IndirectType(val, full_val) - elif type_class == TypeClass.ARRAY: - raise UnsupportedType('array') elif type_class == TypeClass.INTERFACE: uno_type = InterfaceType(val, full_val) elif type_class == TypeClass.SERVICE: diff --git a/stoc/source/corereflection/crarray.cxx b/stoc/source/corereflection/crarray.cxx index 4bc0eb53acba..e329f63470d9 100644 --- a/stoc/source/corereflection/crarray.cxx +++ b/stoc/source/corereflection/crarray.cxx @@ -87,7 +87,7 @@ void ArrayIdlClassImpl::realloc( Any & rArray, sal_Int32 nLen ) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException) { TypeClass eTC = rArray.getValueTypeClass(); - if (eTC != TypeClass_SEQUENCE && eTC != TypeClass_ARRAY) + if (eTC != TypeClass_SEQUENCE) { throw IllegalArgumentException( OUString("no sequence given!"), @@ -112,7 +112,7 @@ sal_Int32 ArrayIdlClassImpl::getLen( const Any & rArray ) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException) { TypeClass eTC = rArray.getValueTypeClass(); - if (eTC != TypeClass_SEQUENCE && eTC != TypeClass_ARRAY) + if (eTC != TypeClass_SEQUENCE) { throw IllegalArgumentException( OUString("no sequence given!"), @@ -126,7 +126,7 @@ Any ArrayIdlClassImpl::get( const Any & rArray, sal_Int32 nIndex ) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::ArrayIndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) { TypeClass eTC = rArray.getValueTypeClass(); - if (eTC != TypeClass_SEQUENCE && eTC != TypeClass_ARRAY) + if (eTC != TypeClass_SEQUENCE) { throw IllegalArgumentException( OUString("no sequence given!"), @@ -157,7 +157,7 @@ void ArrayIdlClassImpl::set( Any & rArray, sal_Int32 nIndex, const Any & rNewVal throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::ArrayIndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) { TypeClass eTC = rArray.getValueTypeClass(); - if (eTC != TypeClass_SEQUENCE && eTC != TypeClass_ARRAY) + if (eTC != TypeClass_SEQUENCE) { throw IllegalArgumentException( OUString("no sequence given!"), diff --git a/stoc/source/corereflection/crefl.cxx b/stoc/source/corereflection/crefl.cxx index cc437d08920b..1ba2ed44fb2d 100644 --- a/stoc/source/corereflection/crefl.cxx +++ b/stoc/source/corereflection/crefl.cxx @@ -208,11 +208,9 @@ inline Reference< XIdlClass > IdlReflectionServiceImpl::constructClass( return new EnumIdlClassImpl( this, pTypeDescr->pTypeName, pTypeDescr->eTypeClass, pTypeDescr ); case typelib_TypeClass_STRUCT: - case typelib_TypeClass_UNION: case typelib_TypeClass_EXCEPTION: return new CompoundIdlClassImpl( this, pTypeDescr->pTypeName, pTypeDescr->eTypeClass, pTypeDescr ); - case typelib_TypeClass_ARRAY: case typelib_TypeClass_SEQUENCE: return new ArrayIdlClassImpl( this, pTypeDescr->pTypeName, pTypeDescr->eTypeClass, pTypeDescr ); 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(); diff --git a/stoc/test/testconv.cxx b/stoc/test/testconv.cxx index 415d3c596fed..79f06ab7efeb 100644 --- a/stoc/test/testconv.cxx +++ b/stoc/test/testconv.cxx @@ -585,7 +585,7 @@ static sal_Int32 initBlocks( ConvBlock * pTestBlocks ) pTestBlocks[nElems++] = ConvBlock( aVal, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ); // st,do,fl,u3,i3,u1,i1,by,bo,ch,tc,si,sa // ==SEQ of ANY== - Sequence< Any > aAnySeq( 2 ), aAnySeq2( 2 ), aAnySeq3( 2 ); + Sequence< Any > aAnySeq( 2 ), aAnySeq2( 2 ); Any * pAnySeq = aAnySeq.getArray(); pAnySeq[0] = makeAny( aINT32Seq ); pAnySeq[1] = makeAny( OUString("lala") ); @@ -598,12 +598,6 @@ static sal_Int32 initBlocks( ConvBlock * pTestBlocks ) aVal <<= aAnySeq2; pTestBlocks[nElems++] = ConvBlock( aVal, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 ); // st,do,fl,u3,i3,u1,i1,by,bo,ch,tc,si,sa - pAnySeq = aAnySeq3.getArray(); - pAnySeq[0] <<= OUString("TypeClass_UNION"); - pAnySeq[1] <<= OUString("TypeClass_ENUM"); - aVal <<= aAnySeq3; - pTestBlocks[nElems++] = ConvBlock( aVal, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ); - // st,do,fl,u3,i3,u1,i1,by,bo,ch,tc,si,sa return nElems; } diff --git a/stoc/test/testintrosp.cxx b/stoc/test/testintrosp.cxx index f6d0860c798b..ef8192faddb7 100644 --- a/stoc/test/testintrosp.cxx +++ b/stoc/test/testintrosp.cxx @@ -103,10 +103,8 @@ OUString AnyToString( const Any& aValue, sal_Bool bIncludeType, const Reference< case TypeClass_SERVICE: aRetStr = "TYPE SERVICE"; break; case TypeClass_STRUCT: aRetStr = "TYPE STRUCT"; break; case TypeClass_TYPEDEF: aRetStr = "TYPE TYPEDEF"; break; - case TypeClass_UNION: aRetStr = "TYPE UNION"; break; case TypeClass_ENUM: aRetStr = "TYPE ENUM"; break; case TypeClass_EXCEPTION: aRetStr = "TYPE EXCEPTION"; break; - case TypeClass_ARRAY: aRetStr = "TYPE ARRAY"; break; case TypeClass_SEQUENCE: aRetStr = "TYPE SEQUENCE"; break; case TypeClass_VOID: aRetStr = "TYPE void"; break; case TypeClass_ANY: aRetStr = "TYPE any"; break; diff --git a/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl b/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl index bd9f2efa7bac..ff5673df19ef 100644 --- a/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl +++ b/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl @@ -26,9 +26,7 @@ module com { module sun { module star { module reflection { -/** Deprecated. Arrays are not supported. - Reflects a fixed-size array type. - The type class of this description is TypeClass_ARRAY. +/** Deprecated, UNOIDL does not have an array concept. @deprecated */ diff --git a/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl b/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl index 179dfe13b033..32bbe98e4aae 100644 --- a/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl +++ b/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl @@ -26,10 +26,7 @@ module com { module sun { module star { module reflection { -/** Deprecated. Unions are not supported. - Reflects a union type. - The discriminant of a union switches between the current value types. - In addition, there is also a default case, having no discriminant. +/** Deprecated, UNOIDL does not have a union concept. @deprecated */ diff --git a/udkapi/com/sun/star/uno/TypeClass.idl b/udkapi/com/sun/star/uno/TypeClass.idl index 959173f4914a..1def57d6fbb9 100644 --- a/udkapi/com/sun/star/uno/TypeClass.idl +++ b/udkapi/com/sun/star/uno/TypeClass.idl @@ -89,7 +89,9 @@ published enum TypeClass /** reflecting compound types */ STRUCT, - /** reflecting union types + /** Deprecated, UNOIDL does not have a union concept. + + @deprecated */ UNION, /** reflecting exception types @@ -98,7 +100,9 @@ published enum TypeClass /** reflecting sequence types */ SEQUENCE, - /** reflecting array types + /** Deprecated, UNOIDL does not have an array concept. + + @deprecated */ ARRAY, /** reflecting interface types diff --git a/winaccessibility/source/UAccCOM/MAccessible.cxx b/winaccessibility/source/UAccCOM/MAccessible.cxx index 488fc652b1e3..4a1e3331b22c 100644 --- a/winaccessibility/source/UAccCOM/MAccessible.cxx +++ b/winaccessibility/source/UAccCOM/MAccessible.cxx @@ -2893,9 +2893,7 @@ void CMAccessible::get_OLECHARFromAny(Any& pAny, OLECHAR* pChar) case TypeClass_TYPE: case TypeClass_ANY: case TypeClass_TYPEDEF: - case TypeClass_UNION: case TypeClass_EXCEPTION: - case TypeClass_ARRAY: case TypeClass_INTERFACE: case TypeClass_SERVICE: case TypeClass_MODULE: @@ -3047,10 +3045,8 @@ void CMAccessible::ConvertAnyToVariant(const ::com::sun::star::uno::Any &rAnyVal case TypeClass_ENUM: case TypeClass_TYPEDEF: case TypeClass_STRUCT: - case TypeClass_UNION: case TypeClass_EXCEPTION: case TypeClass_SEQUENCE: - case TypeClass_ARRAY: case TypeClass_INTERFACE: { Reference< XAccessible > pXAcc; diff --git a/wizards/com/sun/star/wizards/common/NumericalHelper.java b/wizards/com/sun/star/wizards/common/NumericalHelper.java index 864c41cfc686..c0f88796dae7 100644 --- a/wizards/com/sun/star/wizards/common/NumericalHelper.java +++ b/wizards/com/sun/star/wizards/common/NumericalHelper.java @@ -43,8 +43,7 @@ public class NumericalHelper public static final int CHAR_TYPE = 6; public static final int STRING_TYPE = -1; public static final int BOOLEAN_TYPE = -2; - public static final int ARRAY_TYPE = -3; - public static final int SEQUENCE_TYPE = -4; + public static final int SEQUENCE_TYPE = -3; public static final int ASCII_VALUE_0 = 48; public static final int ASCII_VALUE_A = 65; public static final int COUNT_CHARS_IN_ALPHABET = 26; @@ -659,7 +658,7 @@ public class NumericalHelper case BOOLEAN_TYPE: retValue = aTypeObject.aValue.toString(); break; - case ARRAY_TYPE: + case SEQUENCE_TYPE: retValue = new String(toByteArray((aValue))); break; default: @@ -738,11 +737,7 @@ public class NumericalHelper TypeObject aTypeObject = getTypeObject(anArrayValue); if (aTypeObject.iType == SEQUENCE_TYPE) { - aTypeObject = convertSequenceToObjectArray(aTypeObject); - } - if (aTypeObject.iType == ARRAY_TYPE) - { - Object[] obj = (Object[]) aTypeObject.aValue; + Object[] obj = convertSequenceToObjectArray(aTypeObject); retValue = new int[obj.length]; for (int i = 0; i < obj.length; i++) { @@ -772,11 +767,7 @@ public class NumericalHelper TypeObject aTypeObject = getTypeObject(anArrayValue); if (aTypeObject.iType == SEQUENCE_TYPE) { - aTypeObject = convertSequenceToObjectArray(aTypeObject); - } - if (aTypeObject.iType == ARRAY_TYPE) - { - Object[] obj = (Object[]) aTypeObject.aValue; + Object[] obj = convertSequenceToObjectArray(aTypeObject); retValue = new byte[obj.length]; for (int i = 0; i < obj.length; i++) { @@ -806,11 +797,7 @@ public class NumericalHelper TypeObject aTypeObject = getTypeObject(anArrayValue); if (aTypeObject.iType == SEQUENCE_TYPE) { - aTypeObject = convertSequenceToObjectArray(aTypeObject); - } - if (aTypeObject.iType == ARRAY_TYPE) - { - Object[] obj = (Object[]) aTypeObject.aValue; + Object[] obj = convertSequenceToObjectArray(aTypeObject); retValue = new short[obj.length]; for (int i = 0; i < obj.length; i++) { @@ -840,11 +827,7 @@ public class NumericalHelper TypeObject aTypeObject = getTypeObject(anArrayValue); if (aTypeObject.iType == SEQUENCE_TYPE) { - aTypeObject = convertSequenceToObjectArray(aTypeObject); - } - if (aTypeObject.iType == ARRAY_TYPE) - { - Object[] obj = (Object[]) aTypeObject.aValue; + Object[] obj = convertSequenceToObjectArray(aTypeObject); retValue = new String[obj.length]; for (int i = 0; i < obj.length; i++) { @@ -1120,13 +1103,6 @@ public class NumericalHelper aTypeObject.iType = BOOLEAN_TYPE; aTypeObject.aValue = Boolean.valueOf(AnyConverter.toBoolean(aValue)); break; - case TypeClass.ARRAY_value: - aTypeObject.iType = ARRAY_TYPE; - aTypeObject.aValue = new Object[] - { - AnyConverter.toArray(aValue) - }; - break; case TypeClass.SEQUENCE_value: aTypeObject.iType = SEQUENCE_TYPE; aTypeObject.aValue = aValue; @@ -1302,13 +1278,11 @@ public class NumericalHelper } } - private static TypeObject convertSequenceToObjectArray( + private static Object[] convertSequenceToObjectArray( TypeObject sourceObject) throws com.sun.star.lang.IllegalArgumentException { - TypeObject destObject = new TypeObject(); Object array = sourceObject.aValue; - destObject.iType = ARRAY_TYPE; Class c = array.getClass(); Object[] aShortVal = null; if (c.equals(byte[].class)) @@ -1388,8 +1362,7 @@ public class NumericalHelper "Cannot convert unknown type: '" + e.getMessage() + "'"); } } - destObject.aValue = aShortVal; - return destObject; + return aShortVal; } /** -- cgit