History

rework ScriptValue to act like a stack variable rather than a pointer

Heather Anderson committed 5 years ago

Commit 85810221 parent f209c51170 files · +2837 −2594Browse files

Showing the changes to libraries/script-engine/src/qtscript/ScriptEngineQtScript.h (1 of 170 files). Show all

Unified · Split

libraries/script-engine/src/qtscript/ScriptEngineQtScript.h+33−33
@@ -47,51 +47,51 @@ class ScriptEngineQtScript : public QScriptEngine, public ScriptEngine, public Q · 46 unmodified lines
4747 public: // ScriptEngine implementation
4848 virtual void abortEvaluation();
4949 virtual void clearExceptions();
50− virtual ScriptValuePointer cloneUncaughtException(const QString& detail = QString());
50+ virtual ScriptValue cloneUncaughtException(const QString& detail = QString());
5151 virtual ScriptContext* currentContext() const;
52− //virtual ScriptValuePointer evaluate(const QString& program, const QString& fileName = QString());
53− //virtual ScriptValuePointer evaluate(const ScriptProgramPointer &program);
54− //virtual ScriptValuePointer evaluateInClosure(const ScriptValuePointer& locals, const ScriptProgramPointer& program);
55− virtual ScriptValuePointer globalObject() const;
52+ //virtual ScriptValue evaluate(const QString& program, const QString& fileName = QString());
53+ //virtual ScriptValue evaluate(const ScriptProgramPointer &program);
54+ //virtual ScriptValue evaluateInClosure(const ScriptValue& locals, const ScriptProgramPointer& program);
55+ virtual ScriptValue globalObject() const;
5656 virtual bool hasUncaughtException() const;
5757 virtual bool isEvaluating() const;
58− virtual ScriptValuePointer lintScript(const QString& sourceCode, const QString& fileName, const int lineNumber = 1);
59− virtual ScriptValuePointer makeError(const ScriptValuePointer& other, const QString& type = "Error");
58+ virtual ScriptValue lintScript(const QString& sourceCode, const QString& fileName, const int lineNumber = 1);
59+ virtual ScriptValue makeError(const ScriptValue& other, const QString& type = "Error");
6060 virtual ScriptManager* manager() const;
6161
6262 // if there is a pending exception and we are at the top level (non-recursive) stack frame, this emits and resets it
6363 virtual bool maybeEmitUncaughtException(const QString& debugHint = QString());
6464
65− virtual ScriptValuePointer newArray(uint length = 0);
66− virtual ScriptValuePointer newArrayBuffer(const QByteArray& message);
67− virtual ScriptValuePointer newFunction(ScriptEngine::FunctionSignature fun, int length = 0);
68− virtual ScriptValuePointer newObject();
65+ virtual ScriptValue newArray(uint length = 0);
66+ virtual ScriptValue newArrayBuffer(const QByteArray& message);
67+ virtual ScriptValue newFunction(ScriptEngine::FunctionSignature fun, int length = 0);
68+ virtual ScriptValue newObject();
6969 virtual ScriptProgramPointer newProgram(const QString& sourceCode, const QString& fileName);
70− virtual ScriptValuePointer newQObject(QObject *object, ScriptEngine::ValueOwnership ownership = ScriptEngine::QtOwnership,
70+ virtual ScriptValue newQObject(QObject *object, ScriptEngine::ValueOwnership ownership = ScriptEngine::QtOwnership,
7171 const ScriptEngine::QObjectWrapOptions &options = ScriptEngine::QObjectWrapOptions());
72− virtual ScriptValuePointer newValue(bool value);
73− virtual ScriptValuePointer newValue(int value);
74− virtual ScriptValuePointer newValue(uint value);
75− virtual ScriptValuePointer newValue(double value);
76− virtual ScriptValuePointer newValue(const QString& value);
77− virtual ScriptValuePointer newValue(const QLatin1String& value);
78− virtual ScriptValuePointer newValue(const char* value);
79− virtual ScriptValuePointer newVariant(const QVariant& value);
80− virtual ScriptValuePointer nullValue();
81− virtual bool raiseException(const ScriptValuePointer& exception);
72+ virtual ScriptValue newValue(bool value);
73+ virtual ScriptValue newValue(int value);
74+ virtual ScriptValue newValue(uint value);
75+ virtual ScriptValue newValue(double value);
76+ virtual ScriptValue newValue(const QString& value);
77+ virtual ScriptValue newValue(const QLatin1String& value);
78+ virtual ScriptValue newValue(const char* value);
79+ virtual ScriptValue newVariant(const QVariant& value);
80+ virtual ScriptValue nullValue();
81+ virtual bool raiseException(const ScriptValue& exception);
8282 //virtual void registerEnum(const QString& enumName, QMetaEnum newEnum);
8383 //Q_INVOKABLE virtual void registerFunction(const QString& name, ScriptEngine::FunctionSignature fun, int numArguments = -1);
8484 //Q_INVOKABLE virtual void registerFunction(const QString& parent, const QString& name, ScriptEngine::FunctionSignature fun, int numArguments = -1);
8585 //Q_INVOKABLE virtual void registerGetterSetter(const QString& name, ScriptEngine::FunctionSignature getter, ScriptEngine::FunctionSignature setter, const QString& parent = QString(""));
8686 //virtual void registerGlobalObject(const QString& name, QObject* object);
87− virtual void setDefaultPrototype(int metaTypeId, const ScriptValuePointer& prototype);
87+ virtual void setDefaultPrototype(int metaTypeId, const ScriptValue& prototype);
8888 virtual void setObjectName(const QString& name);
8989 virtual bool setProperty(const char* name, const QVariant& value);
9090 virtual void setProcessEventsInterval(int interval);
9191 virtual QThread* thread() const;
9292 virtual void setThread(QThread* thread);
93− virtual ScriptValuePointer undefinedValue();
94− virtual ScriptValuePointer uncaughtException() const;
93+ virtual ScriptValue undefinedValue();
94+ virtual ScriptValue uncaughtException() const;
9595 virtual QStringList uncaughtExceptionBacktrace() const;
9696 virtual int uncaughtExceptionLineNumber() const;
9797
@@ -203,10 +203,10 @@ public: · 105 unmodified lines
203203 * @deprecated This function is deprecated and will be removed.
204204 */
205205 /// evaluate some code in the context of the ScriptEngineQtScript and return the result
206− Q_INVOKABLE virtual ScriptValuePointer evaluate(const QString& program, const QString& fileName); // this is also used by the script tool widget
206+ Q_INVOKABLE virtual ScriptValue evaluate(const QString& program, const QString& fileName); // this is also used by the script tool widget
207207
208208
209− Q_INVOKABLE virtual ScriptValuePointer evaluate(const ScriptProgramPointer& program);
209+ Q_INVOKABLE virtual ScriptValue evaluate(const ScriptProgramPointer& program);
210210
211211 /**jsdoc
212212 * @function Script.evaluateInClosure
@@ -215,7 +215,7 @@ public: · 2 unmodified lines
215215 * @returns {object} Object.
216216 * @deprecated This function is deprecated and will be removed.
217217 */
218− Q_INVOKABLE virtual ScriptValuePointer evaluateInClosure(const ScriptValuePointer& locals, const ScriptProgramPointer& program);
218+ Q_INVOKABLE virtual ScriptValue evaluateInClosure(const ScriptValue& locals, const ScriptProgramPointer& program);
219219
220220 /**jsdoc
221221 * Checks whether the application was compiled as a debug build.
@@ -381,10 +381,10 @@ signals: · 159 unmodified lines
381381 void entityScriptDetailsUpdated();
382382
383383 public: // not for public use, but I don't like how Qt strings this along with private friend functions
384− virtual ScriptValuePointer create(int type, const void* ptr);
385− virtual bool convert(const ScriptValuePointer& value, int type, void* ptr);
384+ virtual ScriptValue create(int type, const void* ptr);
385+ virtual bool convert(const ScriptValue& value, int type, void* ptr);
386386 virtual void registerCustomType(int type, ScriptEngine::MarshalFunction marshalFunc,
387− ScriptEngine::DemarshalFunction demarshalFunc, const ScriptValuePointer& prototype);
387+ ScriptEngine::DemarshalFunction demarshalFunc, const ScriptValue& prototype);
388388
389389 protected:
390390 // like `newFunction`, but allows mapping inline C++ lambdas with captures as callable QScriptValues
@@ -408,8 +408,8 @@ protected: · 17 unmodified lines
408408 QPointer<ScriptManager> _manager;
409409
410410 int _nextCustomType = 0;
411− ScriptValuePointer _nullValue;
412− ScriptValuePointer _undefinedValue;
411+ ScriptValue _nullValue;
412+ ScriptValue _undefinedValue;
413413 mutable ScriptContextQtPointer _currContext;
414414
415415 std::atomic<bool> _isRunning { false };

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t