Module: Rubinius::AST::Transforms

Defined in:
lib/compiler/ast/transforms.rb

Class Method Summary collapse

Class Method Details

.[](name) ⇒ Object



19
20
21
# File 'lib/compiler/ast/transforms.rb', line 19

def self.[](name)
  transform_map[name]
end

.category(name) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/compiler/ast/transforms.rb', line 23

def self.category(name)
  if name == :all
    category_map.values.flatten
  else
    category_map[name]
  end
end

.category_mapObject



15
16
17
# File 'lib/compiler/ast/transforms.rb', line 15

def self.category_map
  @category_map ||= Hash.new { |h, k| h[k] = [] }
end

.register(category, name, klass) ⇒ Object



6
7
8
9
# File 'lib/compiler/ast/transforms.rb', line 6

def self.register(category, name, klass)
  transform_map[name] = klass
  category_map[category] << klass
end

.transform_mapObject



11
12
13
# File 'lib/compiler/ast/transforms.rb', line 11

def self.transform_map
  @transform_map ||= { }
end