summaryrefslogtreecommitdiff
path: root/unoidl/source/sourceprovider-scanner.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'unoidl/source/sourceprovider-scanner.hxx')
-rw-r--r--unoidl/source/sourceprovider-scanner.hxx9
1 files changed, 6 insertions, 3 deletions
diff --git a/unoidl/source/sourceprovider-scanner.hxx b/unoidl/source/sourceprovider-scanner.hxx
index 152b9cf6ca2b..51900580e987 100644
--- a/unoidl/source/sourceprovider-scanner.hxx
+++ b/unoidl/source/sourceprovider-scanner.hxx
@@ -189,19 +189,22 @@ private:
};
struct SourceProviderEntity {
- enum Kind { KIND_EXTERNAL, KIND_LOCAL, KIND_INTERFACE_DECL };
+ enum Kind { KIND_EXTERNAL, KIND_LOCAL, KIND_INTERFACE_DECL, KIND_MODULE };
explicit SourceProviderEntity(
Kind theKind, rtl::Reference<unoidl::Entity> const & externalEntity):
kind(theKind), entity(externalEntity)
- { assert(theKind != KIND_INTERFACE_DECL); assert(externalEntity.is()); }
+ { assert(theKind <= KIND_LOCAL); assert(externalEntity.is()); }
explicit SourceProviderEntity(
rtl::Reference<SourceProviderEntityPad> const & localPad):
kind(KIND_LOCAL), pad(localPad)
{ assert(localPad.is()); }
- SourceProviderEntity(): kind(KIND_INTERFACE_DECL) {}
+ explicit SourceProviderEntity(Kind theKind): kind(theKind)
+ { assert(theKind >= KIND_INTERFACE_DECL); }
+
+ SourceProviderEntity() {} // needed for std::map::operator []
Kind kind;
rtl::Reference<unoidl::Entity> entity;