4#ifndef QQMLDOMSCRIPTELEMENTS_P_H
5#define QQMLDOMSCRIPTELEMENTS_P_H
32namespace ScriptElements {
106 for (
int i = 0;
i < m_list.size(); ++
i) {
108 m_list[
i].base()->updatePathFromOwner(
p.index(
i));
115 for (
int i = 0;
i < m_list.size(); ++
i) {
117 m_list[
i].base()->createFileLocations(
base);
123 auto asList = List::fromQList<ScriptElementVariant>(
126 ->
DomItem {
return list.subScriptElementWrapperItem(wrapped); });
133 void reverse() { std::reverse(m_list.begin(), m_list.end()); }
145 using VariantT = std::variant<ScriptElementVariant, ScriptList>;
156 return m_children.insert(std::make_pair(
name,
v));
166 std::map<QQmlJS::Dom::FieldType, VariantT> m_children;
208 using VariantT = std::variant<QString, double, bool, std::nullptr_t>;
218 return std::visit([](
auto &&
e) ->
QCborValue {
return e; }, m_value);
239 m_initializer = newInitializer;
245 m_declarations = newDeclaration;
322 int op()
const {
return m_operator; }
\inmodule QtCore\reentrant
virtual void updatePathFromOwner(Path newPath)
Path pathFromOwner() const
static void addRegion(Tree fLoc, QString locName, SourceLocation loc)
static Tree ensure(Tree base, Path basePath, AttachedInfo::PathType pType=AttachedInfo::PathType::Relative)
std::shared_ptr< AttachedInfoT< FileLocations > > Tree
bool iterateDirectSubpaths(DomItem &self, DirectVisitor) override
Use this to contain any script element.
void setLeft(const ScriptElementVariant &newLeft)
ScriptElementVariant left() const
ScriptElementVariant right() const
void updatePathFromOwner(Path p) override
void setRight(const ScriptElementVariant &newRight)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void createFileLocations(FileLocations::Tree base) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void setStatements(const ScriptList &statements)
ScriptList statements() const
void createFileLocations(FileLocations::Tree base) override
void updatePathFromOwner(Path p) override
void setInitializer(const ScriptElementVariant &newInitializer)
void setExpression(const ScriptElementVariant &newExpression)
void setCondition(const ScriptElementVariant &newCondition)
ScriptElementVariant body() const
ScriptElementVariant condition() const
ScriptElementVariant initializer() const
ScriptElementVariant declarations() const
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void setDeclarations(const ScriptElementVariant &newDeclaration)
ScriptElementVariant expression() const
void updatePathFromOwner(Path p) override
void setBody(const ScriptElementVariant &newBody)
void createFileLocations(FileLocations::Tree base) override
void createFileLocations(FileLocations::Tree base) override
void setKind(DomType kind)
std::variant< ScriptElementVariant, ScriptList > VariantT
void updatePathFromOwner(Path p) override
DomType kind() const override
decltype(auto) insertChild(QStringView name, VariantT v)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
QCborValue value() const override
void setName(QStringView name)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
ScriptElementVariant condition() const
void setCondition(const ScriptElementVariant &condition)
void setConsequence(const ScriptElementVariant &consequence)
ScriptElementVariant consequence()
void setAlternative(const ScriptElementVariant &alternative)
ScriptElementVariant alternative()
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void updatePathFromOwner(Path p) override
void createFileLocations(FileLocations::Tree base) override
std::variant< QString, double, bool, std::nullptr_t > VariantT
VariantT literalValue() const
void setLiteralValue(VariantT value)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
QCborValue value() const override
ScriptElementVariant expression() const
void updatePathFromOwner(Path p) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void setExpression(ScriptElementVariant expression)
void createFileLocations(FileLocations::Tree base) override
ScriptElementBase(QQmlJS::SourceLocation combinedLocation=QQmlJS::SourceLocation{})
void createFileLocations(FileLocations::Tree base) override
DomType kind() const override
QQmlJS::SourceLocation m_combinedLocation
All of the following overloads are only required for optimization purposes.
DomKind domKind() const override
static constexpr DomType kindValue
static constexpr DomKind domKindValue
ScriptElementBase(QQmlJS::SourceLocation first, QQmlJS::SourceLocation last)
void replaceKindForGenericChildren(DomType oldType, DomType newType)
void append(const ScriptElementVariant &statement)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void append(const ScriptList &list)
List asList(Path path) const
void updatePathFromOwner(Path p) override
void createFileLocations(FileLocations::Tree base) override
const QList< ScriptElementVariant > & qList()
ScopeType scopeType() const
void setIdentifier(const ScriptElementVariant &identifier)
ScriptElementVariant initializer() const
void createFileLocations(FileLocations::Tree base) override
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
void setInitializer(const ScriptElementVariant &initializer)
void updatePathFromOwner(Path p) override
ScriptElementVariant identifier() const
void setScopeType(ScopeType scopeType)
ScriptList declarations()
void updatePathFromOwner(Path p) override
void createFileLocations(FileLocations::Tree base) override
void setDeclarations(const ScriptList &list)
bool iterateDirectSubpaths(DomItem &self, DirectVisitor visitor) override
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLsizei const GLfloat * v
[13]
GLsizei const GLchar *const * path
A common base class for all the script elements.