File tree Expand file tree Collapse file tree 2 files changed +13
-10
lines changed Expand file tree Collapse file tree 2 files changed +13
-10
lines changed Original file line number Diff line number Diff line change @@ -48,7 +48,8 @@ def visit_method(method_name)
48
48
49
49
# This is the list of all of the valid visit methods.
50
50
def visit_methods
51
- Visitor . instance_methods . grep ( /^visit_(?!child_nodes)/ )
51
+ @visit_methods ||=
52
+ Visitor . instance_methods . grep ( /^visit_(?!child_nodes)/ )
52
53
end
53
54
end
54
55
Original file line number Diff line number Diff line change 3
3
require_relative "test_helper"
4
4
5
5
class VisitorTest < Minitest ::Test
6
- def test_visit_all_nodes
7
- visitor = SyntaxTree ::Visitor . new
6
+ unless ENV [ "FAST" ]
7
+ def test_visit_all_nodes
8
+ visitor = SyntaxTree ::Visitor . new
8
9
9
- filepath = File . expand_path ( "../lib/syntax_tree/node.rb" , __dir__ )
10
- program = SyntaxTree . parse ( SyntaxTree . read ( filepath ) )
10
+ filepath = File . expand_path ( "../lib/syntax_tree/node.rb" , __dir__ )
11
+ program = SyntaxTree . parse ( SyntaxTree . read ( filepath ) )
11
12
12
- program . statements . body . last . bodystmt . statements . body . each do |node |
13
- next unless node in SyntaxTree ::ClassDeclaration [ superclass : { value : { value : "Node" } } ]
13
+ program . statements . body . last . bodystmt . statements . body . each do |node |
14
+ next unless node in SyntaxTree ::ClassDeclaration [ superclass : { value : { value : "Node" } } ]
14
15
15
- accept = node . bodystmt . statements . body . detect { |defm | defm in SyntaxTree ::Def [ name : { value : "accept" } ] }
16
- accept => { bodystmt : { statements : { body : [ SyntaxTree ::Call [ message : { value : visit_method } ] ] } } }
16
+ accept = node . bodystmt . statements . body . detect { |defm | defm in SyntaxTree ::Def [ name : { value : "accept" } ] }
17
+ accept => { bodystmt : { statements : { body : [ SyntaxTree ::Call [ message : { value : visit_method } ] ] } } }
17
18
18
- assert_respond_to ( visitor , visit_method )
19
+ assert_respond_to ( visitor , visit_method )
20
+ end
19
21
end
20
22
end
21
23
You can’t perform that action at this time.
0 commit comments