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.
- checksums.yaml +4 -4
- data/config.yml +7 -0
- data/ext/herb/error_helpers.c +25 -0
- data/ext/herb/nodes.c +1 -1
- data/lib/herb/3.0/herb.so +0 -0
- data/lib/herb/3.1/herb.so +0 -0
- data/lib/herb/3.2/herb.so +0 -0
- data/lib/herb/3.3/herb.so +0 -0
- data/lib/herb/3.4/herb.so +0 -0
- data/lib/herb/4.0/herb.so +0 -0
- data/lib/herb/ast/helpers.rb +5 -0
- data/lib/herb/engine/compiler.rb +1 -0
- data/lib/herb/errors.rb +53 -44
- data/lib/herb/version.rb +1 -1
- data/sig/herb/ast/helpers.rbs +3 -0
- data/sig/herb/errors.rbs +10 -0
- data/sig/serialized_ast_errors.rbs +3 -0
- data/src/analyze.c +25 -4
- data/src/analyze_helpers.c +179 -84
- data/src/analyzed_ruby.c +26 -25
- data/src/ast_pretty_print.c +16 -15
- data/src/errors.c +37 -0
- data/src/extract.c +2 -1
- data/src/include/analyze_helpers.h +1 -0
- data/src/include/analyzed_ruby.h +19 -18
- data/src/include/errors.h +8 -0
- data/src/include/util/hb_narray.h +29 -0
- data/src/include/version.h +1 -1
- data/src/lexer.c +3 -3
- data/src/parser.c +4 -2
- data/src/parser_helpers.c +5 -5
- data/src/util/hb_narray.c +75 -0
- data/templates/lib/herb/errors.rb.erb +8 -5
- data/templates/src/ast_pretty_print.c.erb +16 -15
- data/vendor/prism/config.yml +28 -3
- data/vendor/prism/include/prism/ast.h +54 -20
- data/vendor/prism/include/prism/diagnostic.h +2 -0
- data/vendor/prism/include/prism/options.h +8 -2
- data/vendor/prism/include/prism/parser.h +3 -0
- data/vendor/prism/include/prism/version.h +2 -2
- data/vendor/prism/include/prism.h +1 -1
- data/vendor/prism/src/diagnostic.c +5 -1
- data/vendor/prism/src/encoding.c +172 -67
- data/vendor/prism/src/node.c +9 -0
- data/vendor/prism/src/options.c +17 -7
- data/vendor/prism/src/prettyprint.c +16 -0
- data/vendor/prism/src/prism.c +1192 -1895
- data/vendor/prism/src/serialize.c +7 -1
- data/vendor/prism/src/token_type.c +2 -2
- data/vendor/prism/src/util/pm_constant_pool.c +1 -1
- data/vendor/prism/templates/include/prism/ast.h.erb +26 -16
- data/vendor/prism/templates/java/org/prism/Loader.java.erb +1 -1
- data/vendor/prism/templates/javascript/src/deserialize.js.erb +1 -1
- data/vendor/prism/templates/lib/prism/serialize.rb.erb +1 -1
- data/vendor/prism/templates/src/diagnostic.c.erb +2 -0
- data/vendor/prism/templates/src/serialize.c.erb +1 -1
- metadata +5 -2
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
#include "prism/diagnostic.h"
|
|
12
12
|
|
|
13
|
-
#define PM_DIAGNOSTIC_ID_MAX
|
|
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";
|