mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
resolve conflict regarding backtick
This commit is contained in:
+8
-1
@@ -189,13 +189,20 @@ int mrb_get_args(mrb_state *mrb, const char *format, ...);
|
||||
mrb_value mrb_funcall(mrb_state*, mrb_value, const char*, int,...);
|
||||
mrb_value mrb_funcall_argv(mrb_state*, mrb_value, mrb_sym, int, mrb_value*);
|
||||
mrb_value mrb_funcall_with_block(mrb_state*, mrb_value, mrb_sym, int, mrb_value*, mrb_value);
|
||||
mrb_sym mrb_intern(mrb_state*,const char*);
|
||||
mrb_sym mrb_intern_cstr(mrb_state*,const char*);
|
||||
mrb_sym mrb_intern2(mrb_state*,const char*,size_t);
|
||||
mrb_sym mrb_intern_str(mrb_state*,mrb_value);
|
||||
const char *mrb_sym2name(mrb_state*,mrb_sym);
|
||||
const char *mrb_sym2name_len(mrb_state*,mrb_sym,size_t*);
|
||||
mrb_value mrb_str_format(mrb_state *, int, const mrb_value *, mrb_value);
|
||||
|
||||
/* For backward compatibility. */
|
||||
static inline
|
||||
mrb_sym mrb_intern(mrb_state *mrb,const char *cstr)
|
||||
{
|
||||
return mrb_intern_cstr(mrb, cstr);
|
||||
}
|
||||
|
||||
void *mrb_malloc(mrb_state*, size_t);
|
||||
void *mrb_calloc(mrb_state*, size_t, size_t);
|
||||
void *mrb_realloc(mrb_state*, void*, size_t);
|
||||
|
||||
@@ -33,7 +33,7 @@ mrb_value mrb_check_hash_type(mrb_state *mrb, mrb_value hash);
|
||||
/* RHASH_TBL allocates st_table if not available. */
|
||||
#define RHASH(obj) ((struct RHash*)((obj).value.p))
|
||||
#define RHASH_TBL(h) (RHASH(h)->ht)
|
||||
#define RHASH_IFNONE(h) mrb_iv_get(mrb, (h), mrb_intern(mrb, "ifnone"))
|
||||
#define RHASH_IFNONE(h) mrb_iv_get(mrb, (h), mrb_intern2(mrb, "ifnone", 6))
|
||||
#define RHASH_PROCDEFAULT(h) RHASH_IFNONE(h)
|
||||
struct kh_ht * mrb_hash_tbl(mrb_state *mrb, mrb_value hash);
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ mrb_struct_iv_get(mrb_state *mrb, mrb_value c, const char *name)
|
||||
mrb_value
|
||||
mrb_struct_s_members(mrb_state *mrb, mrb_value klass)
|
||||
{
|
||||
mrb_value members = struct_ivar_get(mrb, klass, mrb_intern(mrb, "__members__"));
|
||||
mrb_value members = struct_ivar_get(mrb, klass, mrb_intern2(mrb, "__members__", 11));
|
||||
|
||||
if (mrb_nil_p(members)) {
|
||||
mrb_raise(mrb, E_TYPE_ERROR, "uninitialized struct");
|
||||
@@ -258,7 +258,7 @@ make_struct(mrb_state *mrb, mrb_value name, mrb_value members, struct RClass * k
|
||||
}
|
||||
MRB_SET_INSTANCE_TT(c, MRB_TT_ARRAY);
|
||||
nstr = mrb_obj_value(c);
|
||||
mrb_iv_set(mrb, nstr, mrb_intern(mrb, "__members__"), members);
|
||||
mrb_iv_set(mrb, nstr, mrb_intern2(mrb, "__members__", 11), members);
|
||||
|
||||
mrb_define_class_method(mrb, c, "new", mrb_instance_new, ARGS_ANY());
|
||||
mrb_define_class_method(mrb, c, "[]", mrb_instance_new, ARGS_ANY());
|
||||
@@ -393,7 +393,7 @@ num_members(mrb_state *mrb, struct RClass *klass)
|
||||
{
|
||||
mrb_value members;
|
||||
|
||||
members = struct_ivar_get(mrb, mrb_obj_value(klass), mrb_intern(mrb, "__members__"));
|
||||
members = struct_ivar_get(mrb, mrb_obj_value(klass), mrb_intern2(mrb, "__members__", 11));
|
||||
if (!mrb_array_p(members)) {
|
||||
mrb_raise(mrb, E_TYPE_ERROR, "broken members");
|
||||
}
|
||||
|
||||
+2
-2
@@ -301,7 +301,7 @@ mrb_ary_cmp(mrb_state *mrb, mrb_value ary1)
|
||||
a1 = RARRAY(ary1); a2 = RARRAY(ary2);
|
||||
if (a1->len == a2->len && a1->ptr == a2->ptr) return mrb_fixnum_value(0);
|
||||
else {
|
||||
mrb_sym cmp = mrb_intern(mrb, "<=>");
|
||||
mrb_sym cmp = mrb_intern2(mrb, "<=>", 3);
|
||||
|
||||
len = RARRAY_LEN(ary1);
|
||||
if (len > RARRAY_LEN(ary2)) {
|
||||
@@ -1069,7 +1069,7 @@ mrb_ary_equal(mrb_state *mrb, mrb_value ary1)
|
||||
equal_p = 0;
|
||||
}
|
||||
else if (!mrb_array_p(ary2)) {
|
||||
if (!mrb_respond_to(mrb, ary2, mrb_intern(mrb, "to_ary"))) {
|
||||
if (!mrb_respond_to(mrb, ary2, mrb_intern2(mrb, "to_ary", 6))) {
|
||||
equal_p = 0;
|
||||
}
|
||||
else {
|
||||
|
||||
+9
-8
@@ -54,7 +54,7 @@ void
|
||||
mrb_name_class(mrb_state *mrb, struct RClass *c, mrb_sym name)
|
||||
{
|
||||
mrb_obj_iv_set(mrb, (struct RObject*)c,
|
||||
mrb_intern(mrb, "__classid__"), mrb_symbol_value(name));
|
||||
mrb_intern2(mrb, "__classid__", 11), mrb_symbol_value(name));
|
||||
}
|
||||
|
||||
#define make_metaclass(mrb, c) prepare_singleton_class((mrb), (struct RBasic*)(c))
|
||||
@@ -88,7 +88,7 @@ prepare_singleton_class(mrb_state *mrb, struct RBasic *o)
|
||||
o->c = sc;
|
||||
mrb_field_write_barrier(mrb, (struct RBasic*)o, (struct RBasic*)sc);
|
||||
mrb_field_write_barrier(mrb, (struct RBasic*)sc, (struct RBasic*)o);
|
||||
mrb_obj_iv_set(mrb, (struct RObject*)sc, mrb_intern(mrb, "__attached__"), mrb_obj_value(o));
|
||||
mrb_obj_iv_set(mrb, (struct RObject*)sc, mrb_intern2(mrb, "__attached__", 12), mrb_obj_value(o));
|
||||
}
|
||||
|
||||
struct RClass*
|
||||
@@ -115,7 +115,7 @@ setup_class(mrb_state *mrb, mrb_value outer, struct RClass *c, mrb_sym id)
|
||||
mrb_name_class(mrb, c, id);
|
||||
mrb_const_set(mrb, outer, id, mrb_obj_value(c));
|
||||
mrb_obj_iv_set(mrb, (struct RObject*)c,
|
||||
mrb_intern(mrb, "__outer__"), outer);
|
||||
mrb_intern2(mrb, "__outer__", 9), outer);
|
||||
}
|
||||
|
||||
struct RClass*
|
||||
@@ -123,7 +123,7 @@ mrb_class_outer_module(mrb_state *mrb, struct RClass *c)
|
||||
{
|
||||
mrb_value outer;
|
||||
|
||||
outer = mrb_obj_iv_get(mrb, (struct RObject*)c, mrb_intern(mrb, "__outer__"));
|
||||
outer = mrb_obj_iv_get(mrb, (struct RObject*)c, mrb_intern2(mrb, "__outer__", 9));
|
||||
if (mrb_nil_p(outer)) return 0;
|
||||
return mrb_class_ptr(outer);
|
||||
}
|
||||
@@ -1138,7 +1138,7 @@ mrb_bob_missing(mrb_state *mrb, mrb_value mod)
|
||||
mrb_raise(mrb, E_TYPE_ERROR, "name should be a symbol");
|
||||
}
|
||||
|
||||
if (mrb_respond_to(mrb,mod,mrb_intern(mrb,"inspect"))){
|
||||
if (mrb_respond_to(mrb,mod,mrb_intern2(mrb,"inspect",7))){
|
||||
inspect = mrb_funcall(mrb, mod, "inspect", 0);
|
||||
if (RSTRING_LEN(inspect) > 64) {
|
||||
inspect = mrb_any_to_s(mrb, mod);
|
||||
@@ -1190,8 +1190,9 @@ mrb_class_path(mrb_state *mrb, struct RClass *c)
|
||||
mrb_value path;
|
||||
const char *name;
|
||||
size_t len;
|
||||
mrb_sym classpath = mrb_intern2(mrb, "__classpath__", 13);
|
||||
|
||||
path = mrb_obj_iv_get(mrb, (struct RObject*)c, mrb_intern(mrb, "__classpath__"));
|
||||
path = mrb_obj_iv_get(mrb, (struct RObject*)c, classpath);
|
||||
if (mrb_nil_p(path)) {
|
||||
struct RClass *outer = mrb_class_outer_module(mrb, c);
|
||||
mrb_sym sym = mrb_class_sym(mrb, c, outer);
|
||||
@@ -1208,7 +1209,7 @@ mrb_class_path(mrb_state *mrb, struct RClass *c)
|
||||
name = mrb_sym2name_len(mrb, sym, &len);
|
||||
path = mrb_str_new(mrb, name, len);
|
||||
}
|
||||
mrb_obj_iv_set(mrb, (struct RObject*)c, mrb_intern(mrb, "__classpath__"), path);
|
||||
mrb_obj_iv_set(mrb, (struct RObject*)c, classpath, path);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
@@ -1351,7 +1352,7 @@ mrb_mod_to_s(mrb_state *mrb, mrb_value klass)
|
||||
{
|
||||
if (mrb_type(klass) == MRB_TT_SCLASS) {
|
||||
mrb_value s = mrb_str_new(mrb, "#<", 2);
|
||||
mrb_value v = mrb_iv_get(mrb, klass, mrb_intern(mrb, "__attached__"));
|
||||
mrb_value v = mrb_iv_get(mrb, klass, mrb_intern2(mrb, "__attached__", 12));
|
||||
|
||||
mrb_str_cat2(mrb, s, "Class:");
|
||||
switch (mrb_type(v)) {
|
||||
|
||||
+11
-11
@@ -560,7 +560,7 @@ for_body(codegen_scope *s, node *tree)
|
||||
s = prev;
|
||||
genop(s, MKOP_Abc(OP_LAMBDA, cursp(), idx - base, OP_L_BLOCK));
|
||||
pop();
|
||||
idx = new_msym(s, mrb_intern(s->mrb, "each"));
|
||||
idx = new_msym(s, mrb_intern2(s->mrb, "each", 4));
|
||||
genop(s, MKOP_ABC(OP_SENDB, cursp(), idx, 0));
|
||||
}
|
||||
|
||||
@@ -959,7 +959,7 @@ static void
|
||||
gen_send_intern(codegen_scope *s)
|
||||
{
|
||||
pop();
|
||||
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern(s->mrb, "intern")), 0));
|
||||
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern2(s->mrb, "intern", 6)), 0));
|
||||
push();
|
||||
}
|
||||
static void
|
||||
@@ -1151,12 +1151,12 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
codegen(s, n4->car, VAL);
|
||||
}
|
||||
else {
|
||||
genop(s, MKOP_ABx(OP_GETCONST, cursp(), new_msym(s, mrb_intern(s->mrb, "StandardError"))));
|
||||
genop(s, MKOP_ABx(OP_GETCONST, cursp(), new_msym(s, mrb_intern2(s->mrb, "StandardError", 13))));
|
||||
push();
|
||||
}
|
||||
genop(s, MKOP_AB(OP_MOVE, cursp(), exc));
|
||||
pop();
|
||||
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern(s->mrb, "===")), 1));
|
||||
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern2(s->mrb, "===", 3)), 1));
|
||||
tmp = new_label(s);
|
||||
genop(s, MKOP_AsBx(OP_JMPIF, cursp(), pos2));
|
||||
pos2 = tmp;
|
||||
@@ -1360,7 +1360,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
if (head) {
|
||||
genop(s, MKOP_AB(OP_MOVE, cursp(), head));
|
||||
pop();
|
||||
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern(s->mrb, "===")), 1));
|
||||
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern2(s->mrb, "===", 3)), 1));
|
||||
}
|
||||
else {
|
||||
pop();
|
||||
@@ -1701,7 +1701,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
}
|
||||
pop_n(n+1);
|
||||
if (sendv) n = CALL_MAXARGS;
|
||||
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern(s->mrb, "call")), n));
|
||||
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern2(s->mrb, "call", 4)), n));
|
||||
if (val) push();
|
||||
}
|
||||
break;
|
||||
@@ -1968,7 +1968,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
|
||||
default:
|
||||
{
|
||||
int sym = new_msym(s, mrb_intern(s->mrb, "-"));
|
||||
int sym = new_msym(s, mrb_intern2(s->mrb, "-", 1));
|
||||
|
||||
genop(s, MKOP_ABx(OP_LOADI, cursp(), 0));
|
||||
push();
|
||||
@@ -2072,7 +2072,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
pop();
|
||||
}
|
||||
pop();
|
||||
sym = new_sym(s, mrb_intern(s->mrb, "compile"));
|
||||
sym = new_sym(s, mrb_intern2(s->mrb, "compile", 7));
|
||||
genop(s, MKOP_ABC(OP_SEND, cursp(), sym, argc));
|
||||
mrb_gc_arena_restore(s->mrb, ai);
|
||||
push();
|
||||
@@ -2120,7 +2120,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
pop();
|
||||
}
|
||||
pop();
|
||||
sym = new_sym(s, mrb_intern(s->mrb, "compile"));
|
||||
sym = new_sym(s, mrb_intern2(s->mrb, "compile", 7));
|
||||
genop(s, MKOP_ABC(OP_SEND, cursp(), sym, argc));
|
||||
mrb_gc_arena_restore(s->mrb, ai);
|
||||
push();
|
||||
@@ -2185,7 +2185,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
{
|
||||
int a = new_msym(s, sym(tree->car));
|
||||
int b = new_msym(s, sym(tree->cdr));
|
||||
int c = new_msym(s, mrb_intern(s->mrb, "alias_method"));
|
||||
int c = new_msym(s, mrb_intern2(s->mrb, "alias_method", 12));
|
||||
|
||||
genop(s, MKOP_A(OP_TCLASS, cursp()));
|
||||
push();
|
||||
@@ -2204,7 +2204,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
|
||||
case NODE_UNDEF:
|
||||
{
|
||||
int undef = new_msym(s, mrb_intern(s->mrb, "undef_method"));
|
||||
int undef = new_msym(s, mrb_intern2(s->mrb, "undef_method", 12));
|
||||
int num = 0;
|
||||
node *t = tree;
|
||||
|
||||
|
||||
+13
-13
@@ -44,7 +44,7 @@ exc_initialize(mrb_state *mrb, mrb_value exc)
|
||||
mrb_value mesg;
|
||||
|
||||
if (mrb_get_args(mrb, "|o", &mesg) == 1) {
|
||||
mrb_iv_set(mrb, exc, mrb_intern(mrb, "mesg"), mesg);
|
||||
mrb_iv_set(mrb, exc, mrb_intern2(mrb, "mesg", 4), mesg);
|
||||
}
|
||||
return exc;
|
||||
}
|
||||
@@ -73,7 +73,7 @@ exc_exception(mrb_state *mrb, mrb_value self)
|
||||
if (argc == 0) return self;
|
||||
if (mrb_obj_equal(mrb, self, a)) return self;
|
||||
exc = mrb_obj_clone(mrb, self);
|
||||
mrb_iv_set(mrb, exc, mrb_intern(mrb, "mesg"), a);
|
||||
mrb_iv_set(mrb, exc, mrb_intern2(mrb, "mesg", 4), a);
|
||||
|
||||
return exc;
|
||||
}
|
||||
@@ -89,7 +89,7 @@ exc_exception(mrb_state *mrb, mrb_value self)
|
||||
static mrb_value
|
||||
exc_to_s(mrb_state *mrb, mrb_value exc)
|
||||
{
|
||||
mrb_value mesg = mrb_attr_get(mrb, exc, mrb_intern(mrb, "mesg"));
|
||||
mrb_value mesg = mrb_attr_get(mrb, exc, mrb_intern2(mrb, "mesg", 4));
|
||||
|
||||
if (mrb_nil_p(mesg)) return mrb_str_new_cstr(mrb, mrb_obj_classname(mrb, exc));
|
||||
return mesg;
|
||||
@@ -123,9 +123,9 @@ exc_inspect(mrb_state *mrb, mrb_value exc)
|
||||
{
|
||||
mrb_value str, mesg, file, line;
|
||||
|
||||
mesg = mrb_attr_get(mrb, exc, mrb_intern(mrb, "mesg"));
|
||||
file = mrb_attr_get(mrb, exc, mrb_intern(mrb, "file"));
|
||||
line = mrb_attr_get(mrb, exc, mrb_intern(mrb, "line"));
|
||||
mesg = mrb_attr_get(mrb, exc, mrb_intern2(mrb, "mesg", 4));
|
||||
file = mrb_attr_get(mrb, exc, mrb_intern2(mrb, "file", 4));
|
||||
line = mrb_attr_get(mrb, exc, mrb_intern2(mrb, "line", 4));
|
||||
|
||||
if (!mrb_nil_p(file) && !mrb_nil_p(line)) {
|
||||
str = file;
|
||||
@@ -161,7 +161,7 @@ exc_equal(mrb_state *mrb, mrb_value exc)
|
||||
mrb_value obj;
|
||||
mrb_value mesg;
|
||||
mrb_bool equal_p;
|
||||
mrb_sym id_mesg = mrb_intern(mrb, "mesg");
|
||||
mrb_sym id_mesg = mrb_intern2(mrb, "mesg", 4);
|
||||
|
||||
mrb_get_args(mrb, "o", &obj);
|
||||
if (mrb_obj_equal(mrb, exc, obj)) {
|
||||
@@ -169,7 +169,7 @@ exc_equal(mrb_state *mrb, mrb_value exc)
|
||||
}
|
||||
else {
|
||||
if (mrb_obj_class(mrb, exc) != mrb_obj_class(mrb, obj)) {
|
||||
if (mrb_respond_to(mrb, obj, mrb_intern(mrb, "message"))) {
|
||||
if (mrb_respond_to(mrb, obj, mrb_intern2(mrb, "message", 7))) {
|
||||
mesg = mrb_funcall(mrb, obj, "message", 0);
|
||||
}
|
||||
else
|
||||
@@ -191,15 +191,15 @@ exc_debug_info(mrb_state *mrb, struct RObject *exc)
|
||||
mrb_callinfo *ci = mrb->ci;
|
||||
mrb_code *pc = ci->pc;
|
||||
|
||||
mrb_obj_iv_set(mrb, exc, mrb_intern(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->cibase));
|
||||
mrb_obj_iv_set(mrb, exc, mrb_intern2(mrb, "ciidx", 5), mrb_fixnum_value(ci - mrb->cibase));
|
||||
ci--;
|
||||
while (ci >= mrb->cibase) {
|
||||
if (ci->proc && !MRB_PROC_CFUNC_P(ci->proc)) {
|
||||
mrb_irep *irep = ci->proc->body.irep;
|
||||
|
||||
if (irep->filename && irep->lines && irep->iseq <= pc && pc < irep->iseq + irep->ilen) {
|
||||
mrb_obj_iv_set(mrb, exc, mrb_intern(mrb, "file"), mrb_str_new_cstr(mrb, irep->filename));
|
||||
mrb_obj_iv_set(mrb, exc, mrb_intern(mrb, "line"), mrb_fixnum_value(irep->lines[pc - irep->iseq - 1]));
|
||||
mrb_obj_iv_set(mrb, exc, mrb_intern2(mrb, "file", 4), mrb_str_new_cstr(mrb, irep->filename));
|
||||
mrb_obj_iv_set(mrb, exc, mrb_intern2(mrb, "line", 4), mrb_fixnum_value(irep->lines[pc - irep->iseq - 1]));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -335,7 +335,7 @@ mrb_bug_errno(const char *mesg, int errno_arg)
|
||||
int
|
||||
sysexit_status(mrb_state *mrb, mrb_value err)
|
||||
{
|
||||
mrb_value st = mrb_iv_get(mrb, err, mrb_intern(mrb, "status"));
|
||||
mrb_value st = mrb_iv_get(mrb, err, mrb_intern2(mrb, "status", 6));
|
||||
return mrb_fixnum(st);
|
||||
}
|
||||
|
||||
@@ -373,7 +373,7 @@ make_exception(mrb_state *mrb, int argc, mrb_value *argv, int isstr)
|
||||
n = 1;
|
||||
exception_call:
|
||||
{
|
||||
mrb_sym exc = mrb_intern(mrb, "exception");
|
||||
mrb_sym exc = mrb_intern2(mrb, "exception", 9);
|
||||
if (mrb_respond_to(mrb, argv[0], exc)) {
|
||||
mesg = mrb_funcall_argv(mrb, argv[0], exc, n, argv+1);
|
||||
}
|
||||
|
||||
+5
-5
@@ -262,7 +262,7 @@ mrb_hash_init_core(mrb_state *mrb, mrb_value hash)
|
||||
RHASH(hash)->flags |= MRB_HASH_PROC_DEFAULT;
|
||||
ifnone = block;
|
||||
}
|
||||
mrb_iv_set(mrb, hash, mrb_intern(mrb, "ifnone"), ifnone);
|
||||
mrb_iv_set(mrb, hash, mrb_intern2(mrb, "ifnone", 6), ifnone);
|
||||
return hash;
|
||||
}
|
||||
|
||||
@@ -427,7 +427,7 @@ mrb_hash_set_default(mrb_state *mrb, mrb_value hash)
|
||||
|
||||
mrb_get_args(mrb, "o", &ifnone);
|
||||
mrb_hash_modify(mrb, hash);
|
||||
mrb_iv_set(mrb, hash, mrb_intern(mrb, "ifnone"), ifnone);
|
||||
mrb_iv_set(mrb, hash, mrb_intern2(mrb, "ifnone", 6), ifnone);
|
||||
RHASH(hash)->flags &= ~(MRB_HASH_PROC_DEFAULT);
|
||||
|
||||
return ifnone;
|
||||
@@ -478,7 +478,7 @@ mrb_hash_set_default_proc(mrb_state *mrb, mrb_value hash)
|
||||
|
||||
mrb_get_args(mrb, "o", &ifnone);
|
||||
mrb_hash_modify(mrb, hash);
|
||||
mrb_iv_set(mrb, hash, mrb_intern(mrb, "ifnone"), ifnone);
|
||||
mrb_iv_set(mrb, hash, mrb_intern2(mrb, "ifnone", 6), ifnone);
|
||||
RHASH(hash)->flags |= MRB_HASH_PROC_DEFAULT;
|
||||
|
||||
return ifnone;
|
||||
@@ -759,7 +759,7 @@ mrb_hash_replace(mrb_state *mrb, mrb_value hash)
|
||||
else {
|
||||
ifnone = RHASH_IFNONE(hash2);
|
||||
}
|
||||
mrb_iv_set(mrb, hash, mrb_intern(mrb, "ifnone"), ifnone);
|
||||
mrb_iv_set(mrb, hash, mrb_intern2(mrb, "ifnone", 6), ifnone);
|
||||
|
||||
return hash;
|
||||
}
|
||||
@@ -1104,7 +1104,7 @@ hash_equal(mrb_state *mrb, mrb_value hash1, mrb_value hash2, int eql)
|
||||
|
||||
if (mrb_obj_equal(mrb, hash1, hash2)) return mrb_true_value();
|
||||
if (!mrb_hash_p(hash2)) {
|
||||
if (!mrb_respond_to(mrb, hash2, mrb_intern(mrb, "to_hash"))) {
|
||||
if (!mrb_respond_to(mrb, hash2, mrb_intern2(mrb, "to_hash", 7))) {
|
||||
return mrb_false_value();
|
||||
}
|
||||
if (eql)
|
||||
|
||||
+3
-3
@@ -29,7 +29,7 @@ typedef enum {
|
||||
int
|
||||
mrb_obj_basic_to_s_p(mrb_state *mrb, mrb_value obj)
|
||||
{
|
||||
struct RProc *me = mrb_method_search(mrb, mrb_class(mrb, obj), mrb_intern(mrb, "to_s"));
|
||||
struct RProc *me = mrb_method_search(mrb, mrb_class(mrb, obj), mrb_intern2(mrb, "to_s", 4));
|
||||
if (me && MRB_PROC_CFUNC_P(me) && (me->body.func == mrb_any_to_s))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
@@ -283,7 +283,7 @@ mrb_singleton_class_clone(mrb_state *mrb, mrb_value obj)
|
||||
clone->super = klass->super;
|
||||
if (klass->iv) {
|
||||
mrb_iv_copy(mrb, mrb_obj_value(clone), mrb_obj_value(klass));
|
||||
mrb_obj_iv_set(mrb, (struct RObject*)clone, mrb_intern(mrb, "__attached__"), obj);
|
||||
mrb_obj_iv_set(mrb, (struct RObject*)clone, mrb_intern2(mrb, "__attached__", 12), obj);
|
||||
}
|
||||
if (klass->mt) {
|
||||
clone->mt = kh_copy(mt, mrb, klass->mt);
|
||||
@@ -928,7 +928,7 @@ mrb_f_raise(mrb_state *mrb, mrb_value self)
|
||||
/* fall through */
|
||||
default:
|
||||
exc = mrb_make_exception(mrb, argc, a);
|
||||
mrb_obj_iv_set(mrb, mrb_obj_ptr(exc), mrb_intern(mrb, "lastpc"), mrb_voidp_value(mrb->ci->pc));
|
||||
mrb_obj_iv_set(mrb, mrb_obj_ptr(exc), mrb_intern2(mrb, "lastpc", 6), mrb_voidp_value(mrb->ci->pc));
|
||||
mrb_exc_raise(mrb, exc);
|
||||
break;
|
||||
}
|
||||
|
||||
+64
-50
@@ -61,13 +61,27 @@ typedef unsigned int stack_type;
|
||||
#define sym(x) ((mrb_sym)(intptr_t)(x))
|
||||
#define nsym(x) ((node*)(intptr_t)(x))
|
||||
|
||||
static mrb_sym
|
||||
static inline mrb_sym
|
||||
intern_gen(parser_state *p, const char *s)
|
||||
{
|
||||
return mrb_intern(p->mrb, s);
|
||||
}
|
||||
#define intern(s) intern_gen(p,(s))
|
||||
|
||||
static inline mrb_sym
|
||||
intern_gen2(parser_state *p, const char *s, size_t len)
|
||||
{
|
||||
return mrb_intern2(p->mrb, s, len);
|
||||
}
|
||||
#define intern2(s,len) intern_gen2(p,(s),(len))
|
||||
|
||||
static inline mrb_sym
|
||||
intern_gen_c(parser_state *p, const char c)
|
||||
{
|
||||
return mrb_intern2(p->mrb, &c, 1);
|
||||
}
|
||||
#define intern_c(c) intern_gen_c(p,(c))
|
||||
|
||||
static void
|
||||
cons_free_gen(parser_state *p, node *cons)
|
||||
{
|
||||
@@ -1228,7 +1242,7 @@ stmt : keyword_alias fsym {p->lstate = EXPR_FNAME;} fsym
|
||||
}
|
||||
| primary_value '[' opt_call_args rbracket tOP_ASGN command_call
|
||||
{
|
||||
$$ = new_op_asgn(p, new_call(p, $1, intern("[]"), $3), $5, $6);
|
||||
$$ = new_op_asgn(p, new_call(p, $1, intern2("[]",2), $3), $5, $6);
|
||||
}
|
||||
| primary_value '.' tIDENTIFIER tOP_ASGN command_call
|
||||
{
|
||||
@@ -1467,7 +1481,7 @@ mlhs_node : variable
|
||||
}
|
||||
| primary_value '[' opt_call_args rbracket
|
||||
{
|
||||
$$ = new_call(p, $1, intern("[]"), $3);
|
||||
$$ = new_call(p, $1, intern2("[]",2), $3);
|
||||
}
|
||||
| primary_value '.' tIDENTIFIER
|
||||
{
|
||||
@@ -1506,7 +1520,7 @@ lhs : variable
|
||||
}
|
||||
| primary_value '[' opt_call_args rbracket
|
||||
{
|
||||
$$ = new_call(p, $1, intern("[]"), $3);
|
||||
$$ = new_call(p, $1, intern2("[]",2), $3);
|
||||
}
|
||||
| primary_value '.' tIDENTIFIER
|
||||
{
|
||||
@@ -1589,35 +1603,35 @@ undef_list : fsym
|
||||
}
|
||||
;
|
||||
|
||||
op : '|' { $$ = intern("|"); }
|
||||
| '^' { $$ = intern("^"); }
|
||||
| '&' { $$ = intern("&"); }
|
||||
| tCMP { $$ = intern("<=>"); }
|
||||
| tEQ { $$ = intern("=="); }
|
||||
| tEQQ { $$ = intern("==="); }
|
||||
| tMATCH { $$ = intern("=~"); }
|
||||
| tNMATCH { $$ = intern("!~"); }
|
||||
| '>' { $$ = intern(">"); }
|
||||
| tGEQ { $$ = intern(">="); }
|
||||
| '<' { $$ = intern("<"); }
|
||||
| tLEQ { $$ = intern("<="); }
|
||||
| tNEQ { $$ = intern("!="); }
|
||||
| tLSHFT { $$ = intern("<<"); }
|
||||
| tRSHFT { $$ = intern(">>"); }
|
||||
| '+' { $$ = intern("+"); }
|
||||
| '-' { $$ = intern("-"); }
|
||||
| '*' { $$ = intern("*"); }
|
||||
| tSTAR { $$ = intern("*"); }
|
||||
| '/' { $$ = intern("/"); }
|
||||
| '%' { $$ = intern("%"); }
|
||||
| tPOW { $$ = intern("**"); }
|
||||
| '!' { $$ = intern("!"); }
|
||||
| '~' { $$ = intern("~"); }
|
||||
| tUPLUS { $$ = intern("+@"); }
|
||||
| tUMINUS { $$ = intern("-@"); }
|
||||
| tAREF { $$ = intern("[]"); }
|
||||
| tASET { $$ = intern("[]="); }
|
||||
| '`' { $$ = intern("`"); }
|
||||
op : '|' { $$ = intern_c('|'); }
|
||||
| '^' { $$ = intern_c('^'); }
|
||||
| '&' { $$ = intern_c('&'); }
|
||||
| tCMP { $$ = intern2("<=>",3); }
|
||||
| tEQ { $$ = intern2("==",2); }
|
||||
| tEQQ { $$ = intern2("===",3); }
|
||||
| tMATCH { $$ = intern2("=~",2); }
|
||||
| tNMATCH { $$ = intern2("!~",2); }
|
||||
| '>' { $$ = intern_c('>'); }
|
||||
| tGEQ { $$ = intern2(">=",2); }
|
||||
| '<' { $$ = intern_c('<'); }
|
||||
| tLEQ { $$ = intern2("<=",2); }
|
||||
| tNEQ { $$ = intern2("!=",2); }
|
||||
| tLSHFT { $$ = intern2("<<",2); }
|
||||
| tRSHFT { $$ = intern2(">>",2); }
|
||||
| '+' { $$ = intern_c('+'); }
|
||||
| '-' { $$ = intern_c('-'); }
|
||||
| '*' { $$ = intern_c('*'); }
|
||||
| tSTAR { $$ = intern_c('*'); }
|
||||
| '/' { $$ = intern_c('/'); }
|
||||
| '%' { $$ = intern_c('%'); }
|
||||
| tPOW { $$ = intern2("**",2); }
|
||||
| '!' { $$ = intern_c('!'); }
|
||||
| '~' { $$ = intern_c('~'); }
|
||||
| tUPLUS { $$ = intern2("+@",2); }
|
||||
| tUMINUS { $$ = intern2("-@",2); }
|
||||
| tAREF { $$ = intern2("[]",2); }
|
||||
| tASET { $$ = intern2("[]=",3); }
|
||||
| '`' { $$ = intern_c('`'); }
|
||||
;
|
||||
|
||||
reswords : keyword__LINE__ | keyword__FILE__ | keyword__ENCODING__
|
||||
@@ -1652,7 +1666,7 @@ arg : lhs '=' arg
|
||||
}
|
||||
| primary_value '[' opt_call_args rbracket tOP_ASGN arg
|
||||
{
|
||||
$$ = new_op_asgn(p, new_call(p, $1, intern("[]"), $3), $5, $6);
|
||||
$$ = new_op_asgn(p, new_call(p, $1, intern2("[]",2), $3), $5, $6);
|
||||
}
|
||||
| primary_value '.' tIDENTIFIER tOP_ASGN arg
|
||||
{
|
||||
@@ -2461,11 +2475,11 @@ method_call : operation paren_args
|
||||
}
|
||||
| primary_value '.' paren_args
|
||||
{
|
||||
$$ = new_call(p, $1, intern("call"), $3);
|
||||
$$ = new_call(p, $1, intern2("call",4), $3);
|
||||
}
|
||||
| primary_value tCOLON2 paren_args
|
||||
{
|
||||
$$ = new_call(p, $1, intern("call"), $3);
|
||||
$$ = new_call(p, $1, intern2("call",4), $3);
|
||||
}
|
||||
| keyword_super paren_args
|
||||
{
|
||||
@@ -2477,7 +2491,7 @@ method_call : operation paren_args
|
||||
}
|
||||
| primary_value '[' opt_call_args rbracket
|
||||
{
|
||||
$$ = new_call(p, $1, intern("[]"), $3);
|
||||
$$ = new_call(p, $1, intern2("[]",2), $3);
|
||||
}
|
||||
;
|
||||
|
||||
@@ -3873,7 +3887,7 @@ parser_yylex(parser_state *p)
|
||||
case '*':
|
||||
if ((c = nextc(p)) == '*') {
|
||||
if ((c = nextc(p)) == '=') {
|
||||
yylval.id = intern("**");
|
||||
yylval.id = intern2("**",2);
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -3882,7 +3896,7 @@ parser_yylex(parser_state *p)
|
||||
}
|
||||
else {
|
||||
if (c == '=') {
|
||||
yylval.id = intern("*");
|
||||
yylval.id = intern_c('*');
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -3982,7 +3996,7 @@ parser_yylex(parser_state *p)
|
||||
}
|
||||
if (c == '<') {
|
||||
if ((c = nextc(p)) == '=') {
|
||||
yylval.id = intern("<<");
|
||||
yylval.id = intern2("<<",2);
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -4003,7 +4017,7 @@ parser_yylex(parser_state *p)
|
||||
}
|
||||
if (c == '>') {
|
||||
if ((c = nextc(p)) == '=') {
|
||||
yylval.id = intern(">>");
|
||||
yylval.id = intern2(">>",2);
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -4117,7 +4131,7 @@ parser_yylex(parser_state *p)
|
||||
if ((c = nextc(p)) == '&') {
|
||||
p->lstate = EXPR_BEG;
|
||||
if ((c = nextc(p)) == '=') {
|
||||
yylval.id = intern("&&");
|
||||
yylval.id = intern2("&&",2);
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -4125,7 +4139,7 @@ parser_yylex(parser_state *p)
|
||||
return tANDOP;
|
||||
}
|
||||
else if (c == '=') {
|
||||
yylval.id = intern("&");
|
||||
yylval.id = intern_c('&');
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -4151,7 +4165,7 @@ parser_yylex(parser_state *p)
|
||||
if ((c = nextc(p)) == '|') {
|
||||
p->lstate = EXPR_BEG;
|
||||
if ((c = nextc(p)) == '=') {
|
||||
yylval.id = intern("||");
|
||||
yylval.id = intern2("||",2);
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -4159,7 +4173,7 @@ parser_yylex(parser_state *p)
|
||||
return tOROP;
|
||||
}
|
||||
if (c == '=') {
|
||||
yylval.id = intern("|");
|
||||
yylval.id = intern_c('|');
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -4183,7 +4197,7 @@ parser_yylex(parser_state *p)
|
||||
return '+';
|
||||
}
|
||||
if (c == '=') {
|
||||
yylval.id = intern("+");
|
||||
yylval.id = intern_c('+');
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -4211,7 +4225,7 @@ parser_yylex(parser_state *p)
|
||||
return '-';
|
||||
}
|
||||
if (c == '=') {
|
||||
yylval.id = intern("-");
|
||||
yylval.id = intern_c('-');
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -4511,7 +4525,7 @@ parser_yylex(parser_state *p)
|
||||
return tREGEXP_BEG;
|
||||
}
|
||||
if ((c = nextc(p)) == '=') {
|
||||
yylval.id = intern("/");
|
||||
yylval.id = intern_c('/');
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -4529,7 +4543,7 @@ parser_yylex(parser_state *p)
|
||||
|
||||
case '^':
|
||||
if ((c = nextc(p)) == '=') {
|
||||
yylval.id = intern("^");
|
||||
yylval.id = intern_c('^');
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
@@ -4702,7 +4716,7 @@ parser_yylex(parser_state *p)
|
||||
}
|
||||
}
|
||||
if ((c = nextc(p)) == '=') {
|
||||
yylval.id = intern("%");
|
||||
yylval.id = intern_c('%');
|
||||
p->lstate = EXPR_BEG;
|
||||
return tOP_ASGN;
|
||||
}
|
||||
|
||||
+3
-3
@@ -532,10 +532,10 @@ mrb_str_cmp_m(mrb_state *mrb, mrb_value str1)
|
||||
|
||||
mrb_get_args(mrb, "o", &str2);
|
||||
if (!mrb_string_p(str2)) {
|
||||
if (!mrb_respond_to(mrb, str2, mrb_intern(mrb, "to_s"))) {
|
||||
if (!mrb_respond_to(mrb, str2, mrb_intern2(mrb, "to_s", 4))) {
|
||||
return mrb_nil_value();
|
||||
}
|
||||
else if (!mrb_respond_to(mrb, str2, mrb_intern(mrb, "<=>"))) {
|
||||
else if (!mrb_respond_to(mrb, str2, mrb_intern2(mrb, "<=>", 3))) {
|
||||
return mrb_nil_value();
|
||||
}
|
||||
else {
|
||||
@@ -572,7 +572,7 @@ mrb_str_equal(mrb_state *mrb, mrb_value str1, mrb_value str2)
|
||||
if (mrb_obj_equal(mrb, str1, str2)) return TRUE;
|
||||
if (!mrb_string_p(str2)) {
|
||||
if (mrb_nil_p(str2)) return FALSE;
|
||||
if (!mrb_respond_to(mrb, str2, mrb_intern(mrb, "to_str"))) {
|
||||
if (!mrb_respond_to(mrb, str2, mrb_intern2(mrb, "to_str", 6))) {
|
||||
return FALSE;
|
||||
}
|
||||
str2 = mrb_funcall(mrb, str2, "to_str", 0);
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@ mrb_intern2(mrb_state *mrb, const char *name, size_t len)
|
||||
}
|
||||
|
||||
mrb_sym
|
||||
mrb_intern(mrb_state *mrb, const char *name)
|
||||
mrb_intern_cstr(mrb_state *mrb, const char *name)
|
||||
{
|
||||
return mrb_intern2(mrb, name, strlen(name));
|
||||
}
|
||||
|
||||
+2
-2
@@ -832,7 +832,7 @@ L_RETRY:
|
||||
goto L_RETRY;
|
||||
}
|
||||
c = base;
|
||||
cm = mrb_intern(mrb, "const_missing");
|
||||
cm = mrb_intern2(mrb, "const_missing", 13);
|
||||
while (c) {
|
||||
if (mrb_respond_to(mrb, mrb_obj_value(c), cm)) {
|
||||
mrb_value name = mrb_symbol_value(sym);
|
||||
@@ -1047,7 +1047,7 @@ mrb_class_sym(mrb_state *mrb, struct RClass *c, struct RClass *outer)
|
||||
{
|
||||
mrb_value name;
|
||||
|
||||
name = mrb_obj_iv_get(mrb, (struct RObject*)c, mrb_intern(mrb, "__classid__"));
|
||||
name = mrb_obj_iv_get(mrb, (struct RObject*)c, mrb_intern2(mrb, "__classid__", 11));
|
||||
if (mrb_nil_p(name)) {
|
||||
|
||||
if (!outer) return 0;
|
||||
|
||||
@@ -349,7 +349,7 @@ mrb_funcall_with_block(mrb_state *mrb, mrb_value self, mrb_sym mid, int argc, mr
|
||||
p = mrb_method_search_vm(mrb, &c, mid);
|
||||
if (!p) {
|
||||
undef = mid;
|
||||
mid = mrb_intern(mrb, "method_missing");
|
||||
mid = mrb_intern2(mrb, "method_missing", 14);
|
||||
p = mrb_method_search_vm(mrb, &c, mid);
|
||||
n++; argc++;
|
||||
}
|
||||
@@ -869,7 +869,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
|
||||
if (!m) {
|
||||
mrb_value sym = mrb_symbol_value(mid);
|
||||
|
||||
mid = mrb_intern(mrb, "method_missing");
|
||||
mid = mrb_intern2(mrb, "method_missing", 14);
|
||||
m = mrb_method_search_vm(mrb, &c, mid);
|
||||
if (n == CALL_MAXARGS) {
|
||||
mrb_ary_unshift(mrb, regs[a+1], sym);
|
||||
@@ -1011,7 +1011,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
|
||||
c = mrb->ci->target_class->super;
|
||||
m = mrb_method_search_vm(mrb, &c, mid);
|
||||
if (!m) {
|
||||
mid = mrb_intern(mrb, "method_missing");
|
||||
mid = mrb_intern2(mrb, "method_missing", 14);
|
||||
m = mrb_method_search_vm(mrb, &c, mid);
|
||||
if (n == CALL_MAXARGS) {
|
||||
mrb_ary_unshift(mrb, regs[a+1], mrb_symbol_value(ci->mid));
|
||||
@@ -1216,8 +1216,8 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
|
||||
|
||||
L_RAISE:
|
||||
ci = mrb->ci;
|
||||
mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "lastpc"), mrb_voidp_value(pc));
|
||||
mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->cibase));
|
||||
mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern2(mrb, "lastpc", 6), mrb_voidp_value(pc));
|
||||
mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern2(mrb, "ciidx", 5), mrb_fixnum_value(ci - mrb->cibase));
|
||||
eidx = ci->eidx;
|
||||
if (ci == mrb->cibase) {
|
||||
if (ci->ridx == 0) goto L_STOP;
|
||||
@@ -1333,7 +1333,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
|
||||
if (!m) {
|
||||
mrb_value sym = mrb_symbol_value(mid);
|
||||
|
||||
mid = mrb_intern(mrb, "method_missing");
|
||||
mid = mrb_intern2(mrb, "method_missing", 14);
|
||||
m = mrb_method_search_vm(mrb, &c, mid);
|
||||
if (n == CALL_MAXARGS) {
|
||||
mrb_ary_unshift(mrb, regs[a+1], sym);
|
||||
|
||||
Reference in New Issue
Block a user