Sha256: 7841e139ecc49b78aa924576b7efc9f2ffe2880ee9ac46bad9a9d9fea48e1df2
Contents?: true
Size: 960 Bytes
Versions: 5
Compression:
Stored size: 960 Bytes
Contents
class DBEBootstrapChanges class << self def add(class_object, selector) @changes ||= [] @changes.push([class_object, selector, class_object.__source_for_selector(selector, :smalltalk)[0]]) end def undo_all_changes @changes ||= [] @redo_changes = [] @changes.each do |ch| @redo_changes.push([ch[0], ch[1], ch[0].__source_for_selector(ch[1], :smalltalk)[0]]) ch[0].__compile(ch[2]) end @changes = [] end def redo_all_changes @redo_changes.each do |ch| ch[0].__compile(ch[2]) end end end end # Save original method source that will be changed later DBEBootstrapChanges.add(AbstractException, :signalNotTrappable) # Change some Smalltalk methods Object.__evaluate_smalltalk(File.open("#{MaglevDatabaseExplorer.full_gem_path}/lib/maglev-database-explorer/database_views/smalltalk_classes.st", "r").read) DBEHalt = __resolve_smalltalk_global(:DBEHalt)
Version data entries
5 entries across 5 versions & 1 rubygems