def initialize(_classname)
info = __classinfo(_classname)
@jclassname = _classname
@jinterfaces = []
@jfields = Hash.new
@jmethods = Hash.new
@protected_jmethods = Hash.new
_superclass = nil
mode = nil
info.each{|i|
case i
when "====Superclass"
mode = :superclass
when "====Interfaces"
mode = :interfaces
when "====Field"
mode = :fields
when "====PublicMethod"
mode = :methods
when "====ProtectedMethod"
mode = :protected_methods
else
case mode
when :superclass
_superclass = i
when :interfaces
@jinterfaces << @@class_repository.get_classinfo(i)
when :fields
@jfields[i] = :t
when :methods
@jmethods[i] = :t
when :protected_methods
@protected_jmethods[i] = :t
end
end
}
if _superclass then
@jsuperclass = @@class_repository.get_classinfo(_superclass)
else
@jsuperclass = nil
end
@public_jmethods = @jmethods.keys
@public_jmethods |= @jsuperclass.get_accessible_methods if @jsuperclass
@jinterfaces.each {|i| @public_jmethods |= i.get_accessible_methods }
end