[Groonga-commit] groonga/groonga at 40b79b8 [master] mruby: use Groonga::Object as parent class

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index