more and meaningful tooltips

This commit is contained in:
Torsten Ruger
2015-08-10 22:29:49 +03:00
parent 8ed2a03ea9
commit 7b82ff31dd
5 changed files with 61 additions and 11 deletions

View File

@ -5,12 +5,28 @@ module Main
super(*args)
page._classes!.clear
all = []
Virtual.machine.space.classes.each do |name , claz|
next if [:Kernel,:Module,:MetaClass,:BinaryCode].index name
all << name
end
all.sort.each do |name|
c = Volt::Model.new :name => name
page._classes << c
end
end
def variables(clas_model)
self.variables(clas_model.name)
end
def self.variables(clas_name)
layout = Virtual.machine.space.get_class_by_name(clas_name).object_layout
vars = []
layout.object_instance_names.each do |name|
vars << name
end
vars
end
end
end

View File

@ -23,5 +23,25 @@ module Main
var.class.name.split("::").last[0,2]
end
def variables val
name = val.class.name.split("::").last
ClassesController.variables(name)
end
def content(id)
object = Virtual.machine.objects[id]
fields = []
if object and ! object.is_a?(String)
clazz = object.class.name.split("::").last
fields << "#{clazz}:#{object.internal_object_length}"
fields << "--------------------"
object.get_instance_variables.each do |variable|
f = object.get_instance_variable(variable)
fields << "#{f.class.name.split('::').last} : #{f.object_id}"
end
end
fields
end
end
end