diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2013-10-01 14:33:56 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-10-02 16:23:34 +0000 |
commit | 395b860fe19b786a096a2533a09d0c45c11ed8b4 (patch) | |
tree | 166c325242cc7f04d6f1e0f10237c888c38540b6 | |
parent | 20496991d00e62a2cb27ecaf77ed2c29646a23c1 (diff) |
rhbz#1014010: Missing dependencies in isBootstrapType list
...the list has been fixed now by copying its elements into an ENTRIES file and
running "unoidl-write udkapi/ @ENTITIES TEMP && unoidl-read TEMP >/dev/null" and
adding any reported unknown entities until it succeeds.
However, the updated list lead to deadlock when css.reflection.ParamInfo UnoType
resolves css.reflection.XIdlClass UnoType resolves css.reflection.XIdlMethod
UnoType resolves css.reflection.ParamInfo UnoType, so broke the circle by no
longer resolving the interface methods' return and parameter types in
InterfaceType::dumpMethodsCppuDecl (which is why those type infos are only
generated on demand anyway; looks like this had been a careless thinko in the
generation of comprehensive type info that had remained unnoticed all the time).
(cherry picked from commit 254f59f623f58c320175a06a2c93bcee7868b623)
Conflicts:
codemaker/source/cppumaker/cpputype.cxx
Change-Id: I50ef2fde16242298e055c6fa5971e70fad1a2b68
Reviewed-on: https://gerrit.libreoffice.org/6106
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | codemaker/source/cppumaker/cpputype.cxx | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx index 09de49c97a06..eb6a92b7603c 100644 --- a/codemaker/source/cppumaker/cpputype.cxx +++ b/codemaker/source/cppumaker/cpputype.cxx @@ -72,17 +72,25 @@ rtl::OString translateSimpleUnoType(rtl::OString const & unoType, bool cppuUnoTy bool isBootstrapType(rtl::OString const & name) { static char const * const names[] = { + "com/sun/star/beans/Property", "com/sun/star/beans/PropertyAttribute", + "com/sun/star/beans/PropertyChangeEvent", + "com/sun/star/beans/PropertyState", "com/sun/star/beans/PropertyValue", "com/sun/star/beans/XFastPropertySet", "com/sun/star/beans/XMultiPropertySet", + "com/sun/star/beans/XPropertiesChangeListener", "com/sun/star/beans/XPropertyAccess", + "com/sun/star/beans/XPropertyChangeListener", "com/sun/star/beans/XPropertySet", + "com/sun/star/beans/XPropertySetInfo", "com/sun/star/beans/XPropertySetOption", + "com/sun/star/beans/XVetoableChangeListener", "com/sun/star/bridge/UnoUrlResolver", "com/sun/star/bridge/XUnoUrlResolver", "com/sun/star/connection/SocketPermission", "com/sun/star/container/XElementAccess", + "com/sun/star/container/XEnumeration", "com/sun/star/container/XEnumerationAccess", "com/sun/star/container/XHierarchicalNameAccess", "com/sun/star/container/XNameAccess", @@ -92,6 +100,7 @@ bool isBootstrapType(rtl::OString const & name) { "com/sun/star/io/FilePermission", "com/sun/star/io/IOException", "com/sun/star/lang/DisposedException", + "com/sun/star/lang/EventObject", "com/sun/star/lang/WrappedTargetRuntimeException", "com/sun/star/lang/XComponent", "com/sun/star/lang/XEventListener", @@ -103,11 +112,19 @@ bool isBootstrapType(rtl::OString const & name) { "com/sun/star/lang/XSingleServiceFactory", "com/sun/star/lang/XTypeProvider", "com/sun/star/loader/XImplementationLoader", + "com/sun/star/reflection/FieldAccessMode", + "com/sun/star/reflection/MethodMode", + "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", "com/sun/star/reflection/XIdlClass", + "com/sun/star/reflection/XIdlField", "com/sun/star/reflection/XIdlField2", + "com/sun/star/reflection/XIdlMethod", "com/sun/star/reflection/XIdlReflection", "com/sun/star/reflection/XIndirectTypeDescription", "com/sun/star/reflection/XInterfaceAttributeTypeDescription", @@ -119,18 +136,28 @@ bool isBootstrapType(rtl::OString const & name) { "com/sun/star/reflection/XMethodParameter", "com/sun/star/reflection/XStructTypeDescription", "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", "com/sun/star/registry/XRegistryKey", "com/sun/star/registry/XSimpleRegistry", "com/sun/star/security/RuntimePermission", + "com/sun/star/security/XAccessControlContext", "com/sun/star/security/XAccessController", + "com/sun/star/security/XAction", "com/sun/star/uno/DeploymentException", "com/sun/star/uno/RuntimeException", + "com/sun/star/uno/TypeClass", + "com/sun/star/uno/Uik", + "com/sun/star/uno/XAdapter", "com/sun/star/uno/XAggregation", "com/sun/star/uno/XComponentContext", "com/sun/star/uno/XCurrentContext", + "com/sun/star/uno/XInterface", + "com/sun/star/uno/XReference", "com/sun/star/uno/XUnloadingPreference", "com/sun/star/uno/XWeak", "com/sun/star/util/XMacroExpander" @@ -2172,36 +2199,13 @@ void InterfaceType::dumpAttributesCppuDecl(FileStream& o, StringSet* pFinishedTy void InterfaceType::dumpMethodsCppuDecl(FileStream& o, StringSet* pFinishedTypes, CppuTypeDecl eDeclFlag) { sal_uInt16 methodCount = m_reader.getMethodCount(); - OString returnType, paramType, excType; - sal_uInt16 paramCount = 0; + OString excType; sal_uInt16 excCount = 0; for (sal_uInt16 i=0; i < methodCount; i++) { - returnType = rtl::OUStringToOString( - m_reader.getMethodReturnTypeName(i), RTL_TEXTENCODING_UTF8); - paramCount = m_reader.getMethodParameterCount(i); excCount = m_reader.getMethodExceptionCount(i); - - if (pFinishedTypes->count(returnType) == 0) - { - pFinishedTypes->insert(returnType); - dumpCppuGetType(o, returnType, sal_True, eDeclFlag); - } sal_uInt16 j; - for (j=0; j < paramCount; j++) - { - paramType = rtl::OUStringToOString( - m_reader.getMethodParameterTypeName(i, j), - RTL_TEXTENCODING_UTF8); - - if (pFinishedTypes->count(paramType) == 0) - { - pFinishedTypes->insert(paramType); - dumpCppuGetType(o, paramType, sal_True, eDeclFlag); - } - } - for (j=0; j < excCount; j++) { excType = rtl::OUStringToOString( |