Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
glslastvisitor_p.h
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5
6#ifndef QSSG_GLSLASTVISITOR_H
7#define QSSG_GLSLASTVISITOR_H
8
9//
10// W A R N I N G
11// -------------
12//
13// This file is not part of the Qt API. It exists purely as an
14// implementation detail. This header file may change from version to
15// version without notice, or even be removed.
16//
17// We mean it.
18//
19
20#include <QtQuick3DGlslParser/private/glslast_p.h>
21
23
24namespace GLSL {
25
26class Q_QUICK3DGLSLPARSER_EXPORT Visitor
27{
28public:
29 Visitor();
30 virtual ~Visitor();
31
32 void accept(AST *ast);
33
34 virtual bool preVisit(AST *) { return true; }
35 virtual void postVisit(AST *) {}
36
37 virtual bool visit(TranslationUnitAST *) { return true; }
38 virtual void endVisit(TranslationUnitAST *) {}
39
40 virtual bool visit(IdentifierExpressionAST *) { return true; }
42
43 virtual bool visit(LiteralExpressionAST *) { return true; }
44 virtual void endVisit(LiteralExpressionAST *) {}
45
46 virtual bool visit(BinaryExpressionAST *) { return true; }
47 virtual void endVisit(BinaryExpressionAST *) {}
48
49 virtual bool visit(UnaryExpressionAST *) { return true; }
50 virtual void endVisit(UnaryExpressionAST *) {}
51
52 virtual bool visit(TernaryExpressionAST *) { return true; }
53 virtual void endVisit(TernaryExpressionAST *) {}
54
55 virtual bool visit(AssignmentExpressionAST *) { return true; }
57
58 virtual bool visit(MemberAccessExpressionAST *) { return true; }
60
61 virtual bool visit(FunctionCallExpressionAST *) { return true; }
63
64 virtual bool visit(FunctionIdentifierAST *) { return true; }
66
67 virtual bool visit(DeclarationExpressionAST *) { return true; }
69
70 virtual bool visit(ExpressionStatementAST *) { return true; }
72
73 virtual bool visit(CompoundStatementAST *) { return true; }
74 virtual void endVisit(CompoundStatementAST *) {}
75
76 virtual bool visit(IfStatementAST *) { return true; }
77 virtual void endVisit(IfStatementAST *) {}
78
79 virtual bool visit(WhileStatementAST *) { return true; }
80 virtual void endVisit(WhileStatementAST *) {}
81
82 virtual bool visit(DoStatementAST *) { return true; }
83 virtual void endVisit(DoStatementAST *) {}
84
85 virtual bool visit(ForStatementAST *) { return true; }
86 virtual void endVisit(ForStatementAST *) {}
87
88 virtual bool visit(JumpStatementAST *) { return true; }
89 virtual void endVisit(JumpStatementAST *) {}
90
91 virtual bool visit(ReturnStatementAST *) { return true; }
92 virtual void endVisit(ReturnStatementAST *) {}
93
94 virtual bool visit(SwitchStatementAST *) { return true; }
95 virtual void endVisit(SwitchStatementAST *) {}
96
97 virtual bool visit(CaseLabelStatementAST *) { return true; }
99
100 virtual bool visit(DeclarationStatementAST *) { return true; }
102
103 virtual bool visit(BasicTypeAST *) { return true; }
104 virtual void endVisit(BasicTypeAST *) {}
105
106 virtual bool visit(NamedTypeAST *) { return true; }
107 virtual void endVisit(NamedTypeAST *) {}
108
109 virtual bool visit(ArrayTypeAST *) { return true; }
110 virtual void endVisit(ArrayTypeAST *) {}
111
112 virtual bool visit(StructTypeAST *) { return true; }
113 virtual void endVisit(StructTypeAST *) {}
114
115 virtual bool visit(StructTypeAST::Field *) { return true; }
116 virtual void endVisit(StructTypeAST::Field *) {}
117
118 virtual bool visit(LayoutQualifierAST *) { return true; }
119 virtual void endVisit(LayoutQualifierAST *) {}
120
121 virtual bool visit(QualifiedTypeAST *) { return true; }
122 virtual void endVisit(QualifiedTypeAST *) {}
123
124 virtual bool visit(PrecisionDeclarationAST *) { return true; }
126
127 virtual bool visit(ParameterDeclarationAST *) { return true; }
129
130 virtual bool visit(VariableDeclarationAST *) { return true; }
132
133 virtual bool visit(TypeDeclarationAST *) { return true; }
134 virtual void endVisit(TypeDeclarationAST *) {}
135
136 virtual bool visit(TypeAndVariableDeclarationAST *) { return true; }
138
139 virtual bool visit(InvariantDeclarationAST *) { return true; }
141
142 virtual bool visit(InitDeclarationAST *) { return true; }
143 virtual void endVisit(InitDeclarationAST *) {}
144
145 virtual bool visit(FunctionDeclarationAST *) { return true; }
147};
148
149} // namespace GLSL
150
151QT_END_NAMESPACE
152
153#endif // QSSG_GLSLASTVISITOR_H
Combined button and popup list for selecting options.