unparser 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +3 -1
- data/Changelog.md +8 -0
- data/Guardfile +1 -1
- data/README.md +2 -0
- data/config/flay.yml +1 -1
- data/config/reek.yml +6 -4
- data/lib/unparser.rb +5 -1
- data/lib/unparser/constants.rb +16 -14
- data/lib/unparser/emitter/argument.rb +71 -5
- data/lib/unparser/emitter/assignment.rb +2 -2
- data/lib/unparser/emitter/begin.rb +1 -2
- data/lib/unparser/emitter/binary.rb +2 -2
- data/lib/unparser/emitter/block.rb +2 -12
- data/lib/unparser/emitter/cbase.rb +1 -1
- data/lib/unparser/emitter/class.rb +2 -2
- data/lib/unparser/emitter/def.rb +1 -11
- data/lib/unparser/emitter/empty.rb +22 -0
- data/lib/unparser/emitter/not.rb +1 -1
- data/lib/unparser/emitter/op_assign.rb +1 -1
- data/lib/unparser/emitter/repetition.rb +1 -1
- data/lib/unparser/emitter/send.rb +1 -1
- data/lib/unparser/emitter/send/binary.rb +2 -2
- data/lib/unparser/emitter/send/index.rb +1 -1
- data/lib/unparser/emitter/splat.rb +1 -1
- data/lib/unparser/emitter/variable.rb +1 -1
- data/spec/integration/unparser/spike_spec.rb +84 -14
- data/spec/spec_helper.rb +2 -0
- data/unparser.gemspec +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76fd3cadb7aa3c25e62d45e012c2377b6fecc0e9
|
4
|
+
data.tar.gz: 9a5b5833a38bffedb47db8c578c83a09607e2ce9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 091f158bbe82fb41ef74e0d5367672083a21b95df31ad7493423fc13267348b1fed8331c8b3058ee0e18fad31a28498ed90c791852074d94fba986ef4a65b957
|
7
|
+
data.tar.gz: a1b024cabf31dfceacdf8320d832859f6cf8ec2c4a3970373a90400e81a2d501fa2a6bd0d4fcd2bfc73a961a72f35d2386246f2884ea66c5315430768317b177
|
data/.travis.yml
CHANGED
data/Changelog.md
CHANGED
data/Guardfile
CHANGED
@@ -4,7 +4,7 @@ guard :bundler do
|
|
4
4
|
watch('Gemfile')
|
5
5
|
end
|
6
6
|
|
7
|
-
guard :rspec, :all_on_start => false, :all_after_pass => false, :cli => '--fail-fast' do
|
7
|
+
guard :rspec, :all_on_start => false, :all_after_pass => false, :cli => '--fail-fast --backtrace' do
|
8
8
|
# run all specs if the spec_helper or supporting files files are modified
|
9
9
|
watch('spec/spec_helper.rb') { 'spec/unit' }
|
10
10
|
watch(%r{\Aspec/(?:lib|support|shared)/.+\.rb\z}) { 'spec/unit' }
|
data/README.md
CHANGED
data/config/flay.yml
CHANGED
data/config/reek.yml
CHANGED
@@ -15,7 +15,7 @@ TooManyInstanceVariables:
|
|
15
15
|
max_instance_variables: 3
|
16
16
|
TooManyMethods:
|
17
17
|
exclude:
|
18
|
-
- Unparser::Emitter # TODO: 13 methods, mostly helpers for deduplicate sublcasses
|
18
|
+
- Unparser::Emitter # TODO: 13 methods, mostly helpers for deduplicate sublcasses
|
19
19
|
enabled: true
|
20
20
|
max_methods: 10
|
21
21
|
UncommunicativeMethodName:
|
@@ -28,7 +28,7 @@ UncommunicativeMethodName:
|
|
28
28
|
- !ruby/regexp /[A-Z]/
|
29
29
|
LongParameterList:
|
30
30
|
max_params: 3
|
31
|
-
exclude:
|
31
|
+
exclude:
|
32
32
|
- Unparser#self.transquote
|
33
33
|
enabled: true
|
34
34
|
overrides: {}
|
@@ -62,7 +62,7 @@ NestedIterators:
|
|
62
62
|
max_allowed_nesting: 1
|
63
63
|
TooManyStatements:
|
64
64
|
max_statements: 5
|
65
|
-
exclude:
|
65
|
+
exclude:
|
66
66
|
- Unparser::Emitter::Block#dispatch # 6 statements
|
67
67
|
- Unparser::Emitter::Def#dispatch # 6 statements
|
68
68
|
- Unparser::Emitter::Class#dispatch # 6 statements
|
@@ -88,7 +88,7 @@ UncommunicativeVariableName:
|
|
88
88
|
- !ruby/regexp /[0-9]$/
|
89
89
|
- !ruby/regexp /[A-Z]/
|
90
90
|
RepeatedConditional:
|
91
|
-
exclude:
|
91
|
+
exclude:
|
92
92
|
- Unparser::Emitter::Send # TODO Fixme
|
93
93
|
- Unparser::Emitter::If
|
94
94
|
enabled: true
|
@@ -101,6 +101,8 @@ DataClump:
|
|
101
101
|
ControlParameter:
|
102
102
|
exclude: []
|
103
103
|
enabled: true
|
104
|
+
NilCheck:
|
105
|
+
enabled: false
|
104
106
|
LongYieldList:
|
105
107
|
max_params: 1
|
106
108
|
exclude: []
|
data/lib/unparser.rb
CHANGED
@@ -9,13 +9,16 @@ module Unparser
|
|
9
9
|
|
10
10
|
# Unparse ast into string
|
11
11
|
#
|
12
|
-
# @param [Parser::Node] node
|
12
|
+
# @param [Parser::Node, nil] node
|
13
13
|
#
|
14
14
|
# @return [String]
|
15
15
|
#
|
16
16
|
# @api private
|
17
17
|
#
|
18
18
|
def self.unparse(node)
|
19
|
+
if node.nil?
|
20
|
+
node = Parser::AST::Node.new(:empty)
|
21
|
+
end
|
19
22
|
buffer = Buffer.new
|
20
23
|
Emitter.visit(node, buffer)
|
21
24
|
buffer.content
|
@@ -84,5 +87,6 @@ require 'unparser/emitter/for'
|
|
84
87
|
require 'unparser/emitter/repetition'
|
85
88
|
require 'unparser/emitter/root'
|
86
89
|
require 'unparser/emitter/match'
|
90
|
+
require 'unparser/emitter/empty'
|
87
91
|
|
88
92
|
Unparser::Emitter::REGISTRY.freeze
|
data/lib/unparser/constants.rb
CHANGED
@@ -15,20 +15,22 @@ module Unparser
|
|
15
15
|
**
|
16
16
|
).map(&:to_sym).to_set.freeze
|
17
17
|
|
18
|
-
WS
|
19
|
-
NL
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
18
|
+
WS = ' '.freeze
|
19
|
+
NL = "\n".freeze
|
20
|
+
T_DOT = '.'.freeze
|
21
|
+
T_LT = '<'.freeze
|
22
|
+
T_DLT = '<<'.freeze
|
23
|
+
T_AMP = '&'.freeze
|
24
|
+
T_ASN = '='.freeze
|
25
|
+
T_SPLAT = '*'.freeze
|
26
|
+
T_DSPLAT = '**'.freeze
|
27
|
+
T_ASR = '=>'.freeze
|
28
|
+
T_PIPE = '|'.freeze
|
29
|
+
T_DCL = '::'.freeze
|
30
|
+
T_NEG = '!'.freeze
|
31
|
+
T_OR = '||'.freeze
|
32
|
+
T_AND = '&&'.freeze
|
33
|
+
T_COLON = ':'.freeze
|
32
34
|
|
33
35
|
M_PO = '('.freeze
|
34
36
|
M_PC = ')'.freeze
|
@@ -65,7 +65,7 @@ module Unparser
|
|
65
65
|
# @api private
|
66
66
|
#
|
67
67
|
def dispatch
|
68
|
-
write(
|
68
|
+
write(T_AMP, name.to_s)
|
69
69
|
end
|
70
70
|
|
71
71
|
end # Blockarg
|
@@ -86,15 +86,79 @@ module Unparser
|
|
86
86
|
# @api private
|
87
87
|
#
|
88
88
|
def dispatch
|
89
|
-
write(name.to_s, WS,
|
89
|
+
write(name.to_s, WS, T_ASN, WS)
|
90
90
|
visit(value)
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
+
# Keyword rest argument emitter
|
95
|
+
class KeywordRest < self
|
96
|
+
|
97
|
+
handle :kwrestarg
|
98
|
+
|
99
|
+
children :name
|
100
|
+
|
101
|
+
private
|
102
|
+
|
103
|
+
# Perform dispatch
|
104
|
+
#
|
105
|
+
# @return [undefined]
|
106
|
+
#
|
107
|
+
# @api private
|
108
|
+
#
|
109
|
+
def dispatch
|
110
|
+
write(T_DSPLAT, name.to_s)
|
111
|
+
end
|
112
|
+
end # KeywordRest
|
113
|
+
|
114
|
+
# Optional keyword argument emitter
|
115
|
+
class KeywordOptional < self
|
116
|
+
handle :kwoptarg
|
117
|
+
|
118
|
+
children :name, :value
|
119
|
+
|
120
|
+
private
|
121
|
+
|
122
|
+
# Perform dispatch
|
123
|
+
#
|
124
|
+
# @return [undefined]
|
125
|
+
#
|
126
|
+
# @api private
|
127
|
+
#
|
128
|
+
def dispatch
|
129
|
+
write(name.to_s, T_COLON, WS)
|
130
|
+
visit(value)
|
131
|
+
end
|
132
|
+
|
133
|
+
end # KeywordOptional
|
134
|
+
|
135
|
+
# Keyword argument emitter
|
136
|
+
class Kwarg < self
|
137
|
+
handle :kwarg
|
138
|
+
|
139
|
+
children :name
|
140
|
+
|
141
|
+
private
|
142
|
+
|
143
|
+
# Perform dispatch
|
144
|
+
#
|
145
|
+
# @return [undefined]
|
146
|
+
#
|
147
|
+
# @api private
|
148
|
+
#
|
149
|
+
def dispatch
|
150
|
+
write(name.to_s, T_COLON)
|
151
|
+
end
|
152
|
+
|
153
|
+
end # Restarg
|
154
|
+
|
94
155
|
# Rest argument emitter
|
95
156
|
class Restarg < self
|
157
|
+
|
96
158
|
handle :restarg
|
97
159
|
|
160
|
+
children :name
|
161
|
+
|
98
162
|
private
|
99
163
|
|
100
164
|
# Perform dispatch
|
@@ -104,7 +168,7 @@ module Unparser
|
|
104
168
|
# @api private
|
105
169
|
#
|
106
170
|
def dispatch
|
107
|
-
write(
|
171
|
+
write(T_SPLAT, name.to_s)
|
108
172
|
end
|
109
173
|
|
110
174
|
end # Restarg
|
@@ -114,6 +178,8 @@ module Unparser
|
|
114
178
|
|
115
179
|
handle :arg
|
116
180
|
|
181
|
+
children :name
|
182
|
+
|
117
183
|
private
|
118
184
|
|
119
185
|
# Perform dispatch
|
@@ -123,7 +189,7 @@ module Unparser
|
|
123
189
|
# @api private
|
124
190
|
#
|
125
191
|
def dispatch
|
126
|
-
write(
|
192
|
+
write(name.to_s)
|
127
193
|
end
|
128
194
|
|
129
195
|
end # Argument
|
@@ -144,7 +210,7 @@ module Unparser
|
|
144
210
|
# @api private
|
145
211
|
#
|
146
212
|
def dispatch
|
147
|
-
write(
|
213
|
+
write(T_AMP)
|
148
214
|
visit(name)
|
149
215
|
end
|
150
216
|
|
@@ -29,7 +29,7 @@ module Unparser
|
|
29
29
|
def emit_right
|
30
30
|
right = right_node
|
31
31
|
if right
|
32
|
-
write(WS,
|
32
|
+
write(WS, T_ASN, WS)
|
33
33
|
visit(right)
|
34
34
|
end
|
35
35
|
end
|
@@ -105,7 +105,7 @@ module Unparser
|
|
105
105
|
# @api private
|
106
106
|
#
|
107
107
|
def emit_right
|
108
|
-
write(WS,
|
108
|
+
write(WS, T_ASN, WS)
|
109
109
|
right = children.last
|
110
110
|
case right.type
|
111
111
|
when :array
|
@@ -113,7 +113,7 @@ module Unparser
|
|
113
113
|
#
|
114
114
|
def emit_assignment
|
115
115
|
return unless assignment
|
116
|
-
write(WS,
|
116
|
+
write(WS, T_ASR, WS)
|
117
117
|
visit(assignment)
|
118
118
|
end
|
119
119
|
|
@@ -135,7 +135,6 @@ module Unparser
|
|
135
135
|
def dispatch
|
136
136
|
case children.length
|
137
137
|
when 0
|
138
|
-
write(K_NIL)
|
139
138
|
when 1
|
140
139
|
visit(first_child)
|
141
140
|
else
|
@@ -20,7 +20,7 @@ module Unparser
|
|
20
20
|
visit(send)
|
21
21
|
write(WS, K_DO)
|
22
22
|
emit_block_arguments
|
23
|
-
|
23
|
+
emit_body
|
24
24
|
k_end
|
25
25
|
end
|
26
26
|
|
@@ -33,21 +33,11 @@ module Unparser
|
|
33
33
|
def emit_block_arguments
|
34
34
|
return if arguments.children.empty?
|
35
35
|
ws
|
36
|
-
parentheses(
|
36
|
+
parentheses(T_PIPE, T_PIPE) do
|
37
37
|
visit(arguments)
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
-
# Emit body
|
42
|
-
#
|
43
|
-
# @return [undefined]
|
44
|
-
#
|
45
|
-
# @api private
|
46
|
-
#
|
47
|
-
def emit_body
|
48
|
-
visit(body)
|
49
|
-
end
|
50
|
-
|
51
41
|
end # Block
|
52
42
|
end # Emitter
|
53
43
|
end # Unparser
|
@@ -31,7 +31,7 @@ module Unparser
|
|
31
31
|
#
|
32
32
|
def emit_superclass
|
33
33
|
return unless superclass
|
34
|
-
write(WS,
|
34
|
+
write(WS, T_LT, WS)
|
35
35
|
visit(superclass)
|
36
36
|
end
|
37
37
|
|
@@ -51,7 +51,7 @@ module Unparser
|
|
51
51
|
# @api private
|
52
52
|
#
|
53
53
|
def dispatch
|
54
|
-
write(K_CLASS, WS,
|
54
|
+
write(K_CLASS, WS, T_DLT, WS)
|
55
55
|
visit(object)
|
56
56
|
emit_body
|
57
57
|
k_end
|
data/lib/unparser/emitter/def.rb
CHANGED
@@ -37,16 +37,6 @@ module Unparser
|
|
37
37
|
k_end
|
38
38
|
end
|
39
39
|
|
40
|
-
# Emit body
|
41
|
-
#
|
42
|
-
# @return [undefined]
|
43
|
-
#
|
44
|
-
# @api private
|
45
|
-
#
|
46
|
-
def emit_body
|
47
|
-
indented { visit(body) }
|
48
|
-
end
|
49
|
-
|
50
40
|
# Emit arguments
|
51
41
|
#
|
52
42
|
# @return [undefined]
|
@@ -98,7 +88,7 @@ module Unparser
|
|
98
88
|
#
|
99
89
|
def emit_name
|
100
90
|
visit(subject)
|
101
|
-
write(
|
91
|
+
write(T_DOT, name.to_s)
|
102
92
|
end
|
103
93
|
|
104
94
|
end # Singleton
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Unparser
|
2
|
+
class Emitter
|
3
|
+
|
4
|
+
# Emitter for artifical empty node
|
5
|
+
class Empty < self
|
6
|
+
|
7
|
+
handle :empty
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
# Perform dispatch
|
12
|
+
#
|
13
|
+
# @return [undefined]
|
14
|
+
#
|
15
|
+
# @api private
|
16
|
+
#
|
17
|
+
def dispatch
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end # Unparser
|
data/lib/unparser/emitter/not.rb
CHANGED
@@ -6,7 +6,8 @@ describe Unparser, 'spike' do
|
|
6
6
|
PARSERS = IceNine.deep_freeze(
|
7
7
|
'1.8' => Parser::Ruby18,
|
8
8
|
'1.9' => Parser::Ruby19,
|
9
|
-
'2.0' => Parser::Ruby20
|
9
|
+
'2.0' => Parser::Ruby20,
|
10
|
+
'2.1' => Parser::Ruby21
|
10
11
|
)
|
11
12
|
|
12
13
|
RUBIES = PARSERS.keys.freeze
|
@@ -44,7 +45,7 @@ describe Unparser, 'spike' do
|
|
44
45
|
def self.assert_generates(ast, expected, versions = RUBIES)
|
45
46
|
with_versions(versions) do |version, parser|
|
46
47
|
it "should generate #{ast.inspect} as #{expected} under #{version}" do
|
47
|
-
|
48
|
+
if ast.kind_of?(String)
|
48
49
|
ast = parser.parse(ast)
|
49
50
|
end
|
50
51
|
generated = Unparser.unparse(ast)
|
@@ -238,17 +239,50 @@ describe Unparser, 'spike' do
|
|
238
239
|
assert_source 'a.foo'
|
239
240
|
assert_source 'A.foo'
|
240
241
|
assert_source 'foo[1]'
|
242
|
+
assert_source 'foo[*baz]'
|
241
243
|
assert_source 'foo(1)'
|
242
244
|
assert_source 'foo(bar)'
|
243
245
|
assert_source 'foo(&block)'
|
244
246
|
assert_source 'foo(*arguments)'
|
245
|
-
assert_source
|
246
|
-
assert_source
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
assert_source
|
247
|
+
assert_source 'foo(*arguments)'
|
248
|
+
assert_source <<-RUBY
|
249
|
+
foo do
|
250
|
+
end
|
251
|
+
RUBY
|
252
|
+
|
253
|
+
assert_source <<-RUBY
|
254
|
+
foo(1) do
|
255
|
+
nil
|
256
|
+
end
|
257
|
+
RUBY
|
258
|
+
|
259
|
+
assert_source <<-RUBY
|
260
|
+
foo do |a, b|
|
261
|
+
nil
|
262
|
+
end
|
263
|
+
RUBY
|
264
|
+
|
265
|
+
assert_source <<-RUBY
|
266
|
+
foo do |a, *b|
|
267
|
+
nil
|
268
|
+
end
|
269
|
+
RUBY
|
270
|
+
|
271
|
+
assert_source <<-RUBY
|
272
|
+
foo do |a, *|
|
273
|
+
nil
|
274
|
+
end
|
275
|
+
RUBY
|
276
|
+
|
277
|
+
assert_source <<-RUBY
|
278
|
+
foo do
|
279
|
+
bar
|
280
|
+
end
|
281
|
+
RUBY
|
282
|
+
|
283
|
+
assert_source <<-RUBY
|
284
|
+
foo.bar(*args)
|
285
|
+
RUBY
|
252
286
|
|
253
287
|
assert_source <<-RUBY
|
254
288
|
foo.bar do |(a, b), c|
|
@@ -285,7 +319,7 @@ describe Unparser, 'spike' do
|
|
285
319
|
end
|
286
320
|
|
287
321
|
context 'begin; end' do
|
288
|
-
assert_generates s(:begin), '
|
322
|
+
assert_generates s(:begin), ''
|
289
323
|
|
290
324
|
assert_source <<-RUBY
|
291
325
|
foo
|
@@ -511,6 +545,11 @@ describe Unparser, 'spike' do
|
|
511
545
|
context 'def' do
|
512
546
|
context 'on instance' do
|
513
547
|
|
548
|
+
assert_source <<-RUBY
|
549
|
+
def foo
|
550
|
+
end
|
551
|
+
RUBY
|
552
|
+
|
514
553
|
assert_source <<-RUBY
|
515
554
|
def foo
|
516
555
|
bar
|
@@ -547,6 +586,16 @@ describe Unparser, 'spike' do
|
|
547
586
|
end
|
548
587
|
RUBY
|
549
588
|
|
589
|
+
assert_source <<-RUBY, %w(2.1)
|
590
|
+
def foo(bar: 1)
|
591
|
+
end
|
592
|
+
RUBY
|
593
|
+
|
594
|
+
assert_source <<-RUBY, %w(2.0)
|
595
|
+
def foo(**bar)
|
596
|
+
end
|
597
|
+
RUBY
|
598
|
+
|
550
599
|
assert_source <<-RUBY
|
551
600
|
def foo(*)
|
552
601
|
bar
|
@@ -601,16 +650,15 @@ describe Unparser, 'spike' do
|
|
601
650
|
baz
|
602
651
|
end
|
603
652
|
RUBY
|
653
|
+
end
|
654
|
+
|
655
|
+
context 'on singleton' do
|
604
656
|
|
605
657
|
assert_source <<-RUBY
|
606
658
|
def self.foo
|
607
|
-
bar
|
608
|
-
baz
|
609
659
|
end
|
610
660
|
RUBY
|
611
|
-
end
|
612
661
|
|
613
|
-
context 'on singleton' do
|
614
662
|
|
615
663
|
assert_source <<-RUBY
|
616
664
|
def self.foo
|
@@ -618,6 +666,13 @@ describe Unparser, 'spike' do
|
|
618
666
|
end
|
619
667
|
RUBY
|
620
668
|
|
669
|
+
assert_source <<-RUBY
|
670
|
+
def self.foo
|
671
|
+
bar
|
672
|
+
baz
|
673
|
+
end
|
674
|
+
RUBY
|
675
|
+
|
621
676
|
assert_source <<-RUBY
|
622
677
|
def Foo.bar
|
623
678
|
bar
|
@@ -745,6 +800,11 @@ describe Unparser, 'spike' do
|
|
745
800
|
end
|
746
801
|
|
747
802
|
context 'lambda' do
|
803
|
+
assert_source <<-RUBY
|
804
|
+
lambda do
|
805
|
+
end
|
806
|
+
RUBY
|
807
|
+
|
748
808
|
assert_source <<-RUBY
|
749
809
|
lambda do |a, b|
|
750
810
|
a
|
@@ -897,6 +957,11 @@ describe Unparser, 'spike' do
|
|
897
957
|
end
|
898
958
|
|
899
959
|
context 'while' do
|
960
|
+
assert_source <<-RUBY
|
961
|
+
while false
|
962
|
+
end
|
963
|
+
RUBY
|
964
|
+
|
900
965
|
assert_source <<-RUBY
|
901
966
|
while false
|
902
967
|
3
|
@@ -905,6 +970,11 @@ describe Unparser, 'spike' do
|
|
905
970
|
end
|
906
971
|
|
907
972
|
context 'until' do
|
973
|
+
assert_source <<-RUBY
|
974
|
+
until false
|
975
|
+
end
|
976
|
+
RUBY
|
977
|
+
|
908
978
|
assert_source <<-RUBY
|
909
979
|
until false
|
910
980
|
3
|
data/spec/spec_helper.rb
CHANGED
data/unparser.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unparser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Markus Schirp
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
11
|
+
date: 2013-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -120,6 +120,7 @@ files:
|
|
120
120
|
- lib/unparser/emitter/class.rb
|
121
121
|
- lib/unparser/emitter/def.rb
|
122
122
|
- lib/unparser/emitter/defined.rb
|
123
|
+
- lib/unparser/emitter/empty.rb
|
123
124
|
- lib/unparser/emitter/for.rb
|
124
125
|
- lib/unparser/emitter/hookexe.rb
|
125
126
|
- lib/unparser/emitter/if.rb
|