History

Add hasProperty for checking whether a property exists

Dale Glass committed 3 years ago

Commit ac7ebe21 parent 5f2c13d6 files · +47 −5Browse files

Showing the changes to libraries/script-engine/src/ScriptValue.cpp (1 of 6 files). Show all

Unified · Split

libraries/script-engine/src/ScriptValue.cpp+8−0
@@ -44,6 +44,7 @@ public: · 43 unmodified lines
44 virtual ScriptValue property(quint32 arrayIndex,44 virtual ScriptValue property(quint32 arrayIndex,
45 const ScriptValue::ResolveFlags& mode = ScriptValue::ResolvePrototype) const override;45 const ScriptValue::ResolveFlags& mode = ScriptValue::ResolvePrototype) const override;
46 virtual void setData(const ScriptValue& val) override;46 virtual void setData(const ScriptValue& val) override;
47 virtual bool hasProperty(const QString &name) const override;
47 virtual void setProperty(const QString& name,48 virtual void setProperty(const QString& name,
48 const ScriptValue& value,49 const ScriptValue& value,
49 const ScriptValue::PropertyFlags& flags = ScriptValue::KeepExistingFlags) override;50 const ScriptValue::PropertyFlags& flags = ScriptValue::KeepExistingFlags) override;
@@ -178,6 +179,13 @@ void ScriptValueProxyNull::setData(const ScriptValue& val) { · 128 unmodified lines
178 qCWarning(scriptengine_script, "ScriptValue::setData called on empty value");179 qCWarning(scriptengine_script, "ScriptValue::setData called on empty value");
179}180}
180 181
182bool ScriptValueProxyNull::hasProperty(const QString& name) const {
183 Q_ASSERT(false);
184 qCWarning(scriptengine_script, "ScriptValue::hasProperty called on empty value");
185 return false;
186}
187
188
181void ScriptValueProxyNull::setProperty(const QString& name,189void ScriptValueProxyNull::setProperty(const QString& name,
182 const ScriptValue& value, const ScriptValue::PropertyFlags& flags) {190 const ScriptValue& value, const ScriptValue::PropertyFlags& flags) {
183 Q_ASSERT(false);191 Q_ASSERT(false);