Commit graph

331 commits

Author SHA1 Message Date
Dale Glass
8d6270392d Make ScriptEngine a QObject instead of the derived class
Fix signal -- only needs to be in ScriptEngine
2023-05-19 00:17:39 +02:00
Dale Glass
67e7a7375a Further exception work on V8
* Get rid of maybeEmitUncaughtException
* Mostly get rid of makeError
* Introduce exception hierarchy, change exceptions to shared_ptr
* Simplify exception throwing code
2023-05-19 00:17:39 +02:00
Dale Glass
c0e62c5cc2 Initial exception handling
Make exception handling use the new ScriptException class.
Add exception signal
Throw exceptions in script evaluation
Remove references to ScriptManager from ScriptEngine
2023-05-19 00:17:39 +02:00
ae7d229d0e Fix copyright headers 2023-05-19 00:17:38 +02:00
Dale Glass
a13723990e More Doxygen for ScriptEngine 2023-05-19 00:17:38 +02:00
Dale Glass
e35aa8046d Add more Doxygen docs
Doesn't work right in ScriptManager, looks like a conflict with JSDoc
2023-05-19 00:17:38 +02:00
5809576577 Fixed Create App 2023-05-19 00:17:37 +02:00
89f29ce5ca Safer demarshal functions with no void pointers 2023-05-19 00:17:37 +02:00
044cd506a6 Script engine thread safety improvements 2023-05-19 00:17:37 +02:00
5f2c13da52 Added debug function to list object members 2023-05-19 00:17:36 +02:00
ed968e1ebd Further work on evaluateInClosure 2023-05-19 00:17:36 +02:00
70d4a43009 Fixed evaluateInClosure and other V8 stuff 2023-05-19 00:17:36 +02:00
827ddf5958 Added simple compile test function 2023-05-19 00:17:36 +02:00
a4c6930a50 Added context scopes 2023-05-19 00:17:36 +02:00
b4d21c38c3 Updated script isolation files 2023-05-19 00:17:36 +02:00
Heather Anderson
bc6eaf25dc first pass creating Qt <-> QtScript interface 2023-05-19 00:17:34 +02:00
Heather Anderson
bd04554150 changes from code review suggestions 2023-05-19 00:17:34 +02:00
Heather Anderson
70fbe76341 convert script engine variables from QSharedPointer to std::shared_ptr 2023-05-19 00:17:34 +02:00
Heather Anderson
bd4a035ffb significant cleanup of ScriptEngineQtScript (which isn't exposed to the scripting engine and shouldn't be @jsdoc'ed) 2023-05-19 00:17:34 +02:00
Heather Anderson
227e899189 more code review using github compiler runs 2023-05-19 00:17:34 +02:00
Heather Anderson
23776abce3 changes in response to build log on other compilers 2023-05-19 00:17:34 +02:00
Heather Anderson
8581022a53 rework ScriptValue to act like a stack variable rather than a pointer 2023-05-19 00:17:34 +02:00
Heather Anderson
f209c5124d early smoketesting 2023-05-19 00:17:34 +02:00
Heather Anderson
665ea521e8 shifting classes around and adding static initializers to resolve dependencies on scripting-engine (and drop dependencies from scripting-engine) 2023-05-19 00:17:33 +02:00
Heather Anderson
1f4f458942 adding basic script-engine documentation 2023-05-19 00:17:33 +02:00
Heather Anderson
2dd9d784a9 working to clean up the QtScript implementation and move towards completion of the proxy interface 2023-05-19 00:17:33 +02:00
Heather Anderson
1e018dbc64 isolate calls to the QtScript libraries to an interface we control 2023-05-19 00:17:33 +02:00
9b6d202a21 Rebranding and fixing URLs 2022-09-08 22:10:13 +02:00
c6f1e6410e Updated some URLs, rebranded documentation and changed default metaverse server address 2022-02-09 23:57:24 +01:00
Heather Anderson
ab4d70760e review and cleanup of "#include <QtCore/QSharedPointer>" 2021-09-10 21:40:54 -07:00
David Rowe
89c527f0d8 Update Doxygen group tags to use /// format 2021-07-01 15:59:58 +12:00
Kalila
40f81e4866
Merge pull request #1223 from odysseus654/pr/scripting-docs
Ensuring minimal documentation for classes declared in script-engine
2021-06-29 19:09:26 -04:00
Kalila L
90aaa85089 Update user docs links "docs.vircadia.dev" -> "docs.vircadia.com". 2021-06-21 12:01:37 -04:00
Kalila
d8a0d13812
Merge pull request #1206 from odysseus654/pr/drop-script-debugging
drop remaining references to QScriptEngineDebugger
2021-06-03 18:01:40 -04:00
Heather Anderson
259cd20b87 Ensuring minimal documentation for classes declared in script-engine 2021-05-29 22:50:39 -07:00
David Rowe
4d11d1d515 Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
Heather Anderson
04f8ccd2b0 drop remaining references to QScriptEngineDebugger 2021-05-08 20:31:03 -07:00
Kalila L
3ed98d0f3e Add "ScriptGatekeeper" class and "PRELOADED_SCRIPT_WHITELIST" variable. 2021-03-08 02:00:34 -05:00
HifiExperiments
b6744588f4 loading fix 2020-11-16 21:25:25 -08:00
Kalila L
05ad300894 CR. 2020-10-11 00:50:41 -04:00
kasenvr
ca80d79991
Merge branch 'master' into fix/update-api-docs 2020-10-02 15:33:28 -04:00
kasenvr
c975d1acec
Update libraries/script-engine/src/ScriptEngine.h
Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2020-10-02 15:32:05 -04:00
Dale Glass
1d58ac4d79 Sanitize the URL further by removing leading slashes and any duplicated ones 2020-09-23 23:33:22 +02:00
Dale Glass
b243d382fc Fix warning due to multiline comment 2020-09-23 22:34:01 +02:00
David Rowe
c6ba42b7d6 Fix calculating external resource paths 2020-09-23 22:15:13 +12:00
David Rowe
ba7242f4dc Script.getExternalPath() and related JSDoc 2020-09-23 17:23:40 +12:00
kasenvr
88fc213644
Apply suggestions from code review
Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2020-09-19 23:53:04 -04:00
David Rowe
2c84478dc1 Register metatype 2020-09-20 01:29:32 +02:00
Dale Glass
89aa89e9d3 Review fixes (non-working)
Trouble with:

> Script.getExternalPath(Script.ExternalPaths.Assets, "hi")

[UncaughtException evaluate] Error: cannot call getExternalPath(): argument 1 has unknown type `ExternalResource::Bucket' (register the type with qScriptRegisterMetaType()) in about:console:1 [Backtrace] <global>() at about:console:1
TypeError: cannot call getExternalPath(): argument 1 has unknown type `ExternalResource::Bucket' (register the type with qScriptRegisterMetaType())
2020-09-20 01:29:32 +02:00
Dale Glass
cd901f9e32 Move enum into ExternalResources namespace 2020-09-20 01:29:32 +02:00