]> Nishi Git Mirror - gwion.git/commit
New plug system (#220)
authorJérémie Astor <fennecdjay@gmail.com>
Sun, 8 Nov 2020 22:55:15 +0000 (23:55 +0100)
committerGitHub <noreply@github.com>
Sun, 8 Nov 2020 22:55:15 +0000 (23:55 +0100)
commit7a15964dccf8c5e3d033f3db8b96cc87e3414a86
tree2a9e3d1af8d6eb3add47e78689070433e8ff293d
parent45e0d1d21581bf49b4312a4acabd1f76512192ad
New plug system (#220)

* Fix Flags

* Fix Flags

* :art: Introduce '#require'

* :art: Move tests

* :art: Small fixes

* :white_check_mark: Update tests (parralel lib testing)

* :white_check_mark: Thorough plug testing

* :art: Improve vararg import

* :art: Improve plug API

* :bug: Fix structs

* :art: Improve plug API

* :white_check_mark: Test struct import

* :white_check_mark: Some string tests

* :white_check_mark: test string find

* :art: Rework string lib

* :art: Add strings.h (Windows)

* :art: Update plug

* :wrench: Ignore coverage files

* :art: Use strstr family

* :art: Update

* :art: Update macro arguments system

* :art: Remove uselss defines

* :wrench: Coverage cleaning

* :wrench: Improve build system

* :art: Improve ARC

* :wrench: Fix coverage

* :wrench: Fix coverage

* :art: Remove useless code

* :art: Typo

* :art: Improve import system
256 files changed:
.github/workflows/coverage.yml
.gitignore
Makefile
ast
include/arg.h
include/engine.h
include/env/context.h
include/env/envset.h
include/env/func.h
include/env/nspc.h
include/env/oo.h
include/env/type.h
include/env/value.h
include/gwi.h
include/gwiondata.h
include/import/cdef.h
include/import/checker.h
include/instr.h
include/parse.h
include/plug.h
include/vm.h
plug
po/fr/gwion.mo [new file with mode: 0644]
scripts/test.sh
src/arg.c
src/clean.c
src/compile.c
src/emit/emit.c
src/emit/emitter.c
src/env/context.c
src/env/env.c
src/env/env_utils.c
src/env/envset.c
src/env/func.c
src/env/nspc.c
src/env/tupleform.c
src/env/type.c
src/env/type_special.c
src/env/value.c
src/gwion.c
src/gwiondata.c
src/import/import_cdef.c
src/import/import_checker.c
src/import/import_enum.c
src/import/import_fdef.c
src/import/import_internals.c
src/import/import_item.c
src/import/import_special.c
src/import/import_tdef.c
src/import/import_udef.c
src/lib/engine.c
src/lib/event.c
src/lib/instr.c
src/lib/lib_func.c
src/lib/modules.c
src/lib/object.c
src/lib/object_op.c
src/lib/ptr.c
src/lib/shred.c
src/lib/string.c
src/lib/ugen.c
src/lib/vararg.c
src/parse/check.c
src/parse/func_operator.c
src/parse/func_resolve_tmpl.c
src/parse/operator.c
src/parse/scan0.c
src/parse/scan1.c
src/parse/scan2.c
src/parse/scanx.c
src/parse/stage.c
src/parse/template.c
src/parse/traverse.c
src/plug.c
src/vm/gack.c
src/vm/vm.c
src/vm/vm_code.c
src/vm/vm_shred.c
tests/driver/Makefile [moved from tests/import/Makefile with 100% similarity]
tests/driver/non_driver.c [new file with mode: 0644]
tests/driver/simple_driver.c [moved from tests/import/driver.c with 53% similarity]
tests/error/final_func.gw [new file with mode: 0644]
tests/error/final_inherit.gw [new file with mode: 0644]
tests/error/must_abstract0.gw [new file with mode: 0644]
tests/error/must_abstract1.gw [new file with mode: 0644]
tests/error/no_inherit.gw [deleted file]
tests/error/require_fail.gw [new file with mode: 0644]
tests/fork/fork_call.gw
tests/import/specialid_emit.gw [deleted file]
tests/module/Makefile [new file with mode: 0644]
tests/module/basic_module.c [moved from tests/import/basic_module.c with 93% similarity]
tests/module/get_module.c [moved from tests/import/get_module.c with 71% similarity]
tests/module/get_module.gw [new file with mode: 0644]
tests/module/module.c [moved from tests/import/module.c with 92% similarity]
tests/plug/Makefile [new file with mode: 0644]
tests/plug/array.c [moved from tests/import/array.c with 100% similarity]
tests/plug/array.gw [new file with mode: 0644]
tests/plug/array_in_var_name.c [moved from tests/import/array_in_var_name.c with 100% similarity]
tests/plug/array_in_var_name.gw [new file with mode: 0644]
tests/plug/array_in_var_name_fail.c [moved from tests/import/array_in_var_name_fail.c with 100% similarity]
tests/plug/array_in_var_name_fail.gw [new file with mode: 0644]
tests/plug/array_incoherent_in_var_name.c [moved from tests/import/array_incoherent_in_var_name.c with 100% similarity]
tests/plug/array_incoherent_in_var_name.gw [new file with mode: 0644]
tests/plug/array_invalid_in_var_name.c [moved from tests/import/array_invalid_in_var_name.c with 100% similarity]
tests/plug/array_invalid_in_var_name.gw [new file with mode: 0644]
tests/plug/callback.c [moved from tests/import/callback.c with 100% similarity]
tests/plug/callback.gw [new file with mode: 0644]
tests/plug/callback.gwold [moved from tests/import/callback.gwold with 100% similarity]
tests/plug/callback2.gw [moved from tests/import/callback2.gw with 100% similarity]
tests/plug/class_template.c [moved from tests/import/class_template.c with 89% similarity]
tests/plug/class_template.gw [moved from tests/import/class_template.gw with 67% similarity]
tests/plug/class_template_fail.c [moved from tests/import/class_template_fail.c with 100% similarity]
tests/plug/class_template_fail.gw [new file with mode: 0644]
tests/plug/class_template_invalid.c [moved from tests/import/class_template_invalid.c with 84% similarity]
tests/plug/class_template_invalid.gw [new file with mode: 0644]
tests/plug/compile_file.c [moved from tests/import/compile_file.c with 100% similarity]
tests/plug/compile_file.gw [new file with mode: 0644]
tests/plug/compile_string.c [moved from tests/import/compile_string.c with 100% similarity]
tests/plug/compile_string.gw [new file with mode: 0644]
tests/plug/coverage.c [moved from tests/import/coverage.c with 100% similarity]
tests/plug/coverage.gw [moved from tests/import/coverage.gw with 88% similarity]
tests/plug/deps.c [new file with mode: 0644]
tests/plug/deps.gw [new file with mode: 0644]
tests/plug/empty_union.c [moved from tests/import/empty_union.c with 100% similarity]
tests/plug/empty_union.gw [new file with mode: 0644]
tests/plug/end_class.c [moved from tests/import/end_class.c with 100% similarity]
tests/plug/end_class.gw [new file with mode: 0644]
tests/plug/enum.c [moved from tests/import/enum.c with 100% similarity]
tests/plug/enum.gw [moved from tests/import/enum.gw with 98% similarity]
tests/plug/enum_fail.c [moved from tests/import/enum_fail.c with 100% similarity]
tests/plug/enum_fail.gw [new file with mode: 0644]
tests/plug/enum_fail2.c [moved from tests/import/enum_fail2.c with 100% similarity]
tests/plug/enum_fail2.gw [new file with mode: 0644]
tests/plug/enum_fail3.c [moved from tests/import/enum_fail3.c with 100% similarity]
tests/plug/enum_fail3.gw [new file with mode: 0644]
tests/plug/extend_array.c [moved from tests/import/extend_array.c with 100% similarity]
tests/plug/extend_array.gw [moved from tests/import/extend_array.gw with 67% similarity]
tests/plug/fail_on_next_arg.c [moved from tests/import/fail_on_next_arg.c with 100% similarity]
tests/plug/fail_on_next_arg.gw [new file with mode: 0644]
tests/plug/fail_on_next_arg2.c [moved from tests/import/fail_on_next_arg2.c with 100% similarity]
tests/plug/fail_on_next_arg2.gw [new file with mode: 0644]
tests/plug/fptr.c [moved from tests/import/fptr.c with 100% similarity]
tests/plug/fptr.gw [moved from tests/import/fptr.gw with 94% similarity]
tests/plug/fptr_tmpl.c [moved from tests/import/fptr_tmpl.c with 100% similarity]
tests/plug/fptr_tmpl.gw [new file with mode: 0644]
tests/plug/fptr_tmpl_fail.c [moved from tests/import/fptr_tmpl_fail.c with 100% similarity]
tests/plug/fptr_tmpl_fail.gw [new file with mode: 0644]
tests/plug/func_fail.c [moved from tests/import/func_fail.c with 100% similarity]
tests/plug/func_fail.gw [new file with mode: 0644]
tests/plug/func_fail2.c [moved from tests/import/func_fail2.c with 100% similarity]
tests/plug/func_fail2.gw [new file with mode: 0644]
tests/plug/func_fail3.c [moved from tests/import/func_fail3.c with 100% similarity]
tests/plug/func_fail3.gw [new file with mode: 0644]
tests/plug/func_fail4.c [moved from tests/import/func_fail4.c with 100% similarity]
tests/plug/func_fail4.gw [new file with mode: 0644]
tests/plug/func_subscript_not_empty.c [moved from tests/import/func_subscript_not_empty.c with 100% similarity]
tests/plug/func_subscript_not_empty.gw [new file with mode: 0644]
tests/plug/func_tmpl.c [moved from tests/import/func_tmpl.c with 100% similarity]
tests/plug/func_tmpl.gw [moved from tests/import/func_tmpl.gw with 55% similarity]
tests/plug/func_tmpl_fail.c [moved from tests/import/func_tmpl_fail.c with 100% similarity]
tests/plug/func_tmpl_fail.gw [new file with mode: 0644]
tests/plug/func_too_many_arg.c [moved from tests/import/func_too_many_arg.c with 100% similarity]
tests/plug/func_too_many_arg.gw [new file with mode: 0644]
tests/plug/global_func.c [moved from tests/import/global_func.c with 100% similarity]
tests/plug/global_func.gw [moved from tests/import/global_func.gw with 61% similarity]
tests/plug/global_var.c [moved from tests/import/global_var.c with 100% similarity]
tests/plug/global_var.gw [moved from tests/import/global_var.gw with 73% similarity]
tests/plug/invalid_arg.c [moved from tests/import/invalid_arg.c with 100% similarity]
tests/plug/invalid_arg.gw [new file with mode: 0644]
tests/plug/invalid_array.c [moved from tests/import/invalid_array.c with 100% similarity]
tests/plug/invalid_array.gw [new file with mode: 0644]
tests/plug/invalid_func.c [moved from tests/import/invalid_func.c with 100% similarity]
tests/plug/invalid_func.gw [new file with mode: 0644]
tests/plug/invalid_names.c [moved from tests/import/invalid_names.c with 100% similarity]
tests/plug/invalid_names.gw [new file with mode: 0644]
tests/plug/invalid_names0.c [moved from tests/import/invalid_names0.c with 100% similarity]
tests/plug/invalid_names0.gw [new file with mode: 0644]
tests/plug/invalid_names1.c [moved from tests/import/invalid_names1.c with 100% similarity]
tests/plug/invalid_names1.gw [new file with mode: 0644]
tests/plug/invalid_names2.c [moved from tests/import/invalid_names2.c with 100% similarity]
tests/plug/invalid_names2.gw [new file with mode: 0644]
tests/plug/invalid_names3.c [moved from tests/import/invalid_names3.c with 100% similarity]
tests/plug/invalid_names3.gw [new file with mode: 0644]
tests/plug/invalid_type1.c [moved from tests/import/invalid_type1.c with 100% similarity]
tests/plug/invalid_type1.gw [new file with mode: 0644]
tests/plug/invalid_type2.c [moved from tests/import/invalid_type2.c with 100% similarity]
tests/plug/invalid_type2.gw [new file with mode: 0644]
tests/plug/invalid_type3.c [moved from tests/import/invalid_type3.c with 100% similarity]
tests/plug/invalid_type3.gw [new file with mode: 0644]
tests/plug/map2.gw [moved from tests/import/map2.gw with 100% similarity]
tests/plug/mk_type_array.c [moved from tests/import/mk_type_array.c with 100% similarity]
tests/plug/mk_type_array.gw [new file with mode: 0644]
tests/plug/no_import.c [moved from tests/import/no_import.c with 100% similarity]
tests/plug/no_import.gw [new file with mode: 0644]
tests/plug/not_importing.c [moved from tests/import/not_importing.c with 100% similarity]
tests/plug/not_importing.gw [new file with mode: 0644]
tests/plug/op_already_imported.c [moved from tests/import/op_already_imported.c with 99% similarity]
tests/plug/op_already_imported.gw [moved from tests/import/op_already_imported.gw with 59% similarity]
tests/plug/pass.c [moved from tests/import/pass.c with 100% similarity]
tests/plug/pass.gw [new file with mode: 0644]
tests/plug/rm_me.gw [moved from tests/import/rm_me.gw with 100% similarity]
tests/plug/specialid_emit.c [moved from tests/import/specialid_emit.c with 100% similarity]
tests/plug/specialid_emit.gw [new file with mode: 0644]
tests/plug/static_string.c [moved from tests/import/static_string.c with 100% similarity]
tests/plug/static_string.gw [moved from tests/import/static_string.gw with 65% similarity]
tests/plug/str2decl.c [moved from tests/import/str2decl.c with 100% similarity]
tests/plug/str2decl.gw [new file with mode: 0644]
tests/plug/str2list_fail.c [moved from tests/import/str2list_fail.c with 100% similarity]
tests/plug/str2list_fail.gw [new file with mode: 0644]
tests/plug/struct.c [new file with mode: 0644]
tests/plug/struct.gw [new file with mode: 0644]
tests/plug/template_arg.c [moved from tests/import/template_arg.c with 100% similarity]
tests/plug/template_arg.gw [new file with mode: 0644]
tests/plug/trig.c [moved from tests/import/trig.c with 100% similarity]
tests/plug/trig.gw [moved from tests/import/trig.gw with 89% similarity]
tests/plug/typedef.c [moved from tests/import/typedef.c with 100% similarity]
tests/plug/typedef.gw [moved from tests/import/typedef.gw with 81% similarity]
tests/plug/typedef_fail.c [moved from tests/import/typedef_fail.c with 100% similarity]
tests/plug/typedef_fail.gw [new file with mode: 0644]
tests/plug/typedef_tmpl.c [moved from tests/import/typedef_tmpl.c with 100% similarity]
tests/plug/typedef_tmpl.gw [new file with mode: 0644]
tests/plug/ugen_connect.c [moved from tests/import/ugen_connect.c with 100% similarity]
tests/plug/ugen_connect.gw [new file with mode: 0644]
tests/plug/union.c [moved from tests/import/union.c with 100% similarity]
tests/plug/union.gw [moved from tests/import/union.gw with 89% similarity]
tests/plug/union_fail_exp.c [moved from tests/import/union_fail_exp.c with 100% similarity]
tests/plug/union_fail_exp.gw [new file with mode: 0644]
tests/plug/union_member.c [moved from tests/import/union_member.c with 100% similarity]
tests/plug/union_member.gw [new file with mode: 0644]
tests/plug/union_name.c [moved from tests/import/union_name.c with 100% similarity]
tests/plug/union_name.gw [moved from tests/import/union_name.gw with 64% similarity]
tests/plug/union_tmpl.c [moved from tests/import/union_tmpl.c with 100% similarity]
tests/plug/union_tmpl.gw [moved from tests/import/union_tmpl.gw with 64% similarity]
tests/plug/union_tmpl_fail.c [moved from tests/import/union_tmpl_fail.c with 100% similarity]
tests/plug/union_tmpl_fail.gw [new file with mode: 0644]
tests/plug/union_tmpl_fail2.c [moved from tests/import/union_tmpl_fail2.c with 100% similarity]
tests/plug/union_tmpl_fail2.gw [new file with mode: 0644]
tests/plug/union_tmpl_fail3.c [moved from tests/import/union_tmpl_fail3.c with 100% similarity]
tests/plug/union_tmpl_fail3.gw [new file with mode: 0644]
tests/plug/variadic.c [moved from tests/import/variadic.c with 91% similarity]
tests/plug/variadic.gw [moved from tests/import/variadic.gw with 94% similarity]
tests/plug/vm_remove.c [moved from tests/import/vm_remove.c with 100% similarity]
tests/plug/vm_remove.gw [moved from tests/import/vm_remove.gw with 50% similarity]
tests/sh/import.sh
tests/sh/opt.sh
tests/string/charAt.gw [new file with mode: 0644]
tests/string/eq.gw
tests/string/find.gw [new file with mode: 0644]
tests/string/lower.gw [new file with mode: 0644]
tests/string/ltrim.gw [new file with mode: 0644]
tests/string/rtrim.gw [new file with mode: 0644]
tests/string/size.gw [new file with mode: 0644]
tests/string/trim.gw [new file with mode: 0644]
tests/string/upper.gw [new file with mode: 0644]
tests/struct/struct_template.gw
util