<div dir="ltr"><div><div><div>Hey everyone,<br></div>I've been working on a replacement for the existing smokegen tool, that is based on clang's AST instead of the existing parser from kdevelop.  I'm currently trying to get it to generate the smokedata.cpp file for qtcore.<br><br></div>One thing I'm noticing is that the mf_explicit flag doesn't seem to be correctly applied to all explicit constructors.  It only shows up for 5 of them:<br><br>QBool::QBool(bool)<br>QLatin1Char::QLatin1Char(char)<br>QLatin1String::QLatin1String(const char*)<br>QTextDecoder::QTextDecoder(const QTextCodec*)<br>QTextEncoder::QTextEncoder(const QTextCodec*)<br><br></div>Clang's parser turns up a lot more.  For example:<br><div><div>QAbstractEventDispatcher::QAbstractEventDispatcher(QObject *)<br>QAbstractItemModel::QAbstractItemModel(QObject *)<br>QAbstractListModel::QAbstractListModel(QObject *)<br><br></div><div>Looking at the headers for these classes, these constructors are indeed marked "explicit".  Is this an error in the existing parser, or does the mf_explicit flag mean more than just "the constructor was declared with the explicit keyword"?<br><br></div><div>-Chris<br></div><div><br></div></div></div>