diff options
author | Florian Frank <flori@ping.de> | 2010-07-24 17:23:05 +0200 |
---|---|---|
committer | Florian Frank <flori@ping.de> | 2010-07-24 17:23:05 +0200 |
commit | 59eab2b7ad1b44dc424fb3fffa5520947f7360f3 (patch) | |
tree | c31c133c71490be1b600e68f2a9936580317b666 /ext/json/ext/generator/generator.h | |
parent | 4ae585e5702145dcfaf037895dcb33d5a71c43c4 (diff) | |
download | ruby-json-59eab2b7ad1b44dc424fb3fffa5520947f7360f3.tar.gz |
use method dispatch for generation again
Diffstat (limited to 'ext/json/ext/generator/generator.h')
-rw-r--r-- | ext/json/ext/generator/generator.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/ext/json/ext/generator/generator.h b/ext/json/ext/generator/generator.h index 37240a9..fcf68bb 100644 --- a/ext/json/ext/generator/generator.h +++ b/ext/json/ext/generator/generator.h @@ -123,6 +123,7 @@ typedef struct JSON_Generator_StateStruct { long max_nesting; char allow_nan; char ascii_only; + FBuffer *buffer; } JSON_Generator_State; #define GET_STATE(self) \ @@ -131,7 +132,8 @@ typedef struct JSON_Generator_StateStruct { static VALUE mHash_to_json(int argc, VALUE *argv, VALUE self); static VALUE mArray_to_json(int argc, VALUE *argv, VALUE self); -static VALUE mInteger_to_json(int argc, VALUE *argv, VALUE self); +static VALUE mFixnum_to_json(int argc, VALUE *argv, VALUE self); +static VALUE mBignum_to_json(int argc, VALUE *argv, VALUE self); static VALUE mFloat_to_json(int argc, VALUE *argv, VALUE self); static VALUE mString_included_s(VALUE self, VALUE modul); static VALUE mString_to_json(int argc, VALUE *argv, VALUE self); @@ -147,9 +149,8 @@ static JSON_Generator_State *State_allocate(); static VALUE cState_s_allocate(VALUE klass); static VALUE cState_configure(VALUE self, VALUE opts); static VALUE cState_to_h(VALUE self); -static void generate_json(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj, long depth); -static VALUE cState_partial_generate(VALUE self, VALUE obj, VALUE depth); -static VALUE cState_generate(VALUE self, VALUE obj); +static int cState_prepare_buffer(VALUE self); +static VALUE cState_result(VALUE self, int returnResult); static VALUE cState_initialize(int argc, VALUE *argv, VALUE self); static VALUE cState_from_state_s(VALUE self, VALUE opts); static VALUE cState_indent(VALUE self); @@ -166,5 +167,6 @@ static VALUE cState_max_nesting(VALUE self); static VALUE cState_max_nesting_set(VALUE self, VALUE depth); static VALUE cState_allow_nan_p(VALUE self); static VALUE cState_ascii_only_p(VALUE self); +static void State_append_ruby_string_to_fbuffer(JSON_Generator_State *state, VALUE string); #endif |