summaryrefslogtreecommitdiff
path: root/codemaker
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2005-01-31 14:27:53 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2005-01-31 14:27:53 +0000
commite31127805a138f42cfbd2106bf4778643ce5d69b (patch)
treec28e32177a35c29e6325f94e54455d03ad537f07 /codemaker
parentf3a5ebb7858bf39f148121bb046d2c4c01448173 (diff)
INTEGRATION: CWS sdksample (1.3.14); FILE MERGED
2004/07/07 09:52:49 jsc 1.3.14.1: #i30954# adjusted to genrate dependent types fro cppu
Diffstat (limited to 'codemaker')
-rw-r--r--codemaker/source/codemaker/exceptiontree.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/codemaker/source/codemaker/exceptiontree.cxx b/codemaker/source/codemaker/exceptiontree.cxx
index e6d0924ac258..fd2add0c2fe1 100644
--- a/codemaker/source/codemaker/exceptiontree.cxx
+++ b/codemaker/source/codemaker/exceptiontree.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: exceptiontree.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: obo $ $Date: 2004-06-04 03:10:27 $
+ * last change: $Author: rt $ $Date: 2005-01-31 15:27:53 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -60,7 +60,6 @@
************************************************************************/
#include "codemaker/exceptiontree.hxx"
-
#include "codemaker/typemanager.hxx"
#include "osl/diagnose.h"
@@ -90,6 +89,7 @@ void ExceptionTreeNode::clearChildren() {
}
void ExceptionTree::add(rtl::OString const & name, TypeManager const & manager)
+ throw( CannotDumpException )
{
typedef std::vector< rtl::OString > List;
List list;
@@ -101,6 +101,11 @@ void ExceptionTree::add(rtl::OString const & name, TypeManager const & manager)
}
list.push_back(n);
typereg::Reader reader(manager.getTypeReader(n));
+ if (!reader.isValid())
+ throw CannotDumpException(
+ ::rtl::OString("Unknown type '" + n.replace('/', '.')
+ + "', incomplete type library."));
+
OSL_ASSERT(
reader.getTypeClass() == RT_TYPE_EXCEPTION
&& reader.getSuperTypeCount() == 1);