parser 3.0.2.0 → 3.1.0.0
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/builders/default.rb +100 -15
- data/lib/parser/context.rb +22 -41
- data/lib/parser/current.rb +10 -10
- data/lib/parser/lexer/dedenter.rb +7 -1
- data/lib/parser/lexer/explanation.rb +1 -1
- data/lib/parser/lexer.rb +12576 -11401
- data/lib/parser/macruby.rb +2476 -2448
- data/lib/parser/max_numparam_stack.rb +5 -5
- data/lib/parser/messages.rb +4 -0
- data/lib/parser/ruby18.rb +2155 -2114
- data/lib/parser/ruby19.rb +2458 -2424
- data/lib/parser/ruby20.rb +2634 -2598
- data/lib/parser/ruby21.rb +2700 -2667
- data/lib/parser/ruby22.rb +2533 -2491
- data/lib/parser/ruby23.rb +2616 -2571
- data/lib/parser/ruby24.rb +2651 -2609
- data/lib/parser/ruby25.rb +2545 -2513
- data/lib/parser/ruby26.rb +2669 -2624
- data/lib/parser/ruby27.rb +3217 -3165
- data/lib/parser/ruby30.rb +3511 -3475
- data/lib/parser/ruby31.rb +3940 -3812
- data/lib/parser/rubymotion.rb +2454 -2415
- data/lib/parser/static_environment.rb +9 -0
- data/lib/parser/version.rb +1 -1
- metadata +6 -6
@@ -35,21 +35,21 @@ module Parser
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def top
|
38
|
-
@stack.last
|
38
|
+
@stack.last[:value]
|
39
39
|
end
|
40
40
|
|
41
|
-
def push
|
42
|
-
@stack.push(0)
|
41
|
+
def push(static:)
|
42
|
+
@stack.push(value: 0, static: static)
|
43
43
|
end
|
44
44
|
|
45
45
|
def pop
|
46
|
-
@stack.pop
|
46
|
+
@stack.pop[:value]
|
47
47
|
end
|
48
48
|
|
49
49
|
private
|
50
50
|
|
51
51
|
def set(value)
|
52
|
-
@stack[
|
52
|
+
@stack.last[:value] = value
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
data/lib/parser/messages.rb
CHANGED
@@ -76,9 +76,13 @@ module Parser
|
|
76
76
|
:duplicate_variable_name => 'duplicate variable name %{name}',
|
77
77
|
:duplicate_pattern_key => 'duplicate hash pattern key %{name}',
|
78
78
|
:endless_setter => 'setter method cannot be defined in an endless method definition',
|
79
|
+
:invalid_id_to_get => 'identifier %{identifier} is not valid to get',
|
80
|
+
:forward_arg_after_restarg => '... after rest argument',
|
81
|
+
:no_anonymous_blockarg => 'no anonymous block parameter',
|
79
82
|
|
80
83
|
# Parser warnings
|
81
84
|
:useless_else => 'else without rescue is useless',
|
85
|
+
:duplicate_hash_key => 'key is duplicated and overwritten',
|
82
86
|
|
83
87
|
# Parser errors that are not Ruby errors
|
84
88
|
:invalid_encoding => 'literal contains escape sequences incompatible with UTF-8',
|