From b0583c57efc253e4e2f9c86e7900eb02e0e22173 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Tue, 18 Nov 2014 16:48:35 +0100 Subject: Revert "cosmetic 'en-passant'...." This reverts commit d4810a814c7c7f3db2df15b62367bd1edc7040f6. Change-Id: Ia062e070c7d7dac5cc4388d1c8e812fb97851d52 --- unoidl/source/unoidl-check.cxx | 1442 +++++++++++++++++++--------------------- 1 file changed, 696 insertions(+), 746 deletions(-) (limited to 'unoidl') diff --git a/unoidl/source/unoidl-check.cxx b/unoidl/source/unoidl-check.cxx index c314b86debcf..22dff88d5f51 100644 --- a/unoidl/source/unoidl-check.cxx +++ b/unoidl/source/unoidl-check.cxx @@ -27,12 +27,9 @@ namespace unoidl { -bool operator ==(ConstantValue const & lhs, ConstantValue const & rhs) -{ - if (lhs.type == rhs.type) - { - switch (lhs.type) - { +bool operator ==(ConstantValue const & lhs, ConstantValue const & rhs) { + if (lhs.type == rhs.type) { + switch (lhs.type) { case ConstantValue::TYPE_BOOLEAN: return lhs.booleanValue == rhs.booleanValue; case ConstantValue::TYPE_BYTE: @@ -58,13 +55,13 @@ bool operator ==(ConstantValue const & lhs, ConstantValue const & rhs) return false; } -bool operator !=(ConstantValue const & lhs, ConstantValue const & rhs) -{ +bool operator !=(ConstantValue const & lhs, ConstantValue const & rhs) { return !(lhs == rhs); } -bool operator ==( SingleInterfaceBasedServiceEntity::Constructor::Parameter const & lhs, - SingleInterfaceBasedServiceEntity::Constructor::Parameter const & rhs) +bool operator ==( + SingleInterfaceBasedServiceEntity::Constructor::Parameter const & lhs, + SingleInterfaceBasedServiceEntity::Constructor::Parameter const & rhs) { return lhs.name == rhs.name && lhs.type == rhs.type && lhs.rest == rhs.rest; } @@ -73,18 +70,12 @@ bool operator ==( SingleInterfaceBasedServiceEntity::Constructor::Parameter cons namespace { -void badUsage() -{ +void badUsage() { std::cerr - << "Usage:" - << std::endl - << std::endl + << "Usage:" << std::endl << std::endl << (" unoidl-check [] -- []") - << std::endl - << " " - << std::endl - << std::endl + << std::endl << " " << std::endl << std::endl << ("where each is either a new- or legacy-format .rdb file," " a single .idl") << std::endl @@ -96,14 +87,11 @@ void badUsage() std::exit(EXIT_FAILURE); } -OUString getArgumentUri(sal_uInt32 argument, bool * delimiter) -{ +OUString getArgumentUri(sal_uInt32 argument, bool * delimiter) { OUString arg; rtl_getAppCommandArg(argument, &arg.pData); - if (arg == "--") - { - if (delimiter == 0) - { + if (arg == "--") { + if (delimiter == 0) { badUsage(); } *delimiter = true; @@ -111,18 +99,15 @@ OUString getArgumentUri(sal_uInt32 argument, bool * delimiter) } OUString url; osl::FileBase::RC e1 = osl::FileBase::getFileURLFromSystemPath(arg, url); - if (e1 != osl::FileBase::E_None) - { + if (e1 != osl::FileBase::E_None) { std::cerr << "Cannot convert \"" << arg << "\" to file URL, error code " - << +e1 - << std::endl; + << +e1 << std::endl; std::exit(EXIT_FAILURE); } OUString cwd; oslProcessError e2 = osl_getProcessWorkingDir(&cwd.pData); - if (e2 != osl_Process_E_None) - { + if (e2 != osl_Process_E_None) { std::cerr << "Cannot obtain working directory, error code " << +e2 << std::endl; @@ -130,21 +115,19 @@ OUString getArgumentUri(sal_uInt32 argument, bool * delimiter) } OUString abs; e1 = osl::FileBase::getAbsoluteFileURL(cwd, url, abs); - if (e1 != osl::FileBase::E_None) - { + if (e1 != osl::FileBase::E_None) { std::cerr << "Cannot make \"" << url - << "\" into an absolute file URL, error code " << +e1 - << std::endl; + << "\" into an absolute file URL, error code " << +e1 << std::endl; std::exit(EXIT_FAILURE); } return abs; } -OUString showDirection( unoidl::InterfaceTypeEntity::Method::Parameter::Direction direction) +OUString showDirection( + unoidl::InterfaceTypeEntity::Method::Parameter::Direction direction) { - switch (direction) - { + switch (direction) { case unoidl::InterfaceTypeEntity::Method::Parameter::DIRECTION_IN: return OUString("[in]"); case unoidl::InterfaceTypeEntity::Method::Parameter::DIRECTION_OUT: @@ -156,828 +139,824 @@ OUString showDirection( unoidl::InterfaceTypeEntity::Method::Parameter::Directio } } -struct EqualsAnnotation -{ +struct EqualsAnnotation { EqualsAnnotation(OUString const & name): name_(name) {} bool operator ()(unoidl::AnnotatedReference const & ref) - { return ref.name == name_; } + { return ref.name == name_; } private: OUString name_; }; -void checkMap( rtl::Reference const & providerB, OUString const & prefix, - rtl::Reference const & cursor) +void checkMap( + rtl::Reference const & providerB, OUString const & prefix, + rtl::Reference const & cursor) { assert(providerB.is()); assert(cursor.is()); - for (;;) - { + for (;;) { OUString id; rtl::Reference entA(cursor->getNext(&id)); - if (!entA.is()) - { + if (!entA.is()) { break; } OUString name(prefix + id); - if (entA->getSort() == unoidl::Entity::SORT_MODULE) - { - checkMap( providerB, name + ".", - (static_cast(entA.get())->createCursor())); - } - else - { + if (entA->getSort() == unoidl::Entity::SORT_MODULE) { + checkMap( + providerB, name + ".", + (static_cast(entA.get()) + ->createCursor())); + } else { rtl::Reference entB(providerB->findEntity(name)); - if (!entB.is()) - { + if (!entB.is()) { std::cerr << "A entity " << name << " is not present in B" << std::endl; std::exit(EXIT_FAILURE); } - if (entA->getSort() != entB->getSort()) - { + if (entA->getSort() != entB->getSort()) { std::cerr << "A entity " << name << " is of different sort in B" << std::endl; std::exit(EXIT_FAILURE); } - if ((dynamic_cast(*entA.get()).isPublished()) && - (!dynamic_cast(*entB.get()).isPublished())) + if ((dynamic_cast(*entA.get()) + .isPublished()) + && (!dynamic_cast(*entB.get()) + .isPublished())) { std::cerr << "A published entity " << name << " is not published in B" << std::endl; std::exit(EXIT_FAILURE); } - switch (entA->getSort()) - { + switch (entA->getSort()) { case unoidl::Entity::SORT_MODULE: assert(false && "this cannot happen"); //deliberate fall-through anyway case unoidl::Entity::SORT_ENUM_TYPE: - { - rtl::Reference ent2A( + { + rtl::Reference ent2A( static_cast(entA.get())); - rtl::Reference ent2B( + rtl::Reference ent2B( static_cast(entB.get())); - - if (ent2A->getMembers().size() != ent2B->getMembers().size()) - { - std::cerr - << "enum type " << name - << " number of members changed from " - << ent2A->getMembers().size() << " to " - << ent2B->getMembers().size() - << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getMembers().begin()), - j(ent2B->getMembers().begin()); - i != ent2A->getMembers().end(); ++i, ++j) - { - if (i->name != j->name || - i->value != j->value) + if (ent2A->getMembers().size() + != ent2B->getMembers().size()) { std::cerr - << "enum type " << name << " member #" - << i - ent2A->getMembers().begin() + 1 - << " changed from " << i->name << " = " - << i->value << " to " << j->name << " = " - << j->value - << std::endl; + << "enum type " << name + << " number of members changed from " + << ent2A->getMembers().size() << " to " + << ent2B->getMembers().size() << std::endl; std::exit(EXIT_FAILURE); } + for (std::vector::const_iterator + i(ent2A->getMembers().begin()), + j(ent2B->getMembers().begin()); + i != ent2A->getMembers().end(); ++i, ++j) + { + if (i->name != j->name || i->value != j->value) { + std::cerr + << "enum type " << name << " member #" + << i - ent2A->getMembers().begin() + 1 + << " changed from " << i->name << " = " + << i->value << " to " << j->name << " = " + << j->value << std::endl; + std::exit(EXIT_FAILURE); + } + } + break; } - break; - } case unoidl::Entity::SORT_PLAIN_STRUCT_TYPE: - { - rtl::Reference ent2A( - static_cast(entA.get())); - rtl::Reference ent2B( - static_cast(entB.get())); - - if (ent2A->getDirectBase() != ent2B->getDirectBase()) - { - std::cerr - << "plain struct type " << name - << " direct base changed from " - << (ent2A->getDirectBase().isEmpty() ? OUString("none") : ent2A->getDirectBase()) - << " to " - << (ent2B->getDirectBase().isEmpty() ? OUString("none") : ent2B->getDirectBase()) - << std::endl; - std::exit(EXIT_FAILURE); - } - if (ent2A->getDirectMembers().size() - != ent2B->getDirectMembers().size()) { - std::cerr - << "plain struct type " << name - << " number of direct members changed from " - << ent2A->getDirectMembers().size() << " to " - << ent2B->getDirectMembers().size() << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getDirectMembers().begin()), - j(ent2B->getDirectMembers().begin()); - i != ent2A->getDirectMembers().end(); ++i, ++j) - { - if (i->name != j->name || - i->type != j->type) - { + rtl::Reference ent2A( + static_cast( + entA.get())); + rtl::Reference ent2B( + static_cast( + entB.get())); + if (ent2A->getDirectBase() != ent2B->getDirectBase()) { std::cerr << "plain struct type " << name - << " direct member #" - << i - ent2A->getDirectMembers().begin() + 1 - << " changed from " << i->type << " " << i->name - << " to " << j->type << " " << j->name + << " direct base changed from " + << (ent2A->getDirectBase().isEmpty() + ? OUString("none") : ent2A->getDirectBase()) + << " to " + << (ent2B->getDirectBase().isEmpty() + ? OUString("none") : ent2B->getDirectBase()) << std::endl; std::exit(EXIT_FAILURE); } + if (ent2A->getDirectMembers().size() + != ent2B->getDirectMembers().size()) + { + std::cerr + << "plain struct type " << name + << " number of direct members changed from " + << ent2A->getDirectMembers().size() << " to " + << ent2B->getDirectMembers().size() << std::endl; + std::exit(EXIT_FAILURE); + } + for (std::vector::const_iterator + i(ent2A->getDirectMembers().begin()), + j(ent2B->getDirectMembers().begin()); + i != ent2A->getDirectMembers().end(); ++i, ++j) + { + if (i->name != j->name || i->type != j->type) { + std::cerr + << "plain struct type " << name + << " direct member #" + << i - ent2A->getDirectMembers().begin() + 1 + << " changed from " << i->type << " " << i->name + << " to " << j->type << " " << j->name + << std::endl; + std::exit(EXIT_FAILURE); + } + } + break; } - break; - } case unoidl::Entity::SORT_POLYMORPHIC_STRUCT_TYPE_TEMPLATE: - { - rtl::Reference - ent2A(static_cast(entA.get())); - rtl::Reference - ent2B(static_cast(entB.get())); - - if (ent2A->getTypeParameters().size() != ent2B->getTypeParameters().size()) - { - std::cerr - << "polymorphic struct type template " << name - << " number of type parameters changed from " - << ent2A->getTypeParameters().size() << " to " - << ent2B->getTypeParameters().size() - << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getTypeParameters().begin()), - j(ent2B->getTypeParameters().begin()); - i != ent2A->getTypeParameters().end(); ++i, ++j) { - if (*i != *j) + rtl::Reference + ent2A( + static_cast( + entA.get())); + rtl::Reference + ent2B( + static_cast( + entB.get())); + if (ent2A->getTypeParameters().size() + != ent2B->getTypeParameters().size()) { std::cerr << "polymorphic struct type template " << name - << " type parameter #" - << i - ent2A->getTypeParameters().begin() + 1 - << " changed from " << *i << " to " << *j - << std::endl; + << " number of type parameters changed from " + << ent2A->getTypeParameters().size() << " to " + << ent2B->getTypeParameters().size() << std::endl; std::exit(EXIT_FAILURE); } - } - if (ent2A->getMembers().size() != ent2B->getMembers().size()) - { - std::cerr - << "polymorphic struct type template " << name - << " number of members changed from " - << ent2A->getMembers().size() << " to " - << ent2B->getMembers().size() << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getMembers().begin()), - j(ent2B->getMembers().begin()); - i != ent2A->getMembers().end(); ++i, ++j) - { - if (i->name != j->name || - i->type != j->type || - i->parameterized != j->parameterized) + for (std::vector::const_iterator + i(ent2A->getTypeParameters().begin()), + j(ent2B->getTypeParameters().begin()); + i != ent2A->getTypeParameters().end(); ++i, ++j) + { + if (*i != *j) { + std::cerr + << "polymorphic struct type template " << name + << " type parameter #" + << i - ent2A->getTypeParameters().begin() + 1 + << " changed from " << *i << " to " << *j + << std::endl; + std::exit(EXIT_FAILURE); + } + } + if (ent2A->getMembers().size() + != ent2B->getMembers().size()) { std::cerr << "polymorphic struct type template " << name - << " member #" - << i - ent2A->getMembers().begin() + 1 - << " changed from " - << (i->parameterized ? OUString("parameterized ") : OUString()) - << i->type << " " << i->name - << " to " - << (j->parameterized ? OUString("parameterized ") : OUString()) - << j->type << " " << j->name - << std::endl; + << " number of members changed from " + << ent2A->getMembers().size() << " to " + << ent2B->getMembers().size() << std::endl; + std::exit(EXIT_FAILURE); + } + for (std::vector::const_iterator + i(ent2A->getMembers().begin()), + j(ent2B->getMembers().begin()); + i != ent2A->getMembers().end(); ++i, ++j) + { + if (i->name != j->name || i->type != j->type + || i->parameterized != j->parameterized) + { + std::cerr + << "polymorphic struct type template " << name + << " member #" + << i - ent2A->getMembers().begin() + 1 + << " changed from " + << (i->parameterized + ? OUString("parameterized ") : OUString()) + << i->type << " " << i->name + << " to " + << (j->parameterized + ? OUString("parameterized ") : OUString()) + << j->type << " " << j->name + << std::endl; std::exit(EXIT_FAILURE); + } } + break; } - break; - } case unoidl::Entity::SORT_EXCEPTION_TYPE: - { - rtl::Reference ent2A( + { + rtl::Reference ent2A( static_cast(entA.get())); - rtl::Reference ent2B( + rtl::Reference ent2B( static_cast(entB.get())); - if (ent2A->getDirectBase() != ent2B->getDirectBase()) - { - std::cerr - << "exception type " << name - << " direct base changed from " - << (ent2A->getDirectBase().isEmpty() ? OUString("none") : ent2A->getDirectBase()) - << " to " - << (ent2B->getDirectBase().isEmpty() ? OUString("none") : ent2B->getDirectBase()) - << std::endl; - std::exit(EXIT_FAILURE); - } - if (ent2A->getDirectMembers().size() != ent2B->getDirectMembers().size()) - { - std::cerr - << "exception type " << name - << " number of direct members changed from " - << ent2A->getDirectMembers().size() << " to " - << ent2B->getDirectMembers().size() << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getDirectMembers().begin()), - j(ent2B->getDirectMembers().begin()); - i != ent2A->getDirectMembers().end(); ++i, ++j) - { - if (i->name != j->name || i->type != j->type) - { + if (ent2A->getDirectBase() != ent2B->getDirectBase()) { std::cerr << "exception type " << name - << " direct member #" - << i - ent2A->getDirectMembers().begin() + 1 - << " changed from " << i->type << " " << i->name - << " to " << j->type << " " << j->name + << " direct base changed from " + << (ent2A->getDirectBase().isEmpty() + ? OUString("none") : ent2A->getDirectBase()) + << " to " + << (ent2B->getDirectBase().isEmpty() + ? OUString("none") : ent2B->getDirectBase()) << std::endl; std::exit(EXIT_FAILURE); } - } - break; - } - case unoidl::Entity::SORT_INTERFACE_TYPE: - { - rtl::Reference ent2A( - static_cast(entA.get())); - rtl::Reference ent2B( - static_cast(entB.get())); - if (ent2A->getDirectMandatoryBases().size() != ent2B->getDirectMandatoryBases().size()) - { - std::cerr - << "interface type " << name - << " number of direct mandatory bases changed from " - << ent2A->getDirectMandatoryBases().size() << " to " - << ent2B->getDirectMandatoryBases().size() - << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getDirectMandatoryBases().begin()), - j(ent2B->getDirectMandatoryBases().begin()); - i != ent2A->getDirectMandatoryBases().end(); ++i, ++j) - { - if (i->name != j->name) + if (ent2A->getDirectMembers().size() + != ent2B->getDirectMembers().size()) { std::cerr - << "interface type " << name - << " direct mandatory base #" - << (i - ent2A->getDirectMandatoryBases().begin() - + 1) - << " changed from " << i->name << " to " - << j->name - << std::endl; + << "exception type " << name + << " number of direct members changed from " + << ent2A->getDirectMembers().size() << " to " + << ent2B->getDirectMembers().size() << std::endl; std::exit(EXIT_FAILURE); } + for (std::vector::const_iterator + i(ent2A->getDirectMembers().begin()), + j(ent2B->getDirectMembers().begin()); + i != ent2A->getDirectMembers().end(); ++i, ++j) + { + if (i->name != j->name || i->type != j->type) { + std::cerr + << "exception type " << name + << " direct member #" + << i - ent2A->getDirectMembers().begin() + 1 + << " changed from " << i->type << " " << i->name + << " to " << j->type << " " << j->name + << std::endl; + std::exit(EXIT_FAILURE); + } + } + break; } - if (ent2A->getDirectOptionalBases().size() != ent2B->getDirectOptionalBases().size()) - { - std::cerr - << "interface type " << name - << " number of direct optional bases changed from " - << ent2A->getDirectOptionalBases().size() << " to " - << ent2B->getDirectOptionalBases().size() - << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getDirectOptionalBases().begin()), - j(ent2B->getDirectOptionalBases().begin()); - i != ent2A->getDirectOptionalBases().end(); ++i, ++j) + case unoidl::Entity::SORT_INTERFACE_TYPE: { - if (i->name != j->name) + rtl::Reference ent2A( + static_cast(entA.get())); + rtl::Reference ent2B( + static_cast(entB.get())); + if (ent2A->getDirectMandatoryBases().size() + != ent2B->getDirectMandatoryBases().size()) { std::cerr << "interface type " << name - << " direct optional base #" - << (i - ent2A->getDirectOptionalBases().begin() + 1) - << " changed from " << i->name << " to " - << j->name + << " number of direct mandatory bases changed from " + << ent2A->getDirectMandatoryBases().size() << " to " + << ent2B->getDirectMandatoryBases().size() << std::endl; std::exit(EXIT_FAILURE); } - } - if (ent2A->getDirectAttributes().size() - != ent2B->getDirectAttributes().size()) - { - std::cerr - << "interface type " << name - << " number of direct attributes changed from " - << ent2A->getDirectAttributes().size() << " to " - << ent2B->getDirectAttributes().size() << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getDirectAttributes().begin()), - j(ent2B->getDirectAttributes().begin()); - i != ent2A->getDirectAttributes().end(); ++i, ++j) - { - if (i->name != j->name || - i->type != j->type || - i->bound != j->bound || - i->readOnly != j->readOnly || - i->getExceptions != j->getExceptions || - i->setExceptions != j->setExceptions) + for (std::vector::const_iterator + i(ent2A->getDirectMandatoryBases().begin()), + j(ent2B->getDirectMandatoryBases().begin()); + i != ent2A->getDirectMandatoryBases().end(); ++i, ++j) + { + if (i->name != j->name) { + std::cerr + << "interface type " << name + << " direct mandatory base #" + << (i - ent2A->getDirectMandatoryBases().begin() + + 1) + << " changed from " << i->name << " to " + << j->name << std::endl; + std::exit(EXIT_FAILURE); + } + } + if (ent2A->getDirectOptionalBases().size() + != ent2B->getDirectOptionalBases().size()) { std::cerr << "interface type " << name - << " direct attribute #" - << i - ent2A->getDirectAttributes().begin() + 1 - << " changed from " - << (i->bound ? OUString("bound ") : OUString()) - << (i->readOnly ? OUString("read-only ") : OUString()) - << i->type << " " << i->name //TODO: exceptions - << " to " - << (j->bound ? OUString("bound ") : OUString()) - << (j->readOnly ? OUString("read-only ") : OUString()) - << j->type << " " << j->name //TODO: exceptions + << " number of direct optional bases changed from " + << ent2A->getDirectOptionalBases().size() << " to " + << ent2B->getDirectOptionalBases().size() << std::endl; std::exit(EXIT_FAILURE); } - } - if (ent2A->getDirectMethods().size() - != ent2B->getDirectMethods().size()) - { - std::cerr - << "interface type " << name - << " number of direct methods changed from " - << ent2A->getDirectMethods().size() << " to " - << ent2B->getDirectMethods().size() << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getDirectMethods().begin()), - j(ent2B->getDirectMethods().begin()); - i != ent2A->getDirectMethods().end(); ++i, ++j) - { - if (i->name != j->name || - i->returnType != j->returnType || - i->exceptions != j->exceptions) + for (std::vector::const_iterator + i(ent2A->getDirectOptionalBases().begin()), + j(ent2B->getDirectOptionalBases().begin()); + i != ent2A->getDirectOptionalBases().end(); ++i, ++j) + { + if (i->name != j->name) { + std::cerr + << "interface type " << name + << " direct optional base #" + << (i - ent2A->getDirectOptionalBases().begin() + + 1) + << " changed from " << i->name << " to " + << j->name << std::endl; + std::exit(EXIT_FAILURE); + } + } + if (ent2A->getDirectAttributes().size() + != ent2B->getDirectAttributes().size()) { std::cerr << "interface type " << name - << " direct method #" - << i - ent2A->getDirectMethods().begin() + 1 - << " changed from " - << i->returnType << " " << i->name //TODO: exceptions - << " to " << j->returnType << " " << j->name //TODO: exceptions - << std::endl; + << " number of direct attributes changed from " + << ent2A->getDirectAttributes().size() << " to " + << ent2B->getDirectAttributes().size() << std::endl; std::exit(EXIT_FAILURE); } - if (i->parameters.size() != j->parameters.size()) + for (std::vector::const_iterator + i(ent2A->getDirectAttributes().begin()), + j(ent2B->getDirectAttributes().begin()); + i != ent2A->getDirectAttributes().end(); ++i, ++j) + { + if (i->name != j->name || i->type != j->type + || i->bound != j->bound + || i->readOnly != j->readOnly + || i->getExceptions != j->getExceptions + || i->setExceptions != j->setExceptions) + { + std::cerr + << "interface type " << name + << " direct attribute #" + << i - ent2A->getDirectAttributes().begin() + 1 + << " changed from " + << (i->bound ? OUString("bound ") : OUString()) + << (i->readOnly + ? OUString("read-only ") : OUString()) + << i->type << " " << i->name //TODO: exceptions + << " to " + << (j->bound ? OUString("bound ") : OUString()) + << (j->readOnly + ? OUString("read-only ") : OUString()) + << j->type << " " << j->name //TODO: exceptions + << std::endl; + std::exit(EXIT_FAILURE); + } + } + if (ent2A->getDirectMethods().size() + != ent2B->getDirectMethods().size()) { std::cerr << "interface type " << name - << " direct method " << i->name - << " number of parameters changed from " - << i->parameters.size() << " to " - << j->parameters.size() - << std::endl; + << " number of direct methods changed from " + << ent2A->getDirectMethods().size() << " to " + << ent2B->getDirectMethods().size() << std::endl; std::exit(EXIT_FAILURE); } - for (std::vector::const_iterator - k(i->parameters.begin()), - l(j->parameters.begin()); - k != i->parameters.end(); ++k, ++l) + for (std::vector::const_iterator + i(ent2A->getDirectMethods().begin()), + j(ent2B->getDirectMethods().begin()); + i != ent2A->getDirectMethods().end(); ++i, ++j) { - if (k->type != l->type || k->direction != l->direction) + if (i->name != j->name || i->returnType != j->returnType + || i->exceptions != j->exceptions) { std::cerr << "interface type " << name - << " direct method " << i->name - << " parameter #" - << k - i->parameters.begin() + 1 + << " direct method #" + << i - ent2A->getDirectMethods().begin() + 1 << " changed from " - << showDirection(k->direction) << " " - << k->type << " to " - << showDirection(l->direction) << " " - << l->type + << i->returnType << " " << i->name //TODO: exceptions + << " to " << j->returnType << " " << j->name //TODO: exceptions << std::endl; std::exit(EXIT_FAILURE); } - if (k->name != l->name) - { + if (i->parameters.size() != j->parameters.size()) { std::cerr << "interface type " << name << " direct method " << i->name - << " parameter #" - << k - i->parameters.begin() + 1 - << " changed name from " << k->name - << " to " << l->name - << std::endl; + << " number of parameters changed from " + << i->parameters.size() << " to " + << j->parameters.size() << std::endl; std::exit(EXIT_FAILURE); } + for (std::vector::const_iterator + k(i->parameters.begin()), + l(j->parameters.begin()); + k != i->parameters.end(); ++k, ++l) + { + if (k->type != l->type || k->direction != l->direction) + { + std::cerr + << "interface type " << name + << " direct method " << i->name + << " parameter #" + << k - i->parameters.begin() + 1 + << " changed from " + << showDirection(k->direction) << " " + << k->type << " to " + << showDirection(l->direction) << " " + << l->type << std::endl; + std::exit(EXIT_FAILURE); + } + if (k->name != l->name) { + std::cerr + << "interface type " << name + << " direct method " << i->name + << " parameter #" + << k - i->parameters.begin() + 1 + << " changed name from " << k->name + << " to " << l->name << std::endl; + std::exit(EXIT_FAILURE); + } + } } + break; } - break; - } case unoidl::Entity::SORT_TYPEDEF: - { - rtl::Reference ent2A( + { + rtl::Reference ent2A( static_cast(entA.get())); - rtl::Reference ent2B( + rtl::Reference ent2B( static_cast(entB.get())); - if (ent2A->getType() != ent2B->getType()) - { - std::cerr - << "typedef " << name << " type changed from " - << ent2A->getType() << " to " << ent2B->getType() - << std::endl; - std::exit(EXIT_FAILURE); + if (ent2A->getType() != ent2B->getType()) { + std::cerr + << "typedef " << name << " type changed from " + << ent2A->getType() << " to " << ent2B->getType() + << std::endl; + std::exit(EXIT_FAILURE); + } + break; } - break; - } case unoidl::Entity::SORT_CONSTANT_GROUP: - { - rtl::Reference ent2A( + { + rtl::Reference ent2A( static_cast(entA.get())); - rtl::Reference ent2B( + rtl::Reference ent2B( static_cast(entB.get())); - for (std::vector::const_iterator - i(ent2A->getMembers().begin()); - i != ent2A->getMembers().end(); ++i) - { - bool found = false; for (std::vector::const_iterator - j(ent2B->getMembers().begin()); - j != ent2B->getMembers().end(); ++j) + i(ent2A->getMembers().begin()); + i != ent2A->getMembers().end(); ++i) { - if (i->name == j->name) + bool found = false; + for (std::vector::const_iterator + j(ent2B->getMembers().begin()); + j != ent2B->getMembers().end(); ++j) { - if (i->value != j->value) - { - std::cerr - << "constant group " << name - << " member " << i->name - << " changed value" - << std::endl; - std::exit(EXIT_FAILURE); + if (i->name == j->name) { + if (i->value != j->value) { + std::cerr + << "constant group " << name + << " member " << i->name + << " changed value" << std::endl; + std::exit(EXIT_FAILURE); + } + found = true; + break; } - found = true; - break; + } + if (!found) { + std::cerr + << "A constant group " << name << " member " + << i->name << " is not present in B" + << std::endl; + std::exit(EXIT_FAILURE); } } - if (!found) - { + break; + } + case unoidl::Entity::SORT_SINGLE_INTERFACE_BASED_SERVICE: + { + rtl::Reference + ent2A( + static_cast( + entA.get())); + rtl::Reference + ent2B( + static_cast( + entB.get())); + if (ent2A->getBase() != ent2B->getBase()) { std::cerr - << "A constant group " << name << " member " - << i->name << " is not present in B" + << "single-interface--based servcie " << name + << " base changed from " << ent2A->getBase() + << " to " << ent2B->getBase() << std::endl; std::exit(EXIT_FAILURE); } - } - break; - } - case unoidl::Entity::SORT_SINGLE_INTERFACE_BASED_SERVICE: - { - rtl::Reference - ent2A( static_cast( entA.get())); - rtl::Reference - ent2B( static_cast( entB.get())); - if (ent2A->getBase() != ent2B->getBase()) - { - std::cerr - << "single-interface--based servcie " << name - << " base changed from " << ent2A->getBase() - << " to " << ent2B->getBase() - << std::endl; - std::exit(EXIT_FAILURE); - } - if (ent2A->getConstructors().size() != ent2B->getConstructors().size()) - { - std::cerr - << "single-interface--based service " << name - << " number of constructors changed from " - << ent2A->getConstructors().size() << " to " - << ent2B->getConstructors().size() << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getConstructors().begin()), - j(ent2B->getConstructors().begin()); - i != ent2A->getConstructors().end(); ++i, ++j) - { - if (i->name != j->name || - i->parameters != j->parameters || - i->exceptions != j->exceptions || - i->defaultConstructor != j->defaultConstructor) + if (ent2A->getConstructors().size() + != ent2B->getConstructors().size()) { std::cerr << "single-interface--based service " << name - << " constructor #" - << i - ent2A->getConstructors().begin() + 1 - << " changed from " - << (i->defaultConstructor ? OUString("default ") : i->name) //TODO: parameters, exceptions - << " to " - << (j->defaultConstructor ? OUString("default ") : j->name) //TODO: parameters, exceptions - << std::endl; + << " number of constructors changed from " + << ent2A->getConstructors().size() << " to " + << ent2B->getConstructors().size() << std::endl; std::exit(EXIT_FAILURE); } + for (std::vector::const_iterator + i(ent2A->getConstructors().begin()), + j(ent2B->getConstructors().begin()); + i != ent2A->getConstructors().end(); ++i, ++j) + { + if (i->name != j->name || i->parameters != j->parameters + || i->exceptions != j->exceptions + || i->defaultConstructor != j->defaultConstructor) + { + std::cerr + << "single-interface--based service " << name + << " constructor #" + << i - ent2A->getConstructors().begin() + 1 + << " changed from " + << (i->defaultConstructor + ? OUString("default ") : i->name) //TODO: parameters, exceptions + << " to " + << (j->defaultConstructor + ? OUString("default ") : j->name) //TODO: parameters, exceptions + << std::endl; + std::exit(EXIT_FAILURE); + } + } + break; } - break; - } case unoidl::Entity::SORT_ACCUMULATION_BASED_SERVICE: - { - rtl::Reference - ent2A( static_cast( entA.get())); - rtl::Reference - ent2B( static_cast( entB.get())); - - if (ent2A->getDirectMandatoryBaseServices().size() != ent2B->getDirectMandatoryBaseServices().size()) { - std::cerr - << "accumulation-based service " << name - << " number of direct mandatory base services changed from " - << ent2A->getDirectMandatoryBaseServices().size() - << " to " - << ent2B->getDirectMandatoryBaseServices().size() - << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getDirectMandatoryBaseServices().begin()), - j(ent2B->getDirectMandatoryBaseServices().begin()); - i != ent2A->getDirectMandatoryBaseServices().end(); - ++i, ++j) - { - if (i->name != j->name) + rtl::Reference + ent2A( + static_cast( + entA.get())); + rtl::Reference + ent2B( + static_cast( + entB.get())); + if (ent2A->getDirectMandatoryBaseServices().size() + != ent2B->getDirectMandatoryBaseServices().size()) { std::cerr << "accumulation-based service " << name - << " direct mandatory base service #" - << (i - (ent2A->getDirectMandatoryBaseServices().begin()) + 1) - << " changed from " << i->name << " to " - << j->name << std::endl; + << (" number of direct mandatory base services" + " changed from ") + << ent2A->getDirectMandatoryBaseServices().size() + << " to " + << ent2B->getDirectMandatoryBaseServices().size() + << std::endl; std::exit(EXIT_FAILURE); } - } - if (ent2A->getDirectOptionalBaseServices().size() > ent2B->getDirectOptionalBaseServices().size()) - { - std::cerr - << "accumulation-based service " << name - << " number of direct optional base services shrank from " - << ent2A->getDirectOptionalBaseServices().size() - << " to " - << ent2B->getDirectOptionalBaseServices().size() - << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getDirectOptionalBaseServices().begin()); - i != ent2A->getDirectOptionalBaseServices().end(); - ++i) - { - if (std::find_if( - ent2B->getDirectOptionalBaseServices().begin(), - ent2B->getDirectOptionalBaseServices().end(), - EqualsAnnotation(i->name)) - == ent2B->getDirectOptionalBaseServices().end()) + for (std::vector::const_iterator + i(ent2A->getDirectMandatoryBaseServices().begin()), + j(ent2B->getDirectMandatoryBaseServices().begin()); + i != ent2A->getDirectMandatoryBaseServices().end(); + ++i, ++j) { - std::cerr - << "accumulation-based service " << name - << " direct optional base service " << i->name - << " was removed" << std::endl; - std::exit(EXIT_FAILURE); + if (i->name != j->name) { + std::cerr + << "accumulation-based service " << name + << " direct mandatory base service #" + << (i + - (ent2A->getDirectMandatoryBaseServices() + .begin()) + + 1) + << " changed from " << i->name << " to " + << j->name << std::endl; + std::exit(EXIT_FAILURE); + } } - } - if (ent2A->getDirectMandatoryBaseInterfaces().size() - != ent2B->getDirectMandatoryBaseInterfaces().size()) - { - std::cerr - << "accumulation-based service " << name - << (" number of direct mandatory base interfaces" - " changed from ") - << ent2A->getDirectMandatoryBaseInterfaces().size() - << " to " - << ent2B->getDirectMandatoryBaseInterfaces().size() - << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getDirectMandatoryBaseInterfaces().begin()), - j(ent2B->getDirectMandatoryBaseInterfaces().begin()); - i != ent2A->getDirectMandatoryBaseInterfaces().end(); - ++i, ++j) - { - if (i->name != j->name) + if (ent2A->getDirectOptionalBaseServices().size() + > ent2B->getDirectOptionalBaseServices().size()) { std::cerr << "accumulation-based service " << name - << " direct mandatory base interface #" - << (i - (ent2A->getDirectMandatoryBaseInterfaces().begin()) + 1) - << " changed from " << i->name << " to " - << j->name << std::endl; + << (" number of direct optional base services" + " shrank from ") + << ent2A->getDirectOptionalBaseServices().size() + << " to " + << ent2B->getDirectOptionalBaseServices().size() + << std::endl; std::exit(EXIT_FAILURE); } - } - if (ent2A->getDirectOptionalBaseInterfaces().size() > ent2B->getDirectOptionalBaseInterfaces().size()) - { - std::cerr - << "accumulation-based service " << name - << (" number of direct optional base interfaces" - " shrank from ") - << ent2A->getDirectOptionalBaseInterfaces().size() - << " to " - << ent2B->getDirectOptionalBaseInterfaces().size() - << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getDirectOptionalBaseInterfaces().begin()); - i != ent2A->getDirectOptionalBaseInterfaces().end(); - ++i) - { - if (std::find_if( - (ent2B->getDirectOptionalBaseInterfaces().begin()), - ent2B->getDirectOptionalBaseInterfaces().end(), + for (std::vector::const_iterator + i(ent2A->getDirectOptionalBaseServices().begin()); + i != ent2A->getDirectOptionalBaseServices().end(); + ++i) + { + if (std::find_if( + ent2B->getDirectOptionalBaseServices().begin(), + ent2B->getDirectOptionalBaseServices().end(), EqualsAnnotation(i->name)) - == ent2B->getDirectOptionalBaseInterfaces().end()) + == ent2B->getDirectOptionalBaseServices().end()) + { + std::cerr + << "accumulation-based service " << name + << " direct optional base service " << i->name + << " was removed" << std::endl; + std::exit(EXIT_FAILURE); + } + } + if (ent2A->getDirectMandatoryBaseInterfaces().size() + != ent2B->getDirectMandatoryBaseInterfaces().size()) { std::cerr << "accumulation-based service " << name - << " direct optional base interface " << i->name - << " was removed" << std::endl; + << (" number of direct mandatory base interfaces" + " changed from ") + << ent2A->getDirectMandatoryBaseInterfaces().size() + << " to " + << ent2B->getDirectMandatoryBaseInterfaces().size() + << std::endl; std::exit(EXIT_FAILURE); } - } - if (ent2A->getDirectProperties().size() > ent2B->getDirectProperties().size()) - { - std::cerr - << "accumulation-based service " << name - << " number of direct properties changed from " - << ent2A->getDirectProperties().size() << " to " - << ent2B->getDirectProperties().size() << std::endl; - std::exit(EXIT_FAILURE); - } - for (std::vector::const_iterator - i(ent2A->getDirectProperties().begin()), - j(ent2B->getDirectProperties().begin()); - i != ent2A->getDirectProperties().end(); ++i, ++j) - { - if (i->name != j->name || - i->type != j->type || - i->attributes != j->attributes) + for (std::vector::const_iterator + i(ent2A->getDirectMandatoryBaseInterfaces() + .begin()), + j(ent2B->getDirectMandatoryBaseInterfaces() + .begin()); + i != ent2A->getDirectMandatoryBaseInterfaces().end(); + ++i, ++j) + { + if (i->name != j->name) { + std::cerr + << "accumulation-based service " << name + << " direct mandatory base interface #" + << (i + - (ent2A->getDirectMandatoryBaseInterfaces() + .begin()) + + 1) + << " changed from " << i->name << " to " + << j->name << std::endl; + std::exit(EXIT_FAILURE); + } + } + if (ent2A->getDirectOptionalBaseInterfaces().size() + > ent2B->getDirectOptionalBaseInterfaces().size()) { std::cerr << "accumulation-based service " << name - << " direct property #" - << i - ent2A->getDirectProperties().begin() + 1 - << " changed from " - << i->type << " " << i->name //TODO: attributes + << (" number of direct optional base interfaces" + " shrank from ") + << ent2A->getDirectOptionalBaseInterfaces().size() << " to " - << j->type << " " << j->name //TODO: attributes + << ent2B->getDirectOptionalBaseInterfaces().size() << std::endl; std::exit(EXIT_FAILURE); } - } - for (std::vector::const_iterator - i(ent2B->getDirectProperties().begin() - + ent2A->getDirectProperties().size()); - i != ent2B->getDirectProperties().end(); ++i) - { - if ((i->attributes & unoidl::AccumulationBasedServiceEntity::Property::ATTRIBUTE_OPTIONAL) == 0) + for (std::vector::const_iterator + i(ent2A->getDirectOptionalBaseInterfaces() + .begin()); + i != ent2A->getDirectOptionalBaseInterfaces().end(); + ++i) + { + if (std::find_if( + (ent2B->getDirectOptionalBaseInterfaces() + .begin()), + ent2B->getDirectOptionalBaseInterfaces().end(), + EqualsAnnotation(i->name)) + == ent2B->getDirectOptionalBaseInterfaces().end()) + { + std::cerr + << "accumulation-based service " << name + << " direct optional base interface " << i->name + << " was removed" << std::endl; + std::exit(EXIT_FAILURE); + } + } + if (ent2A->getDirectProperties().size() + > ent2B->getDirectProperties().size()) { std::cerr - << "B accumulation-based service " << name - << " additional direct property " << i->name - << " is not optional" << std::endl; + << "accumulation-based service " << name + << " number of direct properties changed from " + << ent2A->getDirectProperties().size() << " to " + << ent2B->getDirectProperties().size() << std::endl; std::exit(EXIT_FAILURE); } + for (std::vector::const_iterator + i(ent2A->getDirectProperties().begin()), + j(ent2B->getDirectProperties().begin()); + i != ent2A->getDirectProperties().end(); ++i, ++j) + { + if (i->name != j->name || i->type != j->type + || i->attributes != j->attributes) + { + std::cerr + << "accumulation-based service " << name + << " direct property #" + << i - ent2A->getDirectProperties().begin() + 1 + << " changed from " + << i->type << " " << i->name //TODO: attributes + << " to " + << j->type << " " << j->name //TODO: attributes + << std::endl; + std::exit(EXIT_FAILURE); + } + } + for (std::vector::const_iterator + i(ent2B->getDirectProperties().begin() + + ent2A->getDirectProperties().size()); + i != ent2B->getDirectProperties().end(); ++i) + { + if ((i->attributes & unoidl::AccumulationBasedServiceEntity::Property::ATTRIBUTE_OPTIONAL) == 0) + { + std::cerr + << "B accumulation-based service " << name + << " additional direct property " << i->name + << " is not optional" << std::endl; + std::exit(EXIT_FAILURE); + } + } + break; } - break; - } case unoidl::Entity::SORT_INTERFACE_BASED_SINGLETON: - { - rtl::Reference ent2A( - static_cast(entA.get())); - rtl::Reference ent2B( - static_cast(entB.get())); - - if (ent2A->getBase() != ent2B->getBase()) { - std::cerr - << "interface-based singleton " << name - << " base changed from " << ent2A->getBase() - << " to " << ent2B->getBase() << std::endl; - std::exit(EXIT_FAILURE); + rtl::Reference ent2A( + static_cast( + entA.get())); + rtl::Reference ent2B( + static_cast( + entB.get())); + if (ent2A->getBase() != ent2B->getBase()) { + std::cerr + << "interface-based singleton " << name + << " base changed from " << ent2A->getBase() + << " to " << ent2B->getBase() << std::endl; + std::exit(EXIT_FAILURE); + } + break; } - break; - } case unoidl::Entity::SORT_SERVICE_BASED_SINGLETON: - { - rtl::Reference ent2A( - static_cast(entA.get())); - rtl::Reference ent2B( - static_cast(entB.get())); - - if (ent2A->getBase() != ent2B->getBase()) { - std::cerr - << "service-based singleton " << name - << " base changed from " << ent2A->getBase() - << " to " << ent2B->getBase() - << std::endl; - std::exit(EXIT_FAILURE); + rtl::Reference ent2A( + static_cast( + entA.get())); + rtl::Reference ent2B( + static_cast( + entB.get())); + if (ent2A->getBase() != ent2B->getBase()) { + std::cerr + << "service-based singleton " << name + << " base changed from " << ent2A->getBase() + << " to " << ent2B->getBase() << std::endl; + std::exit(EXIT_FAILURE); + } + break; } - break; - } } } } } -bool valid(OUString const & identifier) -{ - for (sal_Int32 i = 0;; ++i) - { +bool valid(OUString const & identifier) { + for (sal_Int32 i = 0;; ++i) { i = identifier.indexOf('_', i); - if (i == -1) - { + if (i == -1) { return true; } - if (!rtl::isAsciiUpperCase(identifier[0]) || identifier[i - 1] == '_') - { + if (!rtl::isAsciiUpperCase(identifier[0]) || identifier[i - 1] == '_') { return false; } } } -void checkIds( rtl::Reference const & providerA, OUString const & prefix, - rtl::Reference const & cursor) +void checkIds( + rtl::Reference const & providerA, OUString const & prefix, + rtl::Reference const & cursor) { assert(cursor.is()); - for (;;) - { + for (;;) { OUString id; rtl::Reference entB(cursor->getNext(&id)); - if (!entB.is()) - { + if (!entB.is()) { break; } OUString name(prefix + id); rtl::Reference entA(providerA->findEntity(name)); - if (!(entA.is() || valid(id))) - { + if (!(entA.is() || valid(id))) { std::cerr << "entity name " << name << " uses an invalid identifier" << std::endl; std::exit(EXIT_FAILURE); } - switch (entB->getSort()) - { + switch (entB->getSort()) { case unoidl::Entity::SORT_MODULE: - checkIds( providerA, name + ".", - (static_cast(entB.get())->createCursor())); + checkIds( + providerA, name + ".", + (static_cast(entB.get()) + ->createCursor())); break; case unoidl::Entity::SORT_ENUM_TYPE: - if (!entA.is()) - { - rtl::Reference ent2B(static_cast(entB.get())); - + if (!entA.is()) { + rtl::Reference ent2B( + static_cast(entB.get())); for (std::vector::const_iterator i(ent2B->getMembers().begin()); i != ent2B->getMembers().end(); ++i) { - if (!valid(i->name)) - { + if (!valid(i->name)) { std::cerr << "enum type " << name << " member " << i->name - << " uses an invalid identifier" - << std::endl; + << " uses an invalid identifier" << std::endl; std::exit(EXIT_FAILURE); } } } break; case unoidl::Entity::SORT_PLAIN_STRUCT_TYPE: - if (!entA.is()) - { + if (!entA.is()) { rtl::Reference ent2B( - static_cast(entB.get())); - + static_cast( + entB.get())); for (std::vector::const_iterator i(ent2B->getDirectMembers().begin()); i != ent2B->getDirectMembers().end(); ++i) { - if (!valid(i->name)) - { + if (!valid(i->name)) { std::cerr << "plain struct type " << name << " direct member " << i->name << " uses an invalid identifier" @@ -988,21 +967,21 @@ void checkIds( rtl::Reference const & providerA, OUString cons } break; case unoidl::Entity::SORT_POLYMORPHIC_STRUCT_TYPE_TEMPLATE: - if (!entA.is()) - { + if (!entA.is()) { rtl::Reference - ent2B( static_cast< unoidl::PolymorphicStructTypeTemplateEntity *>(entB.get())); - - for (std::vector::const_iterator i(ent2B->getTypeParameters().begin()); + ent2B( + static_cast< + unoidl::PolymorphicStructTypeTemplateEntity *>( + entB.get())); + for (std::vector::const_iterator i( + ent2B->getTypeParameters().begin()); i != ent2B->getTypeParameters().end(); ++i) { - if (!valid(*i)) - { + if (!valid(*i)) { std::cerr << "polymorphic struct type template " << name << " type parameter " << *i - << " uses an invalid identifier" - << std::endl; + << " uses an invalid identifier" << std::endl; std::exit(EXIT_FAILURE); } } @@ -1010,8 +989,7 @@ void checkIds( rtl::Reference const & providerA, OUString cons i(ent2B->getMembers().begin()); i != ent2B->getMembers().end(); ++i) { - if (!valid(i->name)) - { + if (!valid(i->name)) { std::cerr << "polymorphic struct type template " << name << " member " << i->name @@ -1022,17 +1000,14 @@ void checkIds( rtl::Reference const & providerA, OUString cons } break; case unoidl::Entity::SORT_EXCEPTION_TYPE: - if (!entA.is()) - { + if (!entA.is()) { rtl::Reference ent2B( - static_cast(entB.get())); - + static_cast(entB.get())); for (std::vector::const_iterator i(ent2B->getDirectMembers().begin()); i != ent2B->getDirectMembers().end(); ++i) { - if (!valid(i->name)) - { + if (!valid(i->name)) { std::cerr << "exception type " << name << " direct member " << i->name << " uses an invalid identifier" @@ -1043,16 +1018,14 @@ void checkIds( rtl::Reference const & providerA, OUString cons } break; case unoidl::Entity::SORT_INTERFACE_TYPE: - if (!entA.is()) - { + if (!entA.is()) { rtl::Reference ent2B( - static_cast(entB.get())); + static_cast(entB.get())); for (std::vector::const_iterator i(ent2B->getDirectAttributes().begin()); i != ent2B->getDirectAttributes().end(); ++i) { - if (!valid(i->name)) - { + if (!valid(i->name)) { std::cerr << "interface type " << name << " direct attribute " << i->name << " uses an invalid identifier" @@ -1064,8 +1037,7 @@ void checkIds( rtl::Reference const & providerA, OUString cons i(ent2B->getDirectMethods().begin()); i != ent2B->getDirectMethods().end(); ++i) { - if (!valid(i->name)) - { + if (!valid(i->name)) { std::cerr << "interface type " << name << " direct method " << i->name << " uses an invalid identifier" @@ -1076,8 +1048,7 @@ void checkIds( rtl::Reference const & providerA, OUString cons j(i->parameters.begin()); j != i->parameters.end(); ++j) { - if (!valid(j->name)) - { + if (!valid(j->name)) { std::cerr << "interface type " << name << " direct method " << i->name << " parameter " @@ -1094,67 +1065,60 @@ void checkIds( rtl::Reference const & providerA, OUString cons case unoidl::Entity::SORT_SERVICE_BASED_SINGLETON: break; case unoidl::Entity::SORT_CONSTANT_GROUP: - { - rtl::Reference ent2B( - static_cast(entB.get())); - for (std::vector::const_iterator - i(ent2B->getMembers().begin()); - i != ent2B->getMembers().end(); ++i) { - bool found = false; - if (entA.is()) + rtl::Reference ent2B( + static_cast(entB.get())); + for (std::vector::const_iterator + i(ent2B->getMembers().begin()); + i != ent2B->getMembers().end(); ++i) { - rtl::Reference ent2A( + bool found = false; + if (entA.is()) { + rtl::Reference ent2A( static_cast( - entA.get())); - for (std::vector::const_iterator - j(ent2A->getMembers().begin()); - j != ent2A->getMembers().end(); ++j) - { - if (i->name == j->name) + entA.get())); + for (std::vector::const_iterator + j(ent2A->getMembers().begin()); + j != ent2A->getMembers().end(); ++j) { - found = true; - break; + if (i->name == j->name) { + found = true; + break; + } } } + if (!(found || valid(i->name))) { + std::cerr + << "Constant group " << name << " member " + << i->name << " uses an invalid identifier" + << std::endl; + std::exit(EXIT_FAILURE); + } } - if (!(found || valid(i->name))) - { - std::cerr - << "Constant group " << name << " member " - << i->name << " uses an invalid identifier" - << std::endl; - std::exit(EXIT_FAILURE); - } + break; } - break; - } case unoidl::Entity::SORT_SINGLE_INTERFACE_BASED_SERVICE: - if (!entA.is()) - { + if (!entA.is()) { rtl::Reference - ent2B( static_cast( - entB.get())); - + ent2B( + static_cast( + entB.get())); for (std::vector::const_iterator i(ent2B->getConstructors().begin()); i != ent2B->getConstructors().end(); ++i) { - if (!valid(i->name)) - { + if (!valid(i->name)) { std::cerr << "single-interface--based service " << name << " constructor " << i->name - << " uses an invalid identifier" - << std::endl; + << " uses an invalid identifier" << std::endl; std::exit(EXIT_FAILURE); } for (std::vector::const_iterator j(i->parameters.begin()); j != i->parameters.end(); ++j) { - if (!valid(j->name)) - { + if (!valid(j->name)) { std::cerr << "single-interface--based service " << name << " constructor " << i->name << " parameter " @@ -1167,81 +1131,67 @@ void checkIds( rtl::Reference const & providerA, OUString cons } break; case unoidl::Entity::SORT_ACCUMULATION_BASED_SERVICE: - { - rtl::Reference ent2B( - static_cast( - entB.get())); - std::vector::size_type - n(entA.is() ? - (static_cast(entA.get())->getDirectProperties().size()) : 0); - assert(n <= ent2B->getDirectProperties().size()); - - for (std::vector::const_iterator - i(ent2B->getDirectProperties().begin() + n); - i != ent2B->getDirectProperties().end(); ++i) { - if (!valid(i->name)) + rtl::Reference ent2B( + static_cast( + entB.get())); + std::vector::size_type + n(entA.is() + ? (static_cast( + entA.get()) + ->getDirectProperties().size()) + : 0); + assert(n <= ent2B->getDirectProperties().size()); + for (std::vector::const_iterator + i(ent2B->getDirectProperties().begin() + n); + i != ent2B->getDirectProperties().end(); ++i) { - std::cerr - << "accumulation-based service " << name - << " direct property " << i->name - << " uses an invalid identifier" - << std::endl; - std::exit(EXIT_FAILURE); + if (!valid(i->name)) { + std::cerr + << "accumulation-based service " << name + << " direct property " << i->name + << " uses an invalid identifier" << std::endl; + std::exit(EXIT_FAILURE); + } } + break; } - break; - } } } } } -SAL_IMPLEMENT_MAIN() -{ - try - { +SAL_IMPLEMENT_MAIN() { + try { sal_uInt32 args = rtl_getAppCommandArgCount(); rtl::Reference mgr[2]; mgr[0] = new unoidl::Manager; mgr[1] = new unoidl::Manager; - rtl::Reference prov[2]; int side = 0; - for (sal_uInt32 i = 0; i != args; ++i) - { + for (sal_uInt32 i = 0; i != args; ++i) { bool delimiter = false; OUString uri(getArgumentUri(i, side == 0 ? &delimiter : 0)); - if (delimiter) - { + if (delimiter) { side = 1; - } - else - { - try - { + } else { + try { prov[side] = mgr[side]->addProvider(uri); - } - catch (unoidl::NoSuchFileException &) - { + } catch (unoidl::NoSuchFileException &) { std::cerr - << "Input <" << uri << "> does not exist" - << std::endl; + << "Input <" << uri << "> does not exist" << std::endl; std::exit(EXIT_FAILURE); } } } - if (side == 0 || !(prov[0].is() && prov[1].is())) - { + if (side == 0 || !(prov[0].is() && prov[1].is())) { badUsage(); } checkMap(prov[1], "", prov[0]->createRootCursor()); checkIds(prov[0], "", prov[1]->createRootCursor()); return EXIT_SUCCESS; - } - catch (unoidl::FileFormatException & e1) - { + } catch (unoidl::FileFormatException & e1) { std::cerr << "Bad input <" << e1.getUri() << ">: " << e1.getDetail() << std::endl; -- cgit v1.2.3