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); },
111 for (
auto it = m_values.begin();
it != m_values.end(); ++
it) {
112 cont &= self.dvValueField(visitor,
it->first,
it->second);
119 BaseT::updatePathFromOwner(
p);
120 for (
auto it = m_children.begin();
it != m_children.end(); ++
it) {
122 e.base()->updatePathFromOwner(
p.field(
it->first));
125 list.updatePathFromOwner(
p.field(
it->first));
133 BaseT::createFileLocations(
base);
134 for (
auto it = m_children.begin();
it != m_children.end(); ++
it) {
147 cont &=
wrap(self, visitor, Fields::statements, m_statements);
153 BaseT::updatePathFromOwner(
p);
159 BaseT::createFileLocations(
base);
166 cont &= self.dvValueField(visitor, Fields::identifier, m_name);
173 std::visit([&cont, &visitor,
174 &self](
auto &&e) { cont &= self.dvValueField(visitor, Fields::value, e); },
183 cont &=
wrap(self, visitor, Fields::condition, m_condition);
184 cont &=
wrap(self, visitor, Fields::consequence, m_consequence);
185 cont &=
wrap(self, visitor, Fields::alternative, m_alternative);
191 BaseT::updatePathFromOwner(
p);
192 if (
auto ptr = m_condition.
base())
193 ptr->updatePathFromOwner(
p.field(Fields::condition));
194 if (
auto ptr = m_consequence.
base())
195 ptr->updatePathFromOwner(
p.field(Fields::consequence));
196 if (
auto ptr = m_alternative.
base())
197 ptr->updatePathFromOwner(
p.field(Fields::alternative));
202 BaseT::createFileLocations(
base);
203 if (
auto ptr = m_condition.
base())
204 ptr->createFileLocations(
base);
205 if (
auto ptr = m_consequence.
base())
206 ptr->createFileLocations(
base);
207 if (
auto ptr = m_alternative.
base())
208 ptr->createFileLocations(
base);
214 cont &=
wrap(self, visitor, Fields::initializer, m_initializer);
215 cont &=
wrap(self, visitor, Fields::declarations, m_declarations);
216 cont &=
wrap(self, visitor, Fields::condition, m_condition);
217 cont &=
wrap(self, visitor, Fields::expression, m_expression);
218 cont &=
wrap(self, visitor, Fields::body, m_body);
224 BaseT::updatePathFromOwner(
p);
225 if (
auto ptr = m_initializer.
base())
226 ptr->updatePathFromOwner(
p.field(Fields::initializer));
227 if (
auto ptr = m_declarations.
base())
228 ptr->updatePathFromOwner(
p.field(Fields::declarations));
229 if (
auto ptr = m_condition.
base())
230 ptr->updatePathFromOwner(
p.field(Fields::condition));
231 if (
auto ptr = m_expression.
base())
232 ptr->updatePathFromOwner(
p.field(Fields::expression));
234 ptr->updatePathFromOwner(
p.field(Fields::body));
239 BaseT::createFileLocations(
base);
240 if (
auto ptr = m_initializer.
base())
241 ptr->createFileLocations(
base);
242 if (
auto ptr = m_declarations.
base())
243 ptr->createFileLocations(
base);
244 if (
auto ptr = m_condition.
base())
245 ptr->createFileLocations(
base);
246 if (
auto ptr = m_expression.
base())
247 ptr->createFileLocations(
base);
249 ptr->createFileLocations(
base);
255 cont &=
wrap(self, visitor, Fields::left, m_left);
256 cont &= self.dvValueField(visitor, Fields::operation, m_operator);
257 cont &=
wrap(self, visitor, Fields::right, m_right);
263 BaseT::updatePathFromOwner(
p);
265 ptr->updatePathFromOwner(
p.field(Fields::left));
267 ptr->updatePathFromOwner(
p.field(Fields::right));
272 BaseT::createFileLocations(
base);
274 ptr->createFileLocations(
base);
276 ptr->createFileLocations(
base);
282 cont &= self.dvValueField(visitor, Fields::scopeType, m_scopeType);
283 cont &=
wrap(self, visitor, Fields::identifier, m_identifier);
284 cont &=
wrap(self, visitor, Fields::initializer, m_initializer);
290 BaseT::updatePathFromOwner(
p);
291 if (
auto ptr = m_identifier.
base())
292 ptr->updatePathFromOwner(
p.field(Fields::identifier));
293 if (
auto ptr = m_initializer.
base())
294 ptr->updatePathFromOwner(
p.field(Fields::initializer));
299 BaseT::createFileLocations(
base);
300 if (
auto ptr = m_identifier.
base())
301 ptr->createFileLocations(
base);
302 if (
auto ptr = m_initializer.
base())
303 ptr->createFileLocations(
base);
309 cont &=
wrap(self, visitor, Fields::declarations, m_declarations);
315 BaseT::updatePathFromOwner(
p);
321 BaseT::createFileLocations(
base);
328 cont &=
wrap(self, visitor, Fields::expression, m_expression);
334 BaseT::updatePathFromOwner(
p);
335 if (
auto ptr = m_expression.
base())
336 ptr->updatePathFromOwner(
p.field(Fields::expression));
341 BaseT::createFileLocations(
base);
342 if (
auto ptr = m_expression.
base())
343 ptr->createFileLocations(
base);
348 for (
auto &
it : m_list) {
349 if (
auto current =
it.data()) {
350 if (
auto genericElement =
351 std::get_if<std::shared_ptr<ScriptElements::GenericScriptElement>>(
353 if ((*genericElement)->kind() == oldType)
354 (*genericElement)->setKind(newType);
std::shared_ptr< AttachedInfoT< FileLocations > > Tree
Use this to contain any script element.
ScriptElement::PointerType< ScriptElement > base() const
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor visitor) const override
void updatePathFromOwner(const Path &p) override
void createFileLocations(const FileLocations::Tree &base) override
void createFileLocations(const FileLocations::Tree &base) override
void updatePathFromOwner(const Path &p) override
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor visitor) const override
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor visitor) const override
void createFileLocations(const FileLocations::Tree &base) override
void updatePathFromOwner(const Path &p) override
void createFileLocations(const FileLocations::Tree &base) override
void updatePathFromOwner(const Path &p) override
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor visitor) const override
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor visitor) const override
void createFileLocations(const FileLocations::Tree &base) override
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor visitor) const override
void updatePathFromOwner(const Path &p) override
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor visitor) const override
void createFileLocations(const FileLocations::Tree &base) override
void updatePathFromOwner(const Path &p) override
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor visitor) const override
void createFileLocations(const FileLocations::Tree &base) override
void replaceKindForGenericChildren(DomType oldType, DomType newType)
void updatePathFromOwner(const Path &p) override
void createFileLocations(const FileLocations::Tree &base) override
void updatePathFromOwner(const Path &p) override
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor visitor) const override
void createFileLocations(const FileLocations::Tree &base) override
void updatePathFromOwner(const Path &p) override
bool iterateDirectSubpaths(const DomItem &self, DirectVisitor visitor) const override
QSet< QString >::iterator it
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
static ControlElement< T > * ptr(QWidget *widget)
GLboolean GLboolean GLboolean b
static bool wrap(const 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.