ShareElfFile$SectionHeader.smali
.class public Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/tencent/tinker/loader/shareutil/ShareElfFile;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "SectionHeader"
.end annotation
# static fields
.field public static final SHF_ALLOC:I = 0x2
.field public static final SHF_EXECINSTR:I = 0x4
.field public static final SHF_MASKPROC:I = -0x10000000
.field public static final SHF_WRITE:I = 0x1
.field public static final SHN_ABS:I = 0xfff1
.field public static final SHN_COMMON:I = 0xfff2
.field public static final SHN_HIPROC:I = 0xff1f
.field public static final SHN_HIRESERVE:I = 0xffff
.field public static final SHN_LOPROC:I = 0xff00
.field public static final SHN_LORESERVE:I = 0xff00
.field public static final SHN_UNDEF:I = 0x0
.field public static final SHT_DYNAMIC:I = 0x6
.field public static final SHT_DYNSYM:I = 0xb
.field public static final SHT_HASH:I = 0x5
.field public static final SHT_HIPROC:I = 0x7fffffff
.field public static final SHT_HIUSER:I = -0x1
.field public static final SHT_LOPROC:I = 0x70000000
.field public static final SHT_LOUSER:I = -0x80000000
.field public static final SHT_NOBITS:I = 0x8
.field public static final SHT_NOTE:I = 0x7
.field public static final SHT_NULL:I = 0x0
.field public static final SHT_PROGBITS:I = 0x1
.field public static final SHT_REL:I = 0x9
.field public static final SHT_RELA:I = 0x4
.field public static final SHT_SHLIB:I = 0xa
.field public static final SHT_STRTAB:I = 0x3
.field public static final SHT_SYMTAB:I = 0x2
# instance fields
.field public final shAddr:J
.field public final shAddrAlign:J
.field public final shEntSize:J
.field public final shFlags:J
.field public final shInfo:I
.field public final shLink:I
.field public final shName:I
.field public shNameStr:Ljava/lang/String;
.field public final shOffset:J
.field public final shSize:J
.field public final shType:I
# direct methods
.method private constructor <init>(Ljava/nio/ByteBuffer;I)V
.registers 6
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
packed-switch p2, :pswitch_data_a4
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v2, "Unexpected elf class: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:pswitch_20
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
iput v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shName:I
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
iput v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shType:I
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
int-to-long v0, v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shFlags:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
int-to-long v0, v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shAddr:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
int-to-long v0, v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shOffset:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
int-to-long v0, v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shSize:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
iput v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shLink:I
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
iput v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shInfo:I
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
int-to-long v0, v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shAddrAlign:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
int-to-long v0, v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shEntSize:J
:goto_62
const/4 v0, 0x0
iput-object v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shNameStr:Ljava/lang/String;
return-void
:pswitch_66
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
iput v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shName:I
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
iput v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shType:I
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getLong()J
move-result-wide v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shFlags:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getLong()J
move-result-wide v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shAddr:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getLong()J
move-result-wide v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shOffset:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getLong()J
move-result-wide v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shSize:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
iput v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shLink:I
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
iput v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shInfo:I
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getLong()J
move-result-wide v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shAddrAlign:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->getLong()J
move-result-wide v0
iput-wide v0, p0, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;->shEntSize:J
goto :goto_62
nop
:pswitch_data_a4
.packed-switch 0x1
:pswitch_20
:pswitch_66
.end packed-switch
.end method
.method synthetic constructor <init>(Ljava/nio/ByteBuffer;ILcom/tencent/tinker/loader/shareutil/ShareElfFile$1;)V
.registers 4
invoke-direct {p0, p1, p2}, Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;-><init>(Ljava/nio/ByteBuffer;I)V
return-void
.end method