herb 0.8.4-aarch64-linux-gnu → 0.8.6-aarch64-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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/config.yml +7 -0
  3. data/ext/herb/error_helpers.c +25 -0
  4. data/ext/herb/nodes.c +1 -1
  5. data/lib/herb/3.0/herb.so +0 -0
  6. data/lib/herb/3.1/herb.so +0 -0
  7. data/lib/herb/3.2/herb.so +0 -0
  8. data/lib/herb/3.3/herb.so +0 -0
  9. data/lib/herb/3.4/herb.so +0 -0
  10. data/lib/herb/4.0/herb.so +0 -0
  11. data/lib/herb/ast/helpers.rb +5 -0
  12. data/lib/herb/engine/compiler.rb +1 -0
  13. data/lib/herb/errors.rb +53 -44
  14. data/lib/herb/version.rb +1 -1
  15. data/sig/herb/ast/helpers.rbs +3 -0
  16. data/sig/herb/errors.rbs +10 -0
  17. data/sig/serialized_ast_errors.rbs +3 -0
  18. data/src/analyze.c +25 -4
  19. data/src/analyze_helpers.c +179 -84
  20. data/src/analyzed_ruby.c +26 -25
  21. data/src/ast_pretty_print.c +16 -15
  22. data/src/errors.c +37 -0
  23. data/src/extract.c +2 -1
  24. data/src/include/analyze_helpers.h +1 -0
  25. data/src/include/analyzed_ruby.h +19 -18
  26. data/src/include/errors.h +8 -0
  27. data/src/include/util/hb_narray.h +29 -0
  28. data/src/include/version.h +1 -1
  29. data/src/lexer.c +3 -3
  30. data/src/parser.c +4 -2
  31. data/src/parser_helpers.c +5 -5
  32. data/src/util/hb_narray.c +75 -0
  33. data/templates/lib/herb/errors.rb.erb +8 -5
  34. data/templates/src/ast_pretty_print.c.erb +16 -15
  35. data/vendor/prism/config.yml +28 -3
  36. data/vendor/prism/include/prism/ast.h +54 -20
  37. data/vendor/prism/include/prism/diagnostic.h +2 -0
  38. data/vendor/prism/include/prism/options.h +8 -2
  39. data/vendor/prism/include/prism/parser.h +3 -0
  40. data/vendor/prism/include/prism/version.h +2 -2
  41. data/vendor/prism/include/prism.h +1 -1
  42. data/vendor/prism/src/diagnostic.c +5 -1
  43. data/vendor/prism/src/encoding.c +172 -67
  44. data/vendor/prism/src/node.c +9 -0
  45. data/vendor/prism/src/options.c +17 -7
  46. data/vendor/prism/src/prettyprint.c +16 -0
  47. data/vendor/prism/src/prism.c +1192 -1895
  48. data/vendor/prism/src/serialize.c +7 -1
  49. data/vendor/prism/src/token_type.c +2 -2
  50. data/vendor/prism/src/util/pm_constant_pool.c +1 -1
  51. data/vendor/prism/templates/include/prism/ast.h.erb +26 -16
  52. data/vendor/prism/templates/java/org/prism/Loader.java.erb +1 -1
  53. data/vendor/prism/templates/javascript/src/deserialize.js.erb +1 -1
  54. data/vendor/prism/templates/lib/prism/serialize.rb.erb +1 -1
  55. data/vendor/prism/templates/src/diagnostic.c.erb +2 -0
  56. data/vendor/prism/templates/src/serialize.c.erb +1 -1
  57. metadata +5 -2
@@ -10,7 +10,7 @@
10
10
 
11
11
  #include "prism/diagnostic.h"
12
12
 
13
- #define PM_DIAGNOSTIC_ID_MAX 322
13
+ #define PM_DIAGNOSTIC_ID_MAX 324
14
14
 
15
15
  /** This struct holds the data for each diagnostic. */
16
16
  typedef struct {
@@ -311,6 +311,7 @@ static const pm_diagnostic_data_t diagnostic_messages[PM_DIAGNOSTIC_ID_MAX] = {
311
311
  [PM_ERR_PARAMETER_UNEXPECTED_NO_KW] = { "unexpected **nil; no keywords marker disallowed after keywords", PM_ERROR_LEVEL_SYNTAX },
312
312
  [PM_ERR_PATTERN_ARRAY_MULTIPLE_RESTS] = { "unexpected multiple '*' rest patterns in an array pattern", PM_ERROR_LEVEL_SYNTAX },
313
313
  [PM_ERR_PATTERN_CAPTURE_DUPLICATE] = { "duplicated variable name", PM_ERROR_LEVEL_SYNTAX },
314
+ [PM_ERR_PATTERN_CAPTURE_IN_ALTERNATIVE] = { "variable capture in alternative pattern", PM_ERROR_LEVEL_SYNTAX },
314
315
  [PM_ERR_PATTERN_EXPRESSION_AFTER_BRACKET] = { "expected a pattern expression after the `[` operator", PM_ERROR_LEVEL_SYNTAX },
315
316
  [PM_ERR_PATTERN_EXPRESSION_AFTER_COMMA] = { "expected a pattern expression after `,`", PM_ERROR_LEVEL_SYNTAX },
316
317
  [PM_ERR_PATTERN_EXPRESSION_AFTER_HROCKET] = { "expected a pattern expression after `=>`", PM_ERROR_LEVEL_SYNTAX },
@@ -371,6 +372,7 @@ static const pm_diagnostic_data_t diagnostic_messages[PM_DIAGNOSTIC_ID_MAX] = {
371
372
  [PM_ERR_UNEXPECTED_INDEX_KEYWORDS] = { "unexpected keyword arg given in index assignment; keywords are not allowed in index assignment expressions", PM_ERROR_LEVEL_SYNTAX },
372
373
  [PM_ERR_UNEXPECTED_LABEL] = { "unexpected label", PM_ERROR_LEVEL_SYNTAX },
373
374
  [PM_ERR_UNEXPECTED_MULTI_WRITE] = { "unexpected multiple assignment; multiple assignment is not allowed in this context", PM_ERROR_LEVEL_SYNTAX },
375
+ [PM_ERR_UNEXPECTED_PARAMETER_DEFAULT_VALUE] = { "unexpected %s; expected a default value for a parameter", PM_ERROR_LEVEL_SYNTAX },
374
376
  [PM_ERR_UNEXPECTED_RANGE_OPERATOR] = { "unexpected range operator; .. and ... are non-associative and cannot be chained", PM_ERROR_LEVEL_SYNTAX },
375
377
  [PM_ERR_UNEXPECTED_SAFE_NAVIGATION] = { "&. inside multiple assignment destination", PM_ERROR_LEVEL_SYNTAX },
376
378
  [PM_ERR_UNEXPECTED_TOKEN_CLOSE_CONTEXT] = { "unexpected %s, assuming it is closing the parent %s", PM_ERROR_LEVEL_SYNTAX },
@@ -642,6 +644,7 @@ pm_diagnostic_id_human(pm_diagnostic_id_t diag_id) {
642
644
  case PM_ERR_PARAMETER_WILD_LOOSE_COMMA: return "parameter_wild_loose_comma";
643
645
  case PM_ERR_PATTERN_ARRAY_MULTIPLE_RESTS: return "pattern_array_multiple_rests";
644
646
  case PM_ERR_PATTERN_CAPTURE_DUPLICATE: return "pattern_capture_duplicate";
647
+ case PM_ERR_PATTERN_CAPTURE_IN_ALTERNATIVE: return "pattern_capture_in_alternative";
645
648
  case PM_ERR_PATTERN_EXPRESSION_AFTER_BRACKET: return "pattern_expression_after_bracket";
646
649
  case PM_ERR_PATTERN_EXPRESSION_AFTER_COMMA: return "pattern_expression_after_comma";
647
650
  case PM_ERR_PATTERN_EXPRESSION_AFTER_HROCKET: return "pattern_expression_after_hrocket";
@@ -703,6 +706,7 @@ pm_diagnostic_id_human(pm_diagnostic_id_t diag_id) {
703
706
  case PM_ERR_UNEXPECTED_INDEX_KEYWORDS: return "unexpected_index_keywords";
704
707
  case PM_ERR_UNEXPECTED_LABEL: return "unexpected_label";
705
708
  case PM_ERR_UNEXPECTED_MULTI_WRITE: return "unexpected_multi_write";
709
+ case PM_ERR_UNEXPECTED_PARAMETER_DEFAULT_VALUE: return "unexpected_parameter_default_value";
706
710
  case PM_ERR_UNEXPECTED_RANGE_OPERATOR: return "unexpected_range_operator";
707
711
  case PM_ERR_UNEXPECTED_SAFE_NAVIGATION: return "unexpected_safe_navigation";
708
712
  case PM_ERR_UNEXPECTED_TOKEN_CLOSE_CONTEXT: return "unexpected_token_close_context";