Class: Voodoo::SymbolTracker

Inherits:
Object
  • Object
show all
Defined in:
lib/voodoo/symbol_tracker.rb

Overview

Class to keep track of defined and used symbols.

Instance Method Summary collapse

Constructor Details

#initializeSymbolTracker

Returns a new instance of SymbolTracker.



6
7
8
9
# File 'lib/voodoo/symbol_tracker.rb', line 6

def initialize
  @defined = Set.new
  @used = Set.new
end

Instance Method Details

#define(*symbols) ⇒ Object



11
12
13
# File 'lib/voodoo/symbol_tracker.rb', line 11

def define *symbols
  @defined.merge symbols
end

#defined_but_unused_symbolsObject



19
20
21
# File 'lib/voodoo/symbol_tracker.rb', line 19

def defined_but_unused_symbols
  @defined - @used
end

#defined_symbolsObject



23
24
25
# File 'lib/voodoo/symbol_tracker.rb', line 23

def defined_symbols
  @defined
end

#use(*symbols) ⇒ Object



15
16
17
# File 'lib/voodoo/symbol_tracker.rb', line 15

def use *symbols
  @used.merge symbols
end

#used_but_undefined_symbolsObject



31
32
33
# File 'lib/voodoo/symbol_tracker.rb', line 31

def used_but_undefined_symbols
  @used - @defined
end

#used_symbolsObject



27
28
29
# File 'lib/voodoo/symbol_tracker.rb', line 27

def used_symbols
  @used
end