herb 0.9.2-arm-linux-gnu → 0.9.4-arm-linux-gnu

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 (171) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -0
  3. data/config.yml +125 -0
  4. data/ext/herb/error_helpers.c +172 -2
  5. data/ext/herb/extconf.rb +6 -0
  6. data/ext/herb/extension.c +16 -2
  7. data/ext/herb/extension_helpers.c +6 -5
  8. data/ext/herb/extension_helpers.h +4 -4
  9. data/ext/herb/nodes.c +89 -3
  10. data/lib/herb/3.0/herb.so +0 -0
  11. data/lib/herb/3.1/herb.so +0 -0
  12. data/lib/herb/3.2/herb.so +0 -0
  13. data/lib/herb/3.3/herb.so +0 -0
  14. data/lib/herb/3.4/herb.so +0 -0
  15. data/lib/herb/4.0/herb.so +0 -0
  16. data/lib/herb/ast/erb_content_node.rb +32 -0
  17. data/lib/herb/ast/nodes.rb +244 -3
  18. data/lib/herb/cli.rb +12 -2
  19. data/lib/herb/engine/compiler.rb +166 -75
  20. data/lib/herb/engine/validators/security_validator.rb +40 -0
  21. data/lib/herb/engine.rb +3 -0
  22. data/lib/herb/errors.rb +268 -0
  23. data/lib/herb/parser_options.rb +7 -2
  24. data/lib/herb/project.rb +58 -17
  25. data/lib/herb/version.rb +1 -1
  26. data/lib/herb/visitor.rb +82 -0
  27. data/lib/herb.rb +1 -0
  28. data/sig/herb/ast/erb_content_node.rbs +13 -0
  29. data/sig/herb/ast/nodes.rbs +98 -2
  30. data/sig/herb/engine/compiler.rbs +31 -2
  31. data/sig/herb/engine/validators/security_validator.rbs +4 -0
  32. data/sig/herb/engine.rbs +3 -0
  33. data/sig/herb/errors.rbs +122 -0
  34. data/sig/herb/parser_options.rbs +6 -2
  35. data/sig/herb/visitor.rbs +12 -0
  36. data/sig/serialized_ast_errors.rbs +29 -0
  37. data/sig/serialized_ast_nodes.rbs +19 -0
  38. data/src/analyze/action_view/attribute_extraction_helpers.c +420 -91
  39. data/src/analyze/action_view/image_tag.c +87 -0
  40. data/src/analyze/action_view/javascript_include_tag.c +22 -12
  41. data/src/analyze/action_view/registry.c +6 -3
  42. data/src/analyze/action_view/tag.c +19 -2
  43. data/src/analyze/action_view/tag_helper_node_builders.c +105 -36
  44. data/src/analyze/action_view/tag_helpers.c +792 -44
  45. data/src/analyze/analyze.c +167 -13
  46. data/src/analyze/{helpers.c → analyze_helpers.c} +1 -1
  47. data/src/analyze/analyzed_ruby.c +1 -1
  48. data/src/analyze/builders.c +11 -8
  49. data/src/analyze/conditional_elements.c +6 -7
  50. data/src/analyze/conditional_open_tags.c +6 -7
  51. data/src/analyze/control_type.c +4 -2
  52. data/src/analyze/invalid_structures.c +5 -5
  53. data/src/analyze/missing_end.c +2 -2
  54. data/src/analyze/parse_errors.c +47 -6
  55. data/src/analyze/prism_annotate.c +7 -7
  56. data/src/analyze/render_nodes.c +6 -26
  57. data/src/analyze/strict_locals.c +651 -0
  58. data/src/analyze/transform.c +7 -0
  59. data/src/{ast_node.c → ast/ast_node.c} +8 -8
  60. data/src/{ast_nodes.c → ast/ast_nodes.c} +82 -11
  61. data/src/{ast_pretty_print.c → ast/ast_pretty_print.c} +113 -9
  62. data/src/{pretty_print.c → ast/pretty_print.c} +9 -9
  63. data/src/errors.c +398 -8
  64. data/src/extract.c +5 -5
  65. data/src/herb.c +15 -5
  66. data/src/include/analyze/action_view/attribute_extraction_helpers.h +3 -1
  67. data/src/include/analyze/action_view/tag_helper_handler.h +3 -3
  68. data/src/include/analyze/action_view/tag_helper_node_builders.h +34 -5
  69. data/src/include/analyze/action_view/tag_helpers.h +4 -3
  70. data/src/include/analyze/analyze.h +12 -5
  71. data/src/include/analyze/analyzed_ruby.h +2 -2
  72. data/src/include/analyze/builders.h +4 -4
  73. data/src/include/analyze/conditional_elements.h +2 -2
  74. data/src/include/analyze/conditional_open_tags.h +2 -2
  75. data/src/include/analyze/control_type.h +1 -1
  76. data/src/include/analyze/helpers.h +2 -2
  77. data/src/include/analyze/invalid_structures.h +1 -1
  78. data/src/include/analyze/prism_annotate.h +2 -2
  79. data/src/include/analyze/render_nodes.h +1 -1
  80. data/src/include/analyze/strict_locals.h +11 -0
  81. data/src/include/{ast_node.h → ast/ast_node.h} +4 -4
  82. data/src/include/{ast_nodes.h → ast/ast_nodes.h} +38 -14
  83. data/src/include/{ast_pretty_print.h → ast/ast_pretty_print.h} +3 -3
  84. data/src/include/{pretty_print.h → ast/pretty_print.h} +4 -4
  85. data/src/include/errors.h +65 -7
  86. data/src/include/extract.h +2 -2
  87. data/src/include/herb.h +5 -5
  88. data/src/include/{lex_helpers.h → lexer/lex_helpers.h} +5 -5
  89. data/src/include/{lexer.h → lexer/lexer.h} +1 -1
  90. data/src/include/{lexer_peek_helpers.h → lexer/lexer_peek_helpers.h} +2 -2
  91. data/src/include/{lexer_struct.h → lexer/lexer_struct.h} +2 -2
  92. data/src/include/{token.h → lexer/token.h} +3 -3
  93. data/src/include/{token_matchers.h → lexer/token_matchers.h} +1 -1
  94. data/src/include/{token_struct.h → lexer/token_struct.h} +3 -3
  95. data/src/include/{util → lib}/hb_foreach.h +1 -1
  96. data/src/include/{util → lib}/hb_string.h +5 -1
  97. data/src/include/{location.h → location/location.h} +1 -1
  98. data/src/include/parser/dot_notation.h +12 -0
  99. data/src/include/{parser.h → parser/parser.h} +11 -4
  100. data/src/include/{parser_helpers.h → parser/parser_helpers.h} +6 -6
  101. data/src/include/{prism_context.h → prism/prism_context.h} +2 -2
  102. data/src/include/{prism_helpers.h → prism/prism_helpers.h} +6 -6
  103. data/src/include/{html_util.h → util/html_util.h} +1 -1
  104. data/src/include/util/ruby_util.h +9 -0
  105. data/src/include/{utf8.h → util/utf8.h} +1 -1
  106. data/src/include/{util.h → util/util.h} +1 -1
  107. data/src/include/version.h +1 -1
  108. data/src/include/visitor.h +3 -3
  109. data/src/{lexer_peek_helpers.c → lexer/lexer_peek_helpers.c} +3 -3
  110. data/src/{token.c → lexer/token.c} +8 -8
  111. data/src/{token_matchers.c → lexer/token_matchers.c} +2 -2
  112. data/src/lexer.c +6 -6
  113. data/src/{util → lib}/hb_allocator.c +2 -2
  114. data/src/{util → lib}/hb_arena.c +1 -1
  115. data/src/{util → lib}/hb_arena_debug.c +2 -2
  116. data/src/{util → lib}/hb_array.c +2 -2
  117. data/src/{util → lib}/hb_buffer.c +2 -2
  118. data/src/{util → lib}/hb_narray.c +1 -1
  119. data/src/{util → lib}/hb_string.c +2 -2
  120. data/src/{location.c → location/location.c} +2 -2
  121. data/src/{position.c → location/position.c} +2 -2
  122. data/src/{range.c → location/range.c} +1 -1
  123. data/src/main.c +11 -11
  124. data/src/parser/dot_notation.c +100 -0
  125. data/src/{parser_match_tags.c → parser/match_tags.c} +34 -5
  126. data/src/{parser_helpers.c → parser/parser_helpers.c} +10 -10
  127. data/src/parser.c +68 -32
  128. data/src/{prism_helpers.c → prism/prism_helpers.c} +7 -7
  129. data/src/{ruby_parser.c → prism/ruby_parser.c} +1 -1
  130. data/src/{html_util.c → util/html_util.c} +4 -4
  131. data/src/{io.c → util/io.c} +3 -3
  132. data/src/util/ruby_util.c +42 -0
  133. data/src/{utf8.c → util/utf8.c} +2 -2
  134. data/src/{util.c → util/util.c} +4 -4
  135. data/src/visitor.c +35 -3
  136. data/templates/ext/herb/error_helpers.c.erb +2 -2
  137. data/templates/ext/herb/nodes.c.erb +1 -1
  138. data/templates/java/error_helpers.c.erb +1 -1
  139. data/templates/java/error_helpers.h.erb +2 -2
  140. data/templates/java/nodes.c.erb +4 -4
  141. data/templates/java/nodes.h.erb +1 -1
  142. data/templates/javascript/packages/node/extension/error_helpers.cpp.erb +4 -4
  143. data/templates/javascript/packages/node/extension/nodes.cpp.erb +4 -4
  144. data/templates/lib/herb/visitor.rb.erb +14 -0
  145. data/templates/src/analyze/missing_end.c.erb +2 -2
  146. data/templates/src/{ast_nodes.c.erb → ast/ast_nodes.c.erb} +9 -9
  147. data/templates/src/{ast_pretty_print.c.erb → ast/ast_pretty_print.c.erb} +8 -8
  148. data/templates/src/errors.c.erb +8 -8
  149. data/templates/src/include/{ast_nodes.h.erb → ast/ast_nodes.h.erb} +11 -12
  150. data/templates/src/include/{ast_pretty_print.h.erb → ast/ast_pretty_print.h.erb} +2 -2
  151. data/templates/src/include/errors.h.erb +7 -7
  152. data/templates/src/{parser_match_tags.c.erb → parser/match_tags.c.erb} +4 -4
  153. data/templates/src/visitor.c.erb +3 -3
  154. data/templates/wasm/error_helpers.cpp.erb +4 -4
  155. data/templates/wasm/nodes.cpp.erb +5 -5
  156. metadata +76 -68
  157. data/src/include/element_source.h +0 -10
  158. /data/src/include/{util → lib}/hb_allocator.h +0 -0
  159. /data/src/include/{util → lib}/hb_arena.h +0 -0
  160. /data/src/include/{util → lib}/hb_arena_debug.h +0 -0
  161. /data/src/include/{util → lib}/hb_array.h +0 -0
  162. /data/src/include/{util → lib}/hb_buffer.h +0 -0
  163. /data/src/include/{util → lib}/hb_narray.h +0 -0
  164. /data/src/include/{util → lib}/string.h +0 -0
  165. /data/src/include/{position.h → location/position.h} +0 -0
  166. /data/src/include/{range.h → location/range.h} +0 -0
  167. /data/src/include/{herb_prism_node.h → prism/herb_prism_node.h} +0 -0
  168. /data/src/include/{prism_serialized.h → prism/prism_serialized.h} +0 -0
  169. /data/src/include/{ruby_parser.h → prism/ruby_parser.h} +0 -0
  170. /data/src/include/{io.h → util/io.h} +0 -0
  171. /data/templates/src/include/{util → lib}/hb_foreach.h.erb +0 -0
@@ -1,10 +1,10 @@
1
- #include "include/prism_helpers.h"
2
- #include "include/ast_nodes.h"
3
- #include "include/errors.h"
4
- #include "include/location.h"
5
- #include "include/position.h"
6
- #include "include/util/hb_buffer.h"
7
- #include "include/util/hb_string.h"
1
+ #include "../include/prism/prism_helpers.h"
2
+ #include "../include/ast/ast_nodes.h"
3
+ #include "../include/errors.h"
4
+ #include "../include/lib/hb_buffer.h"
5
+ #include "../include/lib/hb_string.h"
6
+ #include "../include/location/location.h"
7
+ #include "../include/location/position.h"
8
8
 
9
9
  #include <prism.h>
10
10
  #include <stdlib.h>
@@ -1,4 +1,4 @@
1
- #include "include/ruby_parser.h"
1
+ #include "../include/prism/ruby_parser.h"
2
2
 
3
3
  #include <prism.h>
4
4
  #include <stdbool.h>
@@ -1,7 +1,7 @@
1
- #include "include/html_util.h"
2
- #include "include/util/hb_allocator.h"
3
- #include "include/util/hb_buffer.h"
4
- #include "include/util/hb_string.h"
1
+ #include "../include/util/html_util.h"
2
+ #include "../include/lib/hb_allocator.h"
3
+ #include "../include/lib/hb_buffer.h"
4
+ #include "../include/lib/hb_string.h"
5
5
 
6
6
  #include <ctype.h>
7
7
  #include <stdbool.h>
@@ -1,6 +1,6 @@
1
- #include "include/io.h"
2
- #include "include/util/hb_allocator.h"
3
- #include "include/util/hb_buffer.h"
1
+ #include "../include/util/io.h"
2
+ #include "../include/lib/hb_allocator.h"
3
+ #include "../include/lib/hb_buffer.h"
4
4
 
5
5
  #include <errno.h>
6
6
  #include <stdio.h>
@@ -0,0 +1,42 @@
1
+ #include "../include/util/ruby_util.h"
2
+ #include "../include/lib/hb_string.h"
3
+
4
+ #include <stdbool.h>
5
+ #include <stddef.h>
6
+
7
+ static hb_string_T ruby_introspection_methods[] = HB_STRING_LIST(
8
+ "send",
9
+ "public_send",
10
+ "__send__",
11
+ "try",
12
+ "try!",
13
+ "method",
14
+ "class",
15
+ "inspect",
16
+ "to_s",
17
+ "object_id",
18
+ "__id__",
19
+ "dup",
20
+ "clone",
21
+ "freeze",
22
+ "frozen",
23
+ "tap",
24
+ "then",
25
+ "yield_self"
26
+ );
27
+
28
+ bool is_ruby_introspection_method(hb_string_T method_name) {
29
+ size_t count = sizeof(ruby_introspection_methods) / sizeof(ruby_introspection_methods[0]);
30
+
31
+ for (size_t index = 0; index < count; index++) {
32
+ if (hb_string_equals(method_name, ruby_introspection_methods[index])) { return true; }
33
+ }
34
+
35
+ if (method_name.length > 0) {
36
+ char last_char = method_name.data[method_name.length - 1];
37
+
38
+ if (last_char == '?' || last_char == '!') { return true; }
39
+ }
40
+
41
+ return false;
42
+ }
@@ -1,5 +1,5 @@
1
- #include "include/utf8.h"
2
- #include "include/util/hb_string.h"
1
+ #include "../include/util/utf8.h"
2
+ #include "../include/lib/hb_string.h"
3
3
  #include <stdint.h>
4
4
 
5
5
  // UTF-8 byte patterns:
@@ -1,7 +1,7 @@
1
- #include "include/util.h"
2
- #include "include/util/hb_allocator.h"
3
- #include "include/util/hb_buffer.h"
4
- #include "include/util/hb_string.h"
1
+ #include "../include/util/util.h"
2
+ #include "../include/lib/hb_allocator.h"
3
+ #include "../include/lib/hb_buffer.h"
4
+ #include "../include/lib/hb_string.h"
5
5
 
6
6
  #include <stdio.h>
7
7
  #include <stdlib.h>
data/src/visitor.c CHANGED
@@ -3,9 +3,9 @@
3
3
 
4
4
  #include <stdio.h>
5
5
 
6
- #include "include/ast_node.h"
7
- #include "include/ast_nodes.h"
8
- #include "include/util/hb_array.h"
6
+ #include "include/ast/ast_node.h"
7
+ #include "include/ast/ast_nodes.h"
8
+ #include "include/lib/hb_array.h"
9
9
  #include "include/visitor.h"
10
10
 
11
11
  void herb_visit_node(const AST_NODE_T* node, bool (*visitor)(const AST_NODE_T*, void*), void* data) {
@@ -237,6 +237,18 @@ void herb_visit_child_nodes(const AST_NODE_T *node, bool (*visitor)(const AST_NO
237
237
  }
238
238
  }
239
239
 
240
+ if (erb_block_node->rescue_clause != NULL) {
241
+ herb_visit_node((AST_NODE_T *) erb_block_node->rescue_clause, visitor, data);
242
+ }
243
+
244
+ if (erb_block_node->else_clause != NULL) {
245
+ herb_visit_node((AST_NODE_T *) erb_block_node->else_clause, visitor, data);
246
+ }
247
+
248
+ if (erb_block_node->ensure_clause != NULL) {
249
+ herb_visit_node((AST_NODE_T *) erb_block_node->ensure_clause, visitor, data);
250
+ }
251
+
240
252
  if (erb_block_node->end_node != NULL) {
241
253
  herb_visit_node((AST_NODE_T *) erb_block_node->end_node, visitor, data);
242
254
  }
@@ -441,6 +453,26 @@ void herb_visit_child_nodes(const AST_NODE_T *node, bool (*visitor)(const AST_NO
441
453
 
442
454
  } break;
443
455
 
456
+ case AST_RUBY_STRICT_LOCAL_NODE: {
457
+ const AST_RUBY_STRICT_LOCAL_NODE_T* ruby_strict_local_node = ((const AST_RUBY_STRICT_LOCAL_NODE_T *) node);
458
+
459
+ if (ruby_strict_local_node->default_value != NULL) {
460
+ herb_visit_node((AST_NODE_T *) ruby_strict_local_node->default_value, visitor, data);
461
+ }
462
+
463
+ } break;
464
+
465
+ case AST_ERB_STRICT_LOCALS_NODE: {
466
+ const AST_ERB_STRICT_LOCALS_NODE_T* erb_strict_locals_node = ((const AST_ERB_STRICT_LOCALS_NODE_T *) node);
467
+
468
+ if (erb_strict_locals_node->locals != NULL) {
469
+ for (size_t index = 0; index < hb_array_size(erb_strict_locals_node->locals); index++) {
470
+ herb_visit_node(hb_array_get(erb_strict_locals_node->locals, index), visitor, data);
471
+ }
472
+ }
473
+
474
+ } break;
475
+
444
476
  case AST_ERB_IN_NODE: {
445
477
  const AST_ERB_IN_NODE_T* erb_in_node = ((const AST_ERB_IN_NODE_T *) node);
446
478
 
@@ -6,8 +6,8 @@
6
6
 
7
7
  #include "../../src/include/errors.h"
8
8
  #include "../../src/include/herb.h"
9
- #include "../../src/include/token.h"
10
- #include "../../src/include/util/hb_string.h"
9
+ #include "../../src/include/lexer/token.h"
10
+ #include "../../src/include/lib/hb_string.h"
11
11
 
12
12
  VALUE rb_error_from_c_struct(ERROR_T* error);
13
13
 
@@ -7,7 +7,7 @@
7
7
  #include "nodes.h"
8
8
 
9
9
  #include "../../src/include/herb.h"
10
- #include "../../src/include/token.h"
10
+ #include "../../src/include/lexer/token.h"
11
11
 
12
12
  VALUE rb_node_from_c_struct(AST_NODE_T* node);
13
13
  static VALUE rb_nodes_array_from_c_array(hb_array_T* array);
@@ -1,7 +1,7 @@
1
1
  #include "error_helpers.h"
2
2
  #include "extension_helpers.h"
3
3
 
4
- #include "../../src/include/ast_node.h"
4
+ #include "../../src/include/ast/ast_node.h"
5
5
  #include "../../src/include/errors.h"
6
6
 
7
7
  #include <stdlib.h>
@@ -3,8 +3,8 @@
3
3
 
4
4
  #include <jni.h>
5
5
 
6
- #include "../../src/include/ast_node.h"
7
- #include "../../src/include/util/hb_array.h"
6
+ #include "../../src/include/ast/ast_node.h"
7
+ #include "../../src/include/lib/hb_array.h"
8
8
 
9
9
  #ifdef __cplusplus
10
10
  extern "C" {
@@ -2,10 +2,10 @@
2
2
  #include "extension_helpers.h"
3
3
  #include "error_helpers.h"
4
4
 
5
- #include "../../src/include/ast_node.h"
6
- #include "../../src/include/ast_nodes.h"
7
- #include "../../src/include/location.h"
8
- #include "../../src/include/util/hb_array.h"
5
+ #include "../../src/include/ast/ast_node.h"
6
+ #include "../../src/include/ast/ast_nodes.h"
7
+ #include "../../src/include/location/location.h"
8
+ #include "../../src/include/lib/hb_array.h"
9
9
 
10
10
  #include <stdlib.h>
11
11
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  #include <jni.h>
5
5
 
6
- #include "../../src/include/ast_nodes.h"
6
+ #include "../../src/include/ast/ast_nodes.h"
7
7
 
8
8
  #ifdef __cplusplus
9
9
  extern "C" {
@@ -4,12 +4,12 @@
4
4
  #include "nodes.h"
5
5
 
6
6
  extern "C" {
7
- #include "../extension/libherb/include/ast_node.h"
8
- #include "../extension/libherb/include/ast_nodes.h"
7
+ #include "../extension/libherb/include/ast/ast_node.h"
8
+ #include "../extension/libherb/include/ast/ast_nodes.h"
9
9
  #include "../extension/libherb/include/errors.h"
10
10
  #include "../extension/libherb/include/herb.h"
11
- #include "../extension/libherb/include/token.h"
12
- #include "../extension/libherb/include/util/hb_array.h"
11
+ #include "../extension/libherb/include/lexer/token.h"
12
+ #include "../extension/libherb/include/lib/hb_array.h"
13
13
  }
14
14
 
15
15
  napi_value ErrorFromCStruct(napi_env env, ERROR_T* error);
@@ -4,11 +4,11 @@
4
4
  #include "nodes.h"
5
5
 
6
6
  extern "C" {
7
- #include "../extension/libherb/include/ast_node.h"
8
- #include "../extension/libherb/include/ast_nodes.h"
7
+ #include "../extension/libherb/include/ast/ast_node.h"
8
+ #include "../extension/libherb/include/ast/ast_nodes.h"
9
9
  #include "../extension/libherb/include/herb.h"
10
- #include "../extension/libherb/include/token.h"
11
- #include "../extension/libherb/include/util/hb_array.h"
10
+ #include "../extension/libherb/include/lexer/token.h"
11
+ #include "../extension/libherb/include/lib/hb_array.h"
12
12
  }
13
13
 
14
14
  napi_value NodeFromCStruct(napi_env env, AST_NODE_T* node);
@@ -17,9 +17,23 @@ module Herb
17
17
  node.compact_child_nodes.each { |node| node.accept(self) }
18
18
  end
19
19
 
20
+ #: (Herb::AST::Node) -> void
21
+ def visit_node(node)
22
+ # Default implementation does nothing
23
+ end
24
+
25
+ #: (Herb::AST::Node) -> void
26
+ def visit_erb_node(node)
27
+ # Default implementation does nothing
28
+ end
29
+
20
30
  <%- nodes.each do |node| -%>
21
31
  #: (Herb::AST::<%= node.name %>) -> void
22
32
  def visit_<%= node.human %>(node)
33
+ visit_node(node)
34
+ <%- if node.name.start_with?("ERB") -%>
35
+ visit_erb_node(node)
36
+ <%- end -%>
23
37
  visit_child_nodes(node)
24
38
  end
25
39
 
@@ -1,7 +1,7 @@
1
1
  #include "../include/analyze/helpers.h"
2
2
  #include "../include/errors.h"
3
- #include "../include/util/hb_allocator.h"
4
- #include "../include/util/hb_string.h"
3
+ #include "../include/lib/hb_allocator.h"
4
+ #include "../include/lib/hb_string.h"
5
5
 
6
6
  <%-
7
7
  nodes_with_end_node = nodes.select do |node|
@@ -3,15 +3,15 @@
3
3
 
4
4
  #include <prism.h>
5
5
 
6
- #include "include/analyze/analyzed_ruby.h"
7
- #include "include/ast_node.h"
8
- #include "include/ast_nodes.h"
9
- #include "include/errors.h"
10
- #include "include/token.h"
11
- #include "include/util.h"
12
- #include "include/util/hb_allocator.h"
13
- #include "include/util/hb_array.h"
14
- #include "include/util/hb_string.h"
6
+ #include "../include/analyze/analyzed_ruby.h"
7
+ #include "../include/ast/ast_node.h"
8
+ #include "../include/ast/ast_nodes.h"
9
+ #include "../include/errors.h"
10
+ #include "../include/lexer/token.h"
11
+ #include "../include/util/util.h"
12
+ #include "../include/lib/hb_allocator.h"
13
+ #include "../include/lib/hb_array.h"
14
+ #include "../include/lib/hb_string.h"
15
15
 
16
16
  <%- nodes.each do |node| -%>
17
17
  <%- node_arguments = node.fields.any? ? node.fields.map { |field| [field.c_type, " ", field.name].join } : [] -%>
@@ -2,14 +2,14 @@
2
2
  // Pretty print support excluded
3
3
  #else
4
4
 
5
- #include "include/analyze/helpers.h"
6
- #include "include/ast_node.h"
7
- #include "include/ast_nodes.h"
8
- #include "include/errors.h"
9
- #include "include/pretty_print.h"
10
- #include "include/token_struct.h"
11
- #include "include/util.h"
12
- #include "include/util/hb_buffer.h"
5
+ #include "../include/analyze/helpers.h"
6
+ #include "../include/ast/ast_node.h"
7
+ #include "../include/ast/ast_nodes.h"
8
+ #include "../include/errors.h"
9
+ #include "../include/ast/pretty_print.h"
10
+ #include "../include/lexer/token_struct.h"
11
+ #include "../include/util/util.h"
12
+ #include "../include/lib/hb_buffer.h"
13
13
 
14
14
  #include <stdio.h>
15
15
  #include <stdlib.h>
@@ -1,12 +1,12 @@
1
1
  #include "include/errors.h"
2
- #include "include/location.h"
3
- #include "include/position.h"
4
- #include "include/pretty_print.h"
5
- #include "include/token.h"
6
- #include "include/util.h"
7
- #include "include/util/hb_allocator.h"
8
- #include "include/util/hb_array.h"
9
- #include "include/util/hb_string.h"
2
+ #include "include/location/location.h"
3
+ #include "include/location/position.h"
4
+ #include "include/ast/pretty_print.h"
5
+ #include "include/lexer/token.h"
6
+ #include "include/util/util.h"
7
+ #include "include/lib/hb_allocator.h"
8
+ #include "include/lib/hb_array.h"
9
+ #include "include/lib/hb_string.h"
10
10
 
11
11
  #include <stdio.h>
12
12
  #include <stdbool.h>
@@ -4,18 +4,17 @@
4
4
  #include <stdbool.h>
5
5
  #include <prism.h>
6
6
 
7
- #include "analyze/analyzed_ruby.h"
8
- #include "element_source.h"
9
- #include "herb_prism_node.h"
10
- #include "prism_context.h"
11
- #include "prism_serialized.h"
12
- #include "location.h"
13
- #include "position.h"
14
- #include "token_struct.h"
15
- #include "util/hb_allocator.h"
16
- #include "util/hb_array.h"
17
- #include "util/hb_buffer.h"
18
- #include "util/hb_string.h"
7
+ #include "../analyze/analyzed_ruby.h"
8
+ #include "../prism/herb_prism_node.h"
9
+ #include "../prism/prism_context.h"
10
+ #include "../prism/prism_serialized.h"
11
+ #include "../location/location.h"
12
+ #include "../location/position.h"
13
+ #include "../lexer/token_struct.h"
14
+ #include "../lib/hb_allocator.h"
15
+ #include "../lib/hb_array.h"
16
+ #include "../lib/hb_buffer.h"
17
+ #include "../lib/hb_string.h"
19
18
 
20
19
  typedef enum {
21
20
  <%- nodes.each do |node| -%>
@@ -5,8 +5,8 @@
5
5
  // Pretty print support excluded
6
6
  #else
7
7
 
8
- #include "ast_nodes.h"
9
- #include "util/hb_buffer.h"
8
+ #include "../ast/ast_nodes.h"
9
+ #include "../lib/hb_buffer.h"
10
10
 
11
11
  void ast_pretty_print_node(
12
12
  AST_NODE_T* node,
@@ -2,13 +2,13 @@
2
2
  #define HERB_ERRORS_H
3
3
 
4
4
  #include "errors.h"
5
- #include "location.h"
6
- #include "position.h"
7
- #include "token.h"
8
- #include "util/hb_allocator.h"
9
- #include "util/hb_array.h"
10
- #include "util/hb_buffer.h"
11
- #include "util/hb_string.h"
5
+ #include "location/location.h"
6
+ #include "location/position.h"
7
+ #include "lexer/token.h"
8
+ #include "lib/hb_allocator.h"
9
+ #include "lib/hb_array.h"
10
+ #include "lib/hb_buffer.h"
11
+ #include "lib/hb_string.h"
12
12
 
13
13
  typedef enum {
14
14
  <%- errors.each do |error| -%>
@@ -1,7 +1,7 @@
1
- #include "include/parser.h"
2
- #include "include/ast_nodes.h"
3
- #include "include/util/hb_array.h"
4
- #include "include/visitor.h"
1
+ #include "../include/parser/parser.h"
2
+ #include "../include/ast/ast_nodes.h"
3
+ #include "../include/lib/hb_array.h"
4
+ #include "../include/visitor.h"
5
5
 
6
6
  bool match_tags_visitor(const AST_NODE_T* node, void* data) {
7
7
  match_tags_context_T* context = (match_tags_context_T*) data;
@@ -1,8 +1,8 @@
1
1
  #include <stdio.h>
2
2
 
3
- #include "include/ast_node.h"
4
- #include "include/ast_nodes.h"
5
- #include "include/util/hb_array.h"
3
+ #include "include/ast/ast_node.h"
4
+ #include "include/ast/ast_nodes.h"
5
+ #include "include/lib/hb_array.h"
6
6
  #include "include/visitor.h"
7
7
 
8
8
  void herb_visit_node(const AST_NODE_T* node, bool (*visitor)(const AST_NODE_T*, void*), void* data) {
@@ -8,12 +8,12 @@
8
8
  #include "extension_helpers.h"
9
9
 
10
10
  extern "C" {
11
- #include "../src/include/ast_node.h"
12
- #include "../src/include/ast_nodes.h"
11
+ #include "../src/include/ast/ast_node.h"
12
+ #include "../src/include/ast/ast_nodes.h"
13
13
  #include "../src/include/errors.h"
14
14
  #include "../src/include/herb.h"
15
- #include "../src/include/token.h"
16
- #include "../src/include/util/hb_array.h"
15
+ #include "../src/include/lexer/token.h"
16
+ #include "../src/include/lib/hb_array.h"
17
17
  }
18
18
 
19
19
  using namespace emscripten;
@@ -4,12 +4,12 @@
4
4
  #include "error_helpers.h"
5
5
  #include "extension_helpers.h"
6
6
 
7
- #include "../src/include/ast_node.h"
8
- #include "../src/include/ast_nodes.h"
7
+ #include "../src/include/ast/ast_node.h"
8
+ #include "../src/include/ast/ast_nodes.h"
9
9
  #include "../src/include/herb.h"
10
- #include "../src/include/location.h"
11
- #include "../src/include/token.h"
12
- #include "../src/include/util/hb_array.h"
10
+ #include "../src/include/location/location.h"
11
+ #include "../src/include/lexer/token.h"
12
+ #include "../src/include/lib/hb_array.h"
13
13
 
14
14
  using namespace emscripten;
15
15