gitextract_uq_06no8/ ├── .c8rc.json ├── .clang-format ├── .clang-tidy ├── .devcontainer/ │ ├── .dockerignore │ ├── Dockerfile │ ├── devcontainer.json │ └── docker-compose.yml ├── .dockerignore ├── .eslintignore ├── .eslintrc.json ├── .github/ │ └── workflows/ │ ├── benchmark.yml │ ├── build_llvm_libraries.yml │ ├── libdyntype_ci.yaml │ ├── ts2wasm_aot.yml │ ├── ts2wasm_ci.yaml │ ├── ts2wasm_macos.yml │ └── ts2wasm_windows.yml ├── .gitignore ├── .mocharc.json ├── .prettierignore ├── .prettierrc.json ├── ATTRIBUTIONS.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── cli/ │ ├── options.json │ └── ts2wasm.ts ├── config/ │ ├── config_mgr.ts │ └── log4js.ts ├── doc/ │ ├── additonal_sematic_check.md │ ├── architecture.md │ ├── dev_environment.md │ ├── developer-guide/ │ │ ├── any_object.md │ │ ├── basic_concepts.md │ │ ├── class.md │ │ ├── expose_host_API.md │ │ ├── fallback.md │ │ ├── feature_list.md │ │ ├── function.md │ │ ├── generic.md │ │ ├── import_export.md │ │ ├── index.md │ │ ├── interface.md │ │ └── wasmType_usage.md │ ├── environment_variables.md │ ├── faq.md │ ├── getting_started.md │ ├── libdyntype_api_spec.md │ ├── libstruct_indirect_api_spec.md │ ├── standard-library/ │ │ ├── array.md │ │ ├── console.md │ │ ├── index.md │ │ ├── math.md │ │ └── string.md │ └── validation_strategy.md ├── example/ │ └── app-framework/ │ ├── CMakeLists.txt │ ├── app/ │ │ ├── connection.ts │ │ ├── request_handler.ts │ │ ├── request_sender.ts │ │ └── timer.ts │ ├── build.sh │ ├── lib/ │ │ ├── attr_container.ts │ │ ├── connection.ts │ │ ├── request.ts │ │ ├── timer.ts │ │ └── utils.ts │ ├── profiles/ │ │ ├── host-aot/ │ │ │ └── wamr_config_wasmnizer_ts.cmake │ │ └── host-interp/ │ │ └── wamr_config_wasmnizer_ts.cmake │ └── src/ │ ├── iwasm_main.c │ └── main.c ├── lib/ │ └── builtin/ │ ├── builtin_name.ts │ ├── lib.type.d.ts │ └── lib_builtin.ts ├── package.json ├── runtime-library/ │ ├── CMakeLists.txt │ ├── LICENSE │ ├── README.md │ ├── build.sh │ ├── deps/ │ │ ├── .gitignore │ │ └── download.sh │ ├── libdyntype/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── dynamic-qjs/ │ │ │ ├── context.c │ │ │ ├── fallback.c │ │ │ ├── object.c │ │ │ ├── pure_dynamic.h │ │ │ └── type.h │ │ ├── dynamic-simple/ │ │ │ ├── README.md │ │ │ ├── context.c │ │ │ ├── dyn-value/ │ │ │ │ ├── README.md │ │ │ │ ├── class/ │ │ │ │ │ ├── date.c │ │ │ │ │ ├── dyn_class.c │ │ │ │ │ ├── dyn_class.h │ │ │ │ │ ├── object.c │ │ │ │ │ └── string.c │ │ │ │ ├── dyn_value.c │ │ │ │ └── dyn_value.h │ │ │ ├── fallback.c │ │ │ ├── object.c │ │ │ └── pure_dynamic.h │ │ ├── extref/ │ │ │ ├── extref.c │ │ │ └── extref.h │ │ ├── lib_dyntype_wrapper.c │ │ ├── libdyntype.c │ │ ├── libdyntype.cmake │ │ ├── libdyntype.h │ │ ├── libdyntype_export.h │ │ └── test/ │ │ ├── CMakeLists.txt │ │ ├── dump.cc │ │ ├── object_property_test.cc │ │ ├── operator_test.cc │ │ ├── prototype_test.cc │ │ ├── test_app.h │ │ └── types_test.cc │ ├── main.c │ ├── stdlib/ │ │ ├── lib_array.c │ │ ├── lib_console.c │ │ └── lib_timer.c │ ├── stringref/ │ │ ├── README.md │ │ ├── stringref_qjs.c │ │ └── stringref_simple.c │ ├── struct-indirect/ │ │ ├── lib_struct_indirect.c │ │ └── lib_struct_indirect.h │ ├── utils/ │ │ ├── object_utils.c │ │ ├── object_utils.h │ │ ├── type_utils.c │ │ ├── type_utils.h │ │ ├── wamr_utils.c │ │ └── wamr_utils.h │ └── wamr_config.cmake ├── scripts/ │ ├── LICENSE.txt │ ├── copy_lib_files.js │ ├── gdb/ │ │ ├── .gitignore │ │ ├── constants.py │ │ ├── utils.py │ │ ├── wamr_dbg.py │ │ ├── wamr_exec_env.py │ │ ├── wamr_objects.py │ │ └── wamr_types.py │ ├── hooks/ │ │ └── pre-commit │ └── link_hooks.js ├── security.md ├── src/ │ ├── backend/ │ │ ├── README.md │ │ ├── binaryen/ │ │ │ ├── glue/ │ │ │ │ ├── LICENSE │ │ │ │ ├── NOTICE │ │ │ │ ├── binaryen.d.ts │ │ │ │ ├── binaryen.js │ │ │ │ ├── packType.ts │ │ │ │ ├── transform.ts │ │ │ │ └── utils.ts │ │ │ ├── index.ts │ │ │ ├── lib/ │ │ │ │ ├── array_utils.ts │ │ │ │ ├── dyntype/ │ │ │ │ │ └── utils.ts │ │ │ │ ├── env_init.ts │ │ │ │ ├── init_builtin_api.ts │ │ │ │ └── interface/ │ │ │ │ └── meta.c │ │ │ ├── memory.ts │ │ │ ├── utils.ts │ │ │ ├── wasm_expr_gen.ts │ │ │ ├── wasm_stmt_gen.ts │ │ │ └── wasm_type_gen.ts │ │ └── index.ts │ ├── dump_ast.ts │ ├── error.ts │ ├── expression.ts │ ├── frontend.ts │ ├── import_resolve.ts │ ├── log.ts │ ├── scope.ts │ ├── semantic_check.ts │ ├── semantics/ │ │ ├── builder_context.ts │ │ ├── builtin.ts │ │ ├── dump.ts │ │ ├── expression_builder.ts │ │ ├── flatten.ts │ │ ├── index.ts │ │ ├── internal.ts │ │ ├── ir/ │ │ │ ├── data_pool.ts │ │ │ ├── function.ts │ │ │ ├── ir_context.ts │ │ │ ├── ircode.ts │ │ │ └── irmodule.ts │ │ ├── predefined_types.ts │ │ ├── runtime.ts │ │ ├── semantics_nodes.ts │ │ ├── statement_builder.ts │ │ ├── type_creator.ts │ │ ├── value.ts │ │ └── value_types.ts │ ├── statement.ts │ ├── type.ts │ ├── utils.ts │ └── variable.ts ├── tests/ │ ├── benchmark/ │ │ ├── README.md │ │ ├── any_basic_type_access.js │ │ ├── any_basic_type_access.ts │ │ ├── any_complex_type_access.js │ │ ├── any_complex_type_access.ts │ │ ├── array_access.js │ │ ├── array_access.ts │ │ ├── array_access_i32.js │ │ ├── array_access_i32.ts │ │ ├── binarytrees_class.js │ │ ├── binarytrees_class.ts │ │ ├── binarytrees_interface.js │ │ ├── binarytrees_interface.ts │ │ ├── class_access.js │ │ ├── class_access.ts │ │ ├── class_allocation.js │ │ ├── class_allocation.ts │ │ ├── compile_benchmark.js │ │ ├── fibonacci.js │ │ ├── fibonacci.ts │ │ ├── interface_access_field_fastpath.js │ │ ├── interface_access_field_fastpath.ts │ │ ├── interface_access_field_slowpath.js │ │ ├── interface_access_field_slowpath.ts │ │ ├── interface_access_method_fastpath.js │ │ ├── interface_access_method_fastpath.ts │ │ ├── interface_access_method_slowpath.js │ │ ├── interface_access_method_slowpath.ts │ │ ├── mandelbrot.js │ │ ├── mandelbrot.ts │ │ ├── mandelbrot_i32.js │ │ ├── mandelbrot_i32.ts │ │ ├── merkletrees.js │ │ ├── merkletrees.ts │ │ ├── nbody_class.js │ │ ├── nbody_class.ts │ │ ├── nbody_interface.js │ │ ├── nbody_interface.ts │ │ ├── quicksort.js │ │ ├── quicksort.ts │ │ ├── quicksort_float.js │ │ ├── quicksort_float.ts │ │ ├── run.sh │ │ ├── run_benchmark.js │ │ ├── run_benchmark_on_chrome.html │ │ ├── run_benchmark_on_chrome.js │ │ ├── spectral_norm.js │ │ ├── spectral_norm.ts │ │ ├── spectral_norm_i32.js │ │ └── spectral_norm_i32.ts │ ├── samples/ │ │ ├── add_shorthand_prop.ts │ │ ├── any_as_string.ts │ │ ├── any_binary_operation.ts │ │ ├── any_box_any.ts │ │ ├── any_box_array.ts │ │ ├── any_box_boolean.ts │ │ ├── any_box_interface.ts │ │ ├── any_box_null.ts │ │ ├── any_box_number.ts │ │ ├── any_box_obj.ts │ │ ├── any_box_obj_as_return_value.ts │ │ ├── any_box_string.ts │ │ ├── any_box_undefind.ts │ │ ├── any_cast_class.ts │ │ ├── any_func_call.ts │ │ ├── any_nested_literal_value.ts │ │ ├── any_obj_prop_get.ts │ │ ├── any_obj_prop_get_as_string.ts │ │ ├── any_obj_prop_set.ts │ │ ├── any_operate_with_static.ts │ │ ├── array_concat.ts │ │ ├── array_contain_closure.ts │ │ ├── array_contain_func.ts │ │ ├── array_copyWithin.ts │ │ ├── array_elem_get.ts │ │ ├── array_elem_set.ts │ │ ├── array_every.ts │ │ ├── array_fill.ts │ │ ├── array_filter.ts │ │ ├── array_find.ts │ │ ├── array_findIndex.ts │ │ ├── array_foreach.ts │ │ ├── array_includes.ts │ │ ├── array_indexOf.ts │ │ ├── array_join.ts │ │ ├── array_lastIndexOf.ts │ │ ├── array_map.ts │ │ ├── array_nested_array.ts │ │ ├── array_nested_literal.ts │ │ ├── array_nested_literal_array.ts │ │ ├── array_new_array.ts │ │ ├── array_new_array_number.ts │ │ ├── array_new_array_string.ts │ │ ├── array_new_literal_any.ts │ │ ├── array_new_literal_boolean.ts │ │ ├── array_new_literal_number.ts │ │ ├── array_new_literal_string.ts │ │ ├── array_pop.ts │ │ ├── array_push.ts │ │ ├── array_reduce.ts │ │ ├── array_reduceRight.ts │ │ ├── array_reverse.ts │ │ ├── array_shift.ts │ │ ├── array_slice.ts │ │ ├── array_some.ts │ │ ├── array_sort.ts │ │ ├── array_specialization.ts │ │ ├── array_splice.ts │ │ ├── array_unshift.ts │ │ ├── array_wasm_basic_type.ts │ │ ├── arraybuffer_basic.ts │ │ ├── assign_different_type.ts │ │ ├── auto_box_unbox.ts │ │ ├── base_function_call.ts │ │ ├── block_closure.ts │ │ ├── block_inner_block.ts │ │ ├── boolean_basic.ts │ │ ├── boolean_logic_operator.ts │ │ ├── boolean_not.ts │ │ ├── builtin_array.ts │ │ ├── builtin_console.ts │ │ ├── builtin_math.ts │ │ ├── builtin_string.ts │ │ ├── call_expression_function_hoisting.ts │ │ ├── call_expression_get_value.ts │ │ ├── call_expression_param.ts │ │ ├── cast_any_to_static.ts │ │ ├── class_accessor.ts │ │ ├── class_basic.ts │ │ ├── class_direct_call.ts │ │ ├── class_extend.ts │ │ ├── class_field_assign.ts │ │ ├── class_field_is_array.ts │ │ ├── class_static_prop.ts │ │ ├── class_type.ts │ │ ├── class_vtable_accessor.ts │ │ ├── class_vtable_call.ts │ │ ├── closure_basic.ts │ │ ├── closure_first_class_func.ts │ │ ├── closure_inner_func.ts │ │ ├── closure_set_ctx_value.ts │ │ ├── comments_not_entry.ts │ │ ├── comments_with_export.ts │ │ ├── comments_with_import.ts │ │ ├── complexType_case1.ts │ │ ├── complexType_case2.ts │ │ ├── complexType_case3.ts │ │ ├── complexType_case4.ts │ │ ├── complexType_case5.ts │ │ ├── compound_assignment_operator.ts │ │ ├── dataview_basic.ts │ │ ├── decimalization.ts │ │ ├── declare_class.ts │ │ ├── declare_func.ts │ │ ├── declare_namespace.ts │ │ ├── declare_var.ts │ │ ├── default_param.ts │ │ ├── enum.ts │ │ ├── exception_catch_error.ts │ │ ├── exception_custom_error.ts │ │ ├── exception_throw_error.ts │ │ ├── exception_try_structure.ts │ │ ├── export_alias_identifier.ts │ │ ├── export_alias_imported_identifier.ts │ │ ├── export_class.ts │ │ ├── export_expression_number_literal.ts │ │ ├── export_expression_obj_literal.ts │ │ ├── export_from/ │ │ │ ├── classB.ts │ │ │ └── libA/ │ │ │ ├── index.ts │ │ │ └── lib/ │ │ │ └── classA.ts │ │ ├── export_func.ts │ │ ├── export_func2.ts │ │ ├── export_func_invoked.ts │ │ ├── export_implicit_type.ts │ │ ├── export_namespace.ts │ │ ├── export_re_export.ts │ │ ├── export_type.ts │ │ ├── export_var.ts │ │ ├── expression_binary.ts │ │ ├── expression_binary_select.ts │ │ ├── expression_condition.ts │ │ ├── expression_unary.ts │ │ ├── fallback_quickjs.ts │ │ ├── fallback_quickjs_Date.ts │ │ ├── fallback_quickjs_JSON.ts │ │ ├── for_in.ts │ │ ├── for_of.ts │ │ ├── func_cast_interface.ts │ │ ├── function_declaration.ts │ │ ├── function_expression.ts │ │ ├── function_scope_var.ts │ │ ├── generic_class.ts │ │ ├── generic_func.ts │ │ ├── generic_param.ts │ │ ├── global_generics_function.ts │ │ ├── global_value.ts │ │ ├── global_variables.ts │ │ ├── if_statement_case1.ts │ │ ├── ignore_parameter_in_variable.ts │ │ ├── import_alias_identifier.ts │ │ ├── import_alias_reexport_identifier.ts │ │ ├── import_alias_scope_identifier.ts │ │ ├── import_class.ts │ │ ├── import_expression.ts │ │ ├── import_func.ts │ │ ├── import_implicit_type.ts │ │ ├── import_namespace.ts │ │ ├── import_type.ts │ │ ├── import_var.ts │ │ ├── infc_assign_class.ts │ │ ├── infc_assign_infc.ts │ │ ├── infc_assign_obj.ts │ │ ├── infc_case18.ts │ │ ├── infc_field_assign.ts │ │ ├── infc_method.ts │ │ ├── infc_parameter.ts │ │ ├── infc_return_value.ts │ │ ├── infc_with_array.ts │ │ ├── inner_generics_function.ts │ │ ├── instanceof.ts │ │ ├── lib.ts │ │ ├── loop_do_while.ts │ │ ├── loop_for.ts │ │ ├── loop_while.ts │ │ ├── map_callback.ts │ │ ├── mixed_type.ts │ │ ├── module-case/ │ │ │ ├── export_declare.ts │ │ │ ├── export_normal.ts │ │ │ └── import_case1.ts │ │ ├── module_start_A.ts │ │ ├── module_start_B.ts │ │ ├── module_start_C.ts │ │ ├── namespace_func.ts │ │ ├── namespace_generics_function.ts │ │ ├── namespace_nest.ts │ │ ├── namespace_var.ts │ │ ├── nest_generic.ts │ │ ├── non_null_expression.ts │ │ ├── null_type_case1.ts │ │ ├── obj_literal.ts │ │ ├── obj_method_call.ts │ │ ├── obj_property_access.ts │ │ ├── obj_property_dynamic_access.ts │ │ ├── op_ref_type.ts │ │ ├── optional_method.ts │ │ ├── optional_param.ts │ │ ├── optional_property_access.ts │ │ ├── parenthesized_expression_case1.ts │ │ ├── percentToken.ts │ │ ├── primitiveType.ts │ │ ├── promise_chain.ts │ │ ├── promise_constructor.ts │ │ ├── promise_immediate.ts │ │ ├── promise_throw.ts │ │ ├── prototype.ts │ │ ├── rec_types.ts │ │ ├── ref_type_cmp.ts │ │ ├── rest_param_interface.ts │ │ ├── rest_param_number.ts │ │ ├── return_statement.ts │ │ ├── sample_cases.test.ts │ │ ├── scoped_variables.ts │ │ ├── shorthand_prop_assign.ts │ │ ├── spread_operator.ts │ │ ├── string_binary_operation.ts │ │ ├── string_or.ts │ │ ├── string_type.ts │ │ ├── switch_case_statement.ts │ │ ├── this_in_closure.ts │ │ ├── this_in_method.ts │ │ ├── toString.ts │ │ ├── top_level_statements.ts │ │ ├── tuple.ts │ │ ├── typealias.ts │ │ ├── typeof.ts │ │ ├── unary_operator.ts │ │ ├── undefined_test.ts │ │ ├── union_assign.ts │ │ ├── union_field_get.ts │ │ ├── union_func_call.ts │ │ ├── unsigned_value.ts │ │ ├── wasmType_basic.ts │ │ ├── wasmType_heapType.ts │ │ └── wasmType_in_otherType.ts │ ├── unit/ │ │ ├── comment.test.ts │ │ ├── expression.test.ts │ │ ├── scope.test.ts │ │ ├── statement.test.ts │ │ ├── type.test.ts │ │ └── variable.test.ts │ └── utils/ │ └── test_helper.ts ├── tools/ │ └── validate/ │ ├── run_module/ │ │ ├── import_object.js │ │ ├── readme.md │ │ ├── run_module_on_chrome.html │ │ ├── run_module_on_chrome.js │ │ └── run_module_on_node.js │ └── wamr/ │ ├── .gitignore │ ├── README.md │ ├── create_validation_items.ts │ ├── index.ts │ ├── package.json │ ├── tsconfig.json │ └── validation.json ├── tsconfig.json └── tsconfig.release.json