aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorMaximilian Goldstein <max.goldstein@qt.io>2021-03-16 10:17:18 +0100
committerMaximilian Goldstein <max.goldstein@qt.io>2021-03-19 14:57:46 +0100
commit5851195c4f8ea56d4641b5f1b68c7b79c4eca0fd (patch)
treedd10604e423a3349c79c43d22405d4fa9c2a09b7 /src/imports
parent6ddb78735b943b0563315140c6717d523bca2f76 (diff)
Add qmltypes for JavaScript root object
This change adds jsroot.qmltypes which represents QJSEngine's global / root object and a tool to generate it (qmlsjrootgen). If you wish to regenerate jsroot.qmltypes run the following commands: qmljsrootgen jsroot.json qmltyperegistrar jsroot.json --generate-qmltypes src/imports/builtins/jsroot.qmltypes --import-name QJSEngine --major-version 1 --minor-version 0 Fixes: QTBUG-90807 Change-Id: I5ba0a048586d2dd945009d65c2b51be8ead85feb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/builtins/CMakeLists.txt4
-rw-r--r--src/imports/builtins/jsroot.qmltypes881
-rw-r--r--src/imports/tooling/Method.qml1
3 files changed, 884 insertions, 2 deletions
diff --git a/src/imports/builtins/CMakeLists.txt b/src/imports/builtins/CMakeLists.txt
index 40f1948144..b41e38d128 100644
--- a/src/imports/builtins/CMakeLists.txt
+++ b/src/imports/builtins/CMakeLists.txt
@@ -2,10 +2,10 @@
# special case begin
-set(qml_type_file builtins.qmltypes)
+set(qml_type_files builtins.qmltypes jsroot.qmltypes)
qt_path_join(qml_install_dir "${QT_INSTALL_DIR}" "${INSTALL_QMLDIR}")
-qt_copy_or_install(FILES ${qml_type_file}
+qt_copy_or_install(FILES ${qml_type_files}
DESTINATION ${qml_install_dir}
)
diff --git a/src/imports/builtins/jsroot.qmltypes b/src/imports/builtins/jsroot.qmltypes
new file mode 100644
index 0000000000..0f68ac280f
--- /dev/null
+++ b/src/imports/builtins/jsroot.qmltypes
@@ -0,0 +1,881 @@
+import QtQuick.tooling 1.2
+
+// This file describes the plugin-supplied types contained in the library.
+// It is used for QML tooling purposes only.
+//
+// This file was auto-generated by qmltyperegistrar.
+
+Module {
+ Component {
+ name: "ArrayBuffer"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "index" }
+ Property { name: "input" }
+ Property { name: "length" }
+ }
+ Component {
+ name: "ArrayObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "index" }
+ Property { name: "input" }
+ Property { name: "length"; type: "number" }
+ }
+ Component {
+ name: "Atomics"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Method {
+ name: "add"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "and"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "compareExchange"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "exchange"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "isLockFree"
+ Parameter {}
+ }
+ Method {
+ name: "load"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "or"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "store"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "sub"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "wait"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "wake"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "xor"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ }
+ Component {
+ name: "BooleanObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "index" }
+ Property { name: "input" }
+ Property { name: "length" }
+ }
+ Component {
+ name: "ConsoleObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Method { name: "assert" }
+ Method { name: "count" }
+ Method { name: "debug" }
+ Method { name: "error" }
+ Method { name: "exception" }
+ Method { name: "info" }
+ Method { name: "log" }
+ Method { name: "profile" }
+ Method { name: "profileEnd" }
+ Method { name: "time" }
+ Method { name: "timeEnd" }
+ Method { name: "trace" }
+ Method { name: "warn" }
+ }
+ Component {
+ name: "DateObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "index" }
+ Property { name: "input" }
+ Property { name: "length" }
+ }
+ Component {
+ name: "ErrorObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "fileName" }
+ Property { name: "lineNumber" }
+ Property { name: "message"; type: "string" }
+ Property { name: "stack"; type: "string" }
+ Property { name: "stack"; type: "string" }
+ }
+ Component {
+ name: "GlobalObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ exports: ["QJSEngine/GlobalObject 1.0"]
+ exportMetaObjectRevisions: [256]
+ Property { name: "Atomics"; type: "Atomics" }
+ Property { name: "Infinity"; type: "number"; isReadonly: true }
+ Property { name: "JSON"; type: "JsonObject" }
+ Property { name: "Math"; type: "MathObject" }
+ Property { name: "NaN"; type: "number"; isReadonly: true }
+ Property { name: "Qt"; type: "QtObject" }
+ Property { name: "Reflect"; type: "Reflect" }
+ Property { name: "console"; type: "ConsoleObject" }
+ Property { name: "undefined"; type: "undefined"; isReadonly: true }
+ Method {
+ name: "Array"
+ type: "ArrayObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "ArrayBuffer"
+ type: "ArrayBuffer"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "Boolean"
+ type: "BooleanObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "DataView"
+ type: "ErrorObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "Date"
+ type: "DateObject"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "Error"
+ type: "ErrorObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "EvalError"
+ type: "ErrorObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "Float32Array"
+ type: "TypedArray"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "Float64Array"
+ type: "TypedArray"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "Function"
+ type: "ScriptFunction"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "Int16Array"
+ type: "TypedArray"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "Int32Array"
+ type: "TypedArray"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "Int8Array"
+ type: "TypedArray"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method { name: "Map"; type: "MapObject"; isConstructor: true }
+ Method {
+ name: "Number"
+ type: "NumberObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "Object"
+ type: "Object"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "Promise"
+ type: "ErrorObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "Proxy"
+ type: "ErrorObject"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ }
+ Method { name: "QT_TRANSLATE_NOOP" }
+ Method { name: "QT_TRID_NOOP" }
+ Method { name: "QT_TR_NOOP" }
+ Method {
+ name: "RangeError"
+ type: "ErrorObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "ReferenceError"
+ type: "ErrorObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "RegExp"
+ type: "RegExpObject"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ }
+ Method { name: "Set"; type: "SetObject"; isConstructor: true }
+ Method {
+ name: "SharedArrayBuffer"
+ type: "SharedArrayBuffer"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "String"
+ type: "StringObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method { name: "Symbol"; type: "ErrorObject"; isConstructor: true }
+ Method {
+ name: "SyntaxError"
+ type: "ErrorObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "TypeError"
+ type: "ErrorObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "URIError"
+ type: "ErrorObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method { name: "URL"; type: "ErrorObject"; isConstructor: true }
+ Method { name: "URLSearchParams"; type: "UrlSearchParamsObject"; isConstructor: true }
+ Method {
+ name: "Uint16Array"
+ type: "TypedArray"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "Uint32Array"
+ type: "TypedArray"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "Uint8Array"
+ type: "TypedArray"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "Uint8ClampedArray"
+ type: "TypedArray"
+ isConstructor: true
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method { name: "WeakMap"; type: "MapObject"; isConstructor: true }
+ Method { name: "WeakSet"; type: "SetObject"; isConstructor: true }
+ Method {
+ name: "decodeURI"
+ Parameter {}
+ }
+ Method {
+ name: "decodeURIComponent"
+ Parameter {}
+ }
+ Method {
+ name: "encodeURI"
+ Parameter {}
+ }
+ Method {
+ name: "encodeURIComponent"
+ Parameter {}
+ }
+ Method {
+ name: "escape"
+ Parameter {}
+ }
+ Method {
+ name: "eval"
+ Parameter {}
+ }
+ Method { name: "gc" }
+ Method {
+ name: "isFinite"
+ Parameter {}
+ }
+ Method {
+ name: "isNaN"
+ Parameter {}
+ }
+ Method {
+ name: "parseFloat"
+ Parameter {}
+ }
+ Method {
+ name: "parseInt"
+ Parameter {}
+ Parameter {}
+ }
+ Method { name: "print" }
+ Method { name: "qsTr" }
+ Method { name: "qsTrId" }
+ Method { name: "qsTranslate" }
+ Method {
+ name: "unescape"
+ Parameter {}
+ }
+ }
+ Component {
+ name: "JsonObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Method {
+ name: "parse"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "stringify"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ }
+ Component {
+ name: "MapObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "index" }
+ Property { name: "input" }
+ Property { name: "length" }
+ }
+ Component {
+ name: "MathObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "E"; type: "number"; isReadonly: true }
+ Property { name: "LN10"; type: "number"; isReadonly: true }
+ Property { name: "LN2"; type: "number"; isReadonly: true }
+ Property { name: "LOG10E"; type: "number"; isReadonly: true }
+ Property { name: "LOG2E"; type: "number"; isReadonly: true }
+ Property { name: "PI"; type: "number"; isReadonly: true }
+ Property { name: "SQRT1_2"; type: "number"; isReadonly: true }
+ Property { name: "SQRT2"; type: "number"; isReadonly: true }
+ Method {
+ name: "abs"
+ Parameter {}
+ }
+ Method {
+ name: "acos"
+ Parameter {}
+ }
+ Method {
+ name: "acosh"
+ Parameter {}
+ }
+ Method {
+ name: "asin"
+ Parameter {}
+ }
+ Method {
+ name: "asinh"
+ Parameter {}
+ }
+ Method {
+ name: "atan"
+ Parameter {}
+ }
+ Method {
+ name: "atan2"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "atanh"
+ Parameter {}
+ }
+ Method {
+ name: "cbrt"
+ Parameter {}
+ }
+ Method {
+ name: "ceil"
+ Parameter {}
+ }
+ Method {
+ name: "clz32"
+ Parameter {}
+ }
+ Method {
+ name: "cos"
+ Parameter {}
+ }
+ Method {
+ name: "cosh"
+ Parameter {}
+ }
+ Method {
+ name: "exp"
+ Parameter {}
+ }
+ Method {
+ name: "expm1"
+ Parameter {}
+ }
+ Method {
+ name: "floor"
+ Parameter {}
+ }
+ Method {
+ name: "fround"
+ Parameter {}
+ }
+ Method {
+ name: "hypot"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "imul"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "log"
+ Parameter {}
+ }
+ Method {
+ name: "log10"
+ Parameter {}
+ }
+ Method {
+ name: "log1p"
+ Parameter {}
+ }
+ Method {
+ name: "log2"
+ Parameter {}
+ }
+ Method {
+ name: "max"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "min"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "pow"
+ Parameter {}
+ Parameter {}
+ }
+ Method { name: "random" }
+ Method {
+ name: "round"
+ Parameter {}
+ }
+ Method {
+ name: "sign"
+ Parameter {}
+ }
+ Method {
+ name: "sin"
+ Parameter {}
+ }
+ Method {
+ name: "sinh"
+ Parameter {}
+ }
+ Method {
+ name: "sqrt"
+ Parameter {}
+ }
+ Method {
+ name: "tan"
+ Parameter {}
+ }
+ Method {
+ name: "tanh"
+ Parameter {}
+ }
+ Method {
+ name: "trunc"
+ Parameter {}
+ }
+ }
+ Component {
+ name: "NumberObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "index" }
+ Property { name: "input" }
+ Property { name: "length" }
+ }
+ Component {
+ name: "Object"
+ accessSemantics: "reference"
+ Property { name: "__proto__"; type: "undefined" }
+ Property { name: "__proto__"; type: "undefined" }
+ Property { name: "length"; type: "number"; isReadonly: true }
+ Property { name: "name"; type: "string"; isReadonly: true }
+ Property { name: "prototype"; type: "Object"; isReadonly: true }
+ Method {
+ name: "__defineGetter__"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "__defineSetter__"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "assign"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "constructor"
+ type: "Object"
+ isConstructor: true
+ Parameter {}
+ }
+ Method {
+ name: "create"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "defineProperties"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "defineProperty"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "entries"
+ Parameter {}
+ }
+ Method {
+ name: "freeze"
+ Parameter {}
+ }
+ Method {
+ name: "getOwnPropertyDescriptor"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "getOwnPropertyDescriptors"
+ Parameter {}
+ }
+ Method {
+ name: "getOwnPropertyNames"
+ Parameter {}
+ }
+ Method {
+ name: "getOwnPropertySymbols"
+ Parameter {}
+ }
+ Method {
+ name: "getPrototypeOf"
+ Parameter {}
+ }
+ Method {
+ name: "hasOwnProperty"
+ Parameter {}
+ }
+ Method {
+ name: "is"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "isExtensible"
+ Parameter {}
+ }
+ Method {
+ name: "isFrozen"
+ Parameter {}
+ }
+ Method {
+ name: "isPrototypeOf"
+ Parameter {}
+ }
+ Method {
+ name: "isSealed"
+ Parameter {}
+ }
+ Method {
+ name: "keys"
+ Parameter {}
+ }
+ Method {
+ name: "preventExtensions"
+ Parameter {}
+ }
+ Method {
+ name: "propertyIsEnumerable"
+ Parameter {}
+ }
+ Method {
+ name: "seal"
+ Parameter {}
+ }
+ Method {
+ name: "setPrototypeOf"
+ Parameter {}
+ Parameter {}
+ }
+ Method { name: "toLocaleString" }
+ Method { name: "toString" }
+ Method { name: "valueOf" }
+ Method {
+ name: "values"
+ Parameter {}
+ }
+ }
+ Component {
+ name: "Reflect"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Method {
+ name: "apply"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "construct"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "defineProperty"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "deleteProperty"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "get"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "getOwnPropertyDescriptor"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "getPrototypeOf"
+ Parameter {}
+ }
+ Method {
+ name: "has"
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "isExtensible"
+ Parameter {}
+ }
+ Method {
+ name: "ownKeys"
+ Parameter {}
+ }
+ Method {
+ name: "preventExtensions"
+ Parameter {}
+ }
+ Method {
+ name: "set"
+ Parameter {}
+ Parameter {}
+ Parameter {}
+ }
+ Method {
+ name: "setPrototypeOf"
+ Parameter {}
+ Parameter {}
+ }
+ }
+ Component {
+ name: "RegExpObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "lastIndex"; type: "number" }
+ }
+ Component {
+ name: "ScriptFunction"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "length"; type: "number"; isReadonly: true }
+ Property { name: "name"; type: "string"; isReadonly: true }
+ Property { name: "prototype"; type: "Object" }
+ }
+ Component {
+ name: "SetObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "index" }
+ Property { name: "input" }
+ Property { name: "length" }
+ }
+ Component {
+ name: "SharedArrayBuffer"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "index" }
+ Property { name: "input" }
+ Property { name: "length" }
+ }
+ Component {
+ name: "StringObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "length"; type: "number"; isReadonly: true }
+ Method {
+ name: "charAt"
+ Parameter {}
+ }
+ Method {
+ name: "charCodeAt"
+ Parameter {}
+ }
+ Method {
+ name: "constructor"
+ type: "StringObject"
+ isConstructor: true
+ Parameter {}
+ }
+ Method { name: "toString" }
+ Method { name: "valueOf" }
+ }
+ Component {
+ name: "TypedArray"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "index" }
+ Property { name: "input" }
+ Property { name: "length"; type: "number" }
+ }
+ Component {
+ name: "UrlSearchParamsObject"
+ accessSemantics: "reference"
+ prototype: "Object"
+ Property { name: "index" }
+ Property { name: "input" }
+ Property { name: "length" }
+ }
+ Component { name: "bool"; accessSemantics: "reference" }
+ Component { name: "function"; accessSemantics: "reference" }
+ Component { name: "number"; accessSemantics: "reference" }
+ Component { name: "object"; accessSemantics: "reference" }
+ Component { name: "string"; accessSemantics: "reference" }
+ Component { name: "symbol"; accessSemantics: "reference" }
+ Component { name: "undefined"; accessSemantics: "reference" }
+}
diff --git a/src/imports/tooling/Method.qml b/src/imports/tooling/Method.qml
index f867a4eb27..3b019c4549 100644
--- a/src/imports/tooling/Method.qml
+++ b/src/imports/tooling/Method.qml
@@ -43,4 +43,5 @@ Member {
default property list<Parameter> parameters
property string type
property int revision: 0
+ property bool isConstructor: false
}