diff options
author | ts <ts@openoffice.org> | 2000-12-11 12:57:15 +0000 |
---|---|---|
committer | ts <ts@openoffice.org> | 2000-12-11 12:57:15 +0000 |
commit | 446179683f739d6a694f1501c583fb057d41bcbe (patch) | |
tree | cc87c78b8627babe02eb223fde60cc10fde670ab /codemaker | |
parent | f45fb74c61da320f79cbf99162b2ae0f22829381 (diff) |
added nested type handling
Diffstat (limited to 'codemaker')
-rw-r--r-- | codemaker/source/cppumaker/cpputype.cxx | 531 | ||||
-rw-r--r-- | codemaker/source/cppumaker/cpputype.hxx | 22 |
2 files changed, 431 insertions, 122 deletions
diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx index 057ed5663e8f..5c991f10736e 100644 --- a/codemaker/source/cppumaker/cpputype.cxx +++ b/codemaker/source/cppumaker/cpputype.cxx @@ -2,9 +2,9 @@ * * $RCSfile: cpputype.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: jsc $ $Date: 2000-11-06 15:44:06 $ + * last change: $Author: ts $ $Date: 2000-12-11 13:57:15 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -94,7 +94,21 @@ CppuType::CppuType(TypeReader& typeReader, , m_reader(typeReader) , m_typeMgr((TypeManager&)typeMgr) , m_dependencies(typeDependencies) + , m_bIsNestedType(sal_False) { + // check if this type is nested + sal_Int32 i = typeName.lastIndexOf('/'); + + if (i >= 0) + { + OString outerTypeName(typeName.copy(0, i)); + m_bIsNestedType = (m_typeMgr.getTypeClass(outerTypeName) == RT_TYPE_INTERFACE); + } + + // check if this type has nested types + RegistryKey key = m_typeMgr.getTypeKey(typeName); + + key.getKeyNames(OUString(), m_nestedTypeNames); } CppuType::~CppuType() @@ -102,11 +116,44 @@ CppuType::~CppuType() } +sal_Bool CppuType::isNestedTypeByName(const ::rtl::OString& type) +{ + sal_Bool ret = sal_False; + + sal_Int32 i = type.lastIndexOf('/'); + + if (i >= 0) + { + OString outerTypeName(type.copy(0, i)); + ret = (m_typeMgr.getTypeClass(outerTypeName) == RT_TYPE_INTERFACE); + } + + return ret; +} + +sal_Bool CppuType::hasNestedType(const ::rtl::OString& type) +{ + sal_Bool ret = sal_False; + + if (m_nestedTypeNames.getLength() > 0) + { + OUString typeName(OStringToOUString(type, RTL_TEXTENCODING_UTF8)); + + for (sal_Int32 i = 0; !ret && (i < m_nestedTypeNames.getLength()); i++) + ret = typeName.equals(m_nestedTypeNames.getElement(i).copy(5)); + } + + return ret; +} + sal_Bool CppuType::dump(CppuOptions* pOptions) throw( CannotDumpException ) { sal_Bool ret = sal_False; + if (isNestedType()) + return sal_True; + if (pOptions->isValid("-L")) m_cppuTypeLeak = sal_True; if (pOptions->isValid("-C")) @@ -366,6 +413,7 @@ void CppuType::dumpDepIncludes(FileStream& o, const OString& typeName, sal_Char* OString relType; while (iter != usingSet.end()) { + sal_Bool bDumpThisType = sal_True; index = (*iter).m_type.lastIndexOf(']'); seqNum = (index > 0 ? ((index+1) / 2) : 0); @@ -373,69 +421,125 @@ void CppuType::dumpDepIncludes(FileStream& o, const OString& typeName, sal_Char* if (index > 0) relType = relType.copy(index+1); - OString defPrefix("HXX"); - if (sPrefix.equals("HDL")) - defPrefix = "H"; + if (isNestedTypeByName(relType) && hasNestedType(relType)) + bDumpThisType = sal_False; - if (seqNum > 0 && !bSequenceDumped) + if (bDumpThisType) { - bSequenceDumped = sal_True; - o << "#ifndef _COM_SUN_STAR_UNO_SEQUENCE_" << defPrefix - << "_\n#include <com/sun/star/uno/Sequence." << defPrefix.toLowerCase() - << ">\n#endif\n"; - } + OString defPrefix("HXX"); + if (sPrefix.equals("HDL")) + defPrefix = "H"; - if (getBaseType(relType).getLength() == 0 && - m_typeName != relType) - { - if (m_typeMgr.getTypeClass(relType) == RT_TYPE_INTERFACE - && sPrefix.equals("HDL")) + if (seqNum > 0 && !bSequenceDumped) { - if (!bInterfaceDumped) - { - bInterfaceDumped = sal_True; - o << "#ifndef _COM_SUN_STAR_UNO_REFERENCE_H_\n" - << "#include <com/sun/star/uno/Reference.h>\n" - << "#endif\n"; - } + bSequenceDumped = sal_True; + o << "#ifndef _COM_SUN_STAR_UNO_SEQUENCE_" << defPrefix + << "_\n#include <com/sun/star/uno/Sequence." << defPrefix.toLowerCase() + << ">\n#endif\n"; + } - if (!((*iter).m_use & TYPEUSE_SUPER)) + if (getBaseType(relType).getLength() == 0 && + m_typeName != relType) + { + if (m_typeMgr.getTypeClass(relType) == RT_TYPE_INTERFACE + && sPrefix.equals("HDL")) { - o << endl; - dumpNameSpace(o, sal_True, sal_False, relType); - o << "\nclass " << scopedName(m_typeName, relType, sal_True) << ";\n"; - dumpNameSpace(o, sal_False, sal_False, relType); - o << "\n\n"; + if (!bInterfaceDumped) + { + bInterfaceDumped = sal_True; + o << "#ifndef _COM_SUN_STAR_UNO_REFERENCE_H_\n" + << "#include <com/sun/star/uno/Reference.h>\n" + << "#endif\n"; + } + + if (!((*iter).m_use & TYPEUSE_SUPER)) + { + if (isNestedTypeByName(relType)) + { + sal_Int32 iLastS = relType.lastIndexOf('/'); + + OString outerNamespace(relType.copy(0,iLastS)); + OString innerClass(relType.copy(iLastS+1)); + + iLastS = outerNamespace.lastIndexOf('/'); + OString outerClass(outerNamespace.copy(iLastS+1)); + + o << endl; + dumpNameSpace(o, sal_True, sal_False, outerNamespace); + o << "\nclass " << outerClass << "::" << innerClass << ";\n"; + dumpNameSpace(o, sal_False, sal_False, outerNamespace); + o << "\n\n"; + } + else + { + o << endl; + dumpNameSpace(o, sal_True, sal_False, relType); + o << "\nclass " << scopedName(m_typeName, relType, sal_True) << ";\n"; + dumpNameSpace(o, sal_False, sal_False, relType); + o << "\n\n"; + } + } else + { + if (isNestedTypeByName(relType)) + { + sal_Int32 iLastS = relType.lastIndexOf('/'); + + OString outerNamespace(relType.copy(0,iLastS)); + + dumpInclude(o, outerNamespace, prefix); + } + else + dumpInclude(o, relType, prefix); + } } else { - dumpInclude(o, relType, prefix); + if (isNestedTypeByName(relType)) + { + sal_Int32 iLastS = relType.lastIndexOf('/'); + + OString outerNamespace(relType.copy(0,iLastS)); + + dumpInclude(o, outerNamespace, prefix); + } + else + dumpInclude(o, relType, prefix); } } else + if (relType == "any") + { + o << "#ifndef _COM_SUN_STAR_UNO_ANY_" << defPrefix + << "_\n#include <com/sun/star/uno/Any." << defPrefix.toLowerCase() + << ">\n#endif\n"; + } else + if (relType == "type") { - dumpInclude(o, relType, prefix); + o << "#ifndef _COM_SUN_STAR_UNO_TYPE_" << defPrefix + << "_\n#include <com/sun/star/uno/Type." << defPrefix.toLowerCase() + << ">\n#endif\n"; + } else + if (relType == "string" && sPrefix.equals("HDL")) + { + o << "#ifndef _RTL_USTRING_HXX_\n" + << "#include <rtl/ustring.hxx>\n" + << "#endif\n"; } - } else - if (relType == "any") - { - o << "#ifndef _COM_SUN_STAR_UNO_ANY_" << defPrefix - << "_\n#include <com/sun/star/uno/Any." << defPrefix.toLowerCase() - << ">\n#endif\n"; - } else - if (relType == "type") - { - o << "#ifndef _COM_SUN_STAR_UNO_TYPE_" << defPrefix - << "_\n#include <com/sun/star/uno/Type." << defPrefix.toLowerCase() - << ">\n#endif\n"; - } else - if (relType == "string" && sPrefix.equals("HDL")) - { - o << "#ifndef _RTL_USTRING_HXX_\n" - << "#include <rtl/ustring.hxx>\n" - << "#endif\n"; } iter++; } + if (m_typeName.equals(typeName) && (getNestedTypeNames().getLength() > 0)) + { + o << "// includes for nested types\n\n"; + + for (sal_Int32 i = 0; i < getNestedTypeNames().getLength(); i++) + { + OUString s(getNestedTypeNames().getElement(i)); + + OString nestedName(s.getStr(), s.getLength(), RTL_TEXTENCODING_DONTKNOW); + + dumpDepIncludes(o, nestedName, prefix); + } + } } void CppuType::dumpNameSpace(FileStream& o, sal_Bool bOpen, sal_Bool bFull, const OString& type) @@ -1399,6 +1503,52 @@ sal_Bool InterfaceType::dumpHFile(FileStream& o) dumpDepIncludes(o, m_typeName, "hdl"); o << endl; dumpNameSpace(o); + dumpDeclaration(o); + dumpNameSpace(o, sal_False); + + o << "\nnamespace com { namespace sun { namespace star { namespace uno {\n" + << "class Type;\n} } } }\n\n"; + + if (m_cppuTypeStatic) + o << "static"; + else + o << "inline"; + o << " const ::com::sun::star::uno::Type& SAL_CALL getCppuType( "; + dumpType(o, m_typeName, sal_True, sal_False); + o << "* );\n\n"; + + if (getNestedTypeNames().getLength() > 0) + { + o << indent() << "// nested types\n\n"; + for (sal_Int32 i = 0; i < getNestedTypeNames().getLength(); i++) + { + OUString s(getNestedTypeNames().getElement(i)); + + OString nestedName(s.getStr(), s.getLength(), RTL_TEXTENCODING_DONTKNOW); + + nestedName = checkRealBaseType(nestedName.copy(5)); + + if (nestedName.lastIndexOf(']') < 0) + { + if (m_cppuTypeStatic) + o << "static"; + else + o << "inline"; + + o << " const ::com::sun::star::uno::Type& SAL_CALL getCppuType( "; + dumpType(o, nestedName, sal_True, sal_False); + o << "* );\n\n"; + } + } + } + + o << "#endif // "<< headerDefine << endl; + return sal_True; +} + +sal_Bool InterfaceType::dumpDeclaration(FileStream& o) + throw( CannotDumpException ) +{ o << "\nclass " << m_name; OString superType(m_reader.getSuperTypeName()); @@ -1406,6 +1556,65 @@ sal_Bool InterfaceType::dumpHFile(FileStream& o) o << " : public " << scopedName(m_typeName, superType); o << "\n{\npublic:\n"; + + if (getNestedTypeNames().getLength() > 0) + { + inc(); + o << indent() << "// nested types\n\n"; + for (sal_Int32 i = 0; i < getNestedTypeNames().getLength(); i++) + { + OUString s(getNestedTypeNames().getElement(i)); + + OString nestedName(s.getStr(), s.getLength(), RTL_TEXTENCODING_DONTKNOW); + + nestedName = nestedName.copy(5); + + o << indent() << "// " << nestedName.getStr() << "\n"; + + TypeReader reader(m_typeMgr.getTypeReader(nestedName)); + + if (reader.isValid()) + { + RTTypeClass typeClass = reader.getTypeClass(); + switch (typeClass) { + case RT_TYPE_INTERFACE: + { + InterfaceType iType(reader, nestedName, m_typeMgr, m_dependencies); + iType.dumpDeclaration(o); + } + break; + case RT_TYPE_STRUCT: + { + StructureType sType(reader, nestedName, m_typeMgr, m_dependencies); + sType.dumpDeclaration(o); + } + break; + case RT_TYPE_ENUM: + { + EnumType enType(reader, nestedName, m_typeMgr, m_dependencies); + enType.dumpDeclaration(o); + } + break; + case RT_TYPE_EXCEPTION: + { + ExceptionType eType(reader, nestedName, m_typeMgr, m_dependencies); + eType.dumpDeclaration(o); + } + break; + case RT_TYPE_TYPEDEF: + { + TypeDefType tdType(reader, nestedName, m_typeMgr, m_dependencies); + tdType.dumpDeclaration(o); + } + break; + default: + break; + } + } + } + dec(); + } + inc(); dumpAttributes(o); @@ -1414,20 +1623,6 @@ sal_Bool InterfaceType::dumpHFile(FileStream& o) dec(); o << "};\n\n"; - dumpNameSpace(o, sal_False); - - o << "\nnamespace com { namespace sun { namespace star { namespace uno {\n" - << "class Type;\n} } } }\n\n"; - - if (m_cppuTypeStatic) - o << "static"; - else - o << "inline"; - o << " const ::com::sun::star::uno::Type& SAL_CALL getCppuType( "; - dumpType(o, m_typeName, sal_True, sal_False); - o << "* );\n\n"; - - o << "#endif // "<< headerDefine << endl; return sal_True; } @@ -1448,6 +1643,62 @@ sal_Bool InterfaceType::dumpHxxFile(FileStream& o) dumpGetCppuType(o); + if (getNestedTypeNames().getLength() > 0) + { + o << indent() << "// nested types\n\n"; + for (sal_Int32 i = 0; i < getNestedTypeNames().getLength(); i++) + { + OUString s(getNestedTypeNames().getElement(i)); + + OString nestedName(s.getStr(), s.getLength(), RTL_TEXTENCODING_DONTKNOW); + + nestedName = nestedName.copy(5); + + o << indent() << "// " << nestedName.getStr() << "\n"; + + TypeReader reader(m_typeMgr.getTypeReader(nestedName)); + + if (reader.isValid()) + { + RTTypeClass typeClass = reader.getTypeClass(); + switch (typeClass) { + case RT_TYPE_INTERFACE: + { + InterfaceType iType(reader, nestedName, m_typeMgr, m_dependencies); + iType.dumpGetCppuType(o); + } + break; + case RT_TYPE_STRUCT: + { + StructureType sType(reader, nestedName, m_typeMgr, m_dependencies); + sType.dumpGetCppuType(o); + } + break; + case RT_TYPE_ENUM: + { + EnumType enType(reader, nestedName, m_typeMgr, m_dependencies); + enType.dumpGetCppuType(o); + } + break; + case RT_TYPE_EXCEPTION: + { + ExceptionType eType(reader, nestedName, m_typeMgr, m_dependencies); + eType.dumpGetCppuType(o); + } + break; + case RT_TYPE_TYPEDEF: + { + TypeDefType tdType(reader, nestedName, m_typeMgr, m_dependencies); + tdType.dumpGetCppuType(o); + } + break; + default: + break; + } + } + } + } + o << "\n#endif // "<< headerDefine << endl; return sal_True; } @@ -2302,6 +2553,18 @@ sal_Bool ModuleType::dumpHFile(FileStream& o) dumpNameSpace(o, sal_True, sal_True); o << endl; + dumpDeclaration(o); + o << endl; + + dumpNameSpace(o, sal_False, sal_True); + o << "\n#endif // "<< headerDefine << endl; + + return sal_True; +} + +sal_Bool ModuleType::dumpDeclaration(FileStream& o) + throw( CannotDumpException ) +{ sal_uInt32 fieldCount = m_reader.getFieldCount(); RTFieldAccess access = RT_ACCESS_INVALID; OString fieldName; @@ -2323,10 +2586,6 @@ sal_Bool ModuleType::dumpHFile(FileStream& o) } } - o << endl; - dumpNameSpace(o, sal_False, sal_True); - o << "\n#endif // "<< headerDefine << endl; - return sal_True; } @@ -2508,6 +2767,29 @@ sal_Bool StructureType::dumpHFile(FileStream& o) dumpNameSpace(o); + dumpDeclaration(o); + + dumpNameSpace(o, sal_False); + + o << "\nnamespace com { namespace sun { namespace star { namespace uno {\n" + << "class Type;\n} } } }\n\n"; + + if (m_cppuTypeStatic) + o << "static"; + else + o << "inline"; + o << " const ::com::sun::star::uno::Type& SAL_CALL getCppuType( "; + dumpType(o, m_typeName, sal_True, sal_False); + o << "* );\n\n"; + + o << "#endif // "<< headerDefine << endl; + + return sal_True; +} + +sal_Bool StructureType::dumpDeclaration(FileStream& o) + throw( CannotDumpException ) +{ o << "\n#ifdef SAL_W32\n" << "# pragma pack(push, 8)\n" << "#elif defined(SAL_OS2)\n" @@ -2540,7 +2822,7 @@ sal_Bool StructureType::dumpHFile(FileStream& o) access = m_reader.getFieldAccess(i); if (access == RT_ACCESS_CONST || access == RT_ACCESS_INVALID) - continue; + continue; fieldName = m_reader.getFieldName(i); fieldType = m_reader.getFieldType(i); @@ -2580,21 +2862,6 @@ sal_Bool StructureType::dumpHFile(FileStream& o) << "# pragma pack()\n" << "#endif\n\n"; - dumpNameSpace(o, sal_False); - - o << "\nnamespace com { namespace sun { namespace star { namespace uno {\n" - << "class Type;\n} } } }\n\n"; - - if (m_cppuTypeStatic) - o << "static"; - else - o << "inline"; - o << " const ::com::sun::star::uno::Type& SAL_CALL getCppuType( "; - dumpType(o, m_typeName, sal_True, sal_False); - o << "* );\n\n"; - - o << "#endif // "<< headerDefine << endl; - return sal_True; } @@ -2851,15 +3118,39 @@ sal_Bool ExceptionType::dumpHFile(FileStream& o) dumpNameSpace(o); + dumpDeclaration(o); + + dumpNameSpace(o, sal_False); + + o << "\nnamespace com { namespace sun { namespace star { namespace uno {\n" + << "class Type;\n} } } }\n\n"; + + if (m_cppuTypeStatic) + o << "static"; + else + o << "inline"; + o << " const ::com::sun::star::uno::Type& SAL_CALL getCppuType( "; + dumpType(o, m_typeName, sal_True, sal_False); + o << "* );\n\n"; + + o << "#endif // "<< headerDefine << endl; + + return sal_True; +} + +sal_Bool ExceptionType::dumpDeclaration(FileStream& o) + throw( CannotDumpException ) +{ o << "\nclass " << m_name; OString superType(m_reader.getSuperTypeName()); if (superType.getLength() > 0) - o << " : public " << scopedName(m_typeName, superType); + o << " : public " << scopedName(m_typeName, superType); o << "\n{\npublic:\n"; inc(); o << indent() << "inline " << m_name << "();\n\n"; +// o << indent() << "inline " << m_name << "() { }\n\n"; sal_uInt32 fieldCount = m_reader.getFieldCount(); RTFieldAccess access = RT_ACCESS_INVALID; @@ -2878,7 +3169,7 @@ sal_Bool ExceptionType::dumpHFile(FileStream& o) access = m_reader.getFieldAccess(i); if (access == RT_ACCESS_CONST || access == RT_ACCESS_INVALID) - continue; + continue; fieldName = m_reader.getFieldName(i); fieldType = m_reader.getFieldType(i); @@ -2913,21 +3204,6 @@ sal_Bool ExceptionType::dumpHFile(FileStream& o) dec(); o << "};\n\n"; - dumpNameSpace(o, sal_False); - - o << "\nnamespace com { namespace sun { namespace star { namespace uno {\n" - << "class Type;\n} } } }\n\n"; - - if (m_cppuTypeStatic) - o << "static"; - else - o << "inline"; - o << " const ::com::sun::star::uno::Type& SAL_CALL getCppuType( "; - dumpType(o, m_typeName, sal_True, sal_False); - o << "* );\n\n"; - - o << "#endif // "<< headerDefine << endl; - return sal_True; } @@ -3201,6 +3477,29 @@ sal_Bool EnumType::dumpHFile(FileStream& o) dumpNameSpace(o); + dumpDeclaration(o); + + dumpNameSpace(o, sal_False); + + o << "\nnamespace com { namespace sun { namespace star { namespace uno {\n" + << "class Type;\n} } } }\n\n"; + + if (m_cppuTypeStatic) + o << "static"; + else + o << "inline"; + o << " const ::com::sun::star::uno::Type& SAL_CALL getCppuType( "; + dumpType(o, m_typeName, sal_True, sal_False); + o << "* );\n\n"; + + o << "#endif // "<< headerDefine << endl; + + return sal_True; +} + +sal_Bool EnumType::dumpDeclaration(FileStream& o) + throw( CannotDumpException ) +{ o << "\nenum " << m_name << "\n{\n"; inc(); @@ -3224,8 +3523,7 @@ sal_Bool EnumType::dumpHFile(FileStream& o) else value++; - o << indent() << m_name << "_" << fieldName << " = " - << value << ",\n"; + o << indent() << m_name << "_" << fieldName << " = " << value << ",\n"; } o << indent() << m_name << "_MAKE_FIXED_SIZE = SAL_MAX_ENUM\n"; @@ -3233,21 +3531,6 @@ sal_Bool EnumType::dumpHFile(FileStream& o) dec(); o << "};\n\n"; - dumpNameSpace(o, sal_False); - - o << "\nnamespace com { namespace sun { namespace star { namespace uno {\n" - << "class Type;\n} } } }\n\n"; - - if (m_cppuTypeStatic) - o << "static"; - else - o << "inline"; - o << " const ::com::sun::star::uno::Type& SAL_CALL getCppuType( "; - dumpType(o, m_typeName, sal_True, sal_False); - o << "* );\n\n"; - - o << "#endif // "<< headerDefine << endl; - return sal_True; } @@ -3445,9 +3728,7 @@ sal_Bool TypeDefType::dumpHFile(FileStream& o) dumpNameSpace(o); - o << "\ntypedef "; - dumpType(o, m_reader.getSuperTypeName()); - o << " " << m_name << ";\n\n"; + dumpDeclaration(o); dumpNameSpace(o, sal_False); @@ -3461,6 +3742,16 @@ sal_Bool TypeDefType::dumpHFile(FileStream& o) return sal_True; } +sal_Bool TypeDefType::dumpDeclaration(FileStream& o) + throw( CannotDumpException ) +{ + o << "\ntypedef "; + dumpType(o, m_reader.getSuperTypeName()); + o << " " << m_name << ";\n\n"; + + return sal_True; +} + sal_Bool TypeDefType::dumpHxxFile(FileStream& o) throw( CannotDumpException ) { diff --git a/codemaker/source/cppumaker/cpputype.hxx b/codemaker/source/cppumaker/cpputype.hxx index 7002fd12d181..a3ffff458fc5 100644 --- a/codemaker/source/cppumaker/cpputype.hxx +++ b/codemaker/source/cppumaker/cpputype.hxx @@ -2,9 +2,9 @@ * * $RCSfile: cpputype.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: hr $ $Date: 2000-09-18 15:25:27 $ + * last change: $Author: ts $ $Date: 2000-12-11 13:57:15 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -156,6 +156,15 @@ protected: ::rtl::OString checkRealBaseType(const ::rtl::OString& type, sal_Bool bResolveTypeOnly = sal_False); void dumpCppuGetTypeMemberDecl(FileStream& o, CppuTypeDecl eDeclFlag); + sal_Bool isNestedType() + { return m_bIsNestedType; }; + + RegistryKeyNames& getNestedTypeNames() + { return m_nestedTypeNames; }; + + sal_Bool isNestedTypeByName(const ::rtl::OString& type); + sal_Bool hasNestedType(const ::rtl::OString& type); + protected: sal_uInt32 m_inheritedMemberCount; @@ -168,6 +177,8 @@ protected: TypeReader m_reader; TypeManager& m_typeMgr; TypeDependency m_dependencies; + sal_Bool m_bIsNestedType; + RegistryKeyNames m_nestedTypeNames; }; class InterfaceType : public CppuType @@ -180,6 +191,7 @@ public: virtual ~InterfaceType(); + sal_Bool dumpDeclaration(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHFile(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHxxFile(FileStream& o) throw( CannotDumpException ); @@ -217,6 +229,8 @@ public: virtual ~ModuleType(); virtual sal_Bool dump(CppuOptions* pOptions) throw( CannotDumpException ); + + sal_Bool dumpDeclaration(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHFile(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHxxFile(FileStream& o) throw( CannotDumpException ); sal_Bool hasConstants(); @@ -245,6 +259,7 @@ public: virtual ~StructureType(); + sal_Bool dumpDeclaration(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHFile(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHxxFile(FileStream& o) throw( CannotDumpException ); @@ -261,6 +276,7 @@ public: virtual ~ExceptionType(); + sal_Bool dumpDeclaration(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHFile(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHxxFile(FileStream& o) throw( CannotDumpException ); @@ -277,6 +293,7 @@ public: virtual ~EnumType(); + sal_Bool dumpDeclaration(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHFile(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHxxFile(FileStream& o) throw( CannotDumpException ); @@ -294,6 +311,7 @@ public: virtual ~TypeDefType(); + sal_Bool dumpDeclaration(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHFile(FileStream& o) throw( CannotDumpException ); sal_Bool dumpHxxFile(FileStream& o) throw( CannotDumpException ); |