class Xdrgen::Compilation

Public Class Methods

new(source_paths, output_dir:".", language: :ruby, namespace: nil) click to toggle source
# File lib/xdrgen/compilation.rb, line 5
def initialize(source_paths, output_dir:".", language: :ruby, namespace: nil)
  @source_paths = source_paths
  @output_dir  = output_dir
  @namespace   = namespace
  @language    = language
end

Public Instance Methods

ast() click to toggle source
# File lib/xdrgen/compilation.rb, line 16
        def ast
  parser = Parser.new
  parser.parse(source)
end
compile() click to toggle source
# File lib/xdrgen/compilation.rb, line 21
def compile
  output = Output.new(@source_paths, @output_dir)

  
  generator = Generators.for_language(@language).new(ast, output, @namespace)
  generator.generate
ensure
  output.close
end
source() click to toggle source
# File lib/xdrgen/compilation.rb, line 12
        def source
 @source_paths.map{|p| IO.read(p)}.join("\n")
end