diff options
author | Maximilian Goldstein <max.goldstein@qt.io> | 2021-03-16 10:17:18 +0100 |
---|---|---|
committer | Maximilian Goldstein <max.goldstein@qt.io> | 2021-03-19 14:57:46 +0100 |
commit | 5851195c4f8ea56d4641b5f1b68c7b79c4eca0fd (patch) | |
tree | dd10604e423a3349c79c43d22405d4fa9c2a09b7 /src/imports | |
parent | 6ddb78735b943b0563315140c6717d523bca2f76 (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.txt | 4 | ||||
-rw-r--r-- | src/imports/builtins/jsroot.qmltypes | 881 | ||||
-rw-r--r-- | src/imports/tooling/Method.qml | 1 |
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 } |