class CompileNamedReferenceSetters

Attributes

cells_that_can_be_set_at_runtime[RW]

Public Class Methods

rewrite(*args) click to toggle source
# File src/compile/c/compile_named_reference_setters.rb, line 95
def self.rewrite(*args)
  new.rewrite(*args)
end

Public Instance Methods

rewrite(named_references, sheet_names, output) click to toggle source
# File src/compile/c/compile_named_reference_setters.rb, line 99
def rewrite(named_references, sheet_names, output)
  mapper = MapNamedReferenceToCSetter.new
  mapper.sheet_names = sheet_names
  mapper.cells_that_can_be_set_at_runtime = cells_that_can_be_set_at_runtime

  named_references.each do |name, ast|
    output.puts "void set_#{name}(ExcelValue newValue) {"
    output.puts mapper.map(ast)
    output.puts "}"
    output.puts
  end
  output
end