ruby-next-parser 3.1.0.0 → 3.1.0.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.
- checksums.yaml +4 -4
- data/lib/parser/ruby-next/lexer.rb +11345 -11023
- data/lib/parser/ruby-next/lexer.rl +41 -6
- data/lib/parser/ruby-next/version.rb +1 -1
- data/lib/parser/rubynext.rb +2456 -2438
- data/lib/parser/rubynext.y +21 -14
- metadata +4 -4
data/lib/parser/rubynext.y
CHANGED
@@ -1160,6 +1160,14 @@ rule
|
|
1160
1160
|
{
|
1161
1161
|
result = @builder.block_pass(val[0], val[1])
|
1162
1162
|
}
|
1163
|
+
| tAMPER
|
1164
|
+
{
|
1165
|
+
if !@static_env.declared_anonymous_blockarg?
|
1166
|
+
diagnostic :error, :no_anonymous_blockarg, nil, val[0]
|
1167
|
+
end
|
1168
|
+
|
1169
|
+
result = @builder.block_pass(val[0], nil)
|
1170
|
+
}
|
1163
1171
|
|
1164
1172
|
opt_block_arg: tCOMMA block_arg
|
1165
1173
|
{
|
@@ -2703,20 +2711,6 @@ f_opt_paren_args: f_paren_args
|
|
2703
2711
|
{
|
2704
2712
|
result = @builder.args(val[0], val[1], val[2])
|
2705
2713
|
|
2706
|
-
@lexer.state = :expr_value
|
2707
|
-
}
|
2708
|
-
| tLPAREN2 f_arg tCOMMA args_forward rparen
|
2709
|
-
{
|
2710
|
-
args = [ *val[1], @builder.forward_arg(val[3]) ]
|
2711
|
-
result = @builder.args(val[0], args, val[4])
|
2712
|
-
|
2713
|
-
@static_env.declare_forward_args
|
2714
|
-
}
|
2715
|
-
| tLPAREN2 args_forward rparen
|
2716
|
-
{
|
2717
|
-
result = @builder.forward_only_args(val[0], val[1], val[2])
|
2718
|
-
@static_env.declare_forward_args
|
2719
|
-
|
2720
2714
|
@lexer.state = :expr_value
|
2721
2715
|
}
|
2722
2716
|
|
@@ -2724,9 +2718,11 @@ f_opt_paren_args: f_paren_args
|
|
2724
2718
|
| {
|
2725
2719
|
result = @lexer.in_kwarg
|
2726
2720
|
@lexer.in_kwarg = true
|
2721
|
+
@context.push(:def_open_args)
|
2727
2722
|
}
|
2728
2723
|
f_args term
|
2729
2724
|
{
|
2725
|
+
@context.pop
|
2730
2726
|
@lexer.in_kwarg = val[0]
|
2731
2727
|
result = @builder.args(nil, val[1], nil)
|
2732
2728
|
}
|
@@ -2747,6 +2743,11 @@ f_opt_paren_args: f_paren_args
|
|
2747
2743
|
{
|
2748
2744
|
result = [ val[0] ]
|
2749
2745
|
}
|
2746
|
+
| args_forward
|
2747
|
+
{
|
2748
|
+
@static_env.declare_forward_args
|
2749
|
+
result = [ @builder.forward_arg(val[0]) ]
|
2750
|
+
}
|
2750
2751
|
|
2751
2752
|
opt_args_tail: tCOMMA args_tail
|
2752
2753
|
{
|
@@ -3024,6 +3025,12 @@ f_opt_paren_args: f_paren_args
|
|
3024
3025
|
|
3025
3026
|
result = @builder.blockarg(val[0], val[1])
|
3026
3027
|
}
|
3028
|
+
| blkarg_mark
|
3029
|
+
{
|
3030
|
+
@static_env.declare_anonymous_blockarg
|
3031
|
+
|
3032
|
+
result = @builder.blockarg(val[0], nil)
|
3033
|
+
}
|
3027
3034
|
|
3028
3035
|
opt_f_block_arg: tCOMMA f_block_arg
|
3029
3036
|
{
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-next-parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.0.
|
4
|
+
version: 3.1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vladimir Dementyev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.0.3.
|
19
|
+
version: 3.0.3.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.0.3.
|
26
|
+
version: 3.0.3.1
|
27
27
|
description: "\n Parser extension to support edge and experimental Ruby syntax\n
|
28
28
|
\ "
|
29
29
|
email:
|