Yukihiro "Matz" Matsumoto
d1909320d9
mruby-compiler: fixed a bug in string literal merge; fix #6491
2025-03-17 09:17:38 +09:00
Yukihiro "Matz" Matsumoto
eb455c19fe
mruby-compiler: prohibit singleton methods for literals
...
We have checked `def (literal).m` style but not `def literal.m` style.
In addition, `NODE_INT` check is newly added.
2025-03-14 23:28:42 +09:00
Yukihiro "Matz" Matsumoto
5bc00bf199
mruby-compiler: detect super without surrounding method; close #6271
2025-03-11 21:21:50 +09:00
Yukihiro "Matz" Matsumoto
76d3739a89
mruby-metaprog (mrb_obj_methods): should not retrieve obj->c directly
...
In some cases, `obj` may not be an object structure, but an immediate.
2025-03-10 11:40:48 +09:00
Yukihiro "Matz" Matsumoto
f2c8b43d42
mruby-test: stop unused local variable warning
2025-03-09 16:43:28 +09:00
Yukihiro "Matz" Matsumoto
2b76967724
Merge pull request #6487 from esotericpig/master
...
Add Emscripten toolchain & build_config
2025-03-09 14:28:30 +09:00
Yukihiro "Matz" Matsumoto
96113a2ed9
mruby-io: define File.absolute_path method; ref #6482
2025-03-08 11:12:12 +09:00
esotericpig
bfc9742848
Add Emscripten toolchain & build_config
2025-03-07 12:39:54 -10:00
Yukihiro "Matz" Matsumoto
2a876d2047
class.c: implement top-level public/private/protected in the core in C
2025-03-07 17:17:49 +09:00
Yukihiro "Matz" Matsumoto
3f93254b02
mruby-metaprog: add actual test for Kernel#protected_methods
2025-03-07 17:17:47 +09:00
Yukihiro "Matz" Matsumoto
16db15d6fd
mruby-metaprog: add actual test for Kernel#private_methods
2025-03-07 17:17:47 +09:00
Yukihiro "Matz" Matsumoto
2db1ad9ce3
mruby-metaprog/test: avoid potential name crash by Foo class
2025-03-07 17:17:47 +09:00
Yukihiro "Matz" Matsumoto
52403abcf8
mruby-binding: make Kernel#binding private
2025-03-07 17:17:45 +09:00
Yukihiro "Matz" Matsumoto
e5e8dd11c0
mruby-rational: make Rational() private
2025-03-07 17:17:45 +09:00
Yukihiro "Matz" Matsumoto
2a991fb399
mruby-complex: make Complex() private
2025-03-07 17:17:45 +09:00
Yukihiro "Matz" Matsumoto
111fe4b3be
mruby-compiler: generate OP_SSEND from Complex and Rational literals
2025-03-07 17:17:45 +09:00
Yukihiro "Matz" Matsumoto
4a0e80601f
mruby-kernel-ext: make Kernel methods private
...
- fail
- caller
= __method__
- __callee__
- Integer
= Float
- String
- Array
- Hash
2025-03-07 17:17:45 +09:00
Yukihiro "Matz" Matsumoto
93e133548f
mruby-eval: make #eval private
2025-03-07 17:17:44 +09:00
Yukihiro "Matz" Matsumoto
d7a4275dd1
mruby-metaprog: make #global_variables, #local_variables private
2025-03-07 17:17:44 +09:00
Yukihiro "Matz" Matsumoto
3a56106d6c
mruby-proc-ext: make #proc private
2025-03-07 17:17:43 +09:00
Yukihiro "Matz" Matsumoto
cc54865873
mruby-sleep: make #sleep (and #usleep) private
2025-03-07 17:17:43 +09:00
Yukihiro "Matz" Matsumoto
f7142cd327
mruby-random: make Kernel#srand and #rand private
2025-03-07 17:17:43 +09:00
Yukihiro "Matz" Matsumoto
4f5cad6444
mruby-catch: make #catch and #throw private
2025-03-07 17:17:43 +09:00
Yukihiro "Matz" Matsumoto
6bb629e957
mruby-exit: make exit methods private
2025-03-07 17:17:42 +09:00
Yukihiro "Matz" Matsumoto
6f97c842d2
mruby-io: use ... for argument forwarding
2025-03-07 17:17:42 +09:00
Yukihiro "Matz" Matsumoto
a736ddcbb7
mruby-io: make some methods private
...
- open
- print
- printf
- gets
2025-03-07 17:17:42 +09:00
Yukihiro "Matz" Matsumoto
37d3d34036
mruby-compiler: use OP_SSEND for backquote calls
2025-03-07 17:17:42 +09:00
Yukihiro "Matz" Matsumoto
d022a3ee68
mruby-eval/test: use #__send__ to call private #eval
2025-03-07 17:17:41 +09:00
Yukihiro "Matz" Matsumoto
23d5e04fdf
mruby-proc-ext/test: fix wrong usage of mrb_module_function()
2025-03-07 17:17:41 +09:00
Yukihiro "Matz" Matsumoto
e8574b6298
mruby-struct/test: call #remove_const via #__send__
2025-03-07 17:17:41 +09:00
Yukihiro "Matz" Matsumoto
cce8f62b21
mruby-object-ext/test: call #remove_const via #__send__
2025-03-07 17:17:40 +09:00
Yukihiro "Matz" Matsumoto
bfcc1e3c2c
mruby-io: puts should print nothing for empty arrays
2025-03-07 17:17:38 +09:00
Yukihiro "Matz" Matsumoto
457aaa173b
mruby-metaprog (mrb_mod_remove_method): stop calling method_removed()
...
The hook method should be called from mrb_remove_method().
2025-03-07 17:17:37 +09:00
Yukihiro "Matz" Matsumoto
4ea5510937
mruby-compiler (merge_op_string): fix #6477
...
If two merging strings are the same and registered at the bottom of the
pool, we should not remove the slot from the pool.
2025-03-07 17:17:37 +09:00
Yukihiro "Matz" Matsumoto
1ab8e4d27d
mruby-toplevel-ext: make Main#include private
2025-03-07 17:17:35 +09:00
Yukihiro "Matz" Matsumoto
1e4a3f3e5c
mruby-toplevel-ext: implement toplevel public/private/protected
2025-03-07 17:17:35 +09:00
Yukihiro "Matz" Matsumoto
235c1484d0
mruby-toplevel-ext: Directly include features to Object class
2025-03-07 17:17:35 +09:00
Yukihiro "Matz" Matsumoto
9e3e7b2cfe
mruby-metaprog: add 3 new methods to retrieve instance method names
...
- public_instance_methods
- private_instance_methods
- protected_instance_methods
2025-03-07 17:17:34 +09:00
Yukihiro "Matz" Matsumoto
9229da10e4
mruby-metaprog: implement method list from a class (or an instance)
2025-03-07 17:17:34 +09:00
Yukihiro "Matz" Matsumoto
a282f8bf2a
mruby-metaprog: remove unnecessary enum
2025-03-07 17:17:34 +09:00
dearblue
c796729fa8
Add File.absolute_path? method
2025-03-05 22:23:49 +09:00
dearblue
f77ebfe102
Reimplementation of File.expand_path method
...
The reason for this is to fix the following problems
- Even on non-Windows, drive letter recognition was still being handled.
- On Windows, paths starting with a slash were not expanded correctly.
- On Windows, relative paths containing drive letters behaved differently than in CRuby.
Due to reimplementation, the internal methods `File._concat_path`, `File._gethome` and `File._getwd` methods have been removed.
2025-02-26 21:55:25 +09:00
dearblue
437065997f
Redefine some macros in mruby-io
...
To improve uniformity of names and definition locations.
2025-02-26 21:55:17 +09:00
dearblue
3b1e3d930f
Hide mpz_and() symbol
2025-02-02 16:59:28 +09:00
Yukihiro "Matz" Matsumoto
49396024b7
Merge pull request #6472 from dearblue/rational
2025-01-27 12:37:53 +09:00
Yukihiro "Matz" Matsumoto
cb3b94346e
mruby-complier (gen_call): remove duplicate MRB_OPSYM_2(); #6471
2025-01-27 12:36:14 +09:00
Yukihiro "Matz" Matsumoto
69024d9a36
mruby-compiler (gen_call): operator optimization with self; close #6471
...
If the left operand is `self`, the previous (reverted) change disabled
optimization with operators. This is sort of a hack, but it works.
2025-01-26 23:14:19 +09:00
dearblue
12e90896a5
Moved tests for Integer#quo
...
The `Rational` class is never defined during core testing.
2025-01-26 21:11:21 +09:00
Yukihiro "Matz" Matsumoto
acddb3945b
mruby-compiler (gen_call): adjust spacing
2025-01-26 20:08:01 +09:00
Yukihiro "Matz" Matsumoto
6731d59f06
Revert "mruby-compiler (gen_call): use OP_SSEND for self.foo() calls"
...
This reverts commit 583aa985c8f3117a833a38f0d27753a090503f17; #6471
2025-01-26 19:52:01 +09:00