已合并
add data_structure description in jsvm_types.h in docs #125558
add data_structure description in jsvm_types.h in docs #125558
已合并
gaojunyu创建于 1月8日
7 个文件变更+112-5
@@ -33,6 +33,8 @@
33 - [JSVM_TypeTag](capi-jsvm-jsvm-typetag.md)33 - [JSVM_TypeTag](capi-jsvm-jsvm-typetag.md)
34 - [JSVM_PropertyHandlerConfigurationStruct](capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md)34 - [JSVM_PropertyHandlerConfigurationStruct](capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md)
35 - [JSVM_ScriptOrigin](capi-jsvm-jsvm-scriptorigin.md)35 - [JSVM_ScriptOrigin](capi-jsvm-jsvm-scriptorigin.md)
36+ - [JSVM_CompileOptions](capi-jsvm-jsvm-compileoptions.md)
37+ - [JSVM_CodeCache](capi-jsvm-jsvm-codecache.md)
36 - [JSVM_PropertyHandler](capi-jsvm-jsvm-propertyhandler.md)38 - [JSVM_PropertyHandler](capi-jsvm-jsvm-propertyhandler.md)
37 - [JSVM_DefineClassOptions](capi-jsvm-jsvm-defineclassoptions.md)39 - [JSVM_DefineClassOptions](capi-jsvm-jsvm-defineclassoptions.md)
38 - [JSVM_VM__*](capi-jsvm-jsvm-vm--8h.md)40 - [JSVM_VM__*](capi-jsvm-jsvm-vm--8h.md)
@@ -685,7 +685,7 @@ JSVM_EXTERN JSVM_Status OH_JSVM_CompileScript(JSVM_Env env,JSVM_Value script,con
685 685 
686| 类型 | 说明 |686| 类型 | 说明 |
687| -- | -- |687| -- | -- |
688-| JSVM_EXTERN [JSVM_Status](capi-jsvm-types-h.md#jsvm_status) | 返回执行状态码 JSVM_Status。<br> [JSVM_OK](capi-jsvm-types-h.md#jsvm_status) 表示执行成功。<br> [JSVM_STRING_EXPECTED](capi-jsvm-types-h.md#jsvm_status) 表示传入的参数不是string类型。<br> [JSVM_GENERIC_FAILURE](capi-jsvm-types-h.md#jsvm_status) 表示有未知的原因导致执行失败。<br> [JSVM_PENDING_EXCEPTION](capi-jsvm-types-h.md#jsvm_status) 表示执行的过程中产生了JS异常。 |688+| JSVM_EXTERN [JSVM_Status](capi-jsvm-types-h.md#jsvm_status) | 返回执行状态码 JSVM_Status。<br> [JSVM_OK](capi-jsvm-types-h.md#jsvm_status) 表示执行成功。<br> [JSVM_INVALID_ARG](capi-jsvm-types-h.md#jsvm_status) 表示传入的 data 是空指针。 [JSVM_STRING_EXPECTED](capi-jsvm-types-h.md#jsvm_status) 表示传入的参数不是string类型。<br> [JSVM_GENERIC_FAILURE](capi-jsvm-types-h.md#jsvm_status) 表示有未知的原因导致执行失败。<br> [JSVM_CANNOT_RUN_JS](capi-jsvm-types-h.md#jsvm_status) 不能执行JS。<br> [JSVM_PENDING_EXCEPTION](capi-jsvm-types-h.md#jsvm_status) 表示执行的过程中产生了JS异常。 |
689 689 
690### OH_JSVM_CompileScriptWithOrigin()690### OH_JSVM_CompileScriptWithOrigin()
691 691 
@@ -717,7 +717,7 @@ JSVM_EXTERN JSVM_Status OH_JSVM_CompileScriptWithOrigin(JSVM_Env env,JSVM_Value
717 717 
718| 类型 | 说明 |718| 类型 | 说明 |
719| -- | -- |719| -- | -- |
720-| JSVM_EXTERN [JSVM_Status](capi-jsvm-types-h.md#jsvm_status) | 返回执行状态码 JSVM_Status。<br> [JSVM_OK](capi-jsvm-types-h.md#jsvm_status) 表示执行成功。<br> [JSVM_STRING_EXPECTED](capi-jsvm-types-h.md#jsvm_status) 表示传入的参数不是string类型。<br> [JSVM_GENERIC_FAILURE](capi-jsvm-types-h.md#jsvm_status) 表示执行失败。<br> [JSVM_PENDING_EXCEPTION](capi-jsvm-types-h.md#jsvm_status) 表示执行的过程中产生了JS异常。 |720+| JSVM_EXTERN [JSVM_Status](capi-jsvm-types-h.md#jsvm_status) | 返回执行状态码 JSVM_Status。<br> [JSVM_OK](capi-jsvm-types-h.md#jsvm_status) 表示执行成功。<br> [JSVM_INVALID_ARG](capi-jsvm-types-h.md#jsvm_status) 表示传入的 data 是空指针。 [JSVM_STRING_EXPECTED](capi-jsvm-types-h.md#jsvm_status) 表示传入的参数不是string类型。<br> [JSVM_GENERIC_FAILURE](capi-jsvm-types-h.md#jsvm_status) 表示执行失败。<br> [JSVM_CANNOT_RUN_JS](capi-jsvm-types-h.md#jsvm_status) 不能执行JS。<br> [JSVM_PENDING_EXCEPTION](capi-jsvm-types-h.md#jsvm_status) 表示执行的过程中产生了JS异常。 |
721 721 
722### OH_JSVM_CompileScriptWithOptions()722### OH_JSVM_CompileScriptWithOptions()
723 723 
@@ -0,0 +1,30 @@
1+# JSVM_CodeCache
2+<!--Kit: Common Basic Capability-->
3+<!--Subsystem: arkcompiler-->
4+<!--Owner: @yuanxiaogou; @string_sz-->
5+<!--Designer: @knightaoko-->
6+<!--Tester: @test_lzz-->
7+<!--Adviser: @fang-jinxu-->
8+ 
9+```c
10+typedef struct {...} JSVM_CodeCache
11+```
12+ 
13+## 概述
14+ 
15+表示当id为JSVM_COMPILE_CODE_CACHE时,content的类型。
16+ 
17+**起始版本:** 12
18+ 
19+**相关模块:** [JSVM](capi-jsvm.md)
20+ 
21+**所在头文件:** [jsvm_types.h](capi-jsvm-types-h.md)
22+ 
23+## 汇总
24+ 
25+### 成员变量
26+ 
27+| 名称 | 描述 |
28+|------------------|---------------|
29+| uint8_t* cache | 缓存地址。 |
30+| size_t length | 缓存大小。 |
@@ -0,0 +1,32 @@
1+# JSVM_CompileOptions
2+<!--Kit: Common Basic Capability-->
3+<!--Subsystem: arkcompiler-->
4+<!--Owner: @yuanxiaogou; @string_sz-->
5+<!--Designer: @knightaoko-->
6+<!--Tester: @test_lzz-->
7+<!--Adviser: @fang-jinxu-->
8+ 
9+```c
10+typedef struct {...} JSVM_CompileOptions
11+```
12+ 
13+## 概述
14+ 
15+配合[OH_JSVM_CompileScriptWithOptions](capi-jsvm-h.md#oh_jsvm_compilescriptwithoptions)接口使用,是其参数中options数组的元素类型。
16+ 
17+**起始版本:** 12
18+ 
19+**相关模块:** [JSVM](capi-jsvm.md)
20+ 
21+**所在头文件:** [jsvm_types.h](capi-jsvm-types-h.md)
22+ 
23+## 汇总
24+ 
25+### 成员变量
26+ 
27+| 名称 | 描述 |
28+|-------------------------------------------------------------------------------|---------------|
29+| [JSVM_CompileOptionId](capi-jsvm-types-h.md#jsvm_compileoptionid) id | 编译选项对应的ID。 |
30+| void* ptr | void*类型。 |
31+| int num | int类型。 |
32+| bool boolean | bool类型。 |
@@ -29,6 +29,4 @@ typedef struct {...} JSVM_ScriptOrigin
29| const char* sourceMapUrl | Sourcemap 路径。 |29| const char* sourceMapUrl | Sourcemap 路径。 |
30| const char* resourceName | 源文件名。 |30| const char* resourceName | 源文件名。 |
31| size_t resourceLineOffset | 这段代码在源文件中的起始行号。 |31| size_t resourceLineOffset | 这段代码在源文件中的起始行号。 |
32-| size_t resourceColumnOffset | 这段代码在源文件中的起始列号。 |32+| size_t resourceColumnOffset | 这段代码在源文件中的起始列号。 |
33- 
34- 
@@ -36,6 +36,8 @@
36| [JSVM_TypeTag](capi-jsvm-jsvm-typetag.md) | JSVM_TypeTag | 类型标记,存储为两个无符号64位整数的128位值。作为一个UUID,通过它,JavaScript对象可以是"tagged",以确保它们的类型保持不变。 |36| [JSVM_TypeTag](capi-jsvm-jsvm-typetag.md) | JSVM_TypeTag | 类型标记,存储为两个无符号64位整数的128位值。作为一个UUID,通过它,JavaScript对象可以是"tagged",以确保它们的类型保持不变。 |
37| [JSVM_PropertyHandlerConfigurationStruct](capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md) | JSVM_PropertyHandlerConfigurationStruct | 当执行对象的getter、setter、deleter和enumerator操作时,该结构体中对应的函数回调将会触发。 |37| [JSVM_PropertyHandlerConfigurationStruct](capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md) | JSVM_PropertyHandlerConfigurationStruct | 当执行对象的getter、setter、deleter和enumerator操作时,该结构体中对应的函数回调将会触发。 |
38| [JSVM_ScriptOrigin](capi-jsvm-jsvm-scriptorigin.md) | JSVM_ScriptOrigin | 某段JavaScript代码的原始信息,如sourceMap路径、源文件名、源文件中的起始行/列号等。 |38| [JSVM_ScriptOrigin](capi-jsvm-jsvm-scriptorigin.md) | JSVM_ScriptOrigin | 某段JavaScript代码的原始信息,如sourceMap路径、源文件名、源文件中的起始行/列号等。 |
39+| [JSVM_CompileOptions](capi-jsvm-jsvm-compileoptions.md) | JSVM_CompileOptions | 对应JSVM的编译选项,包含内容和ID。 |
xupeipei123xupeipei123
xupeipei123xupeipei1231月12日

这2个新增的结构体为啥在sdk里面没有找到

likedislike
xupeipei123xupeipei1231月12日

这2个新增的结构体也要写在下面

likedislike
40+| [JSVM_CodeCache](capi-jsvm-jsvm-codecache.md) | JSVM_CodeCache | 对应JSVM代码缓存的地址与大小。 |
39| [JSVM_PropertyHandler](capi-jsvm-jsvm-propertyhandler.md) | JSVM_PropertyHandler | 包含将class作为函数进行调用时所触发的回调函数的函数指针和访问实例对象属性时触发的回调函数的函数指针集。 |41| [JSVM_PropertyHandler](capi-jsvm-jsvm-propertyhandler.md) | JSVM_PropertyHandler | 包含将class作为函数进行调用时所触发的回调函数的函数指针和访问实例对象属性时触发的回调函数的函数指针集。 |
40| [JSVM_DefineClassOptions](capi-jsvm-jsvm-defineclassoptions.md) | JSVM_DefineClassOptions | 定义Class的选项。 |42| [JSVM_DefineClassOptions](capi-jsvm-jsvm-defineclassoptions.md) | JSVM_DefineClassOptions | 定义Class的选项。 |
41| [JSVM_VM__*](capi-jsvm-jsvm-vm--8h.md) | JSVM_VM | 表示JavaScript虚拟机实例。 |43| [JSVM_VM__*](capi-jsvm-jsvm-vm--8h.md) | JSVM_VM | 表示JavaScript虚拟机实例。 |
@@ -67,6 +69,8 @@
67| [JSVM_KeyFilter](#jsvm_keyfilter) | JSVM_KeyFilter | 属性过滤器,可以通过使用or来构造一个复合过滤器。 |69| [JSVM_KeyFilter](#jsvm_keyfilter) | JSVM_KeyFilter | 属性过滤器,可以通过使用or来构造一个复合过滤器。 |
68| [JSVM_KeyConversion](#jsvm_keyconversion) | JSVM_KeyConversion | 键转换选项。 |70| [JSVM_KeyConversion](#jsvm_keyconversion) | JSVM_KeyConversion | 键转换选项。 |
69| [JSVM_MemoryPressureLevel](#jsvm_memorypressurelevel) | JSVM_MemoryPressureLevel | 内存压力水平。 |71| [JSVM_MemoryPressureLevel](#jsvm_memorypressurelevel) | JSVM_MemoryPressureLevel | 内存压力水平。 |
72+| [JSVM_CompileMode](#jsvm_compilemode) | JSVM_CompileMode | JSVM编译模式。 |
73+| [JSVM_CompileOptionId](#jsvm_compileoptionid) | JSVM_CompileOptionId | JSVM编译选项ID。 |
70| [JSVM_RegExpFlags](#jsvm_regexpflags) | JSVM_RegExpFlags | 正则表达式标志位。它们可以用来启用一组标志。 |74| [JSVM_RegExpFlags](#jsvm_regexpflags) | JSVM_RegExpFlags | 正则表达式标志位。它们可以用来启用一组标志。 |
71| [JSVM_InitializedFlag](#jsvm_initializedflag) | JSVM_InitializedFlag | 初始化方式的标志位。 |75| [JSVM_InitializedFlag](#jsvm_initializedflag) | JSVM_InitializedFlag | 初始化方式的标志位。 |
72| [JSVM_WasmOptLevel](#jsvm_wasmoptlevel) | JSVM_WasmOptLevel | WebAssembly 函数优化等级。 |76| [JSVM_WasmOptLevel](#jsvm_wasmoptlevel) | JSVM_WasmOptLevel | WebAssembly 函数优化等级。 |
@@ -290,6 +294,45 @@ enum JSVM_MemoryPressureLevel
290| JSVM_MEMORY_PRESSURE_LEVEL_MODERATE | 中等压力。 |294| JSVM_MEMORY_PRESSURE_LEVEL_MODERATE | 中等压力。 |
291| JSVM_MEMORY_PRESSURE_LEVEL_CRITICAL | 临界压力。 |295| JSVM_MEMORY_PRESSURE_LEVEL_CRITICAL | 临界压力。 |
292 296 
297+### JSVM_CompileMode
xupeipei123xupeipei123
xupeipei123xupeipei1231月12日

这个添加的接口在sdk里面没有加吧?

likedislike
xupeipei123xupeipei1231月12日

这2个新添加的枚举也要归纳在枚举的表格里面吧

likedislike
298+ 
299+```c
300+enum JSVM_CompileMode
301+```
302+ 
303+**描述**
304+ 
305+当 id 为 JSVM_COMPILE_MODE 时,content 类型的每个值代表一种编译模式。
306+ 
307+**起始版本:** 12
308+| 枚举项 | 描述 |
309+| -- | -- |
310+| JSVM_COMPILE_MODE_DEFAULT | 默认编译模式。 |
311+| JSVM_COMPILE_MODE_CONSUME_CODE_CACHE | 使用代码缓存的模式。 |
312+| JSVM_COMPILE_MODE_EAGER_COMPILE | 激进编译模式。 |
313+| JSVM_COMPILE_MODE_PRODUCE_COMPILE_PROFILE | 生成编译依赖的模式。 |
314+| JSVM_COMPILE_MODE_CONSUME_COMPILE_PROFILE | 使用编译依赖的模式。 |
315+ 
316+### JSVM_CompileOptionId
317+ 
318+```c
319+enum JSVM_CompileOptionId
320+```
321+ 
322+**描述**
323+ 
324+JSVM_CompileOptions 中的 id 对应类型,每个值有对应的 content 类型。JSVM_COMPILE_ENABLE_SOURCE_MAP 的类型为 bool,当 JSVM_ScriptOrigin 中的 sourceMapUrl 不为空时生效。
325+ 
326+**起始版本:** 12
327+ 
328+| 枚举项 | 描述 |
329+| -- | -- |
330+| JSVM_COMPILE_MODE | JSVM编译模式。 |
331+| JSVM_COMPILE_CODE_CACHE | JSVM代码缓存。 |
332+| JSVM_COMPILE_SCRIPT_ORIGIN | JSVM脚本来源。 |
333+| JSVM_COMPILE_COMPILE_PROFILE | JSVM编译依赖。 |
334+| JSVM_COMPILE_ENABLE_SOURCE_MAP | JSVM的 Source Map 的使能情况。 |
335+ 
293### JSVM_RegExpFlags336### JSVM_RegExpFlags
294 337 
295```c338```c
@@ -5955,6 +5955,8 @@
5955 - [JSVM_TypeTag](reference/common/capi-jsvm-jsvm-typetag.md)5955 - [JSVM_TypeTag](reference/common/capi-jsvm-jsvm-typetag.md)
5956 - [JSVM_PropertyHandlerConfigurationStruct](reference/common/capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md)5956 - [JSVM_PropertyHandlerConfigurationStruct](reference/common/capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md)
5957 - [JSVM_ScriptOrigin](reference/common/capi-jsvm-jsvm-scriptorigin.md)5957 - [JSVM_ScriptOrigin](reference/common/capi-jsvm-jsvm-scriptorigin.md)
5958+ - [JSVM_CompileOptions](reference/common/capi-jsvm-jsvm-compileoptions.md)
5959+ - [JSVM_CodeCache](reference/common/capi-jsvm-jsvm-codecache.md)
5958 - [JSVM_PropertyHandler](reference/common/capi-jsvm-jsvm-propertyhandler.md)5960 - [JSVM_PropertyHandler](reference/common/capi-jsvm-jsvm-propertyhandler.md)
5959 - [JSVM_DefineClassOptions](reference/common/capi-jsvm-jsvm-defineclassoptions.md)5961 - [JSVM_DefineClassOptions](reference/common/capi-jsvm-jsvm-defineclassoptions.md)
5960 - [JSVM_VM__*](reference/common/capi-jsvm-jsvm-vm--8h.md)5962 - [JSVM_VM__*](reference/common/capi-jsvm-jsvm-vm--8h.md)