parser 3.0.1.1 → 3.1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/parser/all.rb +1 -0
- data/lib/parser/ast/processor.rb +3 -0
- data/lib/parser/builders/default.rb +108 -15
- data/lib/parser/context.rb +22 -41
- data/lib/parser/current.rb +19 -10
- data/lib/parser/lexer/dedenter.rb +7 -1
- data/lib/parser/lexer/explanation.rb +1 -1
- data/lib/parser/lexer.rb +12804 -11539
- data/lib/parser/macruby.rb +6371 -2888
- data/lib/parser/max_numparam_stack.rb +5 -5
- data/lib/parser/messages.rb +6 -0
- data/lib/parser/meta.rb +1 -0
- data/lib/parser/ruby18.rb +6310 -2707
- data/lib/parser/ruby19.rb +6334 -2870
- data/lib/parser/ruby20.rb +6796 -3096
- data/lib/parser/ruby21.rb +6776 -3153
- data/lib/parser/ruby22.rb +6864 -3177
- data/lib/parser/ruby23.rb +6879 -3183
- data/lib/parser/ruby24.rb +6964 -3206
- data/lib/parser/ruby25.rb +6891 -3181
- data/lib/parser/ruby26.rb +6863 -3189
- data/lib/parser/ruby27.rb +7915 -3832
- data/lib/parser/ruby30.rb +8326 -4145
- data/lib/parser/ruby31.rb +9255 -4616
- data/lib/parser/ruby32.rb +12691 -0
- data/lib/parser/rubymotion.rb +6284 -2857
- data/lib/parser/runner.rb +6 -0
- data/lib/parser/static_environment.rb +27 -0
- data/lib/parser/version.rb +1 -1
- data/parser.gemspec +1 -1
- metadata +9 -8
@@ -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,15 @@ 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',
|
82
|
+
:no_anonymous_restarg => 'no anonymous rest parameter',
|
83
|
+
:no_anonymous_kwrestarg => 'no anonymous keyword rest parameter',
|
79
84
|
|
80
85
|
# Parser warnings
|
81
86
|
:useless_else => 'else without rescue is useless',
|
87
|
+
:duplicate_hash_key => 'key is duplicated and overwritten',
|
82
88
|
|
83
89
|
# Parser errors that are not Ruby errors
|
84
90
|
:invalid_encoding => 'literal contains escape sequences incompatible with UTF-8',
|