script_core 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.rubocop.yml +8 -6
- data/.ruby-version +1 -1
- data/Gemfile +2 -1
- data/bin/sandbox +1 -1
- data/ext/enterprise_script_service/Rakefile +1 -1
- data/ext/enterprise_script_service/flags.rb +5 -0
- data/ext/enterprise_script_service/libseccomp/CHANGELOG +15 -0
- data/ext/enterprise_script_service/libseccomp/CREDITS +3 -0
- data/ext/enterprise_script_service/libseccomp/Makefile.am +1 -1
- data/ext/enterprise_script_service/libseccomp/README.md +1 -1
- data/ext/enterprise_script_service/libseccomp/SECURITY.md +45 -0
- data/ext/enterprise_script_service/libseccomp/configure.ac +3 -3
- data/ext/enterprise_script_service/libseccomp/doc/admin/MAINTAINER_PROCESS.md +95 -0
- data/ext/enterprise_script_service/libseccomp/{RELEASE_PROCESS.md → doc/admin/RELEASE_PROCESS.md} +9 -1
- data/ext/enterprise_script_service/libseccomp/include/Makefile.am +1 -1
- data/ext/enterprise_script_service/libseccomp/include/seccomp-syscalls.h +2292 -0
- data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +3 -1065
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +35 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +35 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +43 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +34 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +43 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +44 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +46 -14
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +142 -18
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +47 -15
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +143 -17
- data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +94 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +142 -19
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/db.c +1 -0
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +10 -3
- data/ext/enterprise_script_service/libseccomp/src/python/Makefile.am +4 -4
- data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +2 -0
- data/ext/enterprise_script_service/libseccomp/tests/.gitignore +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.c +98 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.py +61 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.tests +18 -0
- data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +6 -3
- data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +0 -2
- data/ext/enterprise_script_service/libseccomp/tools/check-syntax +1 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +2 -0
- data/ext/enterprise_script_service/mruby-mpdecimal/src/ext.c +1 -1
- data/ext/enterprise_script_service/mruby/.gitignore +2 -2
- data/ext/enterprise_script_service/mruby/CONTRIBUTING.md +10 -3
- data/ext/enterprise_script_service/mruby/Doxyfile +2408 -0
- data/ext/enterprise_script_service/mruby/README.md +21 -8
- data/ext/enterprise_script_service/mruby/Rakefile +4 -13
- data/ext/enterprise_script_service/mruby/appveyor_config.rb +1 -1
- data/ext/enterprise_script_service/mruby/build_config.rb +3 -3
- data/ext/enterprise_script_service/mruby/doc/guides/compile.md +42 -42
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +45 -6
- data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +5 -0
- data/ext/enterprise_script_service/mruby/doc/limitations.md +88 -38
- data/ext/enterprise_script_service/mruby/doc/mruby_logo_red_icon.png +0 -0
- data/ext/enterprise_script_service/mruby/doc/opcode.md +94 -94
- data/ext/enterprise_script_service/mruby/include/mrbconf.h +74 -11
- data/ext/enterprise_script_service/mruby/include/mruby.h +242 -146
- data/ext/enterprise_script_service/mruby/include/mruby/array.h +7 -7
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +2 -9
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_no.h +11 -10
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +104 -69
- data/ext/enterprise_script_service/mruby/include/mruby/class.h +7 -5
- data/ext/enterprise_script_service/mruby/include/mruby/common.h +9 -7
- data/ext/enterprise_script_service/mruby/include/mruby/compile.h +6 -6
- data/ext/enterprise_script_service/mruby/include/mruby/data.h +5 -5
- data/ext/enterprise_script_service/mruby/include/mruby/debug.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/dump.h +3 -7
- data/ext/enterprise_script_service/mruby/include/mruby/error.h +34 -6
- data/ext/enterprise_script_service/mruby/include/mruby/gc.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/hash.h +4 -11
- data/ext/enterprise_script_service/mruby/include/mruby/irep.h +16 -4
- data/ext/enterprise_script_service/mruby/include/mruby/istruct.h +4 -4
- data/ext/enterprise_script_service/mruby/include/mruby/khash.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +41 -7
- data/ext/enterprise_script_service/mruby/include/mruby/object.h +8 -9
- data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/ops.h +6 -6
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +19 -13
- data/ext/enterprise_script_service/mruby/include/mruby/range.h +10 -4
- data/ext/enterprise_script_service/mruby/include/mruby/re.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/string.h +130 -107
- data/ext/enterprise_script_service/mruby/include/mruby/throw.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +137 -49
- data/ext/enterprise_script_service/mruby/include/mruby/variable.h +3 -5
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +24 -10
- data/ext/enterprise_script_service/mruby/lib/mruby-core-ext.rb +2 -39
- data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +32 -15
- data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +63 -17
- data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +24 -10
- data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +11 -7
- data/ext/enterprise_script_service/mruby/lib/mruby/lockfile.rb +81 -0
- data/ext/enterprise_script_service/mruby/minirake +27 -11
- data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +47 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +50 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +28 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +75 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +134 -90
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +7 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +69 -46
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/keywords +0 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/lex.def +51 -59
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +430 -241
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrbgem.rake +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +122 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +249 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/test/complex.rb +153 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb +19 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/test/enum_chain.rb +41 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +30 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/test/enum.rb +8 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +46 -14
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +51 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/src/exception.c +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +47 -44
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-exit/src/mruby-exit.c +9 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +16 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/test/fiber.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +3 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/README.md +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file.rb +0 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +24 -38
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/kernel.rb +16 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +19 -18
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +5 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +54 -42
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +24 -20
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file_test.rb +4 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +41 -35
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +9 -36
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +9 -27
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +2 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +5 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +39 -24
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +48 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/method.rb +0 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +134 -101
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +9 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb +1 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +17 -37
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +0 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/mrblib/object.rb +15 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +35 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/test/nil.rb +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +28 -23
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/test/pack.rb +43 -49
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +3 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +6 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.rb +21 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +157 -124
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +72 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +38 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +26 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/test/range.rb +111 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrbgem.rake +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +117 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +209 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/test/rational.rb +308 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/README.md +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +10 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/kernel.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +22 -24
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +8 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +116 -117
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/numeric.rb +29 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/range.rb +26 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/string.rb +32 -50
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +5 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +43 -57
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/test/struct.rb +16 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +152 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +4 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/vformat.c +200 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/include/mruby/time.h +2 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +199 -68
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/test/time.rb +81 -46
- data/ext/enterprise_script_service/mruby/mrblib/array.rb +14 -16
- data/ext/enterprise_script_service/mruby/mrblib/enum.rb +13 -9
- data/ext/enterprise_script_service/mruby/mrblib/hash.rb +5 -7
- data/ext/enterprise_script_service/mruby/mrblib/kernel.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +4 -4
- data/ext/enterprise_script_service/mruby/mrblib/range.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/string.rb +55 -112
- data/ext/enterprise_script_service/mruby/mruby-source.gemspec +1 -1
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby.dict +105 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby_fuzzer.options +5 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby_proto_fuzzer.options +4 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_fuzzer.c +18 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_proto_fuzzer.cpp +44 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.cpp +455 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.h +55 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/ruby.proto +201 -0
- data/ext/enterprise_script_service/mruby/src/array.c +95 -46
- data/ext/enterprise_script_service/mruby/src/backtrace.c +6 -8
- data/ext/enterprise_script_service/mruby/src/class.c +370 -278
- data/ext/enterprise_script_service/mruby/src/codedump.c +34 -34
- data/ext/enterprise_script_service/mruby/src/debug.c +2 -2
- data/ext/enterprise_script_service/mruby/src/dump.c +8 -6
- data/ext/enterprise_script_service/mruby/src/enum.c +1 -1
- data/ext/enterprise_script_service/mruby/src/error.c +157 -55
- data/ext/enterprise_script_service/mruby/src/etc.c +13 -46
- data/ext/enterprise_script_service/mruby/src/fmt_fp.c +2 -2
- data/ext/enterprise_script_service/mruby/src/gc.c +30 -11
- data/ext/enterprise_script_service/mruby/src/hash.c +23 -14
- data/ext/enterprise_script_service/mruby/src/kernel.c +16 -54
- data/ext/enterprise_script_service/mruby/src/load.c +40 -76
- data/ext/enterprise_script_service/mruby/src/numeric.c +164 -94
- data/ext/enterprise_script_service/mruby/src/object.c +16 -39
- data/ext/enterprise_script_service/mruby/src/pool.c +0 -2
- data/ext/enterprise_script_service/mruby/src/proc.c +47 -48
- data/ext/enterprise_script_service/mruby/src/range.c +22 -35
- data/ext/enterprise_script_service/mruby/src/state.c +5 -94
- data/ext/enterprise_script_service/mruby/src/string.c +874 -710
- data/ext/enterprise_script_service/mruby/src/symbol.c +73 -48
- data/ext/enterprise_script_service/mruby/src/variable.c +58 -38
- data/ext/enterprise_script_service/mruby/src/vm.c +133 -304
- data/ext/enterprise_script_service/mruby/tasks/doc.rake +48 -0
- data/ext/enterprise_script_service/mruby/tasks/toolchains/clang.rake +3 -4
- data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +20 -19
- data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +0 -12
- data/ext/enterprise_script_service/mruby/test/assert.rb +186 -25
- data/ext/enterprise_script_service/mruby/test/t/array.rb +34 -6
- data/ext/enterprise_script_service/mruby/test/t/class.rb +26 -0
- data/ext/enterprise_script_service/mruby/test/t/enumerable.rb +2 -2
- data/ext/enterprise_script_service/mruby/test/t/float.rb +17 -17
- data/ext/enterprise_script_service/mruby/test/t/hash.rb +2 -0
- data/ext/enterprise_script_service/mruby/test/t/integer.rb +14 -6
- data/ext/enterprise_script_service/mruby/test/t/kernel.rb +38 -19
- data/ext/enterprise_script_service/mruby/test/t/module.rb +87 -14
- data/ext/enterprise_script_service/mruby/test/t/numeric.rb +65 -23
- data/ext/enterprise_script_service/mruby/test/t/range.rb +4 -4
- data/ext/enterprise_script_service/mruby/test/t/string.rb +211 -49
- data/ext/enterprise_script_service/mruby/test/t/syntax.rb +19 -2
- data/ext/enterprise_script_service/mruby/test/t/vformat.rb +92 -0
- data/ext/enterprise_script_service/mruby/travis_config.rb +2 -2
- data/ext/enterprise_script_service/mruby_config.rb +10 -0
- data/ext/enterprise_script_service/mruby_engine.cpp +2 -2
- data/ext/enterprise_script_service/mruby_engine.gembox +1 -0
- data/ext/enterprise_script_service/msgpack/CHANGELOG.md +14 -0
- data/ext/enterprise_script_service/msgpack/Files.cmake +4 -0
- data/ext/enterprise_script_service/msgpack/README.md +1 -1
- data/ext/enterprise_script_service/msgpack/appveyor.yml +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_msgpack_tuple.hpp.erb +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_zone.hpp.erb +3 -3
- data/ext/enterprise_script_service/msgpack/example/boost/asio_send_recv.cpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp11/timespec.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/wstring.hpp +15 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/object.h +2 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack_template.h +17 -9
- data/ext/enterprise_script_service/msgpack/include/msgpack/sysdep.h +27 -16
- data/ext/enterprise_script_service/msgpack/include/msgpack/type.hpp +2 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/unpack_template.h +5 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +0 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/check_container_size.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/chrono.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/timespec.hpp +140 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +32 -32
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +32 -32
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +10 -10
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/ext.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/fixint.hpp +5 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int.hpp +40 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int_decl.hpp +3 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/wstring.hpp +121 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp03_zone.hpp +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp11_zone.hpp +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object_fwd.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/pack.hpp +40 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/unpack.hpp +11 -11
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/vrefbuffer.hpp +7 -7
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/zbuffer.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/adaptor/int_decl.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/create_object_visitor.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/parse.hpp +13 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_parse.hpp +28 -26
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/int_decl.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse.hpp +13 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer.h +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/zone.h +1 -1
- data/ext/enterprise_script_service/msgpack/src/objectc.c +83 -148
- data/ext/enterprise_script_service/msgpack/src/unpack.c +73 -47
- data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +1 -1
- data/ext/enterprise_script_service/msgpack/test/array_ref.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/boost_optional.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/boost_string_ref.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/boost_string_view.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +15 -9
- data/ext/enterprise_script_service/msgpack/test/buffer.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/carray.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/cases.cpp +7 -1
- data/ext/enterprise_script_service/msgpack/test/convert.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/fixint.cpp +7 -1
- data/ext/enterprise_script_service/msgpack/test/fixint_c.cpp +6 -1
- data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/iterator_cpp11.cpp +8 -2
- data/ext/enterprise_script_service/msgpack/test/json.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/limit.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_basic.cpp +128 -6
- data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +7 -2
- data/ext/enterprise_script_service/msgpack/test/msgpack_container.cpp +20 -3
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +159 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_stream.cpp +8 -3
- data/ext/enterprise_script_service/msgpack/test/msgpack_tuple.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +23 -18
- data/ext/enterprise_script_service/msgpack/test/object.cpp +77 -45
- data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +28 -10
- data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +25 -18
- data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/raw.cpp +17 -12
- data/ext/enterprise_script_service/msgpack/test/reference.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/reference_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/reference_wrapper_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/shared_ptr_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/size_equal_only.cpp +6 -2
- data/ext/enterprise_script_service/msgpack/test/streaming.cpp +10 -3
- data/ext/enterprise_script_service/msgpack/test/streaming_c.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/unique_ptr_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/user_class.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/version.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/visitor.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/zone.cpp +6 -0
- data/lib/script_core/version.rb +1 -1
- data/lib/tasks/mruby/engine.gembox.example +1 -0
- data/lib/tasks/script_core.rake +21 -3
- data/spec/dummy/app/helpers/fields_helper.rb +2 -2
- data/spec/dummy/mruby/engine.gembox +1 -0
- data/spec/script_core_spec.rb +1 -1
- metadata +38 -22
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/.gitignore +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/.travis.yml +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/run_test.rb +0 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrblib/kernel.rb +0 -15
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/unbound_method.rb +0 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/.gitignore +0 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/.travis.yml +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/packtest.rb +0 -157
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/run_test.rb +0 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/mt19937ar.c +0 -224
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/mt19937ar.h +0 -80
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.h +0 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.gitignore +0 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis.yml +0 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis_build_config.rb +0 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/Rakefile +0 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/.travis.yml +0 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/run_test.rb +0 -28
@@ -16,7 +16,7 @@ print_r(mrb_state *mrb, mrb_irep *irep, size_t n)
|
|
16
16
|
for (i=0; i+1<irep->nlocals; i++) {
|
17
17
|
if (irep->lv[i].r == n) {
|
18
18
|
mrb_sym sym = irep->lv[i].name;
|
19
|
-
printf(" R%d:%s", (int)n,
|
19
|
+
printf(" R%d:%s", (int)n, mrb_sym_dump(mrb, sym));
|
20
20
|
break;
|
21
21
|
}
|
22
22
|
}
|
@@ -69,7 +69,7 @@ static void
|
|
69
69
|
codedump(mrb_state *mrb, mrb_irep *irep)
|
70
70
|
{
|
71
71
|
int ai;
|
72
|
-
mrb_code *pc, *pcend;
|
72
|
+
const mrb_code *pc, *pcend;
|
73
73
|
mrb_code ins;
|
74
74
|
const char *file = NULL, *next_file;
|
75
75
|
|
@@ -82,7 +82,7 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
82
82
|
|
83
83
|
printf("local variable names:\n");
|
84
84
|
for (i = 1; i < irep->nlocals; ++i) {
|
85
|
-
char const *s =
|
85
|
+
char const *s = mrb_sym_dump(mrb, irep->lv[i - 1].name);
|
86
86
|
int n = irep->lv[i - 1].r ? irep->lv[i - 1].r : i;
|
87
87
|
printf(" R%d:%s\n", n, s ? s : "");
|
88
88
|
}
|
@@ -147,7 +147,7 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
147
147
|
print_lv_a(mrb, irep, a);
|
148
148
|
break;
|
149
149
|
CASE(OP_LOADSYM, BB):
|
150
|
-
printf("OP_LOADSYM\tR%d\t:%s\t", a,
|
150
|
+
printf("OP_LOADSYM\tR%d\t:%s\t", a, mrb_sym_dump(mrb, irep->syms[b]));
|
151
151
|
print_lv_a(mrb, irep, a);
|
152
152
|
break;
|
153
153
|
CASE(OP_LOADNIL, B):
|
@@ -167,43 +167,43 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
167
167
|
print_lv_a(mrb, irep, a);
|
168
168
|
break;
|
169
169
|
CASE(OP_GETGV, BB):
|
170
|
-
printf("OP_GETGV\tR%d\t:%s", a,
|
170
|
+
printf("OP_GETGV\tR%d\t:%s", a, mrb_sym_dump(mrb, irep->syms[b]));
|
171
171
|
print_lv_a(mrb, irep, a);
|
172
172
|
break;
|
173
173
|
CASE(OP_SETGV, BB):
|
174
|
-
printf("OP_SETGV\t:%s\tR%d",
|
174
|
+
printf("OP_SETGV\t:%s\tR%d", mrb_sym_dump(mrb, irep->syms[b]), a);
|
175
175
|
print_lv_a(mrb, irep, a);
|
176
176
|
break;
|
177
177
|
CASE(OP_GETSV, BB):
|
178
|
-
printf("OP_GETSV\tR%d\t:%s", a,
|
178
|
+
printf("OP_GETSV\tR%d\t:%s", a, mrb_sym_dump(mrb, irep->syms[b]));
|
179
179
|
print_lv_a(mrb, irep, a);
|
180
180
|
break;
|
181
181
|
CASE(OP_SETSV, BB):
|
182
|
-
printf("OP_SETSV\t:%s\tR%d",
|
182
|
+
printf("OP_SETSV\t:%s\tR%d", mrb_sym_dump(mrb, irep->syms[b]), a);
|
183
183
|
print_lv_a(mrb, irep, a);
|
184
184
|
break;
|
185
185
|
CASE(OP_GETCONST, BB):
|
186
|
-
printf("OP_GETCONST\tR%d\t:%s", a,
|
186
|
+
printf("OP_GETCONST\tR%d\t:%s", a, mrb_sym_dump(mrb, irep->syms[b]));
|
187
187
|
print_lv_a(mrb, irep, a);
|
188
188
|
break;
|
189
189
|
CASE(OP_SETCONST, BB):
|
190
|
-
printf("OP_SETCONST\t:%s\tR%d",
|
190
|
+
printf("OP_SETCONST\t:%s\tR%d", mrb_sym_dump(mrb, irep->syms[b]), a);
|
191
191
|
print_lv_a(mrb, irep, a);
|
192
192
|
break;
|
193
193
|
CASE(OP_GETMCNST, BB):
|
194
|
-
printf("OP_GETMCNST\tR%d\tR%d::%s", a, a,
|
194
|
+
printf("OP_GETMCNST\tR%d\tR%d::%s", a, a, mrb_sym_dump(mrb, irep->syms[b]));
|
195
195
|
print_lv_a(mrb, irep, a);
|
196
196
|
break;
|
197
197
|
CASE(OP_SETMCNST, BB):
|
198
|
-
printf("OP_SETMCNST\tR%d::%s\tR%d", a+1,
|
198
|
+
printf("OP_SETMCNST\tR%d::%s\tR%d", a+1, mrb_sym_dump(mrb, irep->syms[b]), a);
|
199
199
|
print_lv_a(mrb, irep, a);
|
200
200
|
break;
|
201
201
|
CASE(OP_GETIV, BB):
|
202
|
-
printf("OP_GETIV\tR%d\t%s", a,
|
202
|
+
printf("OP_GETIV\tR%d\t%s", a, mrb_sym_dump(mrb, irep->syms[b]));
|
203
203
|
print_lv_a(mrb, irep, a);
|
204
204
|
break;
|
205
205
|
CASE(OP_SETIV, BB):
|
206
|
-
printf("OP_SETIV\t%s\tR%d",
|
206
|
+
printf("OP_SETIV\t%s\tR%d", mrb_sym_dump(mrb, irep->syms[b]), a);
|
207
207
|
print_lv_a(mrb, irep, a);
|
208
208
|
break;
|
209
209
|
CASE(OP_GETUPVAR, BBB):
|
@@ -215,11 +215,11 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
215
215
|
print_lv_a(mrb, irep, a);
|
216
216
|
break;
|
217
217
|
CASE(OP_GETCV, BB):
|
218
|
-
printf("OP_GETCV\tR%d\t%s", a,
|
218
|
+
printf("OP_GETCV\tR%d\t%s", a, mrb_sym_dump(mrb, irep->syms[b]));
|
219
219
|
print_lv_a(mrb, irep, a);
|
220
220
|
break;
|
221
221
|
CASE(OP_SETCV, BB):
|
222
|
-
printf("OP_SETCV\t%s\tR%d",
|
222
|
+
printf("OP_SETCV\t%s\tR%d", mrb_sym_dump(mrb, irep->syms[b]), a);
|
223
223
|
print_lv_a(mrb, irep, a);
|
224
224
|
break;
|
225
225
|
CASE(OP_JMP, S):
|
@@ -238,16 +238,16 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
238
238
|
print_lv_a(mrb, irep, a);
|
239
239
|
break;
|
240
240
|
CASE(OP_SENDV, BB):
|
241
|
-
printf("OP_SENDV\tR%d\t:%s\n", a,
|
241
|
+
printf("OP_SENDV\tR%d\t:%s\n", a, mrb_sym_dump(mrb, irep->syms[b]));
|
242
242
|
break;
|
243
243
|
CASE(OP_SENDVB, BB):
|
244
|
-
printf("OP_SENDVB\tR%d\t:%s\n", a,
|
244
|
+
printf("OP_SENDVB\tR%d\t:%s\n", a, mrb_sym_dump(mrb, irep->syms[b]));
|
245
245
|
break;
|
246
246
|
CASE(OP_SEND, BBB):
|
247
|
-
printf("OP_SEND\tR%d\t:%s\t%d\n", a,
|
247
|
+
printf("OP_SEND\tR%d\t:%s\t%d\n", a, mrb_sym_dump(mrb, irep->syms[b]), c);
|
248
248
|
break;
|
249
249
|
CASE(OP_SENDB, BBB):
|
250
|
-
printf("OP_SENDB\tR%d\t:%s\t%d\n", a,
|
250
|
+
printf("OP_SENDB\tR%d\t:%s\t%d\n", a, mrb_sym_dump(mrb, irep->syms[b]), c);
|
251
251
|
break;
|
252
252
|
CASE(OP_CALL, Z):
|
253
253
|
printf("OP_CALL\n");
|
@@ -266,23 +266,23 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
266
266
|
break;
|
267
267
|
CASE(OP_ENTER, W):
|
268
268
|
printf("OP_ENTER\t%d:%d:%d:%d:%d:%d:%d\n",
|
269
|
-
(a
|
270
|
-
(a
|
271
|
-
(a
|
272
|
-
(a
|
273
|
-
(a
|
274
|
-
(a
|
275
|
-
a
|
269
|
+
MRB_ASPEC_REQ(a),
|
270
|
+
MRB_ASPEC_OPT(a),
|
271
|
+
MRB_ASPEC_REST(a),
|
272
|
+
MRB_ASPEC_POST(a),
|
273
|
+
MRB_ASPEC_KEY(a),
|
274
|
+
MRB_ASPEC_KDICT(a),
|
275
|
+
MRB_ASPEC_BLOCK(a));
|
276
276
|
break;
|
277
277
|
CASE(OP_KEY_P, BB):
|
278
|
-
printf("OP_KEY_P\tR%d\t:%s\t", a,
|
278
|
+
printf("OP_KEY_P\tR%d\t:%s\t", a, mrb_sym_dump(mrb, irep->syms[b]));
|
279
279
|
print_lv_a(mrb, irep, a);
|
280
280
|
break;
|
281
281
|
CASE(OP_KEYEND, Z):
|
282
282
|
printf("OP_KEYEND\n");
|
283
283
|
break;
|
284
284
|
CASE(OP_KARG, BB):
|
285
|
-
printf("OP_KARG\tR%d\t:%s\t", a,
|
285
|
+
printf("OP_KARG\tR%d\t:%s\t", a, mrb_sym_dump(mrb, irep->syms[b]));
|
286
286
|
print_lv_a(mrb, irep, a);
|
287
287
|
break;
|
288
288
|
CASE(OP_RETURN, B):
|
@@ -322,13 +322,13 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
322
322
|
printf("OP_RANGE_EXC\tR%d\n", a);
|
323
323
|
break;
|
324
324
|
CASE(OP_DEF, BB):
|
325
|
-
printf("OP_DEF\tR%d\t:%s\n", a,
|
325
|
+
printf("OP_DEF\tR%d\t:%s\n", a, mrb_sym_dump(mrb, irep->syms[b]));
|
326
326
|
break;
|
327
327
|
CASE(OP_UNDEF, B):
|
328
|
-
printf("OP_UNDEF\t:%s\n",
|
328
|
+
printf("OP_UNDEF\t:%s\n", mrb_sym_dump(mrb, irep->syms[a]));
|
329
329
|
break;
|
330
330
|
CASE(OP_ALIAS, BB):
|
331
|
-
printf("OP_ALIAS\t:%s\t%s\n",
|
331
|
+
printf("OP_ALIAS\t:%s\t%s\n", mrb_sym_dump(mrb, irep->syms[a]), mrb_sym_dump(mrb, irep->syms[b]));
|
332
332
|
break;
|
333
333
|
CASE(OP_ADD, B):
|
334
334
|
printf("OP_ADD\tR%d\t\n", a);
|
@@ -429,11 +429,11 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
429
429
|
print_lv_a(mrb, irep, a);
|
430
430
|
break;
|
431
431
|
CASE(OP_CLASS, BB):
|
432
|
-
printf("OP_CLASS\tR%d\t:%s", a,
|
432
|
+
printf("OP_CLASS\tR%d\t:%s", a, mrb_sym_dump(mrb, irep->syms[b]));
|
433
433
|
print_lv_a(mrb, irep, a);
|
434
434
|
break;
|
435
435
|
CASE(OP_MODULE, BB):
|
436
|
-
printf("OP_MODULE\tR%d\t:%s", a,
|
436
|
+
printf("OP_MODULE\tR%d\t:%s", a, mrb_sym_dump(mrb, irep->syms[b]));
|
437
437
|
print_lv_a(mrb, irep, a);
|
438
438
|
break;
|
439
439
|
CASE(OP_EXEC, BB):
|
@@ -57,7 +57,7 @@ mrb_debug_get_filename(mrb_state *mrb, mrb_irep *irep, ptrdiff_t pc)
|
|
57
57
|
mrb_irep_debug_info_file* f = NULL;
|
58
58
|
if (!irep->debug_info) return NULL;
|
59
59
|
else if ((f = get_file(irep->debug_info, (uint32_t)pc))) {
|
60
|
-
return
|
60
|
+
return mrb_sym_name_len(mrb, f->filename_sym, NULL);
|
61
61
|
}
|
62
62
|
}
|
63
63
|
return NULL;
|
@@ -138,7 +138,7 @@ mrb_debug_info_append_file(mrb_state *mrb, mrb_irep_debug_info *d,
|
|
138
138
|
mrb_assert(lines);
|
139
139
|
|
140
140
|
if (d->flen > 0) {
|
141
|
-
const char *fn =
|
141
|
+
const char *fn = mrb_sym_name_len(mrb, d->files[d->flen - 1]->filename_sym, NULL);
|
142
142
|
if (strcmp(filename, fn) == 0)
|
143
143
|
return NULL;
|
144
144
|
}
|
@@ -220,7 +220,7 @@ get_syms_block_size(mrb_state *mrb, mrb_irep *irep)
|
|
220
220
|
for (sym_no = 0; sym_no < irep->slen; sym_no++) {
|
221
221
|
size += sizeof(uint16_t); /* snl(n) */
|
222
222
|
if (irep->syms[sym_no] != 0) {
|
223
|
-
|
223
|
+
mrb_sym_name_len(mrb, irep->syms[sym_no], &len);
|
224
224
|
size += len + 1; /* sn(n) + null char */
|
225
225
|
}
|
226
226
|
}
|
@@ -241,7 +241,7 @@ write_syms_block(mrb_state *mrb, mrb_irep *irep, uint8_t *buf)
|
|
241
241
|
if (irep->syms[sym_no] != 0) {
|
242
242
|
mrb_int len;
|
243
243
|
|
244
|
-
name =
|
244
|
+
name = mrb_sym_name_len(mrb, irep->syms[sym_no], &len);
|
245
245
|
|
246
246
|
mrb_assert_int_fit(mrb_int, len, uint16_t, UINT16_MAX);
|
247
247
|
cur += uint16_to_bin((uint16_t)len, cur); /* length of symbol name */
|
@@ -436,7 +436,7 @@ get_filename_table_size(mrb_state *mrb, mrb_irep *irep, mrb_sym **fp, uint16_t *
|
|
436
436
|
filenames[*lp - 1] = file->filename_sym;
|
437
437
|
|
438
438
|
/* filename */
|
439
|
-
|
439
|
+
mrb_sym_name_len(mrb, file->filename_sym, &filename_len);
|
440
440
|
size += sizeof(uint16_t) + (size_t)filename_len;
|
441
441
|
}
|
442
442
|
}
|
@@ -540,7 +540,7 @@ write_section_debug(mrb_state *mrb, mrb_irep *irep, uint8_t *cur, mrb_sym const
|
|
540
540
|
cur += uint16_to_bin(filenames_len, cur);
|
541
541
|
section_size += sizeof(uint16_t);
|
542
542
|
for (i = 0; i < filenames_len; ++i) {
|
543
|
-
sym =
|
543
|
+
sym = mrb_sym_name_len(mrb, filenames[i], &sym_len);
|
544
544
|
mrb_assert(sym);
|
545
545
|
cur += uint16_to_bin((uint16_t)sym_len, cur);
|
546
546
|
memcpy(cur, sym, sym_len);
|
@@ -594,7 +594,7 @@ write_lv_sym_table(mrb_state *mrb, uint8_t **start, mrb_sym const *syms, uint32_
|
|
594
594
|
cur += uint32_to_bin(syms_len, cur);
|
595
595
|
|
596
596
|
for (i = 0; i < syms_len; ++i) {
|
597
|
-
str =
|
597
|
+
str = mrb_sym_name_len(mrb, syms[i], &str_len);
|
598
598
|
cur += uint16_to_bin((uint16_t)str_len, cur);
|
599
599
|
memcpy(cur, str, str_len);
|
600
600
|
cur += str_len;
|
@@ -658,7 +658,7 @@ get_lv_section_size(mrb_state *mrb, mrb_irep *irep, mrb_sym const *syms, uint32_
|
|
658
658
|
ret += sizeof(uint16_t) * syms_len; /* symbol name lengths */
|
659
659
|
for (i = 0; i < syms_len; ++i) {
|
660
660
|
mrb_int str_len;
|
661
|
-
|
661
|
+
mrb_sym_name_len(mrb, syms[i], &str_len);
|
662
662
|
ret += str_len;
|
663
663
|
}
|
664
664
|
|
@@ -943,7 +943,9 @@ mrb_dump_irep_cfunc(mrb_state *mrb, mrb_irep *irep, uint8_t flags, FILE *fp, con
|
|
943
943
|
return MRB_DUMP_WRITE_FAULT;
|
944
944
|
}
|
945
945
|
if (fprintf(fp,
|
946
|
+
"#ifdef __cplusplus\n"
|
946
947
|
"extern const uint8_t %s[];\n"
|
948
|
+
"#endif\n"
|
947
949
|
"const uint8_t\n"
|
948
950
|
"#if defined __GNUC__\n"
|
949
951
|
"__attribute__((aligned(%u)))\n"
|
@@ -26,5 +26,5 @@ mrb_init_enumerable(mrb_state *mrb)
|
|
26
26
|
{
|
27
27
|
struct RClass *enumerable;
|
28
28
|
enumerable = mrb_define_module(mrb, "Enumerable"); /* 15.3.2 */
|
29
|
-
mrb_define_module_function(mrb, enumerable, "__update_hash", enum_update_hash, MRB_ARGS_REQ(
|
29
|
+
mrb_define_module_function(mrb, enumerable, "__update_hash", enum_update_hash, MRB_ARGS_REQ(3));
|
30
30
|
}
|
@@ -44,10 +44,8 @@ static mrb_value
|
|
44
44
|
exc_initialize(mrb_state *mrb, mrb_value exc)
|
45
45
|
{
|
46
46
|
mrb_value mesg;
|
47
|
-
mrb_int argc;
|
48
|
-
mrb_value *argv;
|
49
47
|
|
50
|
-
if (mrb_get_args(mrb, "|o
|
48
|
+
if (mrb_get_args(mrb, "|o", &mesg) == 1) {
|
51
49
|
mrb_iv_set(mrb, exc, mrb_intern_lit(mrb, "mesg"), mesg);
|
52
50
|
}
|
53
51
|
return exc;
|
@@ -151,14 +149,14 @@ exc_inspect(mrb_state *mrb, mrb_value exc)
|
|
151
149
|
str = mrb_str_new_cstr(mrb, cname);
|
152
150
|
if (mrb_string_p(file) && mrb_fixnum_p(line)) {
|
153
151
|
if (append_mesg) {
|
154
|
-
str = mrb_format(mrb, "%
|
152
|
+
str = mrb_format(mrb, "%v:%v: %v (%v)", file, line, mesg, str);
|
155
153
|
}
|
156
154
|
else {
|
157
|
-
str = mrb_format(mrb, "%
|
155
|
+
str = mrb_format(mrb, "%v:%v: %v", file, line, str);
|
158
156
|
}
|
159
157
|
}
|
160
158
|
else if (append_mesg) {
|
161
|
-
str = mrb_format(mrb, "%
|
159
|
+
str = mrb_format(mrb, "%v: %v", str, mesg);
|
162
160
|
}
|
163
161
|
return str;
|
164
162
|
}
|
@@ -198,11 +196,11 @@ static void
|
|
198
196
|
exc_debug_info(mrb_state *mrb, struct RObject *exc)
|
199
197
|
{
|
200
198
|
mrb_callinfo *ci = mrb->c->ci;
|
201
|
-
mrb_code *pc = ci->pc;
|
199
|
+
const mrb_code *pc = ci->pc;
|
202
200
|
|
203
201
|
if (mrb_obj_iv_defined(mrb, exc, mrb_intern_lit(mrb, "file"))) return;
|
204
202
|
while (ci >= mrb->c->cibase) {
|
205
|
-
mrb_code *err = ci->err;
|
203
|
+
const mrb_code *err = ci->err;
|
206
204
|
|
207
205
|
if (!err && pc) err = pc - 1;
|
208
206
|
if (err && ci->proc && !MRB_PROC_CFUNC_P(ci->proc)) {
|
@@ -233,7 +231,7 @@ mrb_exc_set(mrb_state *mrb, mrb_value exc)
|
|
233
231
|
(struct RBasic*)mrb->exc == mrb->gc.arena[mrb->gc.arena_idx-1]) {
|
234
232
|
mrb->gc.arena_idx--;
|
235
233
|
}
|
236
|
-
if (!mrb->gc.out_of_memory && !
|
234
|
+
if (!mrb->gc.out_of_memory && !mrb_frozen_p(mrb->exc)) {
|
237
235
|
exc_debug_info(mrb, mrb->exc);
|
238
236
|
mrb_keep_backtrace(mrb, exc);
|
239
237
|
}
|
@@ -243,10 +241,15 @@ mrb_exc_set(mrb_state *mrb, mrb_value exc)
|
|
243
241
|
MRB_API mrb_noreturn void
|
244
242
|
mrb_exc_raise(mrb_state *mrb, mrb_value exc)
|
245
243
|
{
|
246
|
-
if (
|
247
|
-
|
244
|
+
if (mrb_break_p(exc)) {
|
245
|
+
mrb->exc = mrb_obj_ptr(exc);
|
246
|
+
}
|
247
|
+
else {
|
248
|
+
if (!mrb_obj_is_kind_of(mrb, exc, mrb->eException_class)) {
|
249
|
+
mrb_raise(mrb, E_TYPE_ERROR, "exception object expected");
|
250
|
+
}
|
251
|
+
mrb_exc_set(mrb, exc);
|
248
252
|
}
|
249
|
-
mrb_exc_set(mrb, exc);
|
250
253
|
if (!mrb->jmp) {
|
251
254
|
mrb_p(mrb, exc);
|
252
255
|
abort();
|
@@ -260,59 +263,152 @@ mrb_raise(mrb_state *mrb, struct RClass *c, const char *msg)
|
|
260
263
|
mrb_exc_raise(mrb, mrb_exc_new_str(mrb, c, mrb_str_new_cstr(mrb, msg)));
|
261
264
|
}
|
262
265
|
|
266
|
+
/*
|
267
|
+
* <code>vsprintf</code> like formatting.
|
268
|
+
*
|
269
|
+
* The syntax of a format sequence is as follows.
|
270
|
+
*
|
271
|
+
* %[modifier]specifier
|
272
|
+
*
|
273
|
+
* The modifiers are:
|
274
|
+
*
|
275
|
+
* ----------+------------------------------------------------------------
|
276
|
+
* Modifier | Meaning
|
277
|
+
* ----------+------------------------------------------------------------
|
278
|
+
* ! | Convert to string by corresponding `inspect` instead of
|
279
|
+
* | corresponding `to_s`.
|
280
|
+
* ----------+------------------------------------------------------------
|
281
|
+
*
|
282
|
+
* The specifiers are:
|
283
|
+
*
|
284
|
+
* ----------+----------------+--------------------------------------------
|
285
|
+
* Specifier | Argument Type | Note
|
286
|
+
* ----------+----------------+--------------------------------------------
|
287
|
+
* c | char |
|
288
|
+
* d | int |
|
289
|
+
* f | mrb_float |
|
290
|
+
* i | mrb_int |
|
291
|
+
* l | char*, size_t | Arguments are string and length.
|
292
|
+
* n | mrb_sym |
|
293
|
+
* s | char* | Argument is NUL terminated string.
|
294
|
+
* t | mrb_value | Convert to type (class) of object.
|
295
|
+
* v,S | mrb_value |
|
296
|
+
* C | struct RClass* |
|
297
|
+
* T | mrb_value | Convert to real type (class) of object.
|
298
|
+
* Y | mrb_value | Same as `!v` if argument is `true`, `false`
|
299
|
+
* | | or `nil`, otherwise same as `T`.
|
300
|
+
* % | - | Convert to percent sign itself (no argument
|
301
|
+
* | | taken).
|
302
|
+
* ----------+----------------+--------------------------------------------
|
303
|
+
*/
|
263
304
|
MRB_API mrb_value
|
264
305
|
mrb_vformat(mrb_state *mrb, const char *format, va_list ap)
|
265
306
|
{
|
266
|
-
const char *p = format;
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
307
|
+
const char *chars, *p = format, *b = format, *e;
|
308
|
+
char ch;
|
309
|
+
size_t len;
|
310
|
+
mrb_int i;
|
311
|
+
struct RClass *cls;
|
312
|
+
mrb_bool inspect = FALSE;
|
313
|
+
mrb_value result = mrb_str_new_capa(mrb, 128), obj, str;
|
271
314
|
int ai = mrb_gc_arena_save(mrb);
|
272
315
|
|
273
316
|
while (*p) {
|
274
317
|
const char c = *p++;
|
275
|
-
|
318
|
+
e = p;
|
276
319
|
if (c == '%') {
|
277
|
-
if (*p == '
|
278
|
-
|
279
|
-
|
280
|
-
size = p - b - 1;
|
281
|
-
mrb_ary_push(mrb, ary, mrb_str_new(mrb, b, size));
|
282
|
-
val = va_arg(ap, mrb_value);
|
283
|
-
mrb_ary_push(mrb, ary, mrb_obj_as_string(mrb, val));
|
284
|
-
b = p + 1;
|
320
|
+
if (*p == '!') {
|
321
|
+
inspect = TRUE;
|
322
|
+
++p;
|
285
323
|
}
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
324
|
+
if (!*p) break;
|
325
|
+
switch (*p) {
|
326
|
+
case 'c':
|
327
|
+
ch = (char)va_arg(ap, int);
|
328
|
+
chars = &ch;
|
329
|
+
len = 1;
|
330
|
+
goto L_cat;
|
331
|
+
case 'd': case 'i':
|
332
|
+
#if MRB_INT_MAX < INT_MAX
|
333
|
+
i = (mrb_int)va_arg(ap, int);
|
334
|
+
#else
|
335
|
+
i = *p == 'd' ? (mrb_int)va_arg(ap, int) : va_arg(ap, mrb_int);
|
336
|
+
#endif
|
337
|
+
obj = mrb_fixnum_value(i);
|
338
|
+
goto L_cat_obj;
|
339
|
+
#ifndef MRB_WITHOUT_FLOAT
|
340
|
+
case 'f':
|
341
|
+
obj = mrb_float_value(mrb, (mrb_float)va_arg(ap, double));
|
342
|
+
goto L_cat_obj;
|
343
|
+
#endif
|
344
|
+
case 'l':
|
345
|
+
chars = va_arg(ap, char*);
|
346
|
+
len = va_arg(ap, size_t);
|
347
|
+
L_cat:
|
348
|
+
if (inspect) {
|
349
|
+
obj = mrb_str_new(mrb, chars, len);
|
350
|
+
goto L_cat_obj;
|
351
|
+
}
|
352
|
+
mrb_str_cat(mrb, result, b, e - b - 1);
|
353
|
+
mrb_str_cat(mrb, result, chars, len);
|
354
|
+
b = ++p;
|
355
|
+
mrb_gc_arena_restore(mrb, ai);
|
356
|
+
break;
|
357
|
+
case 'n':
|
358
|
+
obj = mrb_symbol_value(va_arg(ap, mrb_sym));
|
359
|
+
goto L_cat_obj;
|
360
|
+
case 's':
|
361
|
+
chars = va_arg(ap, char*);
|
362
|
+
len = strlen(chars);
|
363
|
+
goto L_cat;
|
364
|
+
case 't':
|
365
|
+
cls = mrb_class(mrb, va_arg(ap, mrb_value));
|
366
|
+
goto L_cat_class;
|
367
|
+
case 'v': case 'S':
|
368
|
+
obj = va_arg(ap, mrb_value);
|
369
|
+
L_cat_obj:
|
370
|
+
str = (inspect ? mrb_inspect : mrb_obj_as_string)(mrb, obj);
|
371
|
+
chars = RSTRING_PTR(str);
|
372
|
+
len = RSTRING_LEN(str);
|
373
|
+
inspect = FALSE;
|
374
|
+
goto L_cat;
|
375
|
+
case 'C':
|
376
|
+
cls = va_arg(ap, struct RClass*);
|
377
|
+
L_cat_class:
|
378
|
+
obj = mrb_obj_value(cls);
|
379
|
+
goto L_cat_obj;
|
380
|
+
case 'T':
|
381
|
+
obj = va_arg(ap, mrb_value);
|
382
|
+
L_cat_real_class_of:
|
383
|
+
cls = mrb_obj_class(mrb, obj);
|
384
|
+
goto L_cat_class;
|
385
|
+
case 'Y':
|
386
|
+
obj = va_arg(ap, mrb_value);
|
387
|
+
if (!mrb_test(obj) || mrb_true_p(obj)) {
|
388
|
+
inspect = TRUE;
|
389
|
+
goto L_cat_obj;
|
390
|
+
}
|
391
|
+
else {
|
392
|
+
goto L_cat_real_class_of;
|
393
|
+
}
|
394
|
+
case '%':
|
395
|
+
L_cat_current:
|
396
|
+
chars = p;
|
397
|
+
len = 1;
|
398
|
+
goto L_cat;
|
399
|
+
default:
|
400
|
+
mrb_raisef(mrb, E_ARGUMENT_ERROR, "malformed format string - %%%c", *p);
|
296
401
|
}
|
297
402
|
}
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
mrb_gc_arena_restore(mrb, ai0);
|
302
|
-
return mrb_str_new_cstr(mrb, format);
|
303
|
-
}
|
304
|
-
else {
|
305
|
-
mrb_value val;
|
403
|
+
else if (c == '\\') {
|
404
|
+
if (!*p) break;
|
405
|
+
goto L_cat_current;
|
306
406
|
|
307
|
-
size = p - b;
|
308
|
-
if (size > 0) {
|
309
|
-
mrb_ary_push(mrb, ary, mrb_str_new(mrb, b, size));
|
310
407
|
}
|
311
|
-
val = mrb_ary_join(mrb, ary, mrb_nil_value());
|
312
|
-
mrb_gc_arena_restore(mrb, ai0);
|
313
|
-
mrb_gc_protect(mrb, val);
|
314
|
-
return val;
|
315
408
|
}
|
409
|
+
|
410
|
+
mrb_str_cat(mrb, result, b, p - b);
|
411
|
+
return result;
|
316
412
|
}
|
317
413
|
|
318
414
|
MRB_API mrb_value
|
@@ -434,7 +530,7 @@ exception_call:
|
|
434
530
|
|
435
531
|
break;
|
436
532
|
default:
|
437
|
-
mrb_raisef(mrb, E_ARGUMENT_ERROR, "wrong number of arguments (%
|
533
|
+
mrb_raisef(mrb, E_ARGUMENT_ERROR, "wrong number of arguments (%i for 0..3)", argc);
|
438
534
|
break;
|
439
535
|
}
|
440
536
|
if (argc > 0) {
|
@@ -484,6 +580,12 @@ mrb_no_method_error(mrb_state *mrb, mrb_sym id, mrb_value args, char const* fmt,
|
|
484
580
|
mrb_exc_raise(mrb, exc);
|
485
581
|
}
|
486
582
|
|
583
|
+
MRB_API mrb_noreturn void
|
584
|
+
mrb_frozen_error(mrb_state *mrb, void *frozen_obj)
|
585
|
+
{
|
586
|
+
mrb_raisef(mrb, E_FROZEN_ERROR, "can't modify frozen %t", mrb_obj_value(frozen_obj));
|
587
|
+
}
|
588
|
+
|
487
589
|
void
|
488
590
|
mrb_init_exception(mrb_state *mrb)
|
489
591
|
{
|
@@ -491,9 +593,9 @@ mrb_init_exception(mrb_state *mrb)
|
|
491
593
|
|
492
594
|
mrb->eException_class = exception = mrb_define_class(mrb, "Exception", mrb->object_class); /* 15.2.22 */
|
493
595
|
MRB_SET_INSTANCE_TT(exception, MRB_TT_EXCEPTION);
|
494
|
-
mrb_define_class_method(mrb, exception, "exception", mrb_instance_new,
|
495
|
-
mrb_define_method(mrb, exception, "exception", exc_exception,
|
496
|
-
mrb_define_method(mrb, exception, "initialize", exc_initialize,
|
596
|
+
mrb_define_class_method(mrb, exception, "exception", mrb_instance_new, MRB_ARGS_OPT(1));
|
597
|
+
mrb_define_method(mrb, exception, "exception", exc_exception, MRB_ARGS_OPT(1));
|
598
|
+
mrb_define_method(mrb, exception, "initialize", exc_initialize, MRB_ARGS_OPT(1));
|
497
599
|
mrb_define_method(mrb, exception, "to_s", exc_to_s, MRB_ARGS_NONE());
|
498
600
|
mrb_define_method(mrb, exception, "message", exc_message, MRB_ARGS_NONE());
|
499
601
|
mrb_define_method(mrb, exception, "inspect", exc_inspect, MRB_ARGS_NONE());
|