Skip to content

Commit 69955a2

Browse files
committed
generator.c: reduce the number of globals
Most of these classes and modules don't need to be global variables
1 parent 2f29108 commit 69955a2

File tree

1 file changed

+25
-24
lines changed

1 file changed

+25
-24
lines changed

ext/json/ext/generator/generator.c

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,7 @@
55
#define RB_UNLIKELY(cond) (cond)
66
#endif
77

8-
static VALUE mJSON, mExt, mGenerator, cState, mGeneratorMethods, mObject,
9-
mHash, mArray,
10-
#ifdef RUBY_INTEGER_UNIFICATION
11-
mInteger,
12-
#else
13-
mFixnum, mBignum,
14-
#endif
15-
mFloat, mString, mString_Extend,
16-
mTrueClass, mFalseClass, mNilClass, eGeneratorError,
17-
eNestingError;
8+
static VALUE mJSON, cState, mString_Extend, eGeneratorError, eNestingError;
189

1910
static ID i_to_s, i_to_json, i_new, i_pack, i_unpack, i_create_id, i_extend;
2011

@@ -1192,8 +1183,8 @@ void Init_generator(void)
11921183
rb_require("json/common");
11931184

11941185
mJSON = rb_define_module("JSON");
1195-
mExt = rb_define_module_under(mJSON, "Ext");
1196-
mGenerator = rb_define_module_under(mExt, "Generator");
1186+
VALUE mExt = rb_define_module_under(mJSON, "Ext");
1187+
VALUE mGenerator = rb_define_module_under(mExt, "Generator");
11971188

11981189
eGeneratorError = rb_path2class("JSON::GeneratorError");
11991190
eNestingError = rb_path2class("JSON::NestingError");
@@ -1236,36 +1227,46 @@ void Init_generator(void)
12361227
rb_define_method(cState, "buffer_initial_length=", cState_buffer_initial_length_set, 1);
12371228
rb_define_method(cState, "generate", cState_generate, 1);
12381229

1239-
mGeneratorMethods = rb_define_module_under(mGenerator, "GeneratorMethods");
1240-
mObject = rb_define_module_under(mGeneratorMethods, "Object");
1230+
VALUE mGeneratorMethods = rb_define_module_under(mGenerator, "GeneratorMethods");
1231+
1232+
VALUE mObject = rb_define_module_under(mGeneratorMethods, "Object");
12411233
rb_define_method(mObject, "to_json", mObject_to_json, -1);
1242-
mHash = rb_define_module_under(mGeneratorMethods, "Hash");
1234+
1235+
VALUE mHash = rb_define_module_under(mGeneratorMethods, "Hash");
12431236
rb_define_method(mHash, "to_json", mHash_to_json, -1);
1244-
mArray = rb_define_module_under(mGeneratorMethods, "Array");
1237+
1238+
VALUE mArray = rb_define_module_under(mGeneratorMethods, "Array");
12451239
rb_define_method(mArray, "to_json", mArray_to_json, -1);
1240+
12461241
#ifdef RUBY_INTEGER_UNIFICATION
1247-
mInteger = rb_define_module_under(mGeneratorMethods, "Integer");
1242+
VALUE mInteger = rb_define_module_under(mGeneratorMethods, "Integer");
12481243
rb_define_method(mInteger, "to_json", mInteger_to_json, -1);
12491244
#else
1250-
mFixnum = rb_define_module_under(mGeneratorMethods, "Fixnum");
1245+
VALUE mFixnum = rb_define_module_under(mGeneratorMethods, "Fixnum");
12511246
rb_define_method(mFixnum, "to_json", mFixnum_to_json, -1);
1252-
mBignum = rb_define_module_under(mGeneratorMethods, "Bignum");
1247+
1248+
VALUE mBignum = rb_define_module_under(mGeneratorMethods, "Bignum");
12531249
rb_define_method(mBignum, "to_json", mBignum_to_json, -1);
12541250
#endif
1255-
mFloat = rb_define_module_under(mGeneratorMethods, "Float");
1251+
VALUE mFloat = rb_define_module_under(mGeneratorMethods, "Float");
12561252
rb_define_method(mFloat, "to_json", mFloat_to_json, -1);
1257-
mString = rb_define_module_under(mGeneratorMethods, "String");
1253+
1254+
VALUE mString = rb_define_module_under(mGeneratorMethods, "String");
12581255
rb_define_singleton_method(mString, "included", mString_included_s, 1);
12591256
rb_define_method(mString, "to_json", mString_to_json, -1);
12601257
rb_define_method(mString, "to_json_raw", mString_to_json_raw, -1);
12611258
rb_define_method(mString, "to_json_raw_object", mString_to_json_raw_object, 0);
1259+
12621260
mString_Extend = rb_define_module_under(mString, "Extend");
12631261
rb_define_method(mString_Extend, "json_create", mString_Extend_json_create, 1);
1264-
mTrueClass = rb_define_module_under(mGeneratorMethods, "TrueClass");
1262+
1263+
VALUE mTrueClass = rb_define_module_under(mGeneratorMethods, "TrueClass");
12651264
rb_define_method(mTrueClass, "to_json", mTrueClass_to_json, -1);
1266-
mFalseClass = rb_define_module_under(mGeneratorMethods, "FalseClass");
1265+
1266+
VALUE mFalseClass = rb_define_module_under(mGeneratorMethods, "FalseClass");
12671267
rb_define_method(mFalseClass, "to_json", mFalseClass_to_json, -1);
1268-
mNilClass = rb_define_module_under(mGeneratorMethods, "NilClass");
1268+
1269+
VALUE mNilClass = rb_define_module_under(mGeneratorMethods, "NilClass");
12691270
rb_define_method(mNilClass, "to_json", mNilClass_to_json, -1);
12701271

12711272
i_to_s = rb_intern("to_s");

0 commit comments

Comments
 (0)