83 return self.subScriptElementWrapperItem(
value);
98 return self.subListItem(
value.asList(pathFromOwner));
106 for (
auto it = m_children.begin();
it != m_children.end(); ++
it) {
108 [&self, &visitor, &
it](
auto &&
e) {
return wrap(self, visitor,
it->first,
e); },
117 for (
auto it = m_children.begin();
it != m_children.end(); ++
it) {
119 e.base()->updatePathFromOwner(
p.field(
it->first));
122 list.updatePathFromOwner(
p.field(
it->first));
131 for (
auto it = m_children.begin();
it != m_children.end(); ++
it) {
144 cont &=
wrap(self, visitor, Fields::statements, m_statements);
163 cont &= self.dvValueField(visitor, Fields::identifier, m_name);
170 std::visit([&cont, &visitor,
171 &self](
auto &&
e) { cont &= self.dvValueField(visitor, Fields::value,
e); },
180 cont &=
wrap(self, visitor, Fields::condition, m_condition);
181 cont &=
wrap(self, visitor, Fields::consequence, m_consequence);
182 cont &=
wrap(self, visitor, Fields::alternative, m_alternative);
189 if (
auto ptr = m_condition.
base())
190 ptr->updatePathFromOwner(
p.field(Fields::condition));
191 if (
auto ptr = m_consequence.
base())
192 ptr->updatePathFromOwner(
p.field(Fields::consequence));
193 if (
auto ptr = m_alternative.
base())
194 ptr->updatePathFromOwner(
p.field(Fields::alternative));
200 if (
auto ptr = m_condition.
base())
201 ptr->createFileLocations(
base);
202 if (
auto ptr = m_consequence.
base())
203 ptr->createFileLocations(
base);
204 if (
auto ptr = m_alternative.
base())
205 ptr->createFileLocations(
base);
211 cont &=
wrap(self, visitor, Fields::initializer, m_initializer);
212 cont &=
wrap(self, visitor, Fields::declarations, m_declarations);
213 cont &=
wrap(self, visitor, Fields::condition, m_condition);
214 cont &=
wrap(self, visitor, Fields::expression, m_expression);
215 cont &=
wrap(self, visitor, Fields::body, m_body);
222 if (
auto ptr = m_initializer.
base())
223 ptr->updatePathFromOwner(
p.field(Fields::initializer));
224 if (
auto ptr = m_declarations.
base())
225 ptr->updatePathFromOwner(
p.field(Fields::declarations));
226 if (
auto ptr = m_condition.
base())
227 ptr->updatePathFromOwner(
p.field(Fields::condition));
228 if (
auto ptr = m_expression.
base())
229 ptr->updatePathFromOwner(
p.field(Fields::expression));
231 ptr->updatePathFromOwner(
p.field(Fields::body));
237 if (
auto ptr = m_initializer.
base())
238 ptr->createFileLocations(
base);
239 if (
auto ptr = m_declarations.
base())
240 ptr->createFileLocations(
base);
241 if (
auto ptr = m_condition.
base())
242 ptr->createFileLocations(
base);
243 if (
auto ptr = m_expression.
base())
244 ptr->createFileLocations(
base);
246 ptr->createFileLocations(
base);
252 cont &=
wrap(self, visitor, Fields::left, m_left);
253 cont &= self.dvValueField(visitor, Fields::operation, m_operator);
254 cont &=
wrap(self, visitor, Fields::right, m_right);
262 ptr->updatePathFromOwner(
p.field(Fields::left));
264 ptr->updatePathFromOwner(
p.field(Fields::right));
271 ptr->createFileLocations(
base);
273 ptr->createFileLocations(
base);
279 cont &= self.dvValueField(visitor, Fields::scopeType, m_scopeType);
280 cont &=
wrap(self, visitor, Fields::identifier, m_identifier);
281 cont &=
wrap(self, visitor, Fields::initializer, m_initializer);
288 if (
auto ptr = m_identifier.
base())
289 ptr->updatePathFromOwner(
p.field(Fields::identifier));
290 if (
auto ptr = m_initializer.
base())
291 ptr->updatePathFromOwner(
p.field(Fields::initializer));
297 if (
auto ptr = m_identifier.
base())
298 ptr->createFileLocations(
base);
299 if (
auto ptr = m_initializer.
base())
300 ptr->createFileLocations(
base);
306 cont &=
wrap(self, visitor, Fields::declarations, m_declarations);
325 cont &=
wrap(self, visitor, Fields::expression, m_expression);
332 m_expression.
base()->updatePathFromOwner(
p.field(Fields::expression));
338 m_expression.
base()->createFileLocations(
base);
343 for (
auto &
it : m_list) {
344 if (
auto current =
it.data()) {
345 if (
auto genericElement =
346 std::get_if<std::shared_ptr<ScriptElements::GenericScriptElement>>(
348 if ((*genericElement)->kind() == oldType)
349 (*genericElement)->setKind(newType);
virtual void updatePathFromOwner(Path newPath)
std::shared_ptr< AttachedInfoT< FileLocations > > Tree
Use this to contain any script element.
ScriptElement::PointerType< ScriptElement > base() const
Returns a pointer to the virtual base for virtual method calls.
void updatePathFromOwner(Path p) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void createFileLocations(FileLocations::Tree base) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void createFileLocations(FileLocations::Tree base) override
void updatePathFromOwner(Path p) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void updatePathFromOwner(Path p) override
void createFileLocations(FileLocations::Tree base) override
void createFileLocations(FileLocations::Tree base) override
void updatePathFromOwner(Path p) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void updatePathFromOwner(Path p) override
void createFileLocations(FileLocations::Tree base) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void updatePathFromOwner(Path p) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void createFileLocations(FileLocations::Tree base) override
void createFileLocations(FileLocations::Tree base) override
void replaceKindForGenericChildren(DomType oldType, DomType newType)
void updatePathFromOwner(Path p) override
void createFileLocations(FileLocations::Tree base) override
void createFileLocations(FileLocations::Tree base) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void updatePathFromOwner(Path p) override
void updatePathFromOwner(Path p) override
void createFileLocations(FileLocations::Tree base) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
QSet< QString >::iterator it
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
static ControlElement< T > * ptr(QWidget *widget)
GLboolean GLboolean GLboolean b
static bool wrap(QQmlJS::Dom::DomItem &self, QQmlJS::Dom::DirectVisitor visitor, QStringView field, const ScriptElementVariant &value)
static QT_BEGIN_NAMESPACE QAsn1Element wrap(quint8 type, const QAsn1Element &child)
A common base class for all the script elements.