json_pure 2.4.0 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +27 -5
  3. data/README.md +3 -3
  4. data/VERSION +1 -1
  5. data/json_pure.gemspec +43 -21
  6. data/lib/json/common.rb +34 -13
  7. data/lib/json/pure/parser.rb +1 -1
  8. data/lib/json/version.rb +1 -1
  9. data/lib/json.rb +1 -1
  10. metadata +14 -123
  11. data/.gitignore +0 -18
  12. data/.travis.yml +0 -23
  13. data/Gemfile +0 -14
  14. data/README-json-jruby.md +0 -33
  15. data/Rakefile +0 -334
  16. data/diagrams/.keep +0 -0
  17. data/ext/json/ext/fbuffer/fbuffer.h +0 -187
  18. data/ext/json/ext/generator/depend +0 -1
  19. data/ext/json/ext/generator/extconf.rb +0 -4
  20. data/ext/json/ext/generator/generator.c +0 -1612
  21. data/ext/json/ext/generator/generator.h +0 -174
  22. data/ext/json/ext/parser/depend +0 -1
  23. data/ext/json/ext/parser/extconf.rb +0 -31
  24. data/ext/json/ext/parser/parser.c +0 -2164
  25. data/ext/json/ext/parser/parser.h +0 -92
  26. data/ext/json/ext/parser/parser.rl +0 -924
  27. data/ext/json/extconf.rb +0 -3
  28. data/install.rb +0 -23
  29. data/java/src/json/ext/ByteListTranscoder.java +0 -166
  30. data/java/src/json/ext/Generator.java +0 -447
  31. data/java/src/json/ext/GeneratorMethods.java +0 -231
  32. data/java/src/json/ext/GeneratorService.java +0 -42
  33. data/java/src/json/ext/GeneratorState.java +0 -520
  34. data/java/src/json/ext/OptionsReader.java +0 -113
  35. data/java/src/json/ext/Parser.java +0 -2374
  36. data/java/src/json/ext/Parser.rl +0 -905
  37. data/java/src/json/ext/ParserService.java +0 -34
  38. data/java/src/json/ext/RuntimeInfo.java +0 -116
  39. data/java/src/json/ext/StringDecoder.java +0 -166
  40. data/java/src/json/ext/StringEncoder.java +0 -117
  41. data/java/src/json/ext/Utils.java +0 -88
  42. data/json-java.gemspec +0 -38
  43. data/json.gemspec +0 -140
  44. data/lib/json/ext/.keep +0 -0
  45. data/references/rfc7159.txt +0 -899
  46. data/tests/fixtures/fail10.json +0 -1
  47. data/tests/fixtures/fail11.json +0 -1
  48. data/tests/fixtures/fail12.json +0 -1
  49. data/tests/fixtures/fail13.json +0 -1
  50. data/tests/fixtures/fail14.json +0 -1
  51. data/tests/fixtures/fail18.json +0 -1
  52. data/tests/fixtures/fail19.json +0 -1
  53. data/tests/fixtures/fail2.json +0 -1
  54. data/tests/fixtures/fail20.json +0 -1
  55. data/tests/fixtures/fail21.json +0 -1
  56. data/tests/fixtures/fail22.json +0 -1
  57. data/tests/fixtures/fail23.json +0 -1
  58. data/tests/fixtures/fail24.json +0 -1
  59. data/tests/fixtures/fail25.json +0 -1
  60. data/tests/fixtures/fail27.json +0 -2
  61. data/tests/fixtures/fail28.json +0 -2
  62. data/tests/fixtures/fail3.json +0 -1
  63. data/tests/fixtures/fail4.json +0 -1
  64. data/tests/fixtures/fail5.json +0 -1
  65. data/tests/fixtures/fail6.json +0 -1
  66. data/tests/fixtures/fail7.json +0 -1
  67. data/tests/fixtures/fail8.json +0 -1
  68. data/tests/fixtures/fail9.json +0 -1
  69. data/tests/fixtures/obsolete_fail1.json +0 -1
  70. data/tests/fixtures/pass1.json +0 -56
  71. data/tests/fixtures/pass15.json +0 -1
  72. data/tests/fixtures/pass16.json +0 -1
  73. data/tests/fixtures/pass17.json +0 -1
  74. data/tests/fixtures/pass2.json +0 -1
  75. data/tests/fixtures/pass26.json +0 -1
  76. data/tests/fixtures/pass3.json +0 -6
  77. data/tests/json_addition_test.rb +0 -199
  78. data/tests/json_common_interface_test.rb +0 -169
  79. data/tests/json_encoding_test.rb +0 -107
  80. data/tests/json_ext_parser_test.rb +0 -15
  81. data/tests/json_fixtures_test.rb +0 -40
  82. data/tests/json_generator_test.rb +0 -432
  83. data/tests/json_generic_object_test.rb +0 -82
  84. data/tests/json_parser_test.rb +0 -497
  85. data/tests/json_string_matching_test.rb +0 -38
  86. data/tests/test_helper.rb +0 -17
  87. data/tools/diff.sh +0 -18
  88. data/tools/fuzz.rb +0 -131
  89. data/tools/server.rb +0 -62
@@ -1,92 +0,0 @@
1
- #ifndef _PARSER_H_
2
- #define _PARSER_H_
3
-
4
- #include "ruby.h"
5
-
6
- #ifndef HAVE_RUBY_RE_H
7
- #include "re.h"
8
- #endif
9
-
10
- #ifdef HAVE_RUBY_ST_H
11
- #include "ruby/st.h"
12
- #else
13
- #include "st.h"
14
- #endif
15
-
16
- #define option_given_p(opts, key) RTEST(rb_funcall(opts, i_key_p, 1, key))
17
-
18
- /* unicode */
19
-
20
- typedef unsigned long UTF32; /* at least 32 bits */
21
- typedef unsigned short UTF16; /* at least 16 bits */
22
- typedef unsigned char UTF8; /* typically 8 bits */
23
-
24
- #define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD
25
- #define UNI_SUR_HIGH_START (UTF32)0xD800
26
- #define UNI_SUR_HIGH_END (UTF32)0xDBFF
27
- #define UNI_SUR_LOW_START (UTF32)0xDC00
28
- #define UNI_SUR_LOW_END (UTF32)0xDFFF
29
-
30
- typedef struct JSON_ParserStruct {
31
- VALUE Vsource;
32
- char *source;
33
- long len;
34
- char *memo;
35
- VALUE create_id;
36
- int max_nesting;
37
- int allow_nan;
38
- int parsing_name;
39
- int symbolize_names;
40
- int freeze;
41
- VALUE object_class;
42
- VALUE array_class;
43
- VALUE decimal_class;
44
- int create_additions;
45
- VALUE match_string;
46
- FBuffer *fbuffer;
47
- } JSON_Parser;
48
-
49
- #define GET_PARSER \
50
- GET_PARSER_INIT; \
51
- if (!json->Vsource) rb_raise(rb_eTypeError, "uninitialized instance")
52
- #define GET_PARSER_INIT \
53
- JSON_Parser *json; \
54
- TypedData_Get_Struct(self, JSON_Parser, &JSON_Parser_type, json)
55
-
56
- #define MinusInfinity "-Infinity"
57
- #define EVIL 0x666
58
-
59
- static UTF32 unescape_unicode(const unsigned char *p);
60
- static int convert_UTF32_to_UTF8(char *buf, UTF32 ch);
61
- static char *JSON_parse_object(JSON_Parser *json, char *p, char *pe, VALUE *result, int current_nesting);
62
- static char *JSON_parse_value(JSON_Parser *json, char *p, char *pe, VALUE *result, int current_nesting);
63
- static char *JSON_parse_integer(JSON_Parser *json, char *p, char *pe, VALUE *result);
64
- static char *JSON_parse_float(JSON_Parser *json, char *p, char *pe, VALUE *result);
65
- static char *JSON_parse_array(JSON_Parser *json, char *p, char *pe, VALUE *result, int current_nesting);
66
- static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd);
67
- static char *JSON_parse_string(JSON_Parser *json, char *p, char *pe, VALUE *result);
68
- static VALUE convert_encoding(VALUE source);
69
- static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self);
70
- static VALUE cParser_parse(VALUE self);
71
- static void JSON_mark(void *json);
72
- static void JSON_free(void *json);
73
- static VALUE cJSON_parser_s_allocate(VALUE klass);
74
- static VALUE cParser_source(VALUE self);
75
- #ifndef ZALLOC
76
- #define ZALLOC(type) ((type *)ruby_zalloc(sizeof(type)))
77
- static inline void *ruby_zalloc(size_t n)
78
- {
79
- void *p = ruby_xmalloc(n);
80
- memset(p, 0, n);
81
- return p;
82
- }
83
- #endif
84
- #ifdef TypedData_Make_Struct
85
- static const rb_data_type_t JSON_Parser_type;
86
- #define NEW_TYPEDDATA_WRAPPER 1
87
- #else
88
- #define TypedData_Make_Struct(klass, type, ignore, json) Data_Make_Struct(klass, type, NULL, JSON_free, json)
89
- #define TypedData_Get_Struct(self, JSON_Parser, ignore, json) Data_Get_Struct(self, JSON_Parser, json)
90
- #endif
91
-
92
- #endif