diff options
| author | Friedemann Kleint <friedemann.kleint@qt.io> | 2023-05-10 13:50:56 +0200 |
|---|---|---|
| committer | Cristián Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2025-11-24 12:06:06 +0100 |
| commit | 845630ad239c4b37ff37e49ef5bb969a8946744b (patch) | |
| tree | 5c65f2e270511459d346c14f0ad8d01f5e6e39a0 /sources/shiboken6/ApiExtractor/clangparser/clangutils.h | |
| parent | 3cf2077a1b060bbea3419ccde23c5da6485a2e24 (diff) | |
Move the shiboken-generator source around
THIS COMMIT WAS GENERATED BY A SCRIPT
Task-number: PYSIDE-962
Task-number: PYSIDE-1587
Change-Id: I58b05c3d05606efb6303193f2d7f907a0ab5741b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/shiboken6/ApiExtractor/clangparser/clangutils.h')
| -rw-r--r-- | sources/shiboken6/ApiExtractor/clangparser/clangutils.h | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/sources/shiboken6/ApiExtractor/clangparser/clangutils.h b/sources/shiboken6/ApiExtractor/clangparser/clangutils.h deleted file mode 100644 index bb819e61f..000000000 --- a/sources/shiboken6/ApiExtractor/clangparser/clangutils.h +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright (C) 2017 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#ifndef CLANGUTILS_H -#define CLANGUTILS_H - -#include <clang-c/Index.h> -#include <QtCore/qstring.h> -#include <QtCore/qstringlist.h> -#include <QtCore/qcompare.h> -#include <QtCore/qlist.h> - -#include <functional> -#include <utility> - -QT_FORWARD_DECLARE_CLASS(QDebug) - -bool operator==(const CXCursor &c1, const CXCursor &c2) noexcept; -size_t qHash(const CXCursor &c, size_t seed = 0) noexcept; - -bool operator==(const CXType &t1, const CXType &t2) noexcept; -size_t qHash(const CXType &ct, size_t seed = 0) noexcept; - -namespace clang { - -QString getCursorKindName(CXCursorKind cursorKind); -QString getCursorSpelling(const CXCursor &cursor); -QString getCursorDisplayName(const CXCursor &cursor); -QString getTypeName(const CXType &type); -bool hasScopeResolution(const CXType &type); -CXType fullyResolveType(const CXType &type); -QString getResolvedTypeName(const CXType &type); -inline QString getCursorTypeName(const CXCursor &cursor) - { return getTypeName(clang_getCursorType(cursor)); } -inline QString getCursorResultTypeName(const CXCursor &cursor) - { return getTypeName(clang_getCursorResultType(cursor)); } - -inline bool isCursorValid(const CXCursor &c) -{ - return c.kind < CXCursor_FirstInvalid || c.kind > CXCursor_LastInvalid; -} - -QString getFileName(CXFile file); // Uncached,see BaseVisitor for a cached version - -struct SourceLocation -{ - bool equals(const SourceLocation &rhs) const; - - CXFile file = nullptr; - unsigned line = 0; - unsigned column = 0; - unsigned offset = 0; - - friend constexpr bool comparesEqual(const SourceLocation &lhs, - const SourceLocation &rhs) noexcept - { - return lhs.file == rhs.file && lhs.offset == rhs.offset; - } - Q_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE(SourceLocation) -}; - -SourceLocation getExpansionLocation(const CXSourceLocation &location); - -using SourceRange = std::pair<SourceLocation, SourceLocation>; - -SourceLocation getCursorLocation(const CXCursor &cursor); -CXString getFileNameFromLocation(const CXSourceLocation &location); -SourceRange getCursorRange(const CXCursor &cursor); - -struct Diagnostic { - enum Source : std::uint8_t { Clang, Other }; - - Diagnostic() = default; - // Clang - static Diagnostic fromCXDiagnostic(CXDiagnostic cd); - // Other - explicit Diagnostic(const QString &m, const CXCursor &c, CXDiagnosticSeverity s = CXDiagnostic_Warning); - void setLocation(const SourceLocation &); - - QString message; - QStringList childMessages; - QString file; - unsigned line = 0; - unsigned column = 0; - unsigned offset = 0; - Source source = Clang; - CXDiagnosticSeverity severity = CXDiagnostic_Warning; -}; - -QList<Diagnostic> getDiagnostics(CXTranslationUnit tu); -CXDiagnosticSeverity maxSeverity(const QList<Diagnostic> &ds); - -// Parse a template argument list "a<b<c,d>,e>" and invoke a handler -// with each match (level and string). Return begin and end of the list. -using TemplateArgumentHandler = std::function<void (int, QStringView)>; - -std::pair<qsizetype, qsizetype> - parseTemplateArgumentList(const QString &l, - const TemplateArgumentHandler &handler, - qsizetype from = 0); - -#ifndef QT_NO_DEBUG_STREAM -QDebug operator<<(QDebug, const SourceLocation &); -QDebug operator<<(QDebug, const Diagnostic &); -#endif // QT_NO_DEBUG_STREAM -} // namespace clang - -#endif // CLANGUTILS_H |
