Subject: | Inconsistent hierarchy during C3 merge of class 'OpenOffice::OODoc::Styles'. |
I get the following error message when I try to use C3 mro with OODoc:
Show quoted text
> Inconsistent hierarchy during C3 merge of class
> 'OpenOffice::OODoc::Styles':
> current merge results [
> OpenOffice::OODoc::Styles,
> ]
> merging failed on 'Exporter' at C:/max-
> x/perl/stmodul/amsoft_oodoc/Container.pm line 36.
I have a custom class "Document" extending your "Document" to provide some additional high level functionality I need. I use the same approach like you with mixing in some XPath logic using a second class, which itself overrides some methods of your XPath class. This overriding does only work if I use C3 method resolution order, which I can't because of the error I get. Compilation only works if I either don't use C3, which results in my own XPath::XYZ methods not beeing called, or change your Styles class to not extend Exporter.
Show quoted text> package amsoft_oodoc::Document;
Show quoted text> use strict;
> use warnings;
Show quoted text> use base 'OpenOffice::OODoc::Document', 'amsoft_oodoc::XPath';
Show quoted text> use mro 'c3';
Show quoted text> 1;