Qt 6.x
The Qt SDK
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
parser.h
Go to the documentation of this file.
1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef PARSER_H
5#define PARSER_H
6
7#include <qiodevice.h>
8#include <qlist.h>
9#include <qbytearray.h>
10
12{
16};
17
18struct Point
19{
22};
23
24struct Replace
25{
28};
29
31{
34 int line;
35};
36
37struct Parser
38{
39 Parser(const QString &provider)
40 : m_provider(provider)
41 {
42
43 }
44
46 {
48 }
49 QString resolveInclude(const QString &filename);
50 void addIncludesRecursive(const QString &filename, QStringList &includes);
52
58 int lineNumber(qsizetype offset) const;
59
60 void parse(QIODevice &input, const QString &name);
61 void write(QIODevice &input) const;
62 bool isEmpty() const
63 {
64 return m_functions.isEmpty() && m_points.isEmpty();
65 }
66
75};
76
77#endif // PARSER_H
QList< IncludePath > includes
Definition parser.h:30
QList< QString > m_metadata
Definition parser.h:71
int lineNumber(qsizetype offset) const
Definition parser.cpp:131
void addIncludesRecursive(const QString &filename, QStringList &includes)
Definition parser.cpp:491
void parseParamReplace(const QString &data, qsizetype offset, const QString &name)
Definition parser.cpp:142
void parse(QIODevice &input, const QString &name)
Definition parser.cpp:536
QList< QString > m_includeDirs
Definition parser.h:73
void parseMetadata(const QString &data, qsizetype offset, const QStringList &includes)
Definition parser.cpp:367
bool isEmpty() const
Definition parser.h:62
QList< Replace > m_replaces
Definition parser.h:69
void parsePrefix(const QString &data, qsizetype offset)
Definition parser.cpp:219
Parser(const QString &provider)
Definition parser.h:39
void write(QIODevice &input) const
Definition parser.cpp:592
QList< QString > m_prefixes
Definition parser.h:70
QString m_provider
Definition parser.h:74
QString resolveInclude(const QString &filename)
Definition parser.cpp:478
void addIncludeDirs(const QStringList &list)
Definition parser.h:45
QStringList findEnumValues(const QString &name, const QStringList &includes)
Definition parser.cpp:237
void parseInstrument(const QString &data, qsizetype offset)
Definition parser.cpp:159
QList< Point > m_points
Definition parser.h:68
void parsePoint(const QString &data, qsizetype offset)
Definition parser.cpp:192
QList< Function > m_functions
Definition parser.h:67
QList< LineNumber > m_offsets
Definition parser.h:72
\inmodule QtCore \reentrant
Definition qiodevice.h:34
Definition qlist.h:74
bool isEmpty() const noexcept
Definition qlist.h:390
void append(parameter_type t)
Definition qlist.h:441
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum GLuint GLintptr offset
GLuint name
GLenum GLenum GLenum input
ptrdiff_t qsizetype
Definition qtypes.h:70
QList< int > list
[14]
QString functionParameters
Definition parser.h:15
QString className
Definition parser.h:13
QString functionName
Definition parser.h:14
int line
Definition parser.h:34
qsizetype end
Definition parser.h:33
qsizetype begin
Definition parser.h:32
Definition parser.h:19
QString name
Definition parser.h:20
QString parameters
Definition parser.h:21
QString out
Definition parser.h:27
QString in
Definition parser.h:26