On Friday 06 November 2009 02:14:12 pm Arno Rehn wrote: > On Friday 06 November 2009 04:32:23 Chris Burel wrote: > > I was trying out the new smokeqt object that's generated with Arno's > > new generator, and I discovered that there are 2 methods for > > QByteArray::data(), one that returns const data and one that doesn't. > > Is this by design? I thought that the only methods that were > > considered ambiguous were ones that have the same name and number of > > arguments, but different types of arguments. Should I change the > > ambiguous method resolution code in PerlQt4 to handle this case, or is > > it something that can be fixed in smoke? > > > > grep QByteArray::data smokedata.cpp > > {64, 7190, 0, 0, 0, 1692, 17}, //1927 QByteArray::data() > > {64, 7190, 0, 0, Smoke::mf_const, 2113, 18}, //1928 > > QByteArray::data() const > > This is done on purpose. There are some use cases, especially in QtDBus, > where you need the 'const' version of a method. Depending on whether the > method is const or not the returned value differs. Most of the time it > will suffice to simply call the non-const method, though. > The new generator might be correct, but the old one only generated the non- const version. I think this is why Stefano found that the KSharedConfig::group method no longer works: a = KDE::Application.new c = KDE::Global.config Qt.debug_level = Qt::DebugLevel::Extensive c.group 'xyz' Gives: candidate list: KConfigGroup KConfigBase::group(const QString&) (smoke: 1 index: 1969) KConfigGroup KConfigBase::group(const char*) (smoke: 1 index: 1970) const KConfigGroup KConfigBase::group(const QString&) const (smoke: 1 index: 1972) const KConfigGroup KConfigBase::group(const char*) const (smoke: 1 index: 1973) And it now fails to resolve the method with the new generator's smoke lib. I think that it is correct to have the two versions in the smoke library, and leave it to the individual bindings to resolve between the two methods. -- Richard _______________________________________________ Kde-bindings mailing list Kde-bindings@kde.org https://mail.kde.org/mailman/listinfo/kde-bindings