X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/f9bf01c6616d5ddcf65b13b33cedf9e387ff7a63..14957cd040308e3eeec43d26bae5d76da13fcd85:/qt/api/qscriptengine.h?ds=sidebyside diff --git a/qt/api/qscriptengine.h b/qt/api/qscriptengine.h index cf61d35..281707f 100644 --- a/qt/api/qscriptengine.h +++ b/qt/api/qscriptengine.h @@ -20,13 +20,20 @@ #ifndef qscriptengine_h #define qscriptengine_h +#include "qscriptprogram.h" +#include "qscriptstring.h" +#include "qscriptsyntaxcheckresult.h" +#include "qscriptvalue.h" #include #include #include -class QScriptValue; +class QDateTime; class QScriptEnginePrivate; +// FIXME: Remove this once QScriptContext is properly defined. +typedef void QScriptContext; + // Internal typedef typedef QExplicitlySharedDataPointer QScriptEnginePtr; @@ -35,9 +42,37 @@ public: QScriptEngine(); ~QScriptEngine(); + static QScriptSyntaxCheckResult checkSyntax(const QString& program); QScriptValue evaluate(const QString& program, const QString& fileName = QString(), int lineNumber = 1); + QScriptValue evaluate(const QScriptProgram& program); + + bool hasUncaughtException() const; + QScriptValue uncaughtException() const; + void clearExceptions(); + int uncaughtExceptionLineNumber() const; + QStringList uncaughtExceptionBacktrace() const; + void collectGarbage(); + void reportAdditionalMemoryCost(int cost); + + QScriptString toStringHandle(const QString& str); + QScriptValue toObject(const QScriptValue& value); + + QScriptValue nullValue(); + QScriptValue undefinedValue(); + + typedef QScriptValue (*FunctionSignature)(QScriptContext *, QScriptEngine *); + typedef QScriptValue (*FunctionWithArgSignature)(QScriptContext *, QScriptEngine *, void *); + + QScriptValue newFunction(FunctionSignature fun, int length = 0); + QScriptValue newFunction(FunctionSignature fun, const QScriptValue& prototype, int length = 0); + QScriptValue newFunction(FunctionWithArgSignature fun, void* arg); + QScriptValue newObject(); + QScriptValue newArray(uint length = 0); + QScriptValue newDate(qsreal value); + QScriptValue newDate(const QDateTime& value); + QScriptValue globalObject() const; private: friend class QScriptEnginePrivate;