class MyProcessor

Public Class Methods

new(fcpp, finc) click to toggle source
# File ext/fox16_c/make_impl.rb, line 52
def initialize(fcpp, finc)
  @fcpp = fcpp
  @finc = finc
  @classname = nil
  @baseclass = nil
end

Public Instance Methods

end_class() click to toggle source
# File ext/fox16_c/make_impl.rb, line 99
def end_class
  if @classname == "FXRbScintilla"
    @fcpp.puts "\n#endif"
    @finc.puts "\n#endif"
  end
  @fcpp.puts ""
  @finc.puts ""
  @classname = nil
  @baseclass = nil
end
implement_overrides(filename) click to toggle source
# File ext/fox16_c/make_impl.rb, line 70
def implement_overrides(filename)
  stubclass = filename.gsub('"', '').sub("FXRb", "FX")
  stubclass = stubclass.sub(/Virtuals\.h/, "").upcase
  unless $special_stubclasses.include? stubclass
    @fcpp.printf("IMPLEMENT_%s_STUBS(%s)\n", stubclass, @classname)
  else
    @fcpp.printf("IMPLEMENT_%s_STUBS(%s,%s)\n", stubclass, @classname, @baseclass)
  end
end
implement_stubs(filename) click to toggle source
# File ext/fox16_c/make_impl.rb, line 80
def implement_stubs(filename)
  stubclass = filename.gsub('"', '').sub("FXRb", "FX")
  stubclass = stubclass.sub(/Virtuals\.h/, "").upcase
  unless $special_stubclasses.include? stubclass
    @finc.printf("DECLARE_%s_STUBS(%s)\n", stubclass, @baseclass)
  else
    @finc.printf("DECLARE_%s_STUBS(%s,%s)\n", stubclass, @baseclass, @classname)
  end
end
process_line(line) click to toggle source
# File ext/fox16_c/make_impl.rb, line 90
def process_line(line)
  if line =~ /^#include/
    words = line.split()
    incfile = words[1]
    implement_overrides(incfile)
    implement_stubs(incfile)
  end
end
start_class(classname, baseclass) click to toggle source
# File ext/fox16_c/make_impl.rb, line 59
def start_class(classname, baseclass)
  @classname = classname
  @baseclass = baseclass
  if classname == "FXRbScintilla"
    @fcpp.puts "#ifdef WITH_FXSCINTILLA\n\n"
    @finc.puts "#ifdef WITH_FXSCINTILLA\n\n"
  end
  @fcpp.printf("/* Start stub implementations for class %s */\n", classname)
  @finc.printf("/* Start stub declarations for class %s */\n", classname)
end