summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--idlc/test/parser/interfaceinheritance.tests8
-rw-r--r--unoidl/source/sourceprovider-parser.y1
2 files changed, 8 insertions, 1 deletions
diff --git a/idlc/test/parser/interfaceinheritance.tests b/idlc/test/parser/interfaceinheritance.tests
index a7b84125fd1e..f9cac4ca2bd8 100644
--- a/idlc/test/parser/interfaceinheritance.tests
+++ b/idlc/test/parser/interfaceinheritance.tests
@@ -269,3 +269,11 @@ interface Derived {
interface Hidden;
interface Base;
};
+
+
+EXPECT FAILURE "interfaceinheritance.tests 30":
+interface Base {};
+interface Derived {
+ interface Base;
+ [optional] interface com::sun::star::uno::XInterface;
+};
diff --git a/unoidl/source/sourceprovider-parser.y b/unoidl/source/sourceprovider-parser.y
index f7f022fa0461..8e6c0c480ed8 100644
--- a/unoidl/source/sourceprovider-parser.y
+++ b/unoidl/source/sourceprovider-parser.y
@@ -4113,7 +4113,6 @@ bool SourceProviderInterfaceTypeEntityPad::addDirectBase(
addOptionalBaseMembers(
location, yyscanner, data, base.name, base.entity);
}
- //TODO: check that opt base != XInterface
(optional ? directOptionalBases : directMandatoryBases).push_back(base);
return true;
}