[Libreoffice-commits] core.git: idlc/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Tue Apr 7 16:56:06 UTC 2020
idlc/source/astdump.cxx | 37 +++++------
idlc/source/astinterface.cxx | 137 +++++++++++++++++++++----------------------
idlc/source/fehelper.cxx | 38 +++++------
idlc/source/idlc.cxx | 66 ++++++++++----------
4 files changed, 141 insertions(+), 137 deletions(-)
New commits:
commit f9151f426281de0fb7f446d7b968f2b0c09b7a9b
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Tue Apr 7 14:22:27 2020 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Tue Apr 7 18:55:33 2020 +0200
loplugin:flatten in idlc
Change-Id: Ieef78720d4569d59bc69b40a1bea02839667b847
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91819
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/idlc/source/astdump.cxx b/idlc/source/astdump.cxx
index 081671615912..79613e137fb9 100644
--- a/idlc/source/astdump.cxx
+++ b/idlc/source/astdump.cxx
@@ -383,24 +383,25 @@ void AstAttribute::dumpExceptions(
typereg::Writer & writer, OUString const & documentation,
DeclList const & exceptions, RTMethodMode flags, sal_uInt16 * methodIndex) const
{
- if (!exceptions.empty()) {
- OSL_ASSERT(methodIndex != nullptr);
- sal_uInt16 idx = (*methodIndex)++;
- // exceptions.size() <= SAL_MAX_UINT16 already checked in
- // AstInterface::dump:
- writer.setMethodData(
- idx, documentation, flags,
- OStringToOUString(getLocalName(), RTL_TEXTENCODING_UTF8),
- "void", 0,
- static_cast< sal_uInt16 >(exceptions.size()));
- sal_uInt16 exceptionIndex = 0;
- for (auto const& elem : exceptions)
- {
- writer.setMethodExceptionTypeName(
- idx, exceptionIndex++,
- OStringToOUString(
- elem->getRelativName(), RTL_TEXTENCODING_UTF8));
- }
+ if (exceptions.empty())
+ return;
+
+ OSL_ASSERT(methodIndex != nullptr);
+ sal_uInt16 idx = (*methodIndex)++;
+ // exceptions.size() <= SAL_MAX_UINT16 already checked in
+ // AstInterface::dump:
+ writer.setMethodData(
+ idx, documentation, flags,
+ OStringToOUString(getLocalName(), RTL_TEXTENCODING_UTF8),
+ "void", 0,
+ static_cast< sal_uInt16 >(exceptions.size()));
+ sal_uInt16 exceptionIndex = 0;
+ for (auto const& elem : exceptions)
+ {
+ writer.setMethodExceptionTypeName(
+ idx, exceptionIndex++,
+ OStringToOUString(
+ elem->getRelativName(), RTL_TEXTENCODING_UTF8));
}
}
diff --git a/idlc/source/astinterface.cxx b/idlc/source/astinterface.cxx
index 991759384869..a5f2ed21bf2c 100644
--- a/idlc/source/astinterface.cxx
+++ b/idlc/source/astinterface.cxx
@@ -253,54 +253,55 @@ void AstInterface::checkInheritedInterfaceClashes(
std::set< OString > & seenInterfaces, AstInterface const * ifc,
bool direct, bool optional, bool mainOptional) const
{
- if (direct || optional
- || seenInterfaces.insert(ifc->getScopedName()).second)
- {
- VisibleInterfaces::const_iterator visible(
- m_visibleInterfaces.find(ifc->getScopedName()));
- if (visible != m_visibleInterfaces.end()) {
- switch (visible->second) {
- case INTERFACE_INDIRECT_OPTIONAL:
- if (direct && optional) {
- doubleDeclarations.interfaces.push_back(ifc);
- return;
- }
- break;
-
- case INTERFACE_DIRECT_OPTIONAL:
- if (direct || !mainOptional) {
- doubleDeclarations.interfaces.push_back(ifc);
- }
- return;
-
- case INTERFACE_INDIRECT_MANDATORY:
- if (direct) {
- doubleDeclarations.interfaces.push_back(ifc);
- }
+ if (!(direct || optional
+ || seenInterfaces.insert(ifc->getScopedName()).second))
+ return;
+
+ VisibleInterfaces::const_iterator visible(
+ m_visibleInterfaces.find(ifc->getScopedName()));
+ if (visible != m_visibleInterfaces.end()) {
+ switch (visible->second) {
+ case INTERFACE_INDIRECT_OPTIONAL:
+ if (direct && optional) {
+ doubleDeclarations.interfaces.push_back(ifc);
return;
+ }
+ break;
- case INTERFACE_DIRECT_MANDATORY:
- if (direct || (!optional && !mainOptional)) {
- doubleDeclarations.interfaces.push_back(ifc);
- }
- return;
+ case INTERFACE_DIRECT_OPTIONAL:
+ if (direct || !mainOptional) {
+ doubleDeclarations.interfaces.push_back(ifc);
}
- }
- if (direct || !optional) {
- for (DeclList::const_iterator i(ifc->getIteratorBegin());
- i != ifc->getIteratorEnd(); ++i)
- {
- checkMemberClashes(
- doubleDeclarations.members, *i, !mainOptional);
+ return;
+
+ case INTERFACE_INDIRECT_MANDATORY:
+ if (direct) {
+ doubleDeclarations.interfaces.push_back(ifc);
}
- for (auto const& elem : ifc->m_inheritedInterfaces)
- {
- checkInheritedInterfaceClashes(
- doubleDeclarations, seenInterfaces, elem.getResolved(),
- false, elem.isOptional(), mainOptional);
+ return;
+
+ case INTERFACE_DIRECT_MANDATORY:
+ if (direct || (!optional && !mainOptional)) {
+ doubleDeclarations.interfaces.push_back(ifc);
}
+ return;
}
}
+ if (!(direct || !optional))
+ return;
+
+ for (DeclList::const_iterator i(ifc->getIteratorBegin());
+ i != ifc->getIteratorEnd(); ++i)
+ {
+ checkMemberClashes(
+ doubleDeclarations.members, *i, !mainOptional);
+ }
+ for (auto const& elem : ifc->m_inheritedInterfaces)
+ {
+ checkInheritedInterfaceClashes(
+ doubleDeclarations, seenInterfaces, elem.getResolved(),
+ false, elem.isOptional(), mainOptional);
+ }
}
void AstInterface::checkMemberClashes(
@@ -309,25 +310,26 @@ void AstInterface::checkMemberClashes(
{
VisibleMembers::const_iterator i(
m_visibleMembers.find(member->getLocalName()));
- if (i != m_visibleMembers.end()) {
- if (i->second.mandatory != nullptr) {
- if (i->second.mandatory->getScopedName() != member->getScopedName())
- {
+ if (i == m_visibleMembers.end())
+ return;
+
+ if (i->second.mandatory != nullptr) {
+ if (i->second.mandatory->getScopedName() != member->getScopedName())
+ {
+ DoubleMemberDeclaration d;
+ d.first = i->second.mandatory;
+ d.second = member;
+ doubleMembers.push_back(d);
+ }
+ } else if (checkOptional) {
+ for (auto const& elem : i->second.optionals)
+ {
+ if (elem.second->getScopedName() != member->getScopedName()) {
DoubleMemberDeclaration d;
- d.first = i->second.mandatory;
+ d.first = elem.second;
d.second = member;
doubleMembers.push_back(d);
}
- } else if (checkOptional) {
- for (auto const& elem : i->second.optionals)
- {
- if (elem.second->getScopedName() != member->getScopedName()) {
- DoubleMemberDeclaration d;
- d.first = elem.second;
- d.second = member;
- doubleMembers.push_back(d);
- }
- }
}
}
}
@@ -345,17 +347,18 @@ void AstInterface::addVisibleInterface(
if (!result.second && kind > result.first->second) {
result.first->second = kind;
}
- if (!optional && !seen) {
- for (DeclList::const_iterator i(ifc->getIteratorBegin());
- i != ifc->getIteratorEnd(); ++i)
- {
- m_visibleMembers.emplace(
- (*i)->getLocalName(), VisibleMember(*i));
- }
- for (auto const& elem : ifc->m_inheritedInterfaces)
- {
- addVisibleInterface(elem.getResolved(), false, elem.isOptional());
- }
+ if (optional || seen)
+ return;
+
+ for (DeclList::const_iterator i(ifc->getIteratorBegin());
+ i != ifc->getIteratorEnd(); ++i)
+ {
+ m_visibleMembers.emplace(
+ (*i)->getLocalName(), VisibleMember(*i));
+ }
+ for (auto const& elem : ifc->m_inheritedInterfaces)
+ {
+ addVisibleInterface(elem.getResolved(), false, elem.isOptional());
}
}
diff --git a/idlc/source/fehelper.cxx b/idlc/source/fehelper.cxx
index a147d3d26e1a..607f5a145677 100644
--- a/idlc/source/fehelper.cxx
+++ b/idlc/source/fehelper.cxx
@@ -69,34 +69,34 @@ FeInheritanceHeader::FeInheritanceHeader(
void FeInheritanceHeader::initializeInherits(OString const * pInherits)
{
- if ( pInherits )
+ if ( !pInherits )
+ return;
+
+ AstScope* pScope = idlc()->scopes()->topNonNull();
+ AstDeclaration* pDecl = pScope->lookupByName(*pInherits);
+ if ( pDecl )
{
- AstScope* pScope = idlc()->scopes()->topNonNull();
- AstDeclaration* pDecl = pScope->lookupByName(*pInherits);
- if ( pDecl )
+ AstDeclaration const * resolved = resolveTypedefs(pDecl);
+ if ( resolved->getNodeType() == getNodeType()
+ && (resolved->getNodeType() != NT_interface
+ || static_cast< AstInterface const * >(
+ resolved)->isDefined()) )
{
- AstDeclaration const * resolved = resolveTypedefs(pDecl);
- if ( resolved->getNodeType() == getNodeType()
- && (resolved->getNodeType() != NT_interface
- || static_cast< AstInterface const * >(
- resolved)->isDefined()) )
- {
- if ( ErrorHandler::checkPublished( pDecl ) )
- {
- m_pInherits = pDecl;
- }
- }
- else
+ if ( ErrorHandler::checkPublished( pDecl ) )
{
- ErrorHandler::inheritanceError(
- getNodeType(), getName(), pDecl);
+ m_pInherits = pDecl;
}
}
else
{
- ErrorHandler::lookupError(*pInherits);
+ ErrorHandler::inheritanceError(
+ getNodeType(), getName(), pDecl);
}
}
+ else
+ {
+ ErrorHandler::lookupError(*pInherits);
+ }
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/idlc/source/idlc.cxx b/idlc/source/idlc.cxx
index 61190845f1ba..5984ca759448 100644
--- a/idlc/source/idlc.cxx
+++ b/idlc/source/idlc.cxx
@@ -148,53 +148,53 @@ static void predefineXInterface(AstModule* pRoot)
static void initializePredefinedTypes(AstModule* pRoot)
{
- if ( pRoot )
- {
- AstBaseType* pPredefined = new AstBaseType(ET_long, "long", pRoot);
- pRoot->addDeclaration(pPredefined);
+ if ( !pRoot )
+ return;
- pPredefined = new AstBaseType(ET_ulong, "unsigned long", pRoot);
- pRoot->addDeclaration(pPredefined);
+ AstBaseType* pPredefined = new AstBaseType(ET_long, "long", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_hyper, "hyper", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_ulong, "unsigned long", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_uhyper, "unsigned hyper", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_hyper, "hyper", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_short, "short", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_uhyper, "unsigned hyper", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_ushort, "unsigned short", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_short, "short", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_float, "float", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_ushort, "unsigned short", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_double, "double", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_float, "float", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_char, "char", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_double, "double", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_byte, "byte", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_char, "char", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_any, "any", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_byte, "byte", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_string, "string", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_any, "any", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_type, "type", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_string, "string", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_boolean, "boolean", pRoot);
- pRoot->addDeclaration(pPredefined);
+ pPredefined = new AstBaseType(ET_type, "type", pRoot);
+ pRoot->addDeclaration(pPredefined);
- pPredefined = new AstBaseType(ET_void, "void", pRoot);
- pRoot->addDeclaration(pPredefined);
- }
+ pPredefined = new AstBaseType(ET_boolean, "boolean", pRoot);
+ pRoot->addDeclaration(pPredefined);
+
+ pPredefined = new AstBaseType(ET_void, "void", pRoot);
+ pRoot->addDeclaration(pPredefined);
}
Idlc::Idlc(Options* pOptions)
More information about the Libreoffice-commits
mailing list