def to_s
begin
if self.pointer.null?
return "#<NULL %s:%#.x>"%[self.class.name, self.object_id]
end
rescue NoMethodError
end
mems = members.collect{ |m|
unless self.class.hidden?( m )
val = self.send(m)
if val.nil? or (val.is_a? FFI::Pointer and val.null?)
val = "NULL"
elsif val.kind_of? FFI::Struct
val = "#<#{val.class}:%#.x>"%val.object_id
end
"@#{m}=#{val}"
end
}.compact.join(", ")
if( mems == "" )
return "#<%s:%#.x>"%[self.class.name, self.object_id]
else
return "#<%s:%#.x %s>"%[self.class.name, self.object_id, mems]
end
end