43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/wwmd/viewstate/viewstate_deserializer_methods.rb', line 43
def sparse_array(t=nil)
typeref,typeval = self.deserialize_type
size = read_7bit_encoded_int
elems = read_7bit_encoded_int
dlog(t,"typeref = 0x#{typeref.to_s(16)} typeval = #{typeval} size = #{size} elems = #{elems}")
me = VSStubs::VSSparseArray.new(typeref,typeval,size,elems)
if elems > size
raise "Invalid sparse_array"
end
(1..elems).each do |i|
idx = read_7bit_encoded_int
me.add(idx,self.deserialize_value)
end
return me
end
|