[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - codemaker/source

Stephan Bergmann sbergman at redhat.com
Wed Oct 2 09:24:56 PDT 2013


 codemaker/source/cppumaker/cpputype.cxx |   52 +++++++++++++++++---------------
 1 file changed, 28 insertions(+), 24 deletions(-)

New commits:
commit 395b860fe19b786a096a2533a09d0c45c11ed8b4
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Oct 1 14:33:56 2013 +0200

    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 at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx
index 09de49c..eb6a92b 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(


More information about the Libreoffice-commits mailing list