File tree Expand file tree Collapse file tree 3 files changed +17
-3
lines changed Expand file tree Collapse file tree 3 files changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -31,6 +31,10 @@ def n?(type, node)
31
31
node . type . equal? ( type )
32
32
end
33
33
34
+ def n_flipflop? ( node )
35
+ n_iflipflop? ( node ) || n_eflipflop? ( node )
36
+ end
37
+
34
38
%i[
35
39
arg
36
40
args
@@ -41,12 +45,14 @@ def n?(type, node)
41
45
cbase
42
46
const
43
47
dstr
48
+ eflipflop
44
49
empty_else
45
50
ensure
46
51
gvar
47
52
hash
48
53
hash_pattern
49
54
if
55
+ iflipflop
50
56
in_pattern
51
57
int
52
58
kwarg
Original file line number Diff line number Diff line change @@ -14,11 +14,16 @@ class Unary < self
14
14
15
15
def dispatch
16
16
name = selector
17
+ first_child = children . fetch ( 0 )
17
18
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 )
19
23
20
- if n_int? ( receiver ) && selector . equal? ( :+@ )
21
- write ( '+' )
24
+ if n_int? ( receiver ) && selector . equal? ( :+@ )
25
+ write ( '+' )
26
+ end
22
27
end
23
28
24
29
visit ( receiver )
Original file line number Diff line number Diff line change 8
8
end
9
9
if foo ..;
10
10
end
11
+ not foo ..bar
12
+ not foo ...bar
13
+
You can’t perform that action at this time.
0 commit comments