From d246a0aef9c12fae10310457c6e3e9c44137611b Mon Sep 17 00:00:00 2001 From: RĂ¼diger Timm Date: Thu, 9 Mar 2006 09:48:31 +0000 Subject: INTEGRATION: CWS jl31 (1.3.18); FILE MERGED 2006/02/20 15:58:27 sb 1.3.18.1: #i62339# Forbid any unsigned types (i.e., not just UNSIGNED SHORT/LONG/HYPER, but also sequences of such) as type arguments of instantiated polymorphic struct types. --- idlc/inc/idlc/astbasetype.hxx | 15 +++++++++++++-- idlc/inc/idlc/astsequence.hxx | 7 +++++-- idlc/inc/idlc/asttypedef.hxx | 7 +++++-- 3 files changed, 23 insertions(+), 6 deletions(-) (limited to 'idlc/inc') diff --git a/idlc/inc/idlc/astbasetype.hxx b/idlc/inc/idlc/astbasetype.hxx index 1fa0630985ff..b6b74d5fdcf7 100644 --- a/idlc/inc/idlc/astbasetype.hxx +++ b/idlc/inc/idlc/astbasetype.hxx @@ -4,9 +4,9 @@ * * $RCSfile: astbasetype.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: rt $ $Date: 2005-09-07 17:55:03 $ + * last change: $Author: rt $ $Date: 2006-03-09 10:47:58 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -53,6 +53,17 @@ public: virtual ~AstBaseType() {} + virtual bool isUnsigned() const { + switch (m_exprType) { + case ET_ushort: + case ET_ulong: + case ET_uhyper: + return true; + default: + return false; + } + } + const ExprType getExprType() const { return m_exprType; } private: diff --git a/idlc/inc/idlc/astsequence.hxx b/idlc/inc/idlc/astsequence.hxx index 872fc92556c3..93d4ce321115 100644 --- a/idlc/inc/idlc/astsequence.hxx +++ b/idlc/inc/idlc/astsequence.hxx @@ -4,9 +4,9 @@ * * $RCSfile: astsequence.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: rt $ $Date: 2005-09-07 18:00:19 $ + * last change: $Author: rt $ $Date: 2006-03-09 10:48:09 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -56,6 +56,9 @@ public: AstType* getMemberType() { return m_pMemberType; } + virtual bool isUnsigned() const + { return m_pMemberType != 0 && m_pMemberType->isUnsigned(); } + virtual const sal_Char* getRelativName() const; private: AstType* m_pMemberType; diff --git a/idlc/inc/idlc/asttypedef.hxx b/idlc/inc/idlc/asttypedef.hxx index 749d61fc0cf4..7e6e3af08c15 100644 --- a/idlc/inc/idlc/asttypedef.hxx +++ b/idlc/inc/idlc/asttypedef.hxx @@ -4,9 +4,9 @@ * * $RCSfile: asttypedef.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: rt $ $Date: 2005-09-07 18:02:35 $ + * last change: $Author: rt $ $Date: 2006-03-09 10:48:31 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -51,6 +51,9 @@ public: AstType const * getBaseType() const { return m_pBaseType; } + virtual bool isUnsigned() const + { return m_pBaseType != 0 && m_pBaseType->isUnsigned(); } + virtual sal_Bool dump(RegistryKey& rKey); private: AstType const * m_pBaseType; -- cgit