Kouhei Sutou
null+****@clear*****
Wed Nov 20 23:54:11 JST 2013
Kouhei Sutou 2013-11-20 23:54:11 +0900 (Wed, 20 Nov 2013) New Revision: 40b79b8d1be76a4df9a826c842ec7354dc57929c https://github.com/groonga/groonga/commit/40b79b8d1be76a4df9a826c842ec7354dc57929c Message: mruby: use Groonga::Object as parent class Modified files: lib/ctx_impl.h lib/mrb/mrb_accessor.c lib/mrb/mrb_obj.c lib/mrb/scripts/expression.rb Modified: lib/ctx_impl.h (+1 -0) =================================================================== --- lib/ctx_impl.h 2013-11-20 23:45:27 +0900 (b145cc9) +++ lib/ctx_impl.h 2013-11-20 23:54:11 +0900 (1d0c457) @@ -97,6 +97,7 @@ typedef struct _grn_mrb_data grn_mrb_data; struct _grn_mrb_data { mrb_state *state; struct RClass *module; + struct RClass *object_class; }; #endif Modified: lib/mrb/mrb_accessor.c (+4 -3) =================================================================== --- lib/mrb/mrb_accessor.c 2013-11-20 23:45:27 +0900 (f1e99fa) +++ lib/mrb/mrb_accessor.c 2013-11-20 23:54:11 +0900 (5610459) @@ -70,11 +70,12 @@ mrb_grn_accessor_next(mrb_state *mrb, mrb_value self) void grn_mrb_accessor_init(grn_ctx *ctx) { - mrb_state *mrb = ctx->impl->mrb.state; - struct RClass *module = ctx->impl->mrb.module; + grn_mrb_data *data = &(ctx->impl->mrb); + mrb_state *mrb = data->state; + struct RClass *module = data->module; struct RClass *klass; - klass = mrb_define_class_under(mrb, module, "Accessor", mrb->object_class); + klass = mrb_define_class_under(mrb, module, "Accessor", data->object_class); MRB_SET_INSTANCE_TT(klass, MRB_TT_DATA); mrb_define_method(mrb, klass, "initialize", mrb_grn_accessor_initialize, MRB_ARGS_REQ(1)); mrb_define_method(mrb, klass, "next", mrb_grn_accessor_next, MRB_ARGS_NONE()); Modified: lib/mrb/mrb_obj.c (+4 -2) =================================================================== --- lib/mrb/mrb_obj.c 2013-11-20 23:45:27 +0900 (a7f48d6) +++ lib/mrb/mrb_obj.c 2013-11-20 23:54:11 +0900 (c28eb1c) @@ -27,11 +27,13 @@ void grn_mrb_obj_init(grn_ctx *ctx) { - mrb_state *mrb = ctx->impl->mrb.state; - struct RClass *module = ctx->impl->mrb.module; + grn_mrb_data *data = &(ctx->impl->mrb); + mrb_state *mrb = data->state; + struct RClass *module = data->module; struct RClass *klass; klass = mrb_define_class_under(mrb, module, "Object", mrb->object_class); MRB_SET_INSTANCE_TT(klass, MRB_TT_DATA); + data->object_class = klass; } #endif Modified: lib/mrb/scripts/expression.rb (+1 -1) =================================================================== --- lib/mrb/scripts/expression.rb 2013-11-20 23:45:27 +0900 (1d5d57e) +++ lib/mrb/scripts/expression.rb 2013-11-20 23:54:11 +0900 (df9cffb) @@ -1,4 +1,4 @@ module Groonga - class Expression + class Expression < Object end end -------------- next part -------------- HTML����������������������������... Download