jruby-parser 0.4.2 → 0.5.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 +7 -0
- data/lib/jruby-parser.jar +0 -0
- data/lib/jruby-parser/util/coercer.rb +22 -16
- data/lib/jruby-parser/version.rb +1 -1
- data/spec/ast/node/array_spec.rb +24 -0
- data/spec/ast/node/break_spec.rb +19 -0
- data/spec/ast/node/comments_spec.rb +59 -0
- data/spec/{jruby-parser → ast/node}/find_scopes_spec.rb +4 -7
- data/spec/ast/node/get_declaration_spec.rb +50 -0
- data/spec/ast/node/get_defined_scope_spec.rb +89 -0
- data/spec/{jruby-parser → ast/node}/get_node_at_spec.rb +3 -7
- data/spec/ast/node/get_occurences_spec.rb +87 -0
- data/spec/{jruby-parser → ast/node}/is_block_parameter_spec.rb +4 -8
- data/spec/{jruby-parser → ast/node}/is_method_parameter_spec.rb +4 -8
- data/spec/ast/node/next_spec.rb +19 -0
- data/spec/ast/node/op_element_asgn_and_spec.rb +11 -0
- data/spec/ast/node/op_element_asgn_or_spec.rb +11 -0
- data/spec/ast/node/op_element_asgn_spec.rb +11 -0
- data/spec/ast/node/return_spec.rb +19 -0
- data/spec/ast/node_path.rb +1 -5
- data/spec/helpers.rb +4 -0
- data/spec/helpers/node_helpers.rb +17 -6
- data/spec/helpers/parser_helpers.rb +84 -8
- data/spec/jruby-parser/find_spec.rb +2 -6
- data/spec/jruby-parser/parse_spec.rb +17 -0
- data/spec/jruby-parser/rewriting_spec.rb +27 -12
- data/spec/jruby-parser/static_analysis_spec.rb +51 -48
- data/spec/parser/alias_spec.rb +2 -6
- data/spec/parser/broken_spec.rb +2 -6
- data/spec/parser/calls_spec.rb +100 -0
- data/spec/positions/alias_spec.rb +23 -0
- data/spec/positions/arg_spec.rb +2 -6
- data/spec/positions/attr_asgn_spec.rb +2 -6
- data/spec/positions/call_spec.rb +2 -10
- data/spec/positions/conditionals_spec.rb +2 -6
- data/spec/positions/hash_spec.rb +2 -6
- data/spec/positions/heredoc_spec.rb +2 -6
- data/spec/positions/name_spec.rb +56 -0
- data/spec/positions/op_asgn_or_spec.rb +15 -0
- data/spec/positions/str_spec.rb +2 -6
- metadata +51 -21
data/spec/parser/alias_spec.rb
CHANGED
@@ -1,11 +1,7 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift File.dirname(__FILE__) + "/../../lib"
|
3
|
-
require 'jruby-parser'
|
4
|
-
require 'parser_helpers'
|
5
|
-
require 'node_helpers'
|
1
|
+
require_relative '../helpers'
|
6
2
|
|
7
3
|
describe Parser do
|
8
|
-
|
4
|
+
VERSIONS.each do |v|
|
9
5
|
it "should parse alias with quotationmarks" do
|
10
6
|
parse(%Q{alias :'<==>' :"foo"}, v).find_node(:alias).tap do |aliasn|
|
11
7
|
aliasn.new_name.find_node(:symbol).name.should == "<==>"
|
data/spec/parser/broken_spec.rb
CHANGED
@@ -1,15 +1,11 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift File.dirname(__FILE__) + "/../../lib"
|
3
|
-
require 'jruby-parser'
|
4
|
-
require 'parser_helpers'
|
5
|
-
require 'node_helpers'
|
1
|
+
require_relative '../helpers'
|
6
2
|
|
7
3
|
import org.jrubyparser.lexer.StringTerm
|
8
4
|
import org.jrubyparser.lexer.SyntaxException
|
9
5
|
|
10
6
|
# tests for broken files
|
11
7
|
describe Parser do
|
12
|
-
|
8
|
+
VERSIONS.each do |v|
|
13
9
|
it "should raise an unterminated string exception" do
|
14
10
|
lambda {
|
15
11
|
parse('str = "', v)
|
@@ -0,0 +1,100 @@
|
|
1
|
+
require_relative '../helpers'
|
2
|
+
|
3
|
+
describe Parser do
|
4
|
+
VERSIONS.each do |v|
|
5
|
+
# Parsing normal forms of Ruby method calls.
|
6
|
+
|
7
|
+
it "should parse a call" do
|
8
|
+
parse("def foo; end; self.foo", v).find_node(:call).tap do |call|
|
9
|
+
call.name.should == "foo"
|
10
|
+
end
|
11
|
+
|
12
|
+
parse("def foo; end; self.foo()", v).find_node(:call).tap do |call|
|
13
|
+
call.name.should == "foo"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should parse a vcall" do
|
18
|
+
parse("def foo; end; foo", v).find_node(:vcall).tap do |vcall|
|
19
|
+
vcall.name.should == "foo"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should parse a fcall" do
|
24
|
+
parse("def foo; end; foo()", v).find_node(:fcall).tap do |fcall|
|
25
|
+
fcall.name.should == "foo"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# Parsing - and + as operator calls, which are unique in that they have
|
30
|
+
# both binary and unary forms.
|
31
|
+
|
32
|
+
it "should parse unary plus and minus expressed as an operator" do
|
33
|
+
["+", "-"].each do |op|
|
34
|
+
parse("#{op}x", v).find_node(:unarycall).tap do |unarycall|
|
35
|
+
unarycall.name.should == "#{op}@"
|
36
|
+
unarycall.lexical_name.should == op
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# Parsing the unary form of - and + as an explicit call.
|
42
|
+
|
43
|
+
it "should parse unary plus and minus expressed as an call without parens" do
|
44
|
+
["+", "-"].each do |op|
|
45
|
+
parse("x.#{op}@", v).find_node(:call).tap do |call|
|
46
|
+
call.name.should == "#{op}@"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should parse unary plus and minus expressed as an call with parens" do
|
52
|
+
["+", "-"].each do |op|
|
53
|
+
parse("x.#{op}@()", v).find_node(:call).tap do |call|
|
54
|
+
call.name.should == "#{op}@"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# Unlike - and +, other unary operators such as ~ are not decorated.
|
60
|
+
|
61
|
+
it "should not decorate ~" do
|
62
|
+
parse("~x", v).find_node(:call).tap do |call|
|
63
|
+
call.name.should == "~"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
if v == 1.8
|
68
|
+
# 'not' and '!' in 1.8 were both simply a not node
|
69
|
+
|
70
|
+
it "should parse 'not' as a node" do
|
71
|
+
parse("not x", 1.8).find_node(:not).tap do |notn|
|
72
|
+
notn.should_not == nil
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
it "should parse '!' as a node" do
|
77
|
+
parse("! x", 1.8).find_node(:not).tap do |notn|
|
78
|
+
notn.should_not == nil
|
79
|
+
end
|
80
|
+
end
|
81
|
+
else
|
82
|
+
# In 1.9 and 2.0 'not' was a call to '!', but we annotate the name of the
|
83
|
+
# method as lexically being 'not'. '!' is still just a call.
|
84
|
+
|
85
|
+
it "should parse 'not' as a call to '!' with lexical name 'not'" do
|
86
|
+
parse("not x", v).find_node(:call).tap do |call|
|
87
|
+
call.name.should == "!"
|
88
|
+
call.lexical_name.should == "not"
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
it "should parse '!' as a call" do
|
93
|
+
parse("! x", v).find_node(:call).tap do |call|
|
94
|
+
call.name.should == "!"
|
95
|
+
call.lexical_name.should == "!"
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require_relative '../helpers'
|
2
|
+
|
3
|
+
describe Parser do
|
4
|
+
VERSIONS.each do |v|
|
5
|
+
it "Should parse alias node of symbols" do
|
6
|
+
parse("alias :new_name :old_name", v).find_node(:alias).tap do |a|
|
7
|
+
a.new_name_string.should == "new_name"
|
8
|
+
a.old_name_string.should == "old_name"
|
9
|
+
a.new_name.should have_position(0, 0, 6, 15)
|
10
|
+
a.old_name.should have_position(0, 0, 16, 25)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
it "Should parse alias node of CONSTANTS" do
|
15
|
+
parse("alias NEW OLD", v).find_node(:alias).tap do |a|
|
16
|
+
a.new_name_string.should == "NEW"
|
17
|
+
a.old_name_string.should == "OLD"
|
18
|
+
a.new_name.should have_position(0, 0, 6, 9)
|
19
|
+
a.old_name.should have_position(0, 0, 10, 13)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/spec/positions/arg_spec.rb
CHANGED
@@ -1,11 +1,7 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift File.dirname(__FILE__) + "/../../lib"
|
3
|
-
require 'jruby-parser'
|
4
|
-
require 'parser_helpers'
|
5
|
-
require 'node_helpers'
|
1
|
+
require_relative '../helpers'
|
6
2
|
|
7
3
|
describe Parser do
|
8
|
-
|
4
|
+
VERSIONS.each do |v|
|
9
5
|
it "parses a 0-arg method sans parens [#{v}]" do
|
10
6
|
parse("def foo\nend\n", v).find_node(:defn).tap do |defn|
|
11
7
|
defn.should have_name_and_position("foo", 0, 1, 0, 11)
|
@@ -1,11 +1,7 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift File.dirname(__FILE__) + "/../../lib"
|
3
|
-
require 'jruby-parser'
|
4
|
-
require 'parser_helpers'
|
5
|
-
require 'node_helpers'
|
1
|
+
require_relative '../helpers'
|
6
2
|
|
7
3
|
describe Parser do
|
8
|
-
|
4
|
+
VERSIONS.each do |v|
|
9
5
|
it "Should parse attr assign" do
|
10
6
|
parse("a[1] = 2", v).find_node(:attrassign).tap do |asgn|
|
11
7
|
asgn.should_not == nil
|
data/spec/positions/call_spec.rb
CHANGED
@@ -1,11 +1,7 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift File.dirname(__FILE__) + "/../../lib"
|
3
|
-
require 'jruby-parser'
|
4
|
-
require 'parser_helpers'
|
5
|
-
require 'node_helpers'
|
1
|
+
require_relative '../helpers'
|
6
2
|
|
7
3
|
describe Parser do
|
8
|
-
|
4
|
+
VERSIONS.each do |v|
|
9
5
|
it "parses a 0-arg method call sans parens +extra line [#{v}]" do
|
10
6
|
parse("\nblock_given?\n", v).find_node(:fcall).tap do |call|
|
11
7
|
call.should have_name_and_position("block_given?", 1, 1, 1, 13)
|
@@ -130,9 +126,5 @@ describe Parser do
|
|
130
126
|
# FIXME: Need arg tests
|
131
127
|
end
|
132
128
|
end
|
133
|
-
|
134
|
-
it "parses an nil receiver [#{v}]" do
|
135
|
-
parse("().foo", v).find_node(:call).receiver_node.should_not be_nil
|
136
|
-
end
|
137
129
|
end
|
138
130
|
end
|
@@ -1,11 +1,7 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift File.dirname(__FILE__) + "/../../lib"
|
3
|
-
require 'jruby-parser'
|
4
|
-
require 'parser_helpers'
|
5
|
-
require 'node_helpers'
|
1
|
+
require_relative '../helpers'
|
6
2
|
|
7
3
|
describe Parser do
|
8
|
-
|
4
|
+
VERSIONS.each do |v|
|
9
5
|
it "should parse an unless on alias [#{v}]" do
|
10
6
|
ast = parse("alias p ** unless method_defined? :p", v)
|
11
7
|
ast.find_node(:alias).tap { |a| a.should have_position(0, 0, 0, 10) }
|
data/spec/positions/hash_spec.rb
CHANGED
@@ -1,11 +1,7 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift File.dirname(__FILE__) + "/../../lib"
|
3
|
-
require 'jruby-parser'
|
4
|
-
require 'parser_helpers'
|
5
|
-
require 'node_helpers'
|
1
|
+
require_relative '../helpers'
|
6
2
|
|
7
3
|
describe Parser do
|
8
|
-
|
4
|
+
VERSIONS.each do |v|
|
9
5
|
it "should parse a hash literal (a=>b) [#{v}]" do
|
10
6
|
parse("{:one => 1, :two => 2}", v).find_node(:hash).tap do |hash|
|
11
7
|
hash.should have_position(0, 0, 0, 22)
|
@@ -1,15 +1,11 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift File.dirname(__FILE__) + "/../../lib"
|
3
|
-
require 'jruby-parser'
|
4
|
-
require 'parser_helpers'
|
5
|
-
require 'node_helpers'
|
1
|
+
require_relative '../helpers'
|
6
2
|
|
7
3
|
# Notes:
|
8
4
|
# 1. All heredocs include end newline right after end marker because that whitespace is part of
|
9
5
|
# the markers definition.
|
10
6
|
|
11
7
|
describe Parser do
|
12
|
-
|
8
|
+
VERSIONS.each do |v|
|
13
9
|
it "parses a heredoc with marker at beginning of line[#{v}]" do
|
14
10
|
ast = parse(<<-EOF, v)
|
15
11
|
<<END
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require_relative '../helpers'
|
2
|
+
|
3
|
+
describe Parser do
|
4
|
+
VERSIONS.each do |v|
|
5
|
+
it "should get name position for lvars [#{v}]" do
|
6
|
+
carets_parse("^foo = 1; ^foo", v).tap do |_, (asgn, var)|
|
7
|
+
asgn.should have_name_position(0, 0, 0, 3)
|
8
|
+
var.should have_name_position(0, 0, 9, 12)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
it "should get name position for ivars [#{v}]" do
|
12
|
+
carets_parse("^@foo = 1; ^@foo", v).tap do |_, (asgn, var)|
|
13
|
+
asgn.should have_name_position(0, 0, 1, 4)
|
14
|
+
var.should have_name_position(0, 0, 11, 14)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
it "should get name position for cvars [#{v}]" do
|
18
|
+
carets_parse("^@@foo = 1; ^@@foo", v).tap do |_, (asgn, var)|
|
19
|
+
asgn.should have_name_position(0, 0, 2, 5)
|
20
|
+
var.should have_name_position(0, 0, 13, 16)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
it "should get name position for gvars [#{v}]" do
|
24
|
+
carets_parse("^$foo = 1; ^$foo", v).tap do |_, (asgn, var)|
|
25
|
+
asgn.should have_name_position(0, 0, 1, 4)
|
26
|
+
var.should have_name_position(0, 0, 11, 14)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
it "should get name position for constants [#{v}]" do
|
30
|
+
carets_parse("^FOO = 1; ^FOO", v).tap do |_, (asgn, var)|
|
31
|
+
asgn.should have_name_position(0, 0, 0, 3)
|
32
|
+
var.should have_name_position(0, 0, 9, 12)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
it "should get name position for method parameters [#{v}]" do
|
36
|
+
carets_parse("def foo(^a, ^b=1, *^c, &^d);end", v).tap do |_, (a, b, c, d)|
|
37
|
+
a.should have_name_position(0, 0, 8, 9)
|
38
|
+
b.should have_name_position(0, 0, 11, 12)
|
39
|
+
c.should have_name_position(0, 0, 17, 18)
|
40
|
+
d.should have_name_position(0, 0, 21, 22)
|
41
|
+
end
|
42
|
+
if v != 1.8
|
43
|
+
carets_parse("def foo(^a, ^b=1, ^c);end", v).tap do |_, (a, b, c)|
|
44
|
+
c.should have_name_position(0, 0, 16,17)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
it "should get name position for block parameters [#{v}]" do
|
49
|
+
carets_parse("proc {|^a, *^b, &^c|}", v).tap do |_, (a, b, c)|
|
50
|
+
a.should have_name_position(0, 0, 7, 8)
|
51
|
+
b.should have_name_position(0, 0, 11, 12)
|
52
|
+
c.should have_name_position(0, 0, 15, 16)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative '../helpers'
|
2
|
+
|
3
|
+
describe Parser do
|
4
|
+
VERSIONS.each do |v|
|
5
|
+
it "Should parse attr assign" do
|
6
|
+
parse("foo ||= bar", v).find_node(:opasgnor).tap do |opasgn|
|
7
|
+
opasgn.should have_position(0, 0, 0, 11)
|
8
|
+
reference, assignment = opasgn.first, opasgn.second
|
9
|
+
reference.should have_name_and_position("foo", 0, 0, 0, 3)
|
10
|
+
# assignment.should have_name_and_position("foo", 0, 0, 0, 11)
|
11
|
+
assignment.value.should have_name_and_position("bar", 0, 0, 8, 11)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/spec/positions/str_spec.rb
CHANGED
@@ -1,11 +1,7 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift File.dirname(__FILE__) + "/../../lib"
|
3
|
-
require 'jruby-parser'
|
4
|
-
require 'parser_helpers'
|
5
|
-
require 'node_helpers'
|
1
|
+
require_relative '../helpers'
|
6
2
|
|
7
3
|
describe Parser do
|
8
|
-
|
4
|
+
VERSIONS.each do |v|
|
9
5
|
it "should parse a string value [#{v}]" do
|
10
6
|
parse('str = "my str"', v).find_node(:str).value.should == "my str"
|
11
7
|
end
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jruby-parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.4.2
|
4
|
+
version: 0.5.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Thomas E. Enebo
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-08-17 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: A Gem for syntactically correct parse trees of Ruby source
|
15
14
|
email: tom.enebo@gmail.com
|
@@ -34,69 +33,100 @@ files:
|
|
34
33
|
- lib/jruby-parser/version.rb
|
35
34
|
- lib/yydebug.jar
|
36
35
|
- sample/simple.rb
|
36
|
+
- spec/ast/node/array_spec.rb
|
37
|
+
- spec/ast/node/break_spec.rb
|
38
|
+
- spec/ast/node/comments_spec.rb
|
39
|
+
- spec/ast/node/find_scopes_spec.rb
|
40
|
+
- spec/ast/node/get_declaration_spec.rb
|
41
|
+
- spec/ast/node/get_defined_scope_spec.rb
|
42
|
+
- spec/ast/node/get_node_at_spec.rb
|
43
|
+
- spec/ast/node/get_occurences_spec.rb
|
44
|
+
- spec/ast/node/is_block_parameter_spec.rb
|
45
|
+
- spec/ast/node/is_method_parameter_spec.rb
|
46
|
+
- spec/ast/node/next_spec.rb
|
47
|
+
- spec/ast/node/op_element_asgn_and_spec.rb
|
48
|
+
- spec/ast/node/op_element_asgn_or_spec.rb
|
49
|
+
- spec/ast/node/op_element_asgn_spec.rb
|
50
|
+
- spec/ast/node/return_spec.rb
|
37
51
|
- spec/ast/node_path.rb
|
52
|
+
- spec/helpers.rb
|
38
53
|
- spec/helpers/node_helpers.rb
|
39
54
|
- spec/helpers/parser_helpers.rb
|
40
|
-
- spec/jruby-parser/find_scopes_spec.rb
|
41
55
|
- spec/jruby-parser/find_spec.rb
|
42
|
-
- spec/jruby-parser/
|
43
|
-
- spec/jruby-parser/is_block_parameter_spec.rb
|
44
|
-
- spec/jruby-parser/is_method_parameter_spec.rb
|
56
|
+
- spec/jruby-parser/parse_spec.rb
|
45
57
|
- spec/jruby-parser/rewriting_spec.rb
|
46
58
|
- spec/jruby-parser/static_analysis_spec.rb
|
47
59
|
- spec/parser/alias_spec.rb
|
48
60
|
- spec/parser/broken_spec.rb
|
61
|
+
- spec/parser/calls_spec.rb
|
62
|
+
- spec/positions/alias_spec.rb
|
49
63
|
- spec/positions/arg_spec.rb
|
50
64
|
- spec/positions/attr_asgn_spec.rb
|
51
65
|
- spec/positions/call_spec.rb
|
52
66
|
- spec/positions/conditionals_spec.rb
|
53
67
|
- spec/positions/hash_spec.rb
|
54
68
|
- spec/positions/heredoc_spec.rb
|
69
|
+
- spec/positions/name_spec.rb
|
70
|
+
- spec/positions/op_asgn_or_spec.rb
|
55
71
|
- spec/positions/str_spec.rb
|
56
72
|
- lib/jruby-parser.jar
|
57
73
|
homepage: http://github.com/jruby/jruby-parser
|
58
74
|
licenses: []
|
75
|
+
metadata: {}
|
59
76
|
post_install_message:
|
60
77
|
rdoc_options: []
|
61
78
|
require_paths:
|
62
79
|
- lib
|
63
80
|
required_ruby_version: !ruby/object:Gem::Requirement
|
64
81
|
requirements:
|
65
|
-
- -
|
82
|
+
- - '>='
|
66
83
|
- !ruby/object:Gem::Version
|
67
|
-
version:
|
68
|
-
MA==
|
69
|
-
none: false
|
84
|
+
version: '0'
|
70
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
86
|
requirements:
|
72
|
-
- -
|
87
|
+
- - '>='
|
73
88
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
75
|
-
MA==
|
76
|
-
none: false
|
89
|
+
version: '0'
|
77
90
|
requirements: []
|
78
91
|
rubyforge_project: jruby-parser
|
79
|
-
rubygems_version:
|
92
|
+
rubygems_version: 2.0.3
|
80
93
|
signing_key:
|
81
|
-
specification_version:
|
94
|
+
specification_version: 4
|
82
95
|
summary: A Gem for syntactically correct parse trees of Ruby source
|
83
96
|
test_files:
|
97
|
+
- spec/ast/node/array_spec.rb
|
98
|
+
- spec/ast/node/break_spec.rb
|
99
|
+
- spec/ast/node/comments_spec.rb
|
100
|
+
- spec/ast/node/find_scopes_spec.rb
|
101
|
+
- spec/ast/node/get_declaration_spec.rb
|
102
|
+
- spec/ast/node/get_defined_scope_spec.rb
|
103
|
+
- spec/ast/node/get_node_at_spec.rb
|
104
|
+
- spec/ast/node/get_occurences_spec.rb
|
105
|
+
- spec/ast/node/is_block_parameter_spec.rb
|
106
|
+
- spec/ast/node/is_method_parameter_spec.rb
|
107
|
+
- spec/ast/node/next_spec.rb
|
108
|
+
- spec/ast/node/op_element_asgn_and_spec.rb
|
109
|
+
- spec/ast/node/op_element_asgn_or_spec.rb
|
110
|
+
- spec/ast/node/op_element_asgn_spec.rb
|
111
|
+
- spec/ast/node/return_spec.rb
|
84
112
|
- spec/ast/node_path.rb
|
113
|
+
- spec/helpers.rb
|
85
114
|
- spec/helpers/node_helpers.rb
|
86
115
|
- spec/helpers/parser_helpers.rb
|
87
|
-
- spec/jruby-parser/find_scopes_spec.rb
|
88
116
|
- spec/jruby-parser/find_spec.rb
|
89
|
-
- spec/jruby-parser/
|
90
|
-
- spec/jruby-parser/is_block_parameter_spec.rb
|
91
|
-
- spec/jruby-parser/is_method_parameter_spec.rb
|
117
|
+
- spec/jruby-parser/parse_spec.rb
|
92
118
|
- spec/jruby-parser/rewriting_spec.rb
|
93
119
|
- spec/jruby-parser/static_analysis_spec.rb
|
94
120
|
- spec/parser/alias_spec.rb
|
95
121
|
- spec/parser/broken_spec.rb
|
122
|
+
- spec/parser/calls_spec.rb
|
123
|
+
- spec/positions/alias_spec.rb
|
96
124
|
- spec/positions/arg_spec.rb
|
97
125
|
- spec/positions/attr_asgn_spec.rb
|
98
126
|
- spec/positions/call_spec.rb
|
99
127
|
- spec/positions/conditionals_spec.rb
|
100
128
|
- spec/positions/hash_spec.rb
|
101
129
|
- spec/positions/heredoc_spec.rb
|
130
|
+
- spec/positions/name_spec.rb
|
131
|
+
- spec/positions/op_asgn_or_spec.rb
|
102
132
|
- spec/positions/str_spec.rb
|