rbs 3.10.2 → 4.0.0.dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +2 -2
  3. data/.github/workflows/ruby.yml +24 -34
  4. data/.github/workflows/typecheck.yml +3 -1
  5. data/.github/workflows/windows.yml +2 -2
  6. data/.gitignore +0 -4
  7. data/CHANGELOG.md +0 -107
  8. data/README.md +1 -38
  9. data/Rakefile +20 -142
  10. data/Steepfile +1 -0
  11. data/config.yml +43 -1
  12. data/core/array.rbs +46 -96
  13. data/core/comparable.rbs +6 -13
  14. data/core/complex.rbs +25 -40
  15. data/core/dir.rbs +4 -4
  16. data/core/encoding.rbs +9 -6
  17. data/core/enumerable.rbs +3 -90
  18. data/core/enumerator.rbs +1 -43
  19. data/core/errno.rbs +0 -8
  20. data/core/errors.rbs +1 -28
  21. data/core/exception.rbs +2 -2
  22. data/core/fiber.rbs +20 -29
  23. data/core/file.rbs +19 -49
  24. data/core/file_test.rbs +1 -1
  25. data/core/float.rbs +33 -224
  26. data/core/gc.rbs +281 -417
  27. data/core/hash.rbs +727 -1023
  28. data/core/integer.rbs +63 -104
  29. data/core/io/buffer.rbs +10 -21
  30. data/core/io/wait.rbs +33 -11
  31. data/core/io.rbs +12 -14
  32. data/core/kernel.rbs +51 -61
  33. data/core/marshal.rbs +1 -1
  34. data/core/match_data.rbs +1 -1
  35. data/core/math.rbs +3 -42
  36. data/core/method.rbs +25 -63
  37. data/core/module.rbs +23 -101
  38. data/core/nil_class.rbs +3 -3
  39. data/core/numeric.rbs +17 -25
  40. data/core/object.rbs +3 -3
  41. data/core/object_space.rbs +15 -21
  42. data/core/proc.rbs +24 -30
  43. data/core/process.rbs +2 -2
  44. data/core/ractor.rbs +509 -361
  45. data/core/range.rbs +8 -7
  46. data/core/rational.rbs +34 -56
  47. data/core/rbs/unnamed/argf.rbs +2 -2
  48. data/core/rbs/unnamed/env_class.rbs +1 -1
  49. data/core/rbs/unnamed/random.rbs +2 -4
  50. data/core/regexp.rbs +20 -25
  51. data/core/ruby_vm.rbs +4 -6
  52. data/core/rubygems/errors.rbs +70 -3
  53. data/core/rubygems/rubygems.rbs +79 -11
  54. data/core/rubygems/version.rbs +3 -2
  55. data/core/set.rbs +359 -488
  56. data/core/signal.rbs +14 -24
  57. data/core/string.rbs +1236 -3165
  58. data/core/struct.rbs +1 -1
  59. data/core/symbol.rbs +11 -17
  60. data/core/thread.rbs +33 -95
  61. data/core/time.rbs +9 -35
  62. data/core/trace_point.rbs +4 -7
  63. data/core/unbound_method.rbs +6 -14
  64. data/docs/collection.md +2 -2
  65. data/docs/gem.md +1 -0
  66. data/docs/sigs.md +3 -3
  67. data/ext/rbs_extension/ast_translation.c +1077 -944
  68. data/ext/rbs_extension/ast_translation.h +0 -7
  69. data/ext/rbs_extension/class_constants.c +83 -71
  70. data/ext/rbs_extension/class_constants.h +7 -4
  71. data/ext/rbs_extension/extconf.rb +2 -24
  72. data/ext/rbs_extension/legacy_location.c +172 -173
  73. data/ext/rbs_extension/legacy_location.h +3 -8
  74. data/ext/rbs_extension/main.c +289 -239
  75. data/ext/rbs_extension/rbs_extension.h +0 -3
  76. data/ext/rbs_extension/rbs_string_bridging.h +0 -4
  77. data/include/rbs/ast.h +98 -37
  78. data/include/rbs/defines.h +12 -38
  79. data/include/rbs/lexer.h +114 -126
  80. data/include/rbs/location.h +14 -14
  81. data/include/rbs/parser.h +37 -21
  82. data/include/rbs/string.h +5 -3
  83. data/include/rbs/util/rbs_allocator.h +19 -40
  84. data/include/rbs/util/rbs_assert.h +1 -12
  85. data/include/rbs/util/rbs_constant_pool.h +3 -3
  86. data/include/rbs/util/rbs_encoding.h +1 -3
  87. data/include/rbs/util/rbs_unescape.h +1 -2
  88. data/lib/rbs/ast/ruby/annotations.rb +119 -0
  89. data/lib/rbs/ast/ruby/comment_block.rb +221 -0
  90. data/lib/rbs/ast/ruby/declarations.rb +86 -0
  91. data/lib/rbs/ast/ruby/helpers/constant_helper.rb +24 -0
  92. data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
  93. data/lib/rbs/ast/ruby/members.rb +213 -0
  94. data/lib/rbs/buffer.rb +104 -24
  95. data/lib/rbs/cli/validate.rb +40 -35
  96. data/lib/rbs/cli.rb +5 -6
  97. data/lib/rbs/collection/config/lockfile_generator.rb +0 -8
  98. data/lib/rbs/collection.rb +0 -1
  99. data/lib/rbs/definition.rb +6 -1
  100. data/lib/rbs/definition_builder/ancestor_builder.rb +65 -62
  101. data/lib/rbs/definition_builder/method_builder.rb +45 -30
  102. data/lib/rbs/definition_builder.rb +44 -9
  103. data/lib/rbs/environment/class_entry.rb +69 -0
  104. data/lib/rbs/environment/module_entry.rb +66 -0
  105. data/lib/rbs/environment.rb +244 -218
  106. data/lib/rbs/environment_loader.rb +8 -2
  107. data/lib/rbs/errors.rb +5 -4
  108. data/lib/rbs/inline_parser/comment_association.rb +117 -0
  109. data/lib/rbs/inline_parser.rb +206 -0
  110. data/lib/rbs/location_aux.rb +35 -3
  111. data/lib/rbs/parser_aux.rb +11 -6
  112. data/lib/rbs/prototype/runtime.rb +2 -2
  113. data/lib/rbs/resolver/constant_resolver.rb +2 -2
  114. data/lib/rbs/resolver/type_name_resolver.rb +38 -124
  115. data/lib/rbs/source.rb +99 -0
  116. data/lib/rbs/subtractor.rb +5 -6
  117. data/lib/rbs/test/type_check.rb +0 -14
  118. data/lib/rbs/types.rb +1 -3
  119. data/lib/rbs/version.rb +1 -1
  120. data/lib/rbs.rb +13 -1
  121. data/lib/rdoc/discover.rb +1 -1
  122. data/lib/rdoc_plugin/parser.rb +1 -1
  123. data/rbs.gemspec +1 -0
  124. data/sig/ancestor_builder.rbs +1 -1
  125. data/sig/ast/ruby/annotations.rbs +110 -0
  126. data/sig/ast/ruby/comment_block.rbs +119 -0
  127. data/sig/ast/ruby/declarations.rbs +60 -0
  128. data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
  129. data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
  130. data/sig/ast/ruby/members.rbs +72 -0
  131. data/sig/buffer.rbs +63 -5
  132. data/sig/definition.rbs +1 -0
  133. data/sig/definition_builder.rbs +1 -1
  134. data/sig/environment/class_entry.rbs +50 -0
  135. data/sig/environment/module_entry.rbs +50 -0
  136. data/sig/environment.rbs +28 -133
  137. data/sig/errors.rbs +13 -6
  138. data/sig/inline_parser/comment_association.rbs +71 -0
  139. data/sig/inline_parser.rbs +87 -0
  140. data/sig/location.rbs +32 -7
  141. data/sig/manifest.yaml +1 -0
  142. data/sig/method_builder.rbs +7 -4
  143. data/sig/parser.rbs +16 -20
  144. data/sig/resolver/type_name_resolver.rbs +7 -38
  145. data/sig/source.rbs +48 -0
  146. data/sig/types.rbs +1 -4
  147. data/src/ast.c +290 -201
  148. data/src/lexer.c +2813 -2902
  149. data/src/lexer.re +4 -0
  150. data/src/lexstate.c +155 -169
  151. data/src/location.c +40 -40
  152. data/src/parser.c +2665 -2433
  153. data/src/string.c +48 -0
  154. data/src/util/rbs_allocator.c +76 -92
  155. data/src/util/rbs_assert.c +10 -10
  156. data/src/util/rbs_buffer.c +2 -2
  157. data/src/util/rbs_constant_pool.c +15 -13
  158. data/src/util/rbs_encoding.c +4062 -20097
  159. data/src/util/rbs_unescape.c +48 -85
  160. data/stdlib/bigdecimal/0/big_decimal.rbs +82 -100
  161. data/stdlib/bigdecimal-math/0/big_math.rbs +8 -169
  162. data/stdlib/cgi/0/core.rbs +393 -9
  163. data/stdlib/cgi/0/manifest.yaml +0 -1
  164. data/stdlib/coverage/0/coverage.rbs +1 -3
  165. data/stdlib/date/0/date.rbs +59 -67
  166. data/stdlib/date/0/date_time.rbs +1 -1
  167. data/stdlib/delegate/0/delegator.rbs +7 -10
  168. data/stdlib/erb/0/erb.rbs +347 -737
  169. data/stdlib/fileutils/0/fileutils.rbs +13 -18
  170. data/stdlib/forwardable/0/forwardable.rbs +0 -3
  171. data/stdlib/json/0/json.rbs +48 -68
  172. data/stdlib/net-http/0/net-http.rbs +0 -3
  173. data/stdlib/objspace/0/objspace.rbs +4 -9
  174. data/stdlib/open-uri/0/open-uri.rbs +0 -40
  175. data/stdlib/openssl/0/openssl.rbs +228 -331
  176. data/stdlib/optparse/0/optparse.rbs +3 -3
  177. data/stdlib/pathname/0/pathname.rbs +1380 -10
  178. data/stdlib/psych/0/psych.rbs +3 -3
  179. data/stdlib/rdoc/0/rdoc.rbs +1 -1
  180. data/stdlib/resolv/0/resolv.rbs +68 -25
  181. data/stdlib/ripper/0/ripper.rbs +2 -5
  182. data/stdlib/singleton/0/singleton.rbs +0 -3
  183. data/stdlib/socket/0/socket.rbs +1 -13
  184. data/stdlib/socket/0/tcp_socket.rbs +2 -10
  185. data/stdlib/stringio/0/stringio.rbs +85 -1176
  186. data/stdlib/strscan/0/string_scanner.rbs +31 -31
  187. data/stdlib/tempfile/0/tempfile.rbs +3 -3
  188. data/stdlib/time/0/time.rbs +1 -1
  189. data/stdlib/timeout/0/timeout.rbs +7 -63
  190. data/stdlib/tsort/0/cyclic.rbs +0 -3
  191. data/stdlib/uri/0/common.rbs +2 -11
  192. data/stdlib/uri/0/file.rbs +1 -1
  193. data/stdlib/uri/0/generic.rbs +16 -17
  194. data/stdlib/uri/0/rfc2396_parser.rbs +7 -6
  195. data/stdlib/zlib/0/zstream.rbs +0 -1
  196. metadata +39 -12
  197. data/.clang-format +0 -74
  198. data/.clangd +0 -2
  199. data/.github/workflows/c-check.yml +0 -54
  200. data/core/pathname.rbs +0 -1272
  201. data/core/ruby.rbs +0 -53
  202. data/docs/aliases.md +0 -79
  203. data/docs/encoding.md +0 -56
  204. data/ext/rbs_extension/compat.h +0 -10
  205. data/stdlib/cgi-escape/0/escape.rbs +0 -171
@@ -8,12 +8,8 @@
8
8
  #ifndef RBS_EXTENSION_AST_TRANSLATION_H
9
9
  #define RBS_EXTENSION_AST_TRANSLATION_H
10
10
 
11
- #include "compat.h"
12
-
13
- SUPPRESS_RUBY_HEADER_DIAGNOSTICS_BEGIN
14
11
  #include "ruby.h"
15
12
  #include "ruby/encoding.h"
16
- SUPPRESS_RUBY_HEADER_DIAGNOSTICS_END
17
13
 
18
14
  #include "rbs/ast.h"
19
15
  #include "rbs/location.h"
@@ -31,7 +27,4 @@ VALUE rbs_node_list_to_ruby_array(rbs_translation_context_t, rbs_node_list_t *li
31
27
  VALUE rbs_hash_to_ruby_hash(rbs_translation_context_t, rbs_hash_t *hash);
32
28
  VALUE rbs_struct_to_ruby_value(rbs_translation_context_t, rbs_node_t *instance);
33
29
 
34
- extern VALUE EMPTY_ARRAY;
35
- extern VALUE EMPTY_HASH;
36
-
37
30
  #endif
@@ -7,11 +7,15 @@
7
7
 
8
8
  #include "rbs_extension.h"
9
9
 
10
+ VALUE RBS_Parser;
11
+
10
12
  VALUE RBS;
11
13
  VALUE RBS_AST;
12
14
  VALUE RBS_AST_Declarations;
13
15
  VALUE RBS_AST_Directives;
14
16
  VALUE RBS_AST_Members;
17
+ VALUE RBS_AST_Ruby;
18
+ VALUE RBS_AST_Ruby_Annotations;
15
19
  VALUE RBS_Parser;
16
20
  VALUE RBS_Types;
17
21
  VALUE RBS_Types_Bases;
@@ -45,6 +49,11 @@ VALUE RBS_AST_Members_MethodDefinition_Overload;
45
49
  VALUE RBS_AST_Members_Prepend;
46
50
  VALUE RBS_AST_Members_Private;
47
51
  VALUE RBS_AST_Members_Public;
52
+ VALUE RBS_AST_Ruby_Annotations_ColonMethodTypeAnnotation;
53
+ VALUE RBS_AST_Ruby_Annotations_MethodTypesAnnotation;
54
+ VALUE RBS_AST_Ruby_Annotations_NodeTypeAssertion;
55
+ VALUE RBS_AST_Ruby_Annotations_ReturnTypeAnnotation;
56
+ VALUE RBS_AST_Ruby_Annotations_SkipAnnotation;
48
57
  VALUE RBS_AST_TypeParam;
49
58
  VALUE RBS_MethodType;
50
59
  VALUE RBS_Namespace;
@@ -77,79 +86,82 @@ VALUE RBS_Types_Variable;
77
86
 
78
87
  VALUE RBS_ParsingError;
79
88
 
80
- #define IMPORT_CONSTANT(var, parent, name) \
81
- { \
82
- var = rb_const_get(parent, rb_intern(name)); \
83
- rb_gc_register_mark_object(var); \
84
- }
89
+ #define IMPORT_CONSTANT(var, parent, name) { var = rb_const_get(parent, rb_intern(name)); rb_gc_register_mark_object(var); }
85
90
 
86
91
  void rbs__init_constants(void) {
87
- IMPORT_CONSTANT(RBS, rb_cObject, "RBS");
88
- IMPORT_CONSTANT(RBS_ParsingError, RBS, "ParsingError");
92
+ IMPORT_CONSTANT(RBS, rb_cObject, "RBS");
93
+ IMPORT_CONSTANT(RBS_ParsingError, RBS, "ParsingError");
89
94
 
90
- IMPORT_CONSTANT(RBS_AST, RBS, "AST");
91
- IMPORT_CONSTANT(RBS_AST_Declarations, RBS_AST, "Declarations");
92
- IMPORT_CONSTANT(RBS_AST_Directives, RBS_AST, "Directives");
93
- IMPORT_CONSTANT(RBS_AST_Members, RBS_AST, "Members");
94
- IMPORT_CONSTANT(RBS_Types, RBS, "Types");
95
- IMPORT_CONSTANT(RBS_Types_Bases, RBS_Types, "Bases");
95
+ IMPORT_CONSTANT(RBS_AST, RBS, "AST");
96
+ IMPORT_CONSTANT(RBS_AST_Declarations, RBS_AST, "Declarations");
97
+ IMPORT_CONSTANT(RBS_AST_Directives, RBS_AST, "Directives");
98
+ IMPORT_CONSTANT(RBS_AST_Members, RBS_AST, "Members");
99
+ IMPORT_CONSTANT(RBS_AST_Ruby, RBS_AST, "Ruby");
100
+ IMPORT_CONSTANT(RBS_AST_Ruby_Annotations, RBS_AST_Ruby, "Annotations");
101
+ IMPORT_CONSTANT(RBS_Types, RBS, "Types");
102
+ IMPORT_CONSTANT(RBS_Types_Bases, RBS_Types, "Bases");
96
103
 
97
- IMPORT_CONSTANT(RBS_AST_Annotation, RBS_AST, "Annotation");
98
- IMPORT_CONSTANT(RBS_AST_Comment, RBS_AST, "Comment");
99
- IMPORT_CONSTANT(RBS_AST_Declarations_Class, RBS_AST_Declarations, "Class");
100
- IMPORT_CONSTANT(RBS_AST_Declarations_Class_Super, RBS_AST_Declarations_Class, "Super");
101
- IMPORT_CONSTANT(RBS_AST_Declarations_ClassAlias, RBS_AST_Declarations, "ClassAlias");
102
- IMPORT_CONSTANT(RBS_AST_Declarations_Constant, RBS_AST_Declarations, "Constant");
103
- IMPORT_CONSTANT(RBS_AST_Declarations_Global, RBS_AST_Declarations, "Global");
104
- IMPORT_CONSTANT(RBS_AST_Declarations_Interface, RBS_AST_Declarations, "Interface");
105
- IMPORT_CONSTANT(RBS_AST_Declarations_Module, RBS_AST_Declarations, "Module");
106
- IMPORT_CONSTANT(RBS_AST_Declarations_Module_Self, RBS_AST_Declarations_Module, "Self");
107
- IMPORT_CONSTANT(RBS_AST_Declarations_ModuleAlias, RBS_AST_Declarations, "ModuleAlias");
108
- IMPORT_CONSTANT(RBS_AST_Declarations_TypeAlias, RBS_AST_Declarations, "TypeAlias");
109
- IMPORT_CONSTANT(RBS_AST_Directives_Use, RBS_AST_Directives, "Use");
110
- IMPORT_CONSTANT(RBS_AST_Directives_Use_SingleClause, RBS_AST_Directives_Use, "SingleClause");
111
- IMPORT_CONSTANT(RBS_AST_Directives_Use_WildcardClause, RBS_AST_Directives_Use, "WildcardClause");
112
- IMPORT_CONSTANT(RBS_AST_Members_Alias, RBS_AST_Members, "Alias");
113
- IMPORT_CONSTANT(RBS_AST_Members_AttrAccessor, RBS_AST_Members, "AttrAccessor");
114
- IMPORT_CONSTANT(RBS_AST_Members_AttrReader, RBS_AST_Members, "AttrReader");
115
- IMPORT_CONSTANT(RBS_AST_Members_AttrWriter, RBS_AST_Members, "AttrWriter");
116
- IMPORT_CONSTANT(RBS_AST_Members_ClassInstanceVariable, RBS_AST_Members, "ClassInstanceVariable");
117
- IMPORT_CONSTANT(RBS_AST_Members_ClassVariable, RBS_AST_Members, "ClassVariable");
118
- IMPORT_CONSTANT(RBS_AST_Members_Extend, RBS_AST_Members, "Extend");
119
- IMPORT_CONSTANT(RBS_AST_Members_Include, RBS_AST_Members, "Include");
120
- IMPORT_CONSTANT(RBS_AST_Members_InstanceVariable, RBS_AST_Members, "InstanceVariable");
121
- IMPORT_CONSTANT(RBS_AST_Members_MethodDefinition, RBS_AST_Members, "MethodDefinition");
122
- IMPORT_CONSTANT(RBS_AST_Members_MethodDefinition_Overload, RBS_AST_Members_MethodDefinition, "Overload");
123
- IMPORT_CONSTANT(RBS_AST_Members_Prepend, RBS_AST_Members, "Prepend");
124
- IMPORT_CONSTANT(RBS_AST_Members_Private, RBS_AST_Members, "Private");
125
- IMPORT_CONSTANT(RBS_AST_Members_Public, RBS_AST_Members, "Public");
126
- IMPORT_CONSTANT(RBS_AST_TypeParam, RBS_AST, "TypeParam");
127
- IMPORT_CONSTANT(RBS_MethodType, RBS, "MethodType");
128
- IMPORT_CONSTANT(RBS_Namespace, RBS, "Namespace");
129
- IMPORT_CONSTANT(RBS_TypeName, RBS, "TypeName");
130
- IMPORT_CONSTANT(RBS_Types_Alias, RBS_Types, "Alias");
131
- IMPORT_CONSTANT(RBS_Types_Bases_Any, RBS_Types_Bases, "Any");
132
- IMPORT_CONSTANT(RBS_Types_Bases_Bool, RBS_Types_Bases, "Bool");
133
- IMPORT_CONSTANT(RBS_Types_Bases_Bottom, RBS_Types_Bases, "Bottom");
134
- IMPORT_CONSTANT(RBS_Types_Bases_Class, RBS_Types_Bases, "Class");
135
- IMPORT_CONSTANT(RBS_Types_Bases_Instance, RBS_Types_Bases, "Instance");
136
- IMPORT_CONSTANT(RBS_Types_Bases_Nil, RBS_Types_Bases, "Nil");
137
- IMPORT_CONSTANT(RBS_Types_Bases_Self, RBS_Types_Bases, "Self");
138
- IMPORT_CONSTANT(RBS_Types_Bases_Top, RBS_Types_Bases, "Top");
139
- IMPORT_CONSTANT(RBS_Types_Bases_Void, RBS_Types_Bases, "Void");
140
- IMPORT_CONSTANT(RBS_Types_Block, RBS_Types, "Block");
141
- IMPORT_CONSTANT(RBS_Types_ClassInstance, RBS_Types, "ClassInstance");
142
- IMPORT_CONSTANT(RBS_Types_ClassSingleton, RBS_Types, "ClassSingleton");
143
- IMPORT_CONSTANT(RBS_Types_Function, RBS_Types, "Function");
144
- IMPORT_CONSTANT(RBS_Types_Function_Param, RBS_Types_Function, "Param");
145
- IMPORT_CONSTANT(RBS_Types_Interface, RBS_Types, "Interface");
146
- IMPORT_CONSTANT(RBS_Types_Intersection, RBS_Types, "Intersection");
147
- IMPORT_CONSTANT(RBS_Types_Literal, RBS_Types, "Literal");
148
- IMPORT_CONSTANT(RBS_Types_Optional, RBS_Types, "Optional");
149
- IMPORT_CONSTANT(RBS_Types_Proc, RBS_Types, "Proc");
150
- IMPORT_CONSTANT(RBS_Types_Record, RBS_Types, "Record");
151
- IMPORT_CONSTANT(RBS_Types_Tuple, RBS_Types, "Tuple");
152
- IMPORT_CONSTANT(RBS_Types_Union, RBS_Types, "Union");
153
- IMPORT_CONSTANT(RBS_Types_UntypedFunction, RBS_Types, "UntypedFunction");
154
- IMPORT_CONSTANT(RBS_Types_Variable, RBS_Types, "Variable");
104
+ IMPORT_CONSTANT(RBS_AST_Annotation, RBS_AST, "Annotation");
105
+ IMPORT_CONSTANT(RBS_AST_Comment, RBS_AST, "Comment");
106
+ IMPORT_CONSTANT(RBS_AST_Declarations_Class, RBS_AST_Declarations, "Class");
107
+ IMPORT_CONSTANT(RBS_AST_Declarations_Class_Super, RBS_AST_Declarations_Class, "Super");
108
+ IMPORT_CONSTANT(RBS_AST_Declarations_ClassAlias, RBS_AST_Declarations, "ClassAlias");
109
+ IMPORT_CONSTANT(RBS_AST_Declarations_Constant, RBS_AST_Declarations, "Constant");
110
+ IMPORT_CONSTANT(RBS_AST_Declarations_Global, RBS_AST_Declarations, "Global");
111
+ IMPORT_CONSTANT(RBS_AST_Declarations_Interface, RBS_AST_Declarations, "Interface");
112
+ IMPORT_CONSTANT(RBS_AST_Declarations_Module, RBS_AST_Declarations, "Module");
113
+ IMPORT_CONSTANT(RBS_AST_Declarations_Module_Self, RBS_AST_Declarations_Module, "Self");
114
+ IMPORT_CONSTANT(RBS_AST_Declarations_ModuleAlias, RBS_AST_Declarations, "ModuleAlias");
115
+ IMPORT_CONSTANT(RBS_AST_Declarations_TypeAlias, RBS_AST_Declarations, "TypeAlias");
116
+ IMPORT_CONSTANT(RBS_AST_Directives_Use, RBS_AST_Directives, "Use");
117
+ IMPORT_CONSTANT(RBS_AST_Directives_Use_SingleClause, RBS_AST_Directives_Use, "SingleClause");
118
+ IMPORT_CONSTANT(RBS_AST_Directives_Use_WildcardClause, RBS_AST_Directives_Use, "WildcardClause");
119
+ IMPORT_CONSTANT(RBS_AST_Members_Alias, RBS_AST_Members, "Alias");
120
+ IMPORT_CONSTANT(RBS_AST_Members_AttrAccessor, RBS_AST_Members, "AttrAccessor");
121
+ IMPORT_CONSTANT(RBS_AST_Members_AttrReader, RBS_AST_Members, "AttrReader");
122
+ IMPORT_CONSTANT(RBS_AST_Members_AttrWriter, RBS_AST_Members, "AttrWriter");
123
+ IMPORT_CONSTANT(RBS_AST_Members_ClassInstanceVariable, RBS_AST_Members, "ClassInstanceVariable");
124
+ IMPORT_CONSTANT(RBS_AST_Members_ClassVariable, RBS_AST_Members, "ClassVariable");
125
+ IMPORT_CONSTANT(RBS_AST_Members_Extend, RBS_AST_Members, "Extend");
126
+ IMPORT_CONSTANT(RBS_AST_Members_Include, RBS_AST_Members, "Include");
127
+ IMPORT_CONSTANT(RBS_AST_Members_InstanceVariable, RBS_AST_Members, "InstanceVariable");
128
+ IMPORT_CONSTANT(RBS_AST_Members_MethodDefinition, RBS_AST_Members, "MethodDefinition");
129
+ IMPORT_CONSTANT(RBS_AST_Members_MethodDefinition_Overload, RBS_AST_Members_MethodDefinition, "Overload");
130
+ IMPORT_CONSTANT(RBS_AST_Members_Prepend, RBS_AST_Members, "Prepend");
131
+ IMPORT_CONSTANT(RBS_AST_Members_Private, RBS_AST_Members, "Private");
132
+ IMPORT_CONSTANT(RBS_AST_Members_Public, RBS_AST_Members, "Public");
133
+ IMPORT_CONSTANT(RBS_AST_Ruby_Annotations_ColonMethodTypeAnnotation, RBS_AST_Ruby_Annotations, "ColonMethodTypeAnnotation");
134
+ IMPORT_CONSTANT(RBS_AST_Ruby_Annotations_MethodTypesAnnotation, RBS_AST_Ruby_Annotations, "MethodTypesAnnotation");
135
+ IMPORT_CONSTANT(RBS_AST_Ruby_Annotations_NodeTypeAssertion, RBS_AST_Ruby_Annotations, "NodeTypeAssertion");
136
+ IMPORT_CONSTANT(RBS_AST_Ruby_Annotations_ReturnTypeAnnotation, RBS_AST_Ruby_Annotations, "ReturnTypeAnnotation");
137
+ IMPORT_CONSTANT(RBS_AST_Ruby_Annotations_SkipAnnotation, RBS_AST_Ruby_Annotations, "SkipAnnotation");
138
+ IMPORT_CONSTANT(RBS_AST_TypeParam, RBS_AST, "TypeParam");
139
+ IMPORT_CONSTANT(RBS_MethodType, RBS, "MethodType");
140
+ IMPORT_CONSTANT(RBS_Namespace, RBS, "Namespace");
141
+ IMPORT_CONSTANT(RBS_TypeName, RBS, "TypeName");
142
+ IMPORT_CONSTANT(RBS_Types_Alias, RBS_Types, "Alias");
143
+ IMPORT_CONSTANT(RBS_Types_Bases_Any, RBS_Types_Bases, "Any");
144
+ IMPORT_CONSTANT(RBS_Types_Bases_Bool, RBS_Types_Bases, "Bool");
145
+ IMPORT_CONSTANT(RBS_Types_Bases_Bottom, RBS_Types_Bases, "Bottom");
146
+ IMPORT_CONSTANT(RBS_Types_Bases_Class, RBS_Types_Bases, "Class");
147
+ IMPORT_CONSTANT(RBS_Types_Bases_Instance, RBS_Types_Bases, "Instance");
148
+ IMPORT_CONSTANT(RBS_Types_Bases_Nil, RBS_Types_Bases, "Nil");
149
+ IMPORT_CONSTANT(RBS_Types_Bases_Self, RBS_Types_Bases, "Self");
150
+ IMPORT_CONSTANT(RBS_Types_Bases_Top, RBS_Types_Bases, "Top");
151
+ IMPORT_CONSTANT(RBS_Types_Bases_Void, RBS_Types_Bases, "Void");
152
+ IMPORT_CONSTANT(RBS_Types_Block, RBS_Types, "Block");
153
+ IMPORT_CONSTANT(RBS_Types_ClassInstance, RBS_Types, "ClassInstance");
154
+ IMPORT_CONSTANT(RBS_Types_ClassSingleton, RBS_Types, "ClassSingleton");
155
+ IMPORT_CONSTANT(RBS_Types_Function, RBS_Types, "Function");
156
+ IMPORT_CONSTANT(RBS_Types_Function_Param, RBS_Types_Function, "Param");
157
+ IMPORT_CONSTANT(RBS_Types_Interface, RBS_Types, "Interface");
158
+ IMPORT_CONSTANT(RBS_Types_Intersection, RBS_Types, "Intersection");
159
+ IMPORT_CONSTANT(RBS_Types_Literal, RBS_Types, "Literal");
160
+ IMPORT_CONSTANT(RBS_Types_Optional, RBS_Types, "Optional");
161
+ IMPORT_CONSTANT(RBS_Types_Proc, RBS_Types, "Proc");
162
+ IMPORT_CONSTANT(RBS_Types_Record, RBS_Types, "Record");
163
+ IMPORT_CONSTANT(RBS_Types_Tuple, RBS_Types, "Tuple");
164
+ IMPORT_CONSTANT(RBS_Types_Union, RBS_Types, "Union");
165
+ IMPORT_CONSTANT(RBS_Types_UntypedFunction, RBS_Types, "UntypedFunction");
166
+ IMPORT_CONSTANT(RBS_Types_Variable, RBS_Types, "Variable");
155
167
  }
@@ -8,11 +8,7 @@
8
8
  #ifndef RBS__CONSTANTS_H
9
9
  #define RBS__CONSTANTS_H
10
10
 
11
- #include "compat.h"
12
-
13
- SUPPRESS_RUBY_HEADER_DIAGNOSTICS_BEGIN
14
11
  #include "ruby.h"
15
- SUPPRESS_RUBY_HEADER_DIAGNOSTICS_END
16
12
 
17
13
  extern VALUE RBS;
18
14
 
@@ -20,6 +16,8 @@ extern VALUE RBS_AST;
20
16
  extern VALUE RBS_AST_Declarations;
21
17
  extern VALUE RBS_AST_Directives;
22
18
  extern VALUE RBS_AST_Members;
19
+ extern VALUE RBS_AST_Ruby;
20
+ extern VALUE RBS_AST_Ruby_Annotations;
23
21
  extern VALUE RBS_Types;
24
22
  extern VALUE RBS_Types_Bases;
25
23
  extern VALUE RBS_ParsingError;
@@ -53,6 +51,11 @@ extern VALUE RBS_AST_Members_MethodDefinition_Overload;
53
51
  extern VALUE RBS_AST_Members_Prepend;
54
52
  extern VALUE RBS_AST_Members_Private;
55
53
  extern VALUE RBS_AST_Members_Public;
54
+ extern VALUE RBS_AST_Ruby_Annotations_ColonMethodTypeAnnotation;
55
+ extern VALUE RBS_AST_Ruby_Annotations_MethodTypesAnnotation;
56
+ extern VALUE RBS_AST_Ruby_Annotations_NodeTypeAssertion;
57
+ extern VALUE RBS_AST_Ruby_Annotations_ReturnTypeAnnotation;
58
+ extern VALUE RBS_AST_Ruby_Annotations_SkipAnnotation;
56
59
  extern VALUE RBS_AST_TypeParam;
57
60
  extern VALUE RBS_MethodType;
58
61
  extern VALUE RBS_Namespace;
@@ -11,29 +11,7 @@ root_dir = File.expand_path('../../../', __FILE__)
11
11
  $srcs = Dir.glob("#{root_dir}/src/**/*.c") +
12
12
  Dir.glob("#{root_dir}/ext/rbs_extension/*.c")
13
13
 
14
- append_cflags [
15
- '-std=gnu99',
16
- '-Wimplicit-fallthrough',
17
- '-Wunused-result',
18
- '-Wc++-compat',
19
- ]
20
-
21
- if ENV['DEBUG']
22
- append_cflags ['-O0', '-pg']
23
- else
24
- append_cflags ['-DNDEBUG']
25
- end
26
- if ENV["TEST_NO_C23"]
27
- puts "Adding -Wc2x-extensions to CFLAGS"
28
- $CFLAGS << " -Werror -Wc2x-extensions"
29
- end
14
+ append_cflags ['-std=gnu99', '-Wimplicit-fallthrough', '-Wunused-result']
15
+ append_cflags ['-O0', '-g'] if ENV['DEBUG']
30
16
 
31
17
  create_makefile 'rbs_extension'
32
-
33
- # Only generate compile_commands.json when compiling through Rake tasks
34
- # This is to avoid adding extconf_compile_commands_json as a runtime dependency
35
- if ENV["COMPILE_COMMANDS_JSON"]
36
- require 'extconf_compile_commands_json'
37
- ExtconfCompileCommandsJson.generate!
38
- ExtconfCompileCommandsJson.symlink!
39
- end