diff options
-rw-r--r-- | idlc/test/parser/interfaceinheritance.tests | 8 | ||||
-rw-r--r-- | unoidl/source/sourceprovider-parser.y | 1 |
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; } |