mirror of
https://github.com/lubosz/overte.git
synced 2025-04-08 09:43:01 +02:00
changes in response to build log on other compilers
This commit is contained in:
parent
8581022a53
commit
23776abce3
8 changed files with 125 additions and 115 deletions
|
@ -36,6 +36,13 @@ using ScriptProgramPointer = QSharedPointer<ScriptProgram>;
|
|||
|
||||
Q_DECLARE_METATYPE(ScriptEnginePointer);
|
||||
|
||||
template <typename T>
|
||||
inline ScriptValue scriptValueFromValue(ScriptEngine* engine, const T& t);
|
||||
|
||||
template <typename T>
|
||||
inline T scriptvalue_cast(const ScriptValue& value);
|
||||
|
||||
|
||||
/// [ScriptInterface] Provides an engine-independent interface for QScriptEngine
|
||||
class ScriptEngine {
|
||||
public:
|
||||
|
|
|
@ -41,7 +41,7 @@ inline ScriptValue scriptValueFromValue<QVariant>(ScriptEngine* engine, const QV
|
|||
}
|
||||
|
||||
template <typename T>
|
||||
T scriptvalue_cast(const ScriptValue& value) {
|
||||
inline T scriptvalue_cast(const ScriptValue& value) {
|
||||
T t;
|
||||
const int id = qMetaTypeId<T>();
|
||||
|
||||
|
|
|
@ -89,10 +89,10 @@ public:
|
|||
inline void setProperty(quint32 arrayIndex,
|
||||
const ScriptValue& value,
|
||||
const PropertyFlags& flags = KeepExistingFlags);
|
||||
template <typename TYP>
|
||||
template <typename TYP, class ScriptEnginePointer = ScriptEnginePointer>
|
||||
inline void setProperty(const QString& name, const TYP& value,
|
||||
const PropertyFlags& flags = KeepExistingFlags);
|
||||
template <typename TYP>
|
||||
template <typename TYP, class ScriptEnginePointer = ScriptEnginePointer>
|
||||
inline void setProperty(quint32 arrayIndex, const TYP& value,
|
||||
const PropertyFlags& flags = KeepExistingFlags);
|
||||
inline void setPrototype(const ScriptValue& prototype);
|
||||
|
@ -165,14 +165,16 @@ public:
|
|||
virtual QObject* toQObject() const = 0;
|
||||
};
|
||||
|
||||
template <typename TYP>
|
||||
// the second template parameter is used to defer evaluation of calls to the engine until ScriptEngine isn't forward-declared
|
||||
template <typename TYP, class ScriptEnginePointer>
|
||||
void ScriptValue::setProperty(const QString& name, const TYP& value, const PropertyFlags& flags) {
|
||||
setProperty(name, engine()->newValue(value), flags);
|
||||
setProperty(name, static_cast<const ScriptEnginePointer&>(engine())->newValue(value), flags);
|
||||
}
|
||||
|
||||
template <typename TYP>
|
||||
// the second template parameter is used to defer evaluation of calls to the engine until ScriptEngine isn't forward-declared
|
||||
template <typename TYP, class ScriptEnginePointer>
|
||||
void ScriptValue::setProperty(quint32 arrayIndex, const TYP& value, const PropertyFlags& flags) {
|
||||
setProperty(arrayIndex, engine()->newValue(value), flags);
|
||||
setProperty(arrayIndex, static_cast<const ScriptEnginePointer&>(engine())->newValue(value), flags);
|
||||
}
|
||||
|
||||
ScriptValue::ScriptValue(const ScriptValue& src) : _proxy(src.ptr()->copy()) {
|
||||
|
|
|
@ -32,16 +32,16 @@ public: // construction
|
|||
inline QScriptContext* toQtValue() const { return _context; }
|
||||
|
||||
public: // ScriptContext implementation
|
||||
virtual int argumentCount() const;
|
||||
virtual ScriptValue argument(int index) const;
|
||||
virtual QStringList backtrace() const;
|
||||
virtual ScriptValue callee() const;
|
||||
virtual ScriptEnginePointer engine() const;
|
||||
virtual ScriptFunctionContextPointer functionContext() const;
|
||||
virtual ScriptContextPointer parentContext() const;
|
||||
virtual ScriptValue thisObject() const;
|
||||
virtual ScriptValue throwError(const QString& text);
|
||||
virtual ScriptValue throwValue(const ScriptValue& value);
|
||||
virtual int argumentCount() const override;
|
||||
virtual ScriptValue argument(int index) const override;
|
||||
virtual QStringList backtrace() const override;
|
||||
virtual ScriptValue callee() const override;
|
||||
virtual ScriptEnginePointer engine() const override;
|
||||
virtual ScriptFunctionContextPointer functionContext() const override;
|
||||
virtual ScriptContextPointer parentContext() const override;
|
||||
virtual ScriptValue thisObject() const override;
|
||||
virtual ScriptValue throwError(const QString& text) override;
|
||||
virtual ScriptValue throwValue(const ScriptValue& value) override;
|
||||
|
||||
private: // storage
|
||||
QScriptContext* _context;
|
||||
|
@ -53,10 +53,10 @@ public: // construction
|
|||
inline ScriptFunctionContextQtWrapper(QScriptContext* context) : _value(context) {}
|
||||
|
||||
public: // ScriptFunctionContext implementation
|
||||
virtual QString fileName() const;
|
||||
virtual QString functionName() const;
|
||||
virtual FunctionType functionType() const;
|
||||
virtual int lineNumber() const;
|
||||
virtual QString fileName() const override;
|
||||
virtual QString functionName() const override;
|
||||
virtual FunctionType functionType() const override;
|
||||
virtual int lineNumber() const override;
|
||||
|
||||
private: // storage
|
||||
QScriptContextInfo _value;
|
||||
|
|
|
@ -45,55 +45,55 @@ class ScriptEngineQtScript : public QScriptEngine, public ScriptEngine, public Q
|
|||
Q_OBJECT
|
||||
|
||||
public: // ScriptEngine implementation
|
||||
virtual void abortEvaluation();
|
||||
virtual void clearExceptions();
|
||||
virtual ScriptValue cloneUncaughtException(const QString& detail = QString());
|
||||
virtual ScriptContext* currentContext() const;
|
||||
//virtual ScriptValue evaluate(const QString& program, const QString& fileName = QString());
|
||||
//virtual ScriptValue evaluate(const ScriptProgramPointer &program);
|
||||
//virtual ScriptValue evaluateInClosure(const ScriptValue& locals, const ScriptProgramPointer& program);
|
||||
virtual ScriptValue globalObject() const;
|
||||
virtual bool hasUncaughtException() const;
|
||||
virtual bool isEvaluating() const;
|
||||
virtual ScriptValue lintScript(const QString& sourceCode, const QString& fileName, const int lineNumber = 1);
|
||||
virtual ScriptValue makeError(const ScriptValue& other, const QString& type = "Error");
|
||||
virtual ScriptManager* manager() const;
|
||||
virtual void abortEvaluation() override;
|
||||
virtual void clearExceptions() override;
|
||||
virtual ScriptValue cloneUncaughtException(const QString& detail = QString()) override;
|
||||
virtual ScriptContext* currentContext() const override;
|
||||
//virtual ScriptValue evaluate(const QString& program, const QString& fileName = QString()) override;
|
||||
//virtual ScriptValue evaluate(const ScriptProgramPointer &program) override;
|
||||
//virtual ScriptValue evaluateInClosure(const ScriptValue& locals, const ScriptProgramPointer& program) override;
|
||||
virtual ScriptValue globalObject() const override;
|
||||
virtual bool hasUncaughtException() const override;
|
||||
virtual bool isEvaluating() const override;
|
||||
virtual ScriptValue lintScript(const QString& sourceCode, const QString& fileName, const int lineNumber = 1) override;
|
||||
virtual ScriptValue makeError(const ScriptValue& other, const QString& type = "Error") override;
|
||||
virtual ScriptManager* manager() const override;
|
||||
|
||||
// if there is a pending exception and we are at the top level (non-recursive) stack frame, this emits and resets it
|
||||
virtual bool maybeEmitUncaughtException(const QString& debugHint = QString());
|
||||
virtual bool maybeEmitUncaughtException(const QString& debugHint = QString()) override;
|
||||
|
||||
virtual ScriptValue newArray(uint length = 0);
|
||||
virtual ScriptValue newArrayBuffer(const QByteArray& message);
|
||||
virtual ScriptValue newFunction(ScriptEngine::FunctionSignature fun, int length = 0);
|
||||
virtual ScriptValue newObject();
|
||||
virtual ScriptProgramPointer newProgram(const QString& sourceCode, const QString& fileName);
|
||||
virtual ScriptValue newArray(uint length = 0) override;
|
||||
virtual ScriptValue newArrayBuffer(const QByteArray& message) override;
|
||||
virtual ScriptValue newFunction(ScriptEngine::FunctionSignature fun, int length = 0) override;
|
||||
virtual ScriptValue newObject() override;
|
||||
virtual ScriptProgramPointer newProgram(const QString& sourceCode, const QString& fileName) override;
|
||||
virtual ScriptValue newQObject(QObject *object, ScriptEngine::ValueOwnership ownership = ScriptEngine::QtOwnership,
|
||||
const ScriptEngine::QObjectWrapOptions &options = ScriptEngine::QObjectWrapOptions());
|
||||
virtual ScriptValue newValue(bool value);
|
||||
virtual ScriptValue newValue(int value);
|
||||
virtual ScriptValue newValue(uint value);
|
||||
virtual ScriptValue newValue(double value);
|
||||
virtual ScriptValue newValue(const QString& value);
|
||||
virtual ScriptValue newValue(const QLatin1String& value);
|
||||
virtual ScriptValue newValue(const char* value);
|
||||
virtual ScriptValue newVariant(const QVariant& value);
|
||||
virtual ScriptValue nullValue();
|
||||
virtual bool raiseException(const ScriptValue& exception);
|
||||
//virtual void registerEnum(const QString& enumName, QMetaEnum newEnum);
|
||||
//Q_INVOKABLE virtual void registerFunction(const QString& name, ScriptEngine::FunctionSignature fun, int numArguments = -1);
|
||||
//Q_INVOKABLE virtual void registerFunction(const QString& parent, const QString& name, ScriptEngine::FunctionSignature fun, int numArguments = -1);
|
||||
//Q_INVOKABLE virtual void registerGetterSetter(const QString& name, ScriptEngine::FunctionSignature getter, ScriptEngine::FunctionSignature setter, const QString& parent = QString(""));
|
||||
//virtual void registerGlobalObject(const QString& name, QObject* object);
|
||||
virtual void setDefaultPrototype(int metaTypeId, const ScriptValue& prototype);
|
||||
virtual void setObjectName(const QString& name);
|
||||
virtual bool setProperty(const char* name, const QVariant& value);
|
||||
virtual void setProcessEventsInterval(int interval);
|
||||
virtual QThread* thread() const;
|
||||
virtual void setThread(QThread* thread);
|
||||
virtual ScriptValue undefinedValue();
|
||||
virtual ScriptValue uncaughtException() const;
|
||||
virtual QStringList uncaughtExceptionBacktrace() const;
|
||||
virtual int uncaughtExceptionLineNumber() const;
|
||||
const ScriptEngine::QObjectWrapOptions& options = ScriptEngine::QObjectWrapOptions()) override;
|
||||
virtual ScriptValue newValue(bool value) override;
|
||||
virtual ScriptValue newValue(int value) override;
|
||||
virtual ScriptValue newValue(uint value) override;
|
||||
virtual ScriptValue newValue(double value) override;
|
||||
virtual ScriptValue newValue(const QString& value) override;
|
||||
virtual ScriptValue newValue(const QLatin1String& value) override;
|
||||
virtual ScriptValue newValue(const char* value) override;
|
||||
virtual ScriptValue newVariant(const QVariant& value) override;
|
||||
virtual ScriptValue nullValue() override;
|
||||
virtual bool raiseException(const ScriptValue& exception) override;
|
||||
//virtual void registerEnum(const QString& enumName, QMetaEnum newEnum) override;
|
||||
//Q_INVOKABLE virtual void registerFunction(const QString& name, ScriptEngine::FunctionSignature fun, int numArguments = -1) override;
|
||||
//Q_INVOKABLE virtual void registerFunction(const QString& parent, const QString& name, ScriptEngine::FunctionSignature fun, int numArguments = -1) override;
|
||||
//Q_INVOKABLE virtual void registerGetterSetter(const QString& name, ScriptEngine::FunctionSignature getter, ScriptEngine::FunctionSignature setter, const QString& parent = QString("")) override;
|
||||
//virtual void registerGlobalObject(const QString& name, QObject* object) override;
|
||||
virtual void setDefaultPrototype(int metaTypeId, const ScriptValue& prototype) override;
|
||||
virtual void setObjectName(const QString& name) override;
|
||||
virtual bool setProperty(const char* name, const QVariant& value) override;
|
||||
virtual void setProcessEventsInterval(int interval) override;
|
||||
virtual QThread* thread() const override;
|
||||
virtual void setThread(QThread* thread) override;
|
||||
virtual ScriptValue undefinedValue() override;
|
||||
virtual ScriptValue uncaughtException() const override;
|
||||
virtual QStringList uncaughtExceptionBacktrace() const override;
|
||||
virtual int uncaughtExceptionLineNumber() const override;
|
||||
|
||||
// helper to detect and log warnings when other code invokes QScriptEngine/BaseScriptEngine in thread-unsafe ways
|
||||
inline bool IS_THREADSAFE_INVOCATION(const QString& method) { return ScriptEngine::IS_THREADSAFE_INVOCATION(method); }
|
||||
|
|
|
@ -32,9 +32,9 @@ public: // construction
|
|||
inline const QScriptProgram& toQtValue() const { return _value; }
|
||||
|
||||
public: // ScriptProgram implementation
|
||||
virtual ScriptSyntaxCheckResultPointer checkSyntax() const;
|
||||
virtual QString fileName() const;
|
||||
virtual QString sourceCode() const;
|
||||
virtual ScriptSyntaxCheckResultPointer checkSyntax() const override;
|
||||
virtual QString fileName() const override;
|
||||
virtual QString sourceCode() const override;
|
||||
|
||||
private: // storage
|
||||
QPointer<ScriptEngineQtScript> _engine;
|
||||
|
@ -47,10 +47,10 @@ public: // construction
|
|||
_value(std::move(value)) {}
|
||||
|
||||
public: // ScriptSyntaxCheckResult implementation
|
||||
virtual int errorColumnNumber() const;
|
||||
virtual int errorLineNumber() const;
|
||||
virtual QString errorMessage() const;
|
||||
virtual State state() const;
|
||||
virtual int errorColumnNumber() const override;
|
||||
virtual int errorLineNumber() const override;
|
||||
virtual QString errorMessage() const override;
|
||||
virtual State state() const override;
|
||||
|
||||
private: // storage
|
||||
QScriptSyntaxCheckResult _value;
|
||||
|
|
|
@ -31,11 +31,11 @@ public: // construction
|
|||
_engine(engine), _value(object) {}
|
||||
|
||||
public: // ScriptValueIterator implementation
|
||||
virtual ScriptValue::PropertyFlags flags() const;
|
||||
virtual bool hasNext() const;
|
||||
virtual QString name() const;
|
||||
virtual void next();
|
||||
virtual ScriptValue value() const;
|
||||
virtual ScriptValue::PropertyFlags flags() const override;
|
||||
virtual bool hasNext() const override;
|
||||
virtual QString name() const override;
|
||||
virtual void next() override;
|
||||
virtual ScriptValue value() const override;
|
||||
|
||||
private: // storage
|
||||
QPointer<ScriptEngineQtScript> _engine;
|
||||
|
|
|
@ -35,52 +35,53 @@ public: // construction
|
|||
static QScriptValue fullUnwrap(ScriptEngineQtScript* engine, const ScriptValue& value);
|
||||
|
||||
public:
|
||||
virtual void release();
|
||||
virtual ScriptValueProxy* copy() const;
|
||||
virtual void release() override;
|
||||
virtual ScriptValueProxy* copy() const override;
|
||||
|
||||
public: // ScriptValue implementation
|
||||
virtual ScriptValue call(const ScriptValue& thisObject = ScriptValue(), const ScriptValueList& args = ScriptValueList());
|
||||
virtual ScriptValue call(const ScriptValue& thisObject, const ScriptValue& arguments);
|
||||
virtual ScriptValue construct(const ScriptValueList& args = ScriptValueList());
|
||||
virtual ScriptValue construct(const ScriptValue& arguments);
|
||||
virtual ScriptValue data() const;
|
||||
virtual ScriptEnginePointer engine() const;
|
||||
virtual ScriptValueIteratorPointer newIterator() const;
|
||||
virtual ScriptValue call(const ScriptValue& thisObject = ScriptValue(),
|
||||
const ScriptValueList& args = ScriptValueList()) override;
|
||||
virtual ScriptValue call(const ScriptValue& thisObject, const ScriptValue& arguments) override;
|
||||
virtual ScriptValue construct(const ScriptValueList& args = ScriptValueList()) override;
|
||||
virtual ScriptValue construct(const ScriptValue& arguments) override;
|
||||
virtual ScriptValue data() const override;
|
||||
virtual ScriptEnginePointer engine() const override;
|
||||
virtual ScriptValueIteratorPointer newIterator() const override;
|
||||
virtual ScriptValue property(const QString& name,
|
||||
const ScriptValue::ResolveFlags& mode = ScriptValue::ResolvePrototype) const;
|
||||
const ScriptValue::ResolveFlags& mode = ScriptValue::ResolvePrototype) const override;
|
||||
virtual ScriptValue property(quint32 arrayIndex,
|
||||
const ScriptValue::ResolveFlags& mode = ScriptValue::ResolvePrototype) const;
|
||||
virtual void setData(const ScriptValue& val);
|
||||
const ScriptValue::ResolveFlags& mode = ScriptValue::ResolvePrototype) const override;
|
||||
virtual void setData(const ScriptValue& val) override;
|
||||
virtual void setProperty(const QString& name,
|
||||
const ScriptValue& value,
|
||||
const ScriptValue::PropertyFlags& flags = ScriptValue::KeepExistingFlags);
|
||||
const ScriptValue::PropertyFlags& flags = ScriptValue::KeepExistingFlags) override;
|
||||
virtual void setProperty(quint32 arrayIndex,
|
||||
const ScriptValue& value,
|
||||
const ScriptValue::PropertyFlags& flags = ScriptValue::KeepExistingFlags);
|
||||
virtual void setPrototype(const ScriptValue& prototype);
|
||||
virtual bool strictlyEquals(const ScriptValue& other) const;
|
||||
const ScriptValue::PropertyFlags& flags = ScriptValue::KeepExistingFlags) override;
|
||||
virtual void setPrototype(const ScriptValue& prototype) override;
|
||||
virtual bool strictlyEquals(const ScriptValue& other) const override;
|
||||
|
||||
virtual bool equals(const ScriptValue& other) const;
|
||||
virtual bool isArray() const;
|
||||
virtual bool isBool() const;
|
||||
virtual bool isError() const;
|
||||
virtual bool isFunction() const;
|
||||
virtual bool isNumber() const;
|
||||
virtual bool isNull() const;
|
||||
virtual bool isObject() const;
|
||||
virtual bool isString() const;
|
||||
virtual bool isUndefined() const;
|
||||
virtual bool isValid() const;
|
||||
virtual bool isVariant() const;
|
||||
virtual bool toBool() const;
|
||||
virtual qint32 toInt32() const;
|
||||
virtual double toInteger() const;
|
||||
virtual double toNumber() const;
|
||||
virtual QString toString() const;
|
||||
virtual quint16 toUInt16() const;
|
||||
virtual quint32 toUInt32() const;
|
||||
virtual QVariant toVariant() const;
|
||||
virtual QObject* toQObject() const;
|
||||
virtual bool equals(const ScriptValue& other) const override;
|
||||
virtual bool isArray() const override;
|
||||
virtual bool isBool() const override;
|
||||
virtual bool isError() const override;
|
||||
virtual bool isFunction() const override;
|
||||
virtual bool isNumber() const override;
|
||||
virtual bool isNull() const override;
|
||||
virtual bool isObject() const override;
|
||||
virtual bool isString() const override;
|
||||
virtual bool isUndefined() const override;
|
||||
virtual bool isValid() const override;
|
||||
virtual bool isVariant() const override;
|
||||
virtual bool toBool() const override;
|
||||
virtual qint32 toInt32() const override;
|
||||
virtual double toInteger() const override;
|
||||
virtual double toNumber() const override;
|
||||
virtual QString toString() const override;
|
||||
virtual quint16 toUInt16() const override;
|
||||
virtual quint32 toUInt32() const override;
|
||||
virtual QVariant toVariant() const override;
|
||||
virtual QObject* toQObject() const override;
|
||||
|
||||
private: // helper functions
|
||||
QScriptValue fullUnwrap(const ScriptValue& value) const;
|
||||
|
|
Loading…
Reference in a new issue