class Metasm::DEX::CodeItem

Attributes

catch_items[RW]
insns_off[RW]
try_items[RW]

Public Instance Methods

decode(exe) click to toggle source
Calls superclass method Metasm::SerialStruct#decode
# File metasm/exe_format/dex.rb, line 222
def decode(exe)
        p0 = exe.encoded.ptr
        super(exe)
        @insns_off = exe.encoded.ptr - p0
        exe.encoded.ptr += 2*@insnssz
        return if @triessz <= 0
        exe.decode_u2 if @insnssz & 1 == 1   # align
        @try_items = (1..@triessz).map { Try.decode(exe) }
        stptr = exe.encoded.ptr
        hnr = exe.decode_uleb
        @catch_items = (1..hnr).map { CatchHandler.decode(exe, exe.encoded.ptr - stptr) }
end