File tree Expand file tree Collapse file tree 3 files changed +18
-3
lines changed Expand file tree Collapse file tree 3 files changed +18
-3
lines changed Original file line number Diff line number Diff line change @@ -31,6 +31,10 @@ def n?(type, node)
3131 node . type . equal? ( type )
3232 end
3333
34+ def n_flipflop? ( node )
35+ n_iflipflop? ( node ) || n_eflipflop? ( node )
36+ end
37+
3438 %i[
3539 arg
3640 args
@@ -41,12 +45,14 @@ def n?(type, node)
4145 cbase
4246 const
4347 dstr
48+ eflipflop
4449 empty_else
4550 ensure
4651 gvar
4752 hash
4853 hash_pattern
4954 if
55+ iflipflop
5056 in_pattern
5157 int
5258 kwarg
Original file line number Diff line number Diff line change @@ -14,11 +14,16 @@ class Unary < self
1414
1515 def dispatch
1616 name = selector
17+ first_child = children . fetch ( 0 )
1718
18- write ( MAP . fetch ( name , name ) . to_s )
19+ if n_flipflop? ( first_child )
20+ write 'not '
21+ else
22+ write ( MAP . fetch ( name , name ) . to_s )
1923
20- if n_int? ( receiver ) && selector . equal? ( :+@ )
21- write ( '+' )
24+ if n_int? ( receiver ) && selector . equal? ( :+@ )
25+ write ( '+' )
26+ end
2227 end
2328
2429 visit ( receiver )
Original file line number Diff line number Diff line change 88end
99if foo ..;
1010end
11+ not foo ..bar
12+ not foo ...bar
13+ !( foo ..bar )
14+ !( foo ...bar )
You can’t perform that action at this time.
0 commit comments