From 0f8ae514592c46dc8465bc5830d7a830b68affe2 Mon Sep 17 00:00:00 2001 From: Thomas Tanner Date: Sat, 17 Oct 2015 19:05:00 +0100 Subject: Added support for include-what-you-use in a very simplistic fashion to the Scons build. This isn't exactly production ready because the qt headers are a nightmarish web of interdependencies but it's useful for checking. I've also removed a few unused include files it detected and corrected some things that upset clang in a big way. --- qtmappings.imp | 195 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 qtmappings.imp (limited to 'qtmappings.imp') diff --git a/qtmappings.imp b/qtmappings.imp new file mode 100644 index 00000000..3dc2e5f5 --- /dev/null +++ b/qtmappings.imp @@ -0,0 +1,195 @@ +[ +# Overrides. Some classes are defined by the spec to reside in their own headers but actually use the same +# header as another class. It might make some sense using this for every class in QT... + { symbol: [ "QAbstractTableModel", "private", "", "public" ] }, + { symbol: [ "QAtomicInt", "private", "", "public"] }, + { symbol: [ "QDate", "private", "", "public"] }, + { symbol: [ "QKeyEvent", "private", "", "public" ] }, + { symbol: [ "QDragEnterEvent", "private", "", "public" ] }, + { symbol: [ "QListWidgetItem", "private", "", "public" ] }, + { symbol: [ "QModelIndex", "private", "", "public" ] }, + { symbol: [ "QMouseEvent", "private", "", "public" ] }, + { symbol: [ "QMutableHashIterator", "private", "", "public" ] }, + { symbol: [ "QScopedArrayPointer", "private", "", "public" ] }, + { symbol: [ "QStyleOptionSlider", "private", "", "public" ] }, + { symbol: [ "QStyleOptionViewItem", "private", "", "public" ] }, + { symbol: [ "QTime", "private", "", "public"] }, + { symbol: [ "QTableWidgetItem", "private", "", "public" ] }, + { symbol: [ "QTreeWidgetItem", "private", "", "public" ] }, + { symbol: [ "QVBoxLayout", "private", "", "public" ] }, + { symbol: [ "QWebHitTestResult", "private", "", "public" ] }, + { symbol: [ "qobject_cast", "private", "", "public"] }, + + +# these are in QMetaType but the documentation is slightly unclear as to where they are meant to be defined. + { symbol: [ "QVariantMap", "private", "", "public" ] }, + { symbol: [ "QVariantList", "private", "", "public" ] }, + +#Normal header overrides + + { include: [ "@\"(QtCore/)?qabstractitemmodel\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qalgorithms\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qbytearray\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qchar\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qcoreapplication\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qcoreevent\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qdatastream\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qdatetime\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qdir\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qfile\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qfileinfo\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qflags\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qglobal\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qiodevice\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qitemselectionmodel\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qjsonvalue\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qlist\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qlocale\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qlogging\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qmap\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qnamespace\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qobject\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qobjectdefs\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qpoint\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qrect\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qregexp\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qscopedpointer\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qset\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qsharedpointer_impl\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qsize\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qstring\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qstringlist\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qurl\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtCore/)?qvariant\\.h\"", "private", "", "public" ] }, + + { include: [ "@\"(QtGui/)?qbrush\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtGui/)?qcolor\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtGui/)?qfont\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtGui/)?qicon\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtGui/)?qimage\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtGui/)?qkeysequence\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtGui/)?qpalette\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtGui/)?qpen\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtGui/)?qpixmap\\.h\"", "private", "", "public" ] }, + + { include: [ "@\"(QtNetwork/)?qnetworkaccessmanager\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtNetwork/)?qnetworkrequest\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtNetwork/)?qhostaddress\\.h\"", "private", "", "public" ] }, + + { include: [ "\"QtWebKit/qwebsettings.h\"", "private", "", "public" ] }, + + { include: [ "@\"(QtWidgets/)?qabstractbutton\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qabstractitemview\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qaction\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qboxlayout\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qdialog\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qframe\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qlayout\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qlayoutitem\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qlineedit\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qstyle\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qstyleoption\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qtabwidget\\.h\"", "private", "", "public" ] }, + { include: [ "@\"(QtWidgets/)?qwidget\\.h\"", "private", "", "public" ] }, + + { include: [ "\"qabstractproxymodel.h\"", "private", "", "public" ] }, + { include: [ "\"qapplication.h\"", "private", "", "public" ] }, + { include: [ "\"qcheckbox.h\"", "private", "", "public" ] }, + { include: [ "\"qclipboard.h\"", "private", "", "public" ] }, + { include: [ "\"qcombobox.h\"", "private", "", "public" ] }, + { include: [ "\"qcommandlinkbutton.h\"", "private", "", "public" ] }, + { include: [ "\"qcryptographichash.h\"", "private", "", "public" ] }, + { include: [ "\"qdatetime.h\"", "private", "", "public" ] }, + { include: [ "\"qdebug.h\"", "private", "", "public" ] }, + { include: [ "\"qdesktopwidget.h\"", "private", "", "public" ] }, + { include: [ "\"qdialog.h\"", "private", "", "public" ] }, + { include: [ "\"qdialogbuttonbox.h\"", "private", "", "public" ] }, + { include: [ "\"qdiriterator.h\"", "private", "", "public" ] }, + { include: [ "\"qfiledialog.h\"", "private", "", "public" ] }, + { include: [ "\"qfilesystemmodel.h\"", "private", "", "public" ] }, + { include: [ "\"qfilesystemwatcher.h\"", "private", "", "public" ] }, + { include: [ "\"qhash.h\"", "private", "", "public" ] }, + { include: [ "\"qheaderview.h\"", "private", "", "public" ] }, + { include: [ "\"qinputdialog.h\"", "private", "", "public" ] }, + { include: [ "\"qitemdelegate.h\"", "private", "", "public" ] }, + { include: [ "\"qjsonarray.h\"", "private", "", "public" ] }, + { include: [ "\"qjsondocument.h\"", "private", "", "public" ] }, + { include: [ "\"qlabel.h\"", "private", "", "public" ] }, + { include: [ "\"qlibrary.h\"", "private", "", "public" ] }, + { include: [ "\"qlistwidget.h\"", "private", "", "public" ] }, + { include: [ "\"qlocalserver.h\"", "private", "", "public" ] }, + { include: [ "\"qlocalsocket.h\"", "private", "", "public" ] }, + { include: [ "\"qmainwindow.h\"", "private", "", "public" ] }, + { include: [ "\"qmenu.h\"", "private", "", "public" ] }, + { include: [ "\"qmessagebox.h\"", "private", "", "public" ] }, + { include: [ "\"qmetatype.h\"", "private", "", "public" ] }, + { include: [ "\"qmimedata.h\"", "private", "", "public" ] }, + { include: [ "\"qmutex.h\"", "private", "", "public" ] }, + { include: [ "\"qnetworkcookie.h\"", "private", "", "public" ] }, + { include: [ "\"qnetworkcookiejar.h\"", "private", "", "public" ] }, + { include: [ "\"qnetworkinterface.h\"", "private", "", "public" ] }, + { include: [ "\"qnetworkreply.h\"", "private", "", "public" ] }, + { include: [ "\"qpainter.h\"", "private", "", "public" ] }, + { include: [ "\"qprocess.h\"", "private", "", "public" ] }, + { include: [ "\"qprogressbar.h\"", "private", "", "public" ] }, + { include: [ "\"qprogressdialog.h\"", "private", "", "public" ] }, + { include: [ "\"qproxystyle.h\"", "private", "", "public" ] }, + { include: [ "\"qpushbutton.h\"", "private", "", "public" ] }, + { include: [ "\"qregexp.h\"", "private", "", "public" ] }, + { include: [ "\"qscrollbar.h\"", "private", "", "public" ] }, + { include: [ "\"qsettings.h\"", "private", "", "public" ] }, + { include: [ "\"qsharedmemory.h\"", "private", "", "public" ] }, + { include: [ "\"qshortcut.h\"", "private", "", "public" ] }, + { include: [ "\"qsortfilterproxymodel.h\"", "private", "", "public" ] }, + { include: [ "\"qstackedwidget.h\"", "private", "", "public" ] }, + { include: [ "\"qstyleditemdelegate.h\"", "private", "", "public" ] }, + { include: [ "\"qstylefactory.h\"", "private", "", "public" ] }, + { include: [ "\"qtablewidget.h\"", "private", "", "public" ] }, + { include: [ "\"qtemporaryfile.h\"", "private", "", "public" ] }, + { include: [ "\"qtextbrowser.h\"", "private", "", "public" ] }, + { include: [ "\"qtextcodec.h\"", "private", "", "public" ] }, + { include: [ "\"qtextedit.h\"", "private", "", "public" ] }, + { include: [ "\"qtextstream.h\"", "private", "", "public" ] }, + { include: [ "\"qthread.h\"", "private", "", "public" ] }, + { include: [ "\"qtimer.h\"", "private", "", "public" ] }, + { include: [ "\"qtreeview.h\"", "private", "", "public" ] }, + { include: [ "\"qtreewidget.h\"", "private", "", "public" ] }, + { include: [ "\"qurlquery.h\"", "private", "", "public" ] }, + { include: [ "\"qvalidator.h\"", "private", "", "public" ] }, + { include: [ "\"qwebframe.h\"", "private", "", "public" ] }, + { include: [ "\"qwebhistory.h\"", "private", "", "public" ] }, + { include: [ "\"qwebpage.h\"", "private", "", "public" ] }, + { include: [ "\"qwebview.h\"", "private", "", "public" ] }, + { include: [ "\"qwhatsthis.h\"", "private", "", "public" ] }, + { include: [ "\"qnetworkdiskcache.h\"", "private", "", "public" ] }, + { include: [ "\"qmimedata.h\"", "private", "", "public" ] }, + { include: [ "\"qtgroupingproxy.h\"", "private", "", "public" ] }, + +# Microsft visual C? + + { include: [ "", "private", "", "public" ] }, + { include: [ "", "private", "", "public" ] }, + { include: [ "", "private", "", "public" ] }, + +# Windows + + { include: [ "", "private", "", "public" ] }, + { include: [ "", "private", "", "public" ] }, + { include: [ "", "private", "", "public" ] }, + { include: [ "", "private", "", "public" ] }, + +# And for boost??? + +] + + + + + +#include "QtCore/qiterator.h" +#include "QtCore/qtypeinfo.h" // for swap +#include "QtCore/qtypetraits.h" // for remove_reference<>::type +#include "QtGui/qfontmetrics.h" +#include "QtGui/qwindowdefs_win.h" // for HINSTANCE +#include // for _Simple_types<>::value_type +#include // for _Tree_const_iterator -- cgit v1.3.1