katie/scripts/namefsck.py
Ivailo Monev 65d8629a0c drop support for some properties annotations, revisioned properties and methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-26 23:20:24 +03:00

615 lines
13 KiB
Python
Executable file

#!/usr/bin/python
import os, re
# generated via find /usr/include/katie/ -name 'Q*' -printf ' "%f",\n' | sort -u
classlist = [
"QAbstractAnimation",
"QAbstractButton",
"QAbstractEventDispatcher",
"QAbstractGraphicsShapeItem",
"QAbstractItemDelegate",
"QAbstractItemModel",
"QAbstractItemView",
"QAbstractListModel",
"QAbstractPageSetupDialog",
"QAbstractPrintDialog",
"QAbstractProxyModel",
"QAbstractScrollArea",
"QAbstractSlider",
"QAbstractSocket",
"QAbstractSpinBox",
"QAbstractTableModel",
"QAbstractTextDocumentLayout",
"QAbstractUndoItem",
"QAction",
"QActionEvent",
"QActionGroup",
"QAnimationGroup",
"QApplication",
"QArgument",
"QAtomicInt",
"QAtomicPointer",
"QBasicTimer",
"QBitArray",
"QBitRef",
"QBitmap",
"QBoxLayout",
"QBrush",
"QBrushData",
"QBuffer",
"QButtonGroup",
"QByteArray",
"QByteArrayMatcher",
"QByteRef",
"QCache",
"QCalendarWidget",
"QChar",
"QCharRef",
"QCheckBox",
"QChildEvent",
"QCleanlooksStyle",
"QClipboard",
"QClipboardEvent",
"QCloseEvent",
"QColor",
"QColorDialog",
"QColumnView",
"QComboBox",
"QCommandLinkButton",
"QCommonStyle",
"QCompleter",
"QContextMenuEvent",
"QCoreApplication",
"QCryptographicHash",
"QCursor",
"QCustomWidget",
"QCustomWidgetPlugin",
"QDBusAbstractAdaptor",
"QDBusAbstractInterface",
"QDBusAbstractInterfaceBase",
"QDBusArgument",
"QDBusConnection",
"QDBusConnectionInterface",
"QDBusContext",
"QDBusError",
"QDBusInterface",
"QDBusMessage",
"QDBusMetaType",
"QDBusObjectPath",
"QDBusPendingCall",
"QDBusPendingCallWatcher",
"QDBusPendingReply",
"QDBusPendingReplyData",
"QDBusReply",
"QDBusServer",
"QDBusServiceWatcher",
"QDBusSignature",
"QDBusUnixFileDescriptor",
"QDBusVariant",
"QDataStream",
"QDate",
"QDateEdit",
"QDateTime",
"QDateTimeEdit",
"QDebug",
"QDesktopWidget",
"QDial",
"QDialog",
"QDialogButtonBox",
"QDir",
"QDirIterator",
"QDirModel",
"QDockWidget",
"QDomAttr",
"QDomCDATASection",
"QDomCharacterData",
"QDomComment",
"QDomDocument",
"QDomDocumentFragment",
"QDomDocumentType",
"QDomElement",
"QDomEntity",
"QDomEntityReference",
"QDomImplementation",
"QDomNamedNodeMap",
"QDomNode",
"QDomNodeList",
"QDomNotation",
"QDomProcessingInstruction",
"QDomText",
"QDoubleSpinBox",
"QDoubleValidator",
"QDrag",
"QDragEnterEvent",
"QDragLeaveEvent",
"QDragMoveEvent",
"QDropEvent",
"QDynamicPropertyChangeEvent",
"QEasingCurve",
"QElapsedTimer",
"QEvent",
"QEventLoop",
"QEventSizeOfChecker",
"QExplicitlySharedDataPointer",
"QFile",
"QFileDialog",
"QFileIconProvider",
"QFileInfo",
"QFileInfoList",
"QFileSystemModel",
"QFileSystemWatcher",
"QFlag",
"QFlags",
"QFocusEvent",
"QFocusFrame",
"QFont",
"QFontComboBox",
"QFontDatabase",
"QFontDialog",
"QFontMetrics",
"QFontMetricsF",
"QFormLayout",
"QFrame",
"QGenericArgument",
"QGenericMatrix",
"QGenericReturnArgument",
"QGradient",
"QGradientStop",
"QGradientStops",
"QGraphicsAnchor",
"QGraphicsAnchorLayout",
"QGraphicsEllipseItem",
"QGraphicsGridLayout",
"QGraphicsItem",
"QGraphicsItemAnimation",
"QGraphicsItemGroup",
"QGraphicsLayout",
"QGraphicsLayoutItem",
"QGraphicsLineItem",
"QGraphicsLinearLayout",
"QGraphicsObject",
"QGraphicsPathItem",
"QGraphicsPixmapItem",
"QGraphicsPolygonItem",
"QGraphicsProxyWidget",
"QGraphicsRectItem",
"QGraphicsScene",
"QGraphicsSceneContextMenuEvent",
"QGraphicsSceneDragDropEvent",
"QGraphicsSceneEvent",
"QGraphicsSceneHelpEvent",
"QGraphicsSceneHoverEvent",
"QGraphicsSceneMouseEvent",
"QGraphicsSceneMoveEvent",
"QGraphicsSceneResizeEvent",
"QGraphicsSceneWheelEvent",
"QGraphicsSimpleTextItem",
"QGraphicsTextItem",
"QGraphicsView",
"QGraphicsWidget",
"QGridLayout",
"QGroupBox",
"QGuiPlatformPlugin",
"QHBoxLayout",
"QHash",
"QHashData",
"QHashIterator",
"QHashNode",
"QHeaderView",
"QHelpEvent",
"QHideEvent",
"QHostAddress",
"QHostInfo",
"QHoverEvent",
"QIODevice",
"QIcon",
"QIconEngine",
"QIdentityProxyModel",
"QImage",
"QImageIOHandler",
"QImageIOPlugin",
"QImageReader",
"QImageWriter",
"QIncompatibleFlag",
"QInputDialog",
"QInputEvent",
"QIntValidator",
"QInternal",
"QItemDelegate",
"QItemEditorCreator",
"QItemEditorCreatorBase",
"QItemEditorFactory",
"QItemSelection",
"QItemSelectionModel",
"QItemSelectionRange",
"QJsonDocument",
"QKeyEvent",
"QKeySequence",
"QLCDNumber",
"QLabel",
"QLatin1Char",
"QLatin1String",
"QLayout",
"QLayoutItem",
"QLibrary",
"QLibraryInfo",
"QLine",
"QLineEdit",
"QLineF",
"QLinearGradient",
"QList",
"QListData",
"QListIterator",
"QListView",
"QListWidget",
"QListWidgetItem",
"QLocalServer",
"QLocalSocket",
"QLocale",
"QMainWindow",
"QMap",
"QMapData",
"QMapIterator",
"QMapNode",
"QMapPayloadNode",
"QMargins",
"QMatrix",
"QMatrix2x2",
"QMatrix2x3",
"QMatrix2x4",
"QMatrix3x2",
"QMatrix3x3",
"QMatrix3x4",
"QMatrix4x2",
"QMatrix4x3",
"QMatrix4x4",
"QMenu",
"QMenuBar",
"QMessageBox",
"QMetaClassInfo",
"QMetaEnum",
"QMetaMethod",
"QMetaObject",
"QMetaObjectAccessor",
"QMetaProperty",
"QMetaType",
"QMetaTypeId",
"QMetaTypeId2",
"QMimeData",
"QModelIndex",
"QModelIndexList",
"QMouseEvent",
"QMoveEvent",
"QMovie",
"QMultiHash",
"QMultiMap",
"QMutableHashIterator",
"QMutableListIterator",
"QMutableMapIterator",
"QMutableSetIterator",
"QMutableStringListIterator",
"QMutableVectorIterator",
"QMutex",
"QMutexLocker",
"QNetworkAddressEntry",
"QNetworkInterface",
"QObject",
"QObjectCleanupHandler",
"QObjectData",
"QObjectList",
"QPageSetupDialog",
"QPaintDevice",
"QPaintEngine",
"QPaintEngineState",
"QPaintEvent",
"QPainter",
"QPainterPath",
"QPainterPathPrivate",
"QPainterPathStroker",
"QPair",
"QPalette",
"QParallelAnimationGroup",
"QPauseAnimation",
"QPen",
"QPersistentModelIndex",
"QPixmap",
"QPixmapCache",
"QPlainTextDocumentLayout",
"QPlainTextEdit",
"QPlugin",
"QPluginLoader",
"QPoint",
"QPointF",
"QPointer",
"QPolygon",
"QPolygonF",
"QPrintDialog",
"QPrintEngine",
"QPrintPreviewDialog",
"QPrintPreviewWidget",
"QPrinter",
"QPrinterInfo",
"QProcess",
"QProcessEnvironment",
"QProgressBar",
"QProgressDialog",
"QPropertyAnimation",
"QProxyModel",
"QProxyStyle",
"QPushButton",
"QQueue",
"QRadialGradient",
"QRadioButton",
"QRect",
"QRectF",
"QRegExp",
"QRegExpValidator",
"QRegion",
"QResizeEvent",
"QReturnArgument",
"QRgb",
"QRubberBand",
"QScopedPointer",
"QScopedPointerPodDeleter",
"QScopedValueRollback",
"QScrollArea",
"QScrollBar",
"QSemaphore",
"QSequentialAnimationGroup",
"QSessionManager",
"QSet",
"QSetIterator",
"QSettings",
"QSharedData",
"QSharedDataPointer",
"QSharedPointer",
"QShortcut",
"QShortcutEvent",
"QShowEvent",
"QSignalMapper",
"QSignalSpy",
"QSize",
"QSizeF",
"QSizeGrip",
"QSizePolicy",
"QSlider",
"QSocketNotifier",
"QSortFilterProxyModel",
"QSpacerItem",
"QSpinBox",
"QSplashScreen",
"QSplitter",
"QSplitterHandle",
"QSpontaneKeyEvent",
"QStack",
"QStackedLayout",
"QStackedWidget",
"QStandardItem",
"QStandardItemModel",
"QStandardPaths",
"QStatusBar",
"QStatusTipEvent",
"QString",
"QStringList",
"QStringListIterator",
"QStringListModel",
"QStringMatcher",
"QStringRef",
"QStyle",
"QStyleFactory",
"QStyleHintReturn",
"QStyleHintReturnMask",
"QStyleHintReturnVariant",
"QStyleOption",
"QStyleOptionButton",
"QStyleOptionComboBox",
"QStyleOptionComplex",
"QStyleOptionDockWidget",
"QStyleOptionFocusRect",
"QStyleOptionFrame",
"QStyleOptionGraphicsItem",
"QStyleOptionGroupBox",
"QStyleOptionHeader",
"QStyleOptionMenuItem",
"QStyleOptionProgressBar",
"QStyleOptionRubberBand",
"QStyleOptionSizeGrip",
"QStyleOptionSlider",
"QStyleOptionSpinBox",
"QStyleOptionTab",
"QStyleOptionTabBarBase",
"QStyleOptionTabWidgetFrame",
"QStyleOptionTitleBar",
"QStyleOptionToolBar",
"QStyleOptionToolBox",
"QStyleOptionToolButton",
"QStyleOptionViewItem",
"QStylePainter",
"QStylePlugin",
"QStyledItemDelegate",
"QSvgRenderer",
"QSyntaxHighlighter",
"QTabBar",
"QTabWidget",
"QTableView",
"QTableWidget",
"QTableWidgetItem",
"QTableWidgetSelectionRange",
"QTcpServer",
"QTcpSocket",
"QTemporaryFile",
"QTest",
"QTestBasicStreamer",
"QTestCoreElement",
"QTestCoreList",
"QTestData",
"QTestDelayEvent",
"QTestElement",
"QTestElementAttribute",
"QTestEvent",
"QTestEventList",
"QTestEventLoop",
"QTestFileLogger",
"QTestKeyClicksEvent",
"QTestKeyEvent",
"QTestMouseEvent",
"QTestXmlStreamer",
"QTextBlock",
"QTextBlockFormat",
"QTextBlockGroup",
"QTextBlockUserData",
"QTextBrowser",
"QTextCharFormat",
"QTextCodec",
"QTextConverter",
"QTextCursor",
"QTextDocument",
"QTextDocumentFragment",
"QTextDocumentWriter",
"QTextEdit",
"QTextFormat",
"QTextFragment",
"QTextFrame",
"QTextFrameFormat",
"QTextFrameLayoutData",
"QTextImageFormat",
"QTextInlineObject",
"QTextItem",
"QTextLayout",
"QTextLength",
"QTextLine",
"QTextList",
"QTextListFormat",
"QTextObject",
"QTextObjectInterface",
"QTextOption",
"QTextStream",
"QTextStreamFunction",
"QTextTable",
"QTextTableCell",
"QTextTableCellFormat",
"QTextTableFormat",
"QThread",
"QTileRules",
"QTime",
"QTimeEdit",
"QTimeLine",
"QTimer",
"QTimerEvent",
"QToolBar",
"QToolBox",
"QToolButton",
"QToolTip",
"QTransform",
"QTranslator",
"QTreeView",
"QTreeWidget",
"QTreeWidgetItem",
"QTreeWidgetItemIterator",
"QTypeInfo",
"QUdpSocket",
"QUiLoader",
"QUndoCommand",
"QUndoGroup",
"QUndoStack",
"QUndoView",
"QUnixPrintWidget",
"QUpdateLaterEvent",
"QUrl",
"QVBoxLayout",
"QValidator",
"QVariant",
"QVariantAnimation",
"QVariantHash",
"QVariantList",
"QVariantMap",
"QVector",
"QVector2D",
"QVector3D",
"QVector4D",
"QVectorData",
"QVectorIterator",
"QVectorTypedData",
"QWaitCondition",
"QWeakPointer",
"QWhatsThis",
"QWhatsThisClickedEvent",
"QWheelEvent",
"QWidget",
"QWidgetAction",
"QWidgetData",
"QWidgetItem",
"QWidgetList",
"QWidgetMapper",
"QWidgetSet",
"QWindowStateChangeEvent",
"QWindowsStyle",
"QWizard",
"QWizardPage",
"QX11Info",
"QXmlAttributes",
"QXmlContentHandler",
"QXmlDTDHandler",
"QXmlDeclHandler",
"QXmlDefaultHandler",
"QXmlEntityResolver",
"QXmlErrorHandler",
"QXmlInputSource",
"QXmlLexicalHandler",
"QXmlLocator",
"QXmlNamespaceSupport",
"QXmlParseException",
"QXmlReader",
"QXmlSimpleReader",
"QXmlStreamAttribute",
"QXmlStreamAttributes",
"QXmlStreamEntityDeclaration",
"QXmlStreamEntityDeclarations",
"QXmlStreamEntityResolver",
"QXmlStreamNamespaceDeclaration",
"QXmlStreamNamespaceDeclarations",
"QXmlStreamNotationDeclaration",
"QXmlStreamNotationDeclarations",
"QXmlStreamReader",
"QXmlStreamWriter",
"Q_PID",
"Qt",
"QtAlgorithms",
"QtCleanUpFunction",
"QtConfig",
"QtContainerFwd",
"QtCore",
"QtDBus",
"QtDebug",
"QtEndian",
"QtEvents",
"QtGlobal",
"QtGui",
"QtMsgHandler",
"QtNetwork",
"QtPlugin",
"QtPluginInstanceFunction",
"QtSvg",
"QtTest",
"QtTestGui",
"QtUiTools",
"QtXml",
]
regex = re.compile('((?:class|struct|template.*) (%s);)' % '|'.join(classlist))
cppfiles = []
for root, dirs, files in os.walk(os.curdir):
for f in files:
if f.endswith(('.cpp', '.cc', '.hpp', '.h')):
cppfiles.append('%s/%s' % (root, f))
for cpp in cppfiles:
cpp = os.path.realpath(cpp)
with open(cpp, 'r') as f:
cppcontent = f.read()
for match, sclass in regex.findall(cppcontent):
with open(cpp, 'w') as f:
print('replacing folrward declaration of %s with inclusion in: %s' % (sclass, cpp))
cppcontent = cppcontent.replace(match, '#include <%s>' % sclass)
f.write(cppcontent)