aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qml/common/qv4compileddata_p.h45
-rw-r--r--src/qml/jsruntime/qv4executablecompilationunit_p.h45
2 files changed, 54 insertions, 36 deletions
diff --git a/src/qml/common/qv4compileddata_p.h b/src/qml/common/qv4compileddata_p.h
index c03a504f0e..7e768cd589 100644
--- a/src/qml/common/qv4compileddata_p.h
+++ b/src/qml/common/qv4compileddata_p.h
@@ -1651,6 +1651,51 @@ public:
bool verifyChecksum(const CompiledData::DependentTypesHasher &dependencyHasher) const;
+ enum class ListPropertyAssignBehavior { Append, Replace, ReplaceIfNotDefault };
+ ListPropertyAssignBehavior listPropertyAssignBehavior() const
+ {
+ if (unitData()->flags & CompiledData::Unit::ListPropertyAssignReplace)
+ return ListPropertyAssignBehavior::Replace;
+ if (unitData()->flags & CompiledData::Unit::ListPropertyAssignReplaceIfNotDefault)
+ return ListPropertyAssignBehavior::ReplaceIfNotDefault;
+ return ListPropertyAssignBehavior::Append;
+ }
+
+ bool ignoresFunctionSignature() const
+ {
+ return unitData()->flags & CompiledData::Unit::FunctionSignaturesIgnored;
+ }
+
+ bool nativeMethodsAcceptThisObjects() const
+ {
+ return unitData()->flags & CompiledData::Unit::NativeMethodsAcceptThisObject;
+ }
+
+ bool valueTypesAreCopied() const
+ {
+ return unitData()->flags & CompiledData::Unit::ValueTypesCopied;
+ }
+
+ bool valueTypesAreAddressable() const
+ {
+ return unitData()->flags & CompiledData::Unit::ValueTypesAddressable;
+ }
+
+ bool componentsAreBound() const
+ {
+ return unitData()->flags & CompiledData::Unit::ComponentsBound;
+ }
+
+ bool isESModule() const
+ {
+ return unitData()->flags & CompiledData::Unit::IsESModule;
+ }
+
+ bool isSharedLibrary() const
+ {
+ return unitData()->flags & CompiledData::Unit::IsSharedLibrary;
+ }
+
QQmlType qmlTypeForComponent(const QString &inlineComponentName = QString()) const;
QMetaType metaType() const { return qmlType.typeId(); }
diff --git a/src/qml/jsruntime/qv4executablecompilationunit_p.h b/src/qml/jsruntime/qv4executablecompilationunit_p.h
index 694a067c1b..b4d3e413c1 100644
--- a/src/qml/jsruntime/qv4executablecompilationunit_p.h
+++ b/src/qml/jsruntime/qv4executablecompilationunit_p.h
@@ -152,7 +152,6 @@ public:
using CompiledObject = const CompiledData::Object;
using CompiledFunction = const CompiledData::Function;
using CompiledBinding = const CompiledData::Binding;
- enum class ListPropertyAssignBehavior { Append, Replace, ReplaceIfNotDefault };
// Empty dummy. We don't need to do this when loading from cache.
class IdToObjectMap
@@ -165,39 +164,23 @@ public:
bool contains(int) { return false; }
};
+ using ListPropertyAssignBehavior = CompiledData::CompilationUnit::ListPropertyAssignBehavior;
ListPropertyAssignBehavior listPropertyAssignBehavior() const
{
- if (unitData()->flags & CompiledData::Unit::ListPropertyAssignReplace)
- return ListPropertyAssignBehavior::Replace;
- if (unitData()->flags & CompiledData::Unit::ListPropertyAssignReplaceIfNotDefault)
- return ListPropertyAssignBehavior::ReplaceIfNotDefault;
- return ListPropertyAssignBehavior::Append;
- }
-
- bool ignoresFunctionSignature() const
- {
- return unitData()->flags & CompiledData::Unit::FunctionSignaturesIgnored;
+ return m_compilationUnit->listPropertyAssignBehavior();
}
bool nativeMethodsAcceptThisObjects() const
{
- return unitData()->flags & CompiledData::Unit::NativeMethodsAcceptThisObject;
+ return m_compilationUnit->nativeMethodsAcceptThisObjects();
}
- bool valueTypesAreCopied() const
- {
- return unitData()->flags & CompiledData::Unit::ValueTypesCopied;
- }
-
- bool valueTypesAreAddressable() const
- {
- return unitData()->flags & CompiledData::Unit::ValueTypesAddressable;
- }
-
- bool componentsAreBound() const
- {
- return unitData()->flags & CompiledData::Unit::ComponentsBound;
- }
+ bool ignoresFunctionSignature() const { return m_compilationUnit->ignoresFunctionSignature(); }
+ bool valueTypesAreCopied() const { return m_compilationUnit->valueTypesAreCopied(); }
+ bool valueTypesAreAddressable() const { return m_compilationUnit->valueTypesAreAddressable(); }
+ bool componentsAreBound() const { return m_compilationUnit->componentsAreBound(); }
+ bool isESModule() const { return m_compilationUnit->isESModule(); }
+ bool isSharedLibrary() const { return m_compilationUnit->isSharedLibrary(); }
int objectCount() const { return qmlData()->nObjects; }
const CompiledObject *objectAt(int index) const
@@ -241,16 +224,6 @@ public:
return FunctionIterator(unitData(), object, object->nFunctions);
}
- bool isESModule() const
- {
- return unitData()->flags & CompiledData::Unit::IsESModule;
- }
-
- bool isSharedLibrary() const
- {
- return unitData()->flags & CompiledData::Unit::IsSharedLibrary;
- }
-
Heap::Module *instantiate();
const Value *resolveExport(QV4::String *exportName)
{