summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-10-01 14:33:56 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2013-10-15 15:32:13 +0000
commit911486c4624bdf45f3fb13ef705017475c6554b9 (patch)
tree3c9c55166f314044ea2c2f48602094e2a85c3746
parent9e958f2f44a63886e44b265c2120020cb0289a1b (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> (cherry picked from commit 395b860fe19b786a096a2533a09d0c45c11ed8b4) Reviewed-on: https://gerrit.libreoffice.org/6221 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--codemaker/source/cppumaker/cpputype.cxx52
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(