diff options
author | Oliver Bolte <obo@openoffice.org> | 2007-01-25 10:01:07 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2007-01-25 10:01:07 +0000 |
commit | a7482d51e159cd7a9ef25620b7336b4e1dcf548a (patch) | |
tree | 581f7fddd946184a30480cd74e3189c6585552d0 /idlc | |
parent | 0adde186d4b3d27949f971eb6efd1fc22866bea0 (diff) |
INTEGRATION: CWS jsc17 (1.16.26); FILE MERGED
2007/01/22 15:51:55 jsc 1.16.26.1: #i73482# take care of predefined modules and XInterface
Diffstat (limited to 'idlc')
-rw-r--r-- | idlc/source/parser.y | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/idlc/source/parser.y b/idlc/source/parser.y index 96d52b078bb9..9792712eb1ef 100644 --- a/idlc/source/parser.y +++ b/idlc/source/parser.y @@ -4,9 +4,9 @@ * * $RCSfile: parser.y,v $ * - * $Revision: 1.16 $ + * $Revision: 1.17 $ * - * last change: $Author: kz $ $Date: 2006-07-19 16:20:11 $ + * last change: $Author: obo $ $Date: 2007-01-25 11:01:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -534,6 +534,15 @@ module_dcl : { pExists->setInMainfile(idlc()->isInMainFile()); pExists->setFileName(pModule->getFileName()); + if (pExists->isPredefined()) + { + pExists->setPredefined(false); + if (pExists->getDocumentation().getLength() == 0 && + pModule->getDocumentation().getLength() > 0) + { + pExists->setDocumentation(pModule->getDocumentation()); + } + } delete(pModule); pModule = (AstModule*)pExists; } else @@ -672,7 +681,18 @@ interface_dcl : delete pInterface; pInterface = pForward; } - } + } else { + // special handling for XInterface because it is predefined + if ( pForward->isPredefined() && + pForward->getScopedName() == "com::sun::star::uno::XInterface") + { + /* replace the predefined XInterface */ + *pForward = *pInterface; + delete pInterface; + pInterface = pForward; + } + + } } } else { |