Module: RaceGuard::SharedState::MemoScanner
- Defined in:
- lib/race_guard/shared_state/memo_scanner.rb
Overview
Finds @ivar ||= rhs (Parser :or_asgn with :ivasgn LHS) for Epic 6.4.
Defined Under Namespace
Classes: MemoSite
Class Method Summary collapse
Class Method Details
.scan_file(path) ⇒ Object
21 22 23 24 25 |
# File 'lib/race_guard/shared_state/memo_scanner.rb', line 21 def scan_file(path) scan_source(File.read(path, encoding: 'UTF-8'), path: path.to_s) rescue Errno::ENOENT, ArgumentError [] end |
.scan_source(source, path: '(eval)') ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/race_guard/shared_state/memo_scanner.rb', line 12 def scan_source(source, path: '(eval)') ast = Parser::CurrentRuby.parse(source) sites = [] walk(ast, path, sites) sites rescue Parser::SyntaxError [] end |