38 QmlDocVisitor(
const QString &filePath,
const QString &code, QQmlJS::Engine *engine,
39 const QSet<QString> &commands,
const QSet<QString> &topics);
42 bool visit(QQmlJS::AST::UiImport *import)
override;
43 void endVisit(QQmlJS::AST::UiImport *definition)
override;
45 bool visit(QQmlJS::AST::UiObjectDefinition *definition)
override;
46 void endVisit(QQmlJS::AST::UiObjectDefinition *definition)
override;
48 bool visit(QQmlJS::AST::UiPublicMember *member)
override;
49 void endVisit(QQmlJS::AST::UiPublicMember *definition)
override;
51 bool visit(QQmlJS::AST::UiObjectBinding *)
override;
52 void endVisit(QQmlJS::AST::UiObjectBinding *)
override;
53 void endVisit(QQmlJS::AST::UiArrayBinding *)
override;
54 bool visit(QQmlJS::AST::UiArrayBinding *)
override;
56 bool visit(QQmlJS::AST::IdentifierPropertyName *idproperty)
override;
58 bool visit(QQmlJS::AST::FunctionDeclaration *)
override;
59 void endVisit(QQmlJS::AST::FunctionDeclaration *)
override;
61 bool visit(QQmlJS::AST::UiScriptBinding *)
override;
62 void endVisit(QQmlJS::AST::UiScriptBinding *)
override;
64 bool visit(QQmlJS::AST::UiQualifiedId *)
override;
65 void endVisit(QQmlJS::AST::UiQualifiedId *)
override;
71 QString getFullyQualifiedId(QQmlJS::AST::UiQualifiedId *id);
72 [[
nodiscard]] QQmlJS::SourceLocation precedingComment(quint32 offset)
const;
73 Node *applyDocumentation(QQmlJS::SourceLocation location,
Node *node);
74 void applyMetacommands(QQmlJS::SourceLocation location,
Node *node,
Doc &doc);
75 bool splitQmlPropertyArg(
const Doc &doc,
const QString &arg,
QmlPropArgs &qpa);
77 QQmlJS::Engine *m_engine {
nullptr };
78 quint32 m_lastEndOffset {};
79 quint32 m_nestingLevel {};
80 QString m_filePath {};
82 QString m_document {};
84 QSet<QString> m_commands {};
85 QSet<QString> m_topics {};
86 QSet<quint32> m_usedComments {};
88 bool hasRecursionDepthError {
false };
void parseSourceFile(const Location &location, const QString &filePath, CppCodeParser &) override
Parses the source file at filePath and inserts the contents into the database.
QmlDocVisitor(const QString &filePath, const QString &code, QQmlJS::Engine *engine, const QSet< QString > &commands, const QSet< QString > &topics)
The constructor stores all the parameters in local data members.