Method: Rex::Java::Serialization::Model::NewClassDesc#decode

Defined in:
lib/rex/java/serialization/model/new_class_desc.rb

#decode(io) ⇒ self

Deserializes a Rex::Java::Serialization::Model::NewClassDesc

Parameters:

  • io (IO)

    the io to read from

Returns:

  • (self)

    if deserialization succeeds

Raises:



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/rex/java/serialization/model/new_class_desc.rb', line 47

def decode(io)
  self.class_name = Utf.decode(io, stream)
  self.serial_version = decode_serial_version(io)
  stream.add_reference(self) unless stream.nil?
  self.flags = decode_flags(io)
  fields_length = decode_fields_length(io)
  fields_length.times do
    field = Field.decode(io, stream)
    self.fields << field
  end

  self.class_annotation = Annotation.decode(io, stream)
  self.super_class = ClassDesc.decode(io, stream)

  self
end