MessageAdapter.smali
.class final Lcom/squareup/wire/MessageAdapter;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/squareup/wire/MessageAdapter$ImmutableList;,
Lcom/squareup/wire/MessageAdapter$Storage;,
Lcom/squareup/wire/MessageAdapter$FieldInfo;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<M:",
"Lcom/squareup/wire/Message;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field private static final FULL_BLOCK:Ljava/lang/String; = "\u2588"
.field private static final REDACTED:Ljava/lang/String; = "\u2588\u2588"
# instance fields
.field private final builderType:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class<",
"Lcom/squareup/wire/Message$Builder<",
"TM;>;>;"
}
.end annotation
.end field
.field private final fieldInfoMap:Lcom/squareup/wire/TagMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/squareup/wire/TagMap<",
"Lcom/squareup/wire/MessageAdapter$FieldInfo;",
">;"
}
.end annotation
.end field
.field private final messageType:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class<",
"TM;>;"
}
.end annotation
.end field
.field private final tagMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private final wire:Lcom/squareup/wire/Wire;
# direct methods
.method public constructor <init>(Lcom/squareup/wire/Wire;Ljava/lang/Class;)V
.registers 22
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/squareup/wire/Wire;",
"Ljava/lang/Class<",
"TM;>;)V"
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v1, p2
.line 1
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v2, Ljava/util/LinkedHashMap;
invoke-direct {v2}, Ljava/util/LinkedHashMap;-><init>()V
iput-object v2, v0, Lcom/squareup/wire/MessageAdapter;->tagMap:Ljava/util/Map;
move-object/from16 v2, p1
.line 3
iput-object v2, v0, Lcom/squareup/wire/MessageAdapter;->wire:Lcom/squareup/wire/Wire;
.line 4
iput-object v1, v0, Lcom/squareup/wire/MessageAdapter;->messageType:Ljava/lang/Class;
.line 5
invoke-direct {v0, v1}, Lcom/squareup/wire/MessageAdapter;->getBuilderType(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v2
iput-object v2, v0, Lcom/squareup/wire/MessageAdapter;->builderType:Ljava/lang/Class;
.line 6
new-instance v2, Ljava/util/LinkedHashMap;
invoke-direct {v2}, Ljava/util/LinkedHashMap;-><init>()V
.line 7
invoke-virtual/range {p2 .. p2}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v1
array-length v3, v1
const/4 v4, 0x0
:goto_25
if-ge v4, v3, :cond_99
aget-object v12, v1, v4
.line 8
const-class v5, Lcom/squareup/wire/ProtoField;
invoke-virtual {v12, v5}, Ljava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v5
check-cast v5, Lcom/squareup/wire/ProtoField;
if-eqz v5, :cond_8e
.line 9
invoke-interface {v5}, Lcom/squareup/wire/ProtoField;->tag()I
move-result v6
.line 10
invoke-virtual {v12}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v7
.line 11
iget-object v8, v0, Lcom/squareup/wire/MessageAdapter;->tagMap:Ljava/util/Map;
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v9
invoke-interface {v8, v7, v9}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const/4 v8, 0x0
.line 12
invoke-interface {v5}, Lcom/squareup/wire/ProtoField;->type()Lcom/squareup/wire/Message$Datatype;
move-result-object v9
.line 13
sget-object v10, Lcom/squareup/wire/Message$Datatype;->ENUM:Lcom/squareup/wire/Message$Datatype;
if-ne v9, v10, :cond_52
.line 14
invoke-direct {v0, v12}, Lcom/squareup/wire/MessageAdapter;->getEnumType(Ljava/lang/reflect/Field;)Ljava/lang/Class;
move-result-object v8
goto :goto_5a
.line 15
:cond_52
sget-object v10, Lcom/squareup/wire/Message$Datatype;->MESSAGE:Lcom/squareup/wire/Message$Datatype;
if-ne v9, v10, :cond_5a
.line 16
invoke-direct {v0, v12}, Lcom/squareup/wire/MessageAdapter;->getMessageType(Ljava/lang/reflect/Field;)Ljava/lang/Class;
move-result-object v8
:cond_5a
:goto_5a
move-object v11, v8
.line 17
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v15
new-instance v14, Lcom/squareup/wire/MessageAdapter$FieldInfo;
invoke-interface {v5}, Lcom/squareup/wire/ProtoField;->label()Lcom/squareup/wire/Message$Label;
move-result-object v10
invoke-interface {v5}, Lcom/squareup/wire/ProtoField;->redacted()Z
move-result v13
.line 18
invoke-direct {v0, v7}, Lcom/squareup/wire/MessageAdapter;->getBuilderField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v16
.line 19
invoke-virtual {v12}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v5
invoke-direct {v0, v7, v5}, Lcom/squareup/wire/MessageAdapter;->getBuilderMethod(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v17
const/16 v18, 0x0
move-object v5, v14
move-object v8, v9
move-object v9, v10
move v10, v13
move-object/from16 v13, v16
move-object/from16 p1, v1
move-object v1, v14
move-object/from16 v14, v17
move/from16 v16, v3
move-object v3, v15
move-object/from16 v15, v18
invoke-direct/range {v5 .. v15}, Lcom/squareup/wire/MessageAdapter$FieldInfo;-><init>(ILjava/lang/String;Lcom/squareup/wire/Message$Datatype;Lcom/squareup/wire/Message$Label;ZLjava/lang/Class;Ljava/lang/reflect/Field;Ljava/lang/reflect/Field;Ljava/lang/reflect/Method;Lcom/squareup/wire/MessageAdapter$1;)V
.line 20
invoke-interface {v2, v3, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_92
:cond_8e
move-object/from16 p1, v1
move/from16 v16, v3
:goto_92
add-int/lit8 v4, v4, 0x1
move-object/from16 v1, p1
move/from16 v3, v16
goto :goto_25
.line 21
:cond_99
invoke-static {v2}, Lcom/squareup/wire/TagMap;->of(Ljava/util/Map;)Lcom/squareup/wire/TagMap;
move-result-object v1
iput-object v1, v0, Lcom/squareup/wire/MessageAdapter;->fieldInfoMap:Lcom/squareup/wire/TagMap;
return-void
.end method
.method private getBuilderField(Ljava/lang/String;)Ljava/lang/reflect/Field;
.registers 5
.line 1
:try_start_0
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->builderType:Ljava/lang/Class;
invoke-virtual {v0, p1}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object p1
:try_end_6
.catch Ljava/lang/NoSuchFieldException; {:try_start_0 .. :try_end_6} :catch_7
return-object p1
.line 2
:catch_7
new-instance v0, Ljava/lang/AssertionError;
const-string v1, "No builder field "
.line 3
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 4
iget-object v2, p0, Lcom/squareup/wire/MessageAdapter;->builderType:Ljava/lang/Class;
invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw v0
.end method
.method private getBuilderMethod(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"*>;)",
"Ljava/lang/reflect/Method;"
}
.end annotation
.line 1
:try_start_0
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->builderType:Ljava/lang/Class;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Class;
const/4 v2, 0x0
aput-object p2, v1, v2
invoke-virtual {v0, p1, v1}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object p1
:try_end_c
.catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_c} :catch_d
return-object p1
.line 2
:catch_d
new-instance v0, Ljava/lang/AssertionError;
const-string v1, "No builder method "
.line 3
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 4
iget-object v2, p0, Lcom/squareup/wire/MessageAdapter;->builderType:Ljava/lang/Class;
invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "("
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, ")"
.line 5
invoke-static {p2, v1, p1}, Landroidx/core/graphics/f;->c(Ljava/lang/Class;Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 6
invoke-direct {v0, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw v0
.end method
.method private getBuilderType(Ljava/lang/Class;)Ljava/lang/Class;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"TM;>;)",
"Ljava/lang/Class<",
"Lcom/squareup/wire/Message$Builder<",
"TM;>;>;"
}
.end annotation
.line 1
:try_start_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "$Builder"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object p1
:try_end_19
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_19} :catch_1a
return-object p1
.line 2
:catch_1a
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "No builder class found for message type "
.line 3
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 4
invoke-static {p1, v1}, Landroidx/appcompat/view/f;->c(Ljava/lang/Class;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p1
.line 5
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private getEnumAdapter(I)Lcom/squareup/wire/EnumAdapter;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Lcom/squareup/wire/EnumAdapter<",
"+",
"Lcom/squareup/wire/ProtoEnum;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->fieldInfoMap:Lcom/squareup/wire/TagMap;
invoke-virtual {v0, p1}, Lcom/squareup/wire/TagMap;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/squareup/wire/MessageAdapter$FieldInfo;
if-eqz v0, :cond_f
.line 2
iget-object v1, v0, Lcom/squareup/wire/MessageAdapter$FieldInfo;->enumAdapter:Lcom/squareup/wire/EnumAdapter;
if-eqz v1, :cond_f
return-object v1
.line 3
:cond_f
iget-object v1, p0, Lcom/squareup/wire/MessageAdapter;->wire:Lcom/squareup/wire/Wire;
invoke-direct {p0, p1}, Lcom/squareup/wire/MessageAdapter;->getEnumClass(I)Ljava/lang/Class;
move-result-object p1
invoke-virtual {v1, p1}, Lcom/squareup/wire/Wire;->enumAdapter(Ljava/lang/Class;)Lcom/squareup/wire/EnumAdapter;
move-result-object p1
if-eqz v0, :cond_1d
.line 4
iput-object p1, v0, Lcom/squareup/wire/MessageAdapter$FieldInfo;->enumAdapter:Lcom/squareup/wire/EnumAdapter;
:cond_1d
return-object p1
.end method
.method private getEnumClass(I)Ljava/lang/Class;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Ljava/lang/Class<",
"+",
"Lcom/squareup/wire/ProtoEnum;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->fieldInfoMap:Lcom/squareup/wire/TagMap;
invoke-virtual {v0, p1}, Lcom/squareup/wire/TagMap;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/squareup/wire/MessageAdapter$FieldInfo;
if-nez v0, :cond_c
const/4 v0, 0x0
goto :goto_e
.line 2
:cond_c
iget-object v0, v0, Lcom/squareup/wire/MessageAdapter$FieldInfo;->enumType:Ljava/lang/Class;
:goto_e
if-nez v0, :cond_1a
.line 3
invoke-direct {p0, p1}, Lcom/squareup/wire/MessageAdapter;->getExtension(I)Lcom/squareup/wire/Extension;
move-result-object p1
if-eqz p1, :cond_1a
.line 4
invoke-virtual {p1}, Lcom/squareup/wire/Extension;->getEnumType()Ljava/lang/Class;
move-result-object v0
:cond_1a
return-object v0
.end method
.method private getEnumSize(Lcom/squareup/wire/ProtoEnum;)I
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<E::",
"Lcom/squareup/wire/ProtoEnum;",
">(TE;)I"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->wire:Lcom/squareup/wire/Wire;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/squareup/wire/Wire;->enumAdapter(Ljava/lang/Class;)Lcom/squareup/wire/EnumAdapter;
move-result-object v0
.line 2
invoke-virtual {v0, p1}, Lcom/squareup/wire/EnumAdapter;->toInt(Lcom/squareup/wire/ProtoEnum;)I
move-result p1
invoke-static {p1}, Lcom/squareup/wire/WireOutput;->varint32Size(I)I
move-result p1
return p1
.end method
.method private getEnumType(Ljava/lang/reflect/Field;)Ljava/lang/Class;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/reflect/Field;",
")",
"Ljava/lang/Class<",
"+",
"Ljava/lang/Enum;",
">;"
}
.end annotation
.line 1
invoke-virtual {p1}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v0
.line 2
const-class v1, Ljava/lang/Enum;
invoke-virtual {v1, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_d
return-object v0
.line 3
:cond_d
const-class v1, Ljava/util/List;
invoke-virtual {v1, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_22
.line 4
const-class v0, Lcom/squareup/wire/ProtoField;
invoke-virtual {p1, v0}, Ljava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object p1
check-cast p1, Lcom/squareup/wire/ProtoField;
invoke-interface {p1}, Lcom/squareup/wire/ProtoField;->enumType()Ljava/lang/Class;
move-result-object p1
return-object p1
:cond_22
const/4 p1, 0x0
return-object p1
.end method
.method private getExtension(I)Lcom/squareup/wire/Extension;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Lcom/squareup/wire/Extension<",
"Lcom/squareup/wire/ExtendableMessage<",
"*>;*>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->wire:Lcom/squareup/wire/Wire;
iget-object v0, v0, Lcom/squareup/wire/Wire;->registry:Lcom/squareup/wire/ExtensionRegistry;
if-nez v0, :cond_8
const/4 p1, 0x0
goto :goto_e
.line 2
:cond_8
iget-object v1, p0, Lcom/squareup/wire/MessageAdapter;->messageType:Ljava/lang/Class;
.line 3
invoke-virtual {v0, v1, p1}, Lcom/squareup/wire/ExtensionRegistry;->getExtension(Ljava/lang/Class;I)Lcom/squareup/wire/Extension;
move-result-object p1
:goto_e
return-object p1
.end method
.method private getExtensionsSerializedSize(Lcom/squareup/wire/ExtensionMap;)I
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Lcom/squareup/wire/ExtendableMessage<",
"*>;>(",
"Lcom/squareup/wire/ExtensionMap<",
"TT;>;)I"
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
.line 1
:goto_2
invoke-virtual {p1}, Lcom/squareup/wire/ExtensionMap;->size()I
move-result v2
if-ge v0, v2, :cond_3e
.line 2
invoke-virtual {p1, v0}, Lcom/squareup/wire/ExtensionMap;->getExtension(I)Lcom/squareup/wire/Extension;
move-result-object v2
.line 3
invoke-virtual {p1, v0}, Lcom/squareup/wire/ExtensionMap;->getExtensionValue(I)Ljava/lang/Object;
move-result-object v3
.line 4
invoke-virtual {v2}, Lcom/squareup/wire/Extension;->getTag()I
move-result v4
.line 5
invoke-virtual {v2}, Lcom/squareup/wire/Extension;->getDatatype()Lcom/squareup/wire/Message$Datatype;
move-result-object v5
.line 6
invoke-virtual {v2}, Lcom/squareup/wire/Extension;->getLabel()Lcom/squareup/wire/Message$Label;
move-result-object v2
.line 7
invoke-virtual {v2}, Lcom/squareup/wire/Message$Label;->isRepeated()Z
move-result v6
if-eqz v6, :cond_36
.line 8
invoke-virtual {v2}, Lcom/squareup/wire/Message$Label;->isPacked()Z
move-result v2
if-eqz v2, :cond_2f
.line 9
check-cast v3, Ljava/util/List;
invoke-direct {p0, v3, v4, v5}, Lcom/squareup/wire/MessageAdapter;->getPackedSize(Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)I
move-result v2
goto :goto_3a
.line 10
:cond_2f
check-cast v3, Ljava/util/List;
invoke-direct {p0, v3, v4, v5}, Lcom/squareup/wire/MessageAdapter;->getRepeatedSize(Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)I
move-result v2
goto :goto_3a
.line 11
:cond_36
invoke-direct {p0, v4, v3, v5}, Lcom/squareup/wire/MessageAdapter;->getSerializedSize(ILjava/lang/Object;Lcom/squareup/wire/Message$Datatype;)I
move-result v2
:goto_3a
add-int/2addr v1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_2
:cond_3e
return v1
.end method
.method private getMessageAdapter(I)Lcom/squareup/wire/MessageAdapter;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Lcom/squareup/wire/MessageAdapter<",
"+",
"Lcom/squareup/wire/Message;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->fieldInfoMap:Lcom/squareup/wire/TagMap;
invoke-virtual {v0, p1}, Lcom/squareup/wire/TagMap;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/squareup/wire/MessageAdapter$FieldInfo;
if-eqz v0, :cond_f
.line 2
iget-object v1, v0, Lcom/squareup/wire/MessageAdapter$FieldInfo;->messageAdapter:Lcom/squareup/wire/MessageAdapter;
if-eqz v1, :cond_f
return-object v1
.line 3
:cond_f
iget-object v1, p0, Lcom/squareup/wire/MessageAdapter;->wire:Lcom/squareup/wire/Wire;
invoke-direct {p0, p1}, Lcom/squareup/wire/MessageAdapter;->getMessageClass(I)Ljava/lang/Class;
move-result-object p1
invoke-virtual {v1, p1}, Lcom/squareup/wire/Wire;->messageAdapter(Ljava/lang/Class;)Lcom/squareup/wire/MessageAdapter;
move-result-object p1
if-eqz v0, :cond_1d
.line 4
iput-object p1, v0, Lcom/squareup/wire/MessageAdapter$FieldInfo;->messageAdapter:Lcom/squareup/wire/MessageAdapter;
:cond_1d
return-object p1
.end method
.method private getMessageClass(I)Ljava/lang/Class;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Ljava/lang/Class<",
"Lcom/squareup/wire/Message;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->fieldInfoMap:Lcom/squareup/wire/TagMap;
invoke-virtual {v0, p1}, Lcom/squareup/wire/TagMap;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/squareup/wire/MessageAdapter$FieldInfo;
if-nez v0, :cond_c
const/4 v0, 0x0
goto :goto_e
.line 2
:cond_c
iget-object v0, v0, Lcom/squareup/wire/MessageAdapter$FieldInfo;->messageType:Ljava/lang/Class;
:goto_e
if-nez v0, :cond_1a
.line 3
invoke-direct {p0, p1}, Lcom/squareup/wire/MessageAdapter;->getExtension(I)Lcom/squareup/wire/Extension;
move-result-object p1
if-eqz p1, :cond_1a
.line 4
invoke-virtual {p1}, Lcom/squareup/wire/Extension;->getMessageType()Ljava/lang/Class;
move-result-object v0
:cond_1a
return-object v0
.end method
.method private getMessageSize(Lcom/squareup/wire/Message;)I
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<MM:",
"Lcom/squareup/wire/Message;",
">(TMM;)I"
}
.end annotation
.line 1
invoke-virtual {p1}, Lcom/squareup/wire/Message;->getSerializedSize()I
move-result p1
.line 2
invoke-static {p1}, Lcom/squareup/wire/WireOutput;->varint32Size(I)I
move-result v0
add-int/2addr v0, p1
return v0
.end method
.method private getMessageType(Ljava/lang/reflect/Field;)Ljava/lang/Class;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/reflect/Field;",
")",
"Ljava/lang/Class<",
"+",
"Lcom/squareup/wire/Message;",
">;"
}
.end annotation
.line 1
invoke-virtual {p1}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v0
.line 2
const-class v1, Lcom/squareup/wire/Message;
invoke-virtual {v1, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_d
return-object v0
.line 3
:cond_d
const-class v1, Ljava/util/List;
invoke-virtual {v1, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_22
.line 4
const-class v0, Lcom/squareup/wire/ProtoField;
invoke-virtual {p1, v0}, Ljava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object p1
check-cast p1, Lcom/squareup/wire/ProtoField;
invoke-interface {p1}, Lcom/squareup/wire/ProtoField;->messageType()Ljava/lang/Class;
move-result-object p1
return-object p1
:cond_22
const/4 p1, 0x0
return-object p1
.end method
.method private getPackedSize(Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)I
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"*>;I",
"Lcom/squareup/wire/Message$Datatype;",
")I"
}
.end annotation
.line 1
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
const/4 v0, 0x0
:goto_5
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_15
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
.line 2
invoke-direct {p0, v1, p3}, Lcom/squareup/wire/MessageAdapter;->getSerializedSizeNoTag(Ljava/lang/Object;Lcom/squareup/wire/Message$Datatype;)I
move-result v1
add-int/2addr v0, v1
goto :goto_5
.line 3
:cond_15
sget-object p1, Lcom/squareup/wire/WireType;->LENGTH_DELIMITED:Lcom/squareup/wire/WireType;
invoke-static {p2, p1}, Lcom/squareup/wire/WireOutput;->makeTag(ILcom/squareup/wire/WireType;)I
move-result p1
invoke-static {p1}, Lcom/squareup/wire/WireOutput;->varint32Size(I)I
move-result p1
.line 4
invoke-static {v0}, Lcom/squareup/wire/WireOutput;->varint32Size(I)I
move-result p2
add-int/2addr p2, p1
add-int/2addr p2, v0
return p2
.end method
.method private getRepeatedSize(Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)I
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"*>;I",
"Lcom/squareup/wire/Message$Datatype;",
")I"
}
.end annotation
.line 1
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
const/4 v0, 0x0
:goto_5
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_15
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
.line 2
invoke-direct {p0, p2, v1, p3}, Lcom/squareup/wire/MessageAdapter;->getSerializedSize(ILjava/lang/Object;Lcom/squareup/wire/Message$Datatype;)I
move-result v1
add-int/2addr v0, v1
goto :goto_5
:cond_15
return v0
.end method
.method private getSerializedSize(ILjava/lang/Object;Lcom/squareup/wire/Message$Datatype;)I
.registers 4
.line 16
invoke-static {p1}, Lcom/squareup/wire/WireOutput;->varintTagSize(I)I
move-result p1
invoke-direct {p0, p2, p3}, Lcom/squareup/wire/MessageAdapter;->getSerializedSizeNoTag(Ljava/lang/Object;Lcom/squareup/wire/Message$Datatype;)I
move-result p2
add-int/2addr p1, p2
return p1
.end method
.method private getSerializedSizeNoTag(Ljava/lang/Object;Lcom/squareup/wire/Message$Datatype;)I
.registers 4
.line 1
sget-object v0, Lcom/squareup/wire/MessageAdapter$1;->$SwitchMap$com$squareup$wire$Message$Datatype:[I
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
aget p2, v0, p2
packed-switch p2, :pswitch_data_7c
.line 2
new-instance p1, Ljava/lang/RuntimeException;
invoke-direct {p1}, Ljava/lang/RuntimeException;-><init>()V
throw p1
:pswitch_11
const/16 p1, 0x8
return p1
:pswitch_14
const/4 p1, 0x4
return p1
.line 3
:pswitch_16
check-cast p1, Lcom/squareup/wire/Message;
invoke-direct {p0, p1}, Lcom/squareup/wire/MessageAdapter;->getMessageSize(Lcom/squareup/wire/Message;)I
move-result p1
return p1
.line 4
:pswitch_1d
check-cast p1, Lokio/e;
invoke-virtual {p1}, Lokio/e;->r()I
move-result p1
.line 5
invoke-static {p1}, Lcom/squareup/wire/WireOutput;->varint32Size(I)I
move-result p2
:goto_27
add-int/2addr p2, p1
return p2
.line 6
:pswitch_29
check-cast p1, Ljava/lang/String;
invoke-direct {p0, p1}, Lcom/squareup/wire/MessageAdapter;->utf8Length(Ljava/lang/String;)I
move-result p1
.line 7
invoke-static {p1}, Lcom/squareup/wire/WireOutput;->varint32Size(I)I
move-result p2
goto :goto_27
.line 8
:pswitch_34
check-cast p1, Lcom/squareup/wire/ProtoEnum;
invoke-direct {p0, p1}, Lcom/squareup/wire/MessageAdapter;->getEnumSize(Lcom/squareup/wire/ProtoEnum;)I
move-result p1
return p1
:pswitch_3b
const/4 p1, 0x1
return p1
.line 9
:pswitch_3d
check-cast p1, Ljava/lang/Long;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide p1
invoke-static {p1, p2}, Lcom/squareup/wire/WireOutput;->zigZag64(J)J
move-result-wide p1
invoke-static {p1, p2}, Lcom/squareup/wire/WireOutput;->varint64Size(J)I
move-result p1
return p1
.line 10
:pswitch_4c
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
invoke-static {p1}, Lcom/squareup/wire/WireOutput;->zigZag32(I)I
move-result p1
invoke-static {p1}, Lcom/squareup/wire/WireOutput;->varint32Size(I)I
move-result p1
return p1
.line 11
:pswitch_5b
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
invoke-static {p1}, Lcom/squareup/wire/WireOutput;->varint32Size(I)I
move-result p1
return p1
.line 12
:pswitch_66
check-cast p1, Ljava/lang/Long;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide p1
invoke-static {p1, p2}, Lcom/squareup/wire/WireOutput;->varint64Size(J)I
move-result p1
return p1
.line 13
:pswitch_71
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
invoke-static {p1}, Lcom/squareup/wire/WireOutput;->int32Size(I)I
move-result p1
return p1
:pswitch_data_7c
.packed-switch 0x1
:pswitch_71
:pswitch_66
:pswitch_66
:pswitch_5b
:pswitch_4c
:pswitch_3d
:pswitch_3b
:pswitch_34
:pswitch_29
:pswitch_1d
:pswitch_16
:pswitch_14
:pswitch_14
:pswitch_14
:pswitch_11
:pswitch_11
:pswitch_11
.end packed-switch
.end method
.method private readMessage(Lcom/squareup/wire/WireInput;I)Lcom/squareup/wire/Message;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readVarint32()I
move-result v0
.line 2
iget v1, p1, Lcom/squareup/wire/WireInput;->recursionDepth:I
const/16 v2, 0x40
if-ge v1, v2, :cond_2a
.line 3
invoke-virtual {p1, v0}, Lcom/squareup/wire/WireInput;->pushLimit(I)I
move-result v0
.line 4
iget v1, p1, Lcom/squareup/wire/WireInput;->recursionDepth:I
add-int/lit8 v1, v1, 0x1
iput v1, p1, Lcom/squareup/wire/WireInput;->recursionDepth:I
.line 5
invoke-direct {p0, p2}, Lcom/squareup/wire/MessageAdapter;->getMessageAdapter(I)Lcom/squareup/wire/MessageAdapter;
move-result-object p2
.line 6
invoke-virtual {p2, p1}, Lcom/squareup/wire/MessageAdapter;->read(Lcom/squareup/wire/WireInput;)Lcom/squareup/wire/Message;
move-result-object p2
const/4 v1, 0x0
.line 7
invoke-virtual {p1, v1}, Lcom/squareup/wire/WireInput;->checkLastTagWas(I)V
.line 8
iget v1, p1, Lcom/squareup/wire/WireInput;->recursionDepth:I
add-int/lit8 v1, v1, -0x1
iput v1, p1, Lcom/squareup/wire/WireInput;->recursionDepth:I
.line 9
invoke-virtual {p1, v0}, Lcom/squareup/wire/WireInput;->popLimit(I)V
return-object p2
.line 10
:cond_2a
new-instance p1, Ljava/io/IOException;
const-string p2, "Wire recursion limit exceeded"
invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method private readUnknownField(Lcom/squareup/wire/Message$Builder;Lcom/squareup/wire/WireInput;ILcom/squareup/wire/WireType;)V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
sget-object v0, Lcom/squareup/wire/MessageAdapter$1;->$SwitchMap$com$squareup$wire$WireType:[I
invoke-virtual {p4}, Ljava/lang/Enum;->ordinal()I
move-result v1
aget v0, v0, v1
packed-switch v0, :pswitch_data_66
.line 2
new-instance p1, Ljava/lang/RuntimeException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string p3, "Unsupported wire type: "
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p1
.line 3
:pswitch_22
invoke-virtual {p2}, Lcom/squareup/wire/WireInput;->skipGroup()V
goto :goto_65
.line 4
:pswitch_26
invoke-virtual {p2}, Lcom/squareup/wire/WireInput;->readVarint32()I
move-result p4
.line 5
invoke-virtual {p1}, Lcom/squareup/wire/Message$Builder;->ensureUnknownFieldMap()Lcom/squareup/wire/UnknownFieldMap;
move-result-object p1
invoke-virtual {p2, p4}, Lcom/squareup/wire/WireInput;->readBytes(I)Lokio/e;
move-result-object p2
invoke-virtual {p1, p3, p2}, Lcom/squareup/wire/UnknownFieldMap;->addLengthDelimited(ILokio/e;)V
goto :goto_65
.line 6
:pswitch_36
invoke-virtual {p1}, Lcom/squareup/wire/Message$Builder;->ensureUnknownFieldMap()Lcom/squareup/wire/UnknownFieldMap;
move-result-object p1
invoke-virtual {p2}, Lcom/squareup/wire/WireInput;->readFixed64()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p2
invoke-virtual {p1, p3, p2}, Lcom/squareup/wire/UnknownFieldMap;->addFixed64(ILjava/lang/Long;)V
goto :goto_65
.line 7
:pswitch_46
invoke-virtual {p1}, Lcom/squareup/wire/Message$Builder;->ensureUnknownFieldMap()Lcom/squareup/wire/UnknownFieldMap;
move-result-object p1
invoke-virtual {p2}, Lcom/squareup/wire/WireInput;->readFixed32()I
move-result p2
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
invoke-virtual {p1, p3, p2}, Lcom/squareup/wire/UnknownFieldMap;->addFixed32(ILjava/lang/Integer;)V
goto :goto_65
.line 8
:pswitch_56
invoke-virtual {p1}, Lcom/squareup/wire/Message$Builder;->ensureUnknownFieldMap()Lcom/squareup/wire/UnknownFieldMap;
move-result-object p1
invoke-virtual {p2}, Lcom/squareup/wire/WireInput;->readVarint64()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p2
invoke-virtual {p1, p3, p2}, Lcom/squareup/wire/UnknownFieldMap;->addVarint(ILjava/lang/Long;)V
:goto_65
:pswitch_65
return-void
:pswitch_data_66
.packed-switch 0x1
:pswitch_56
:pswitch_46
:pswitch_36
:pswitch_26
:pswitch_22
:pswitch_65
.end packed-switch
.end method
.method private readValue(Lcom/squareup/wire/WireInput;ILcom/squareup/wire/Message$Datatype;)Ljava/lang/Object;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
sget-object v0, Lcom/squareup/wire/MessageAdapter$1;->$SwitchMap$com$squareup$wire$Message$Datatype:[I
invoke-virtual {p3}, Ljava/lang/Enum;->ordinal()I
move-result p3
aget p3, v0, p3
packed-switch p3, :pswitch_data_98
.line 2
new-instance p1, Ljava/lang/RuntimeException;
invoke-direct {p1}, Ljava/lang/RuntimeException;-><init>()V
throw p1
.line 3
:pswitch_11
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readFixed64()J
move-result-wide p1
invoke-static {p1, p2}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide p1
invoke-static {p1, p2}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p1
return-object p1
.line 4
:pswitch_1e
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readFixed64()J
move-result-wide p1
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
return-object p1
.line 5
:pswitch_27
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readFixed32()I
move-result p1
invoke-static {p1}, Ljava/lang/Float;->intBitsToFloat(I)F
move-result p1
invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object p1
return-object p1
.line 6
:pswitch_34
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readFixed32()I
move-result p1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
.line 7
:pswitch_3d
invoke-direct {p0, p1, p2}, Lcom/squareup/wire/MessageAdapter;->readMessage(Lcom/squareup/wire/WireInput;I)Lcom/squareup/wire/Message;
move-result-object p1
return-object p1
.line 8
:pswitch_42
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readBytes()Lokio/e;
move-result-object p1
return-object p1
.line 9
:pswitch_47
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readString()Ljava/lang/String;
move-result-object p1
return-object p1
.line 10
:pswitch_4c
invoke-direct {p0, p2}, Lcom/squareup/wire/MessageAdapter;->getEnumAdapter(I)Lcom/squareup/wire/EnumAdapter;
move-result-object p2
.line 11
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readVarint32()I
move-result p1
.line 12
:try_start_54
invoke-virtual {p2, p1}, Lcom/squareup/wire/EnumAdapter;->fromInt(I)Lcom/squareup/wire/ProtoEnum;
move-result-object p1
:try_end_58
.catch Ljava/lang/IllegalArgumentException; {:try_start_54 .. :try_end_58} :catch_59
return-object p1
.line 13
:catch_59
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
.line 14
:pswitch_5e
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readVarint32()I
move-result p1
if-eqz p1, :cond_66
const/4 p1, 0x1
goto :goto_67
:cond_66
const/4 p1, 0x0
:goto_67
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
return-object p1
.line 15
:pswitch_6c
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readVarint64()J
move-result-wide p1
invoke-static {p1, p2}, Lcom/squareup/wire/WireInput;->decodeZigZag64(J)J
move-result-wide p1
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
return-object p1
.line 16
:pswitch_79
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readVarint32()I
move-result p1
invoke-static {p1}, Lcom/squareup/wire/WireInput;->decodeZigZag32(I)I
move-result p1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
.line 17
:pswitch_86
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readVarint64()J
move-result-wide p1
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
return-object p1
.line 18
:pswitch_8f
invoke-virtual {p1}, Lcom/squareup/wire/WireInput;->readVarint32()I
move-result p1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
:pswitch_data_98
.packed-switch 0x1
:pswitch_8f
:pswitch_86
:pswitch_86
:pswitch_8f
:pswitch_79
:pswitch_6c
:pswitch_5e
:pswitch_4c
:pswitch_47
:pswitch_42
:pswitch_3d
:pswitch_34
:pswitch_34
:pswitch_27
:pswitch_1e
:pswitch_1e
:pswitch_11
.end packed-switch
.end method
.method private setExtension(Lcom/squareup/wire/ExtendableMessage$ExtendableBuilder;Lcom/squareup/wire/Extension;Ljava/lang/Object;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/squareup/wire/ExtendableMessage$ExtendableBuilder;",
"Lcom/squareup/wire/Extension<",
"**>;",
"Ljava/lang/Object;",
")V"
}
.end annotation
invoke-virtual {p1, p2, p3}, Lcom/squareup/wire/ExtendableMessage$ExtendableBuilder;->setExtension(Lcom/squareup/wire/Extension;Ljava/lang/Object;)Lcom/squareup/wire/ExtendableMessage$ExtendableBuilder;
return-void
.end method
.method private utf8Length(Ljava/lang/String;)I
.registers 7
.line 1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_6
if-ge v1, v0, :cond_2a
.line 2
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v3
const/16 v4, 0x7f
if-gt v3, v4, :cond_13
add-int/lit8 v2, v2, 0x1
goto :goto_27
:cond_13
const/16 v4, 0x7ff
if-gt v3, v4, :cond_1a
add-int/lit8 v2, v2, 0x2
goto :goto_27
.line 3
:cond_1a
invoke-static {v3}, Ljava/lang/Character;->isHighSurrogate(C)Z
move-result v3
if-eqz v3, :cond_25
add-int/lit8 v2, v2, 0x4
add-int/lit8 v1, v1, 0x1
goto :goto_27
:cond_25
add-int/lit8 v2, v2, 0x3
:goto_27
add-int/lit8 v1, v1, 0x1
goto :goto_6
:cond_2a
return v2
.end method
.method private writeEnum(Lcom/squareup/wire/ProtoEnum;Lcom/squareup/wire/WireOutput;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<E::",
"Lcom/squareup/wire/ProtoEnum;",
">(TE;",
"Lcom/squareup/wire/WireOutput;",
")V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->wire:Lcom/squareup/wire/Wire;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/squareup/wire/Wire;->enumAdapter(Ljava/lang/Class;)Lcom/squareup/wire/EnumAdapter;
move-result-object v0
.line 2
invoke-virtual {v0, p1}, Lcom/squareup/wire/EnumAdapter;->toInt(Lcom/squareup/wire/ProtoEnum;)I
move-result p1
invoke-virtual {p2, p1}, Lcom/squareup/wire/WireOutput;->writeVarint32(I)V
return-void
.end method
.method private writeExtensions(Lcom/squareup/wire/WireOutput;Lcom/squareup/wire/ExtensionMap;)V
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Lcom/squareup/wire/ExtendableMessage<",
"*>;>(",
"Lcom/squareup/wire/WireOutput;",
"Lcom/squareup/wire/ExtensionMap<",
"TT;>;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
.line 1
:goto_1
invoke-virtual {p2}, Lcom/squareup/wire/ExtensionMap;->size()I
move-result v1
if-ge v0, v1, :cond_39
.line 2
invoke-virtual {p2, v0}, Lcom/squareup/wire/ExtensionMap;->getExtension(I)Lcom/squareup/wire/Extension;
move-result-object v1
.line 3
invoke-virtual {p2, v0}, Lcom/squareup/wire/ExtensionMap;->getExtensionValue(I)Ljava/lang/Object;
move-result-object v2
.line 4
invoke-virtual {v1}, Lcom/squareup/wire/Extension;->getTag()I
move-result v3
.line 5
invoke-virtual {v1}, Lcom/squareup/wire/Extension;->getDatatype()Lcom/squareup/wire/Message$Datatype;
move-result-object v4
.line 6
invoke-virtual {v1}, Lcom/squareup/wire/Extension;->getLabel()Lcom/squareup/wire/Message$Label;
move-result-object v1
.line 7
invoke-virtual {v1}, Lcom/squareup/wire/Message$Label;->isRepeated()Z
move-result v5
if-eqz v5, :cond_33
.line 8
invoke-virtual {v1}, Lcom/squareup/wire/Message$Label;->isPacked()Z
move-result v1
if-eqz v1, :cond_2d
.line 9
check-cast v2, Ljava/util/List;
invoke-direct {p0, p1, v2, v3, v4}, Lcom/squareup/wire/MessageAdapter;->writePacked(Lcom/squareup/wire/WireOutput;Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)V
goto :goto_36
.line 10
:cond_2d
check-cast v2, Ljava/util/List;
invoke-direct {p0, p1, v2, v3, v4}, Lcom/squareup/wire/MessageAdapter;->writeRepeated(Lcom/squareup/wire/WireOutput;Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)V
goto :goto_36
.line 11
:cond_33
invoke-direct {p0, p1, v3, v2, v4}, Lcom/squareup/wire/MessageAdapter;->writeValue(Lcom/squareup/wire/WireOutput;ILjava/lang/Object;Lcom/squareup/wire/Message$Datatype;)V
:goto_36
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_39
return-void
.end method
.method private writeMessage(Lcom/squareup/wire/Message;Lcom/squareup/wire/WireOutput;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<MM:",
"Lcom/squareup/wire/Message;",
">(TMM;",
"Lcom/squareup/wire/WireOutput;",
")V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p1}, Lcom/squareup/wire/Message;->getSerializedSize()I
move-result v0
invoke-virtual {p2, v0}, Lcom/squareup/wire/WireOutput;->writeVarint32(I)V
.line 2
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->wire:Lcom/squareup/wire/Wire;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/squareup/wire/Wire;->messageAdapter(Ljava/lang/Class;)Lcom/squareup/wire/MessageAdapter;
move-result-object v0
.line 3
invoke-virtual {v0, p1, p2}, Lcom/squareup/wire/MessageAdapter;->write(Lcom/squareup/wire/Message;Lcom/squareup/wire/WireOutput;)V
return-void
.end method
.method private writePacked(Lcom/squareup/wire/WireOutput;Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/squareup/wire/WireOutput;",
"Ljava/util/List<",
"*>;I",
"Lcom/squareup/wire/Message$Datatype;",
")V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
const/4 v1, 0x0
:goto_5
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_15
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
.line 2
invoke-direct {p0, v2, p4}, Lcom/squareup/wire/MessageAdapter;->getSerializedSizeNoTag(Ljava/lang/Object;Lcom/squareup/wire/Message$Datatype;)I
move-result v2
add-int/2addr v1, v2
goto :goto_5
.line 3
:cond_15
sget-object v0, Lcom/squareup/wire/WireType;->LENGTH_DELIMITED:Lcom/squareup/wire/WireType;
invoke-virtual {p1, p3, v0}, Lcom/squareup/wire/WireOutput;->writeTag(ILcom/squareup/wire/WireType;)V
.line 4
invoke-virtual {p1, v1}, Lcom/squareup/wire/WireOutput;->writeVarint32(I)V
.line 5
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p2
:goto_21
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result p3
if-eqz p3, :cond_2f
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p3
.line 6
invoke-direct {p0, p1, p3, p4}, Lcom/squareup/wire/MessageAdapter;->writeValueNoTag(Lcom/squareup/wire/WireOutput;Ljava/lang/Object;Lcom/squareup/wire/Message$Datatype;)V
goto :goto_21
:cond_2f
return-void
.end method
.method private writeRepeated(Lcom/squareup/wire/WireOutput;Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/squareup/wire/WireOutput;",
"Ljava/util/List<",
"*>;I",
"Lcom/squareup/wire/Message$Datatype;",
")V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p2
:goto_4
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_12
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
.line 2
invoke-direct {p0, p1, p3, v0, p4}, Lcom/squareup/wire/MessageAdapter;->writeValue(Lcom/squareup/wire/WireOutput;ILjava/lang/Object;Lcom/squareup/wire/Message$Datatype;)V
goto :goto_4
:cond_12
return-void
.end method
.method private writeValue(Lcom/squareup/wire/WireOutput;ILjava/lang/Object;Lcom/squareup/wire/Message$Datatype;)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p4}, Lcom/squareup/wire/Message$Datatype;->wireType()Lcom/squareup/wire/WireType;
move-result-object v0
invoke-virtual {p1, p2, v0}, Lcom/squareup/wire/WireOutput;->writeTag(ILcom/squareup/wire/WireType;)V
.line 2
invoke-direct {p0, p1, p3, p4}, Lcom/squareup/wire/MessageAdapter;->writeValueNoTag(Lcom/squareup/wire/WireOutput;Ljava/lang/Object;Lcom/squareup/wire/Message$Datatype;)V
return-void
.end method
.method private writeValueNoTag(Lcom/squareup/wire/WireOutput;Ljava/lang/Object;Lcom/squareup/wire/Message$Datatype;)V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
sget-object v0, Lcom/squareup/wire/MessageAdapter$1;->$SwitchMap$com$squareup$wire$Message$Datatype:[I
invoke-virtual {p3}, Ljava/lang/Enum;->ordinal()I
move-result p3
aget p3, v0, p3
packed-switch p3, :pswitch_data_b6
.line 2
new-instance p1, Ljava/lang/RuntimeException;
invoke-direct {p1}, Ljava/lang/RuntimeException;-><init>()V
throw p1
.line 3
:pswitch_11
check-cast p2, Ljava/lang/Double;
invoke-virtual {p2}, Ljava/lang/Double;->doubleValue()D
move-result-wide p2
invoke-static {p2, p3}, Ljava/lang/Double;->doubleToLongBits(D)J
move-result-wide p2
invoke-virtual {p1, p2, p3}, Lcom/squareup/wire/WireOutput;->writeFixed64(J)V
goto/16 :goto_b5
.line 4
:pswitch_20
check-cast p2, Ljava/lang/Long;
invoke-virtual {p2}, Ljava/lang/Long;->longValue()J
move-result-wide p2
invoke-virtual {p1, p2, p3}, Lcom/squareup/wire/WireOutput;->writeFixed64(J)V
goto/16 :goto_b5
.line 5
:pswitch_2b
check-cast p2, Ljava/lang/Float;
invoke-virtual {p2}, Ljava/lang/Float;->floatValue()F
move-result p2
invoke-static {p2}, Ljava/lang/Float;->floatToIntBits(F)I
move-result p2
invoke-virtual {p1, p2}, Lcom/squareup/wire/WireOutput;->writeFixed32(I)V
goto/16 :goto_b5
.line 6
:pswitch_3a
check-cast p2, Ljava/lang/Integer;
invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I
move-result p2
invoke-virtual {p1, p2}, Lcom/squareup/wire/WireOutput;->writeFixed32(I)V
goto/16 :goto_b5
.line 7
:pswitch_45
check-cast p2, Lcom/squareup/wire/Message;
invoke-direct {p0, p2, p1}, Lcom/squareup/wire/MessageAdapter;->writeMessage(Lcom/squareup/wire/Message;Lcom/squareup/wire/WireOutput;)V
goto :goto_b5
.line 8
:pswitch_4b
check-cast p2, Lokio/e;
.line 9
invoke-virtual {p2}, Lokio/e;->r()I
move-result p3
invoke-virtual {p1, p3}, Lcom/squareup/wire/WireOutput;->writeVarint32(I)V
.line 10
invoke-virtual {p2}, Lokio/e;->u()[B
move-result-object p2
invoke-virtual {p1, p2}, Lcom/squareup/wire/WireOutput;->writeRawBytes([B)V
goto :goto_b5
.line 11
:pswitch_5c
check-cast p2, Ljava/lang/String;
const-string p3, "UTF-8"
invoke-virtual {p2, p3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p2
.line 12
array-length p3, p2
invoke-virtual {p1, p3}, Lcom/squareup/wire/WireOutput;->writeVarint32(I)V
.line 13
invoke-virtual {p1, p2}, Lcom/squareup/wire/WireOutput;->writeRawBytes([B)V
goto :goto_b5
.line 14
:pswitch_6c
check-cast p2, Lcom/squareup/wire/ProtoEnum;
invoke-direct {p0, p2, p1}, Lcom/squareup/wire/MessageAdapter;->writeEnum(Lcom/squareup/wire/ProtoEnum;Lcom/squareup/wire/WireOutput;)V
goto :goto_b5
.line 15
:pswitch_72
check-cast p2, Ljava/lang/Boolean;
invoke-virtual {p2}, Ljava/lang/Boolean;->booleanValue()Z
move-result p2
invoke-virtual {p1, p2}, Lcom/squareup/wire/WireOutput;->writeRawByte(I)V
goto :goto_b5
.line 16
:pswitch_7c
check-cast p2, Ljava/lang/Long;
invoke-virtual {p2}, Ljava/lang/Long;->longValue()J
move-result-wide p2
invoke-static {p2, p3}, Lcom/squareup/wire/WireOutput;->zigZag64(J)J
move-result-wide p2
invoke-virtual {p1, p2, p3}, Lcom/squareup/wire/WireOutput;->writeVarint64(J)V
goto :goto_b5
.line 17
:pswitch_8a
check-cast p2, Ljava/lang/Integer;
invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I
move-result p2
invoke-static {p2}, Lcom/squareup/wire/WireOutput;->zigZag32(I)I
move-result p2
invoke-virtual {p1, p2}, Lcom/squareup/wire/WireOutput;->writeVarint32(I)V
goto :goto_b5
.line 18
:pswitch_98
check-cast p2, Ljava/lang/Integer;
invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I
move-result p2
invoke-virtual {p1, p2}, Lcom/squareup/wire/WireOutput;->writeVarint32(I)V
goto :goto_b5
.line 19
:pswitch_a2
check-cast p2, Ljava/lang/Long;
invoke-virtual {p2}, Ljava/lang/Long;->longValue()J
move-result-wide p2
invoke-virtual {p1, p2, p3}, Lcom/squareup/wire/WireOutput;->writeVarint64(J)V
goto :goto_b5
.line 20
:pswitch_ac
check-cast p2, Ljava/lang/Integer;
invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I
move-result p2
invoke-virtual {p1, p2}, Lcom/squareup/wire/WireOutput;->writeSignedVarint32(I)V
:goto_b5
return-void
:pswitch_data_b6
.packed-switch 0x1
:pswitch_ac
:pswitch_a2
:pswitch_a2
:pswitch_98
:pswitch_8a
:pswitch_7c
:pswitch_72
:pswitch_6c
:pswitch_5c
:pswitch_4b
:pswitch_45
:pswitch_3a
:pswitch_3a
:pswitch_2b
:pswitch_20
:pswitch_20
:pswitch_11
.end packed-switch
.end method
# virtual methods
.method public getExtension(Ljava/lang/String;)Lcom/squareup/wire/Extension;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/squareup/wire/Extension<",
"Lcom/squareup/wire/ExtendableMessage<",
"*>;*>;"
}
.end annotation
.line 4
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->wire:Lcom/squareup/wire/Wire;
iget-object v0, v0, Lcom/squareup/wire/Wire;->registry:Lcom/squareup/wire/ExtensionRegistry;
if-nez v0, :cond_8
const/4 p1, 0x0
goto :goto_e
.line 5
:cond_8
iget-object v1, p0, Lcom/squareup/wire/MessageAdapter;->messageType:Ljava/lang/Class;
.line 6
invoke-virtual {v0, v1, p1}, Lcom/squareup/wire/ExtensionRegistry;->getExtension(Ljava/lang/Class;Ljava/lang/String;)Lcom/squareup/wire/Extension;
move-result-object p1
:goto_e
return-object p1
.end method
.method public getField(Ljava/lang/String;)Lcom/squareup/wire/MessageAdapter$FieldInfo;
.registers 3
.line 1
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->tagMap:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Integer;
if-nez p1, :cond_c
const/4 p1, 0x0
goto :goto_18
.line 2
:cond_c
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->fieldInfoMap:Lcom/squareup/wire/TagMap;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
invoke-virtual {v0, p1}, Lcom/squareup/wire/TagMap;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/squareup/wire/MessageAdapter$FieldInfo;
:goto_18
return-object p1
.end method
.method public getFieldValue(Lcom/squareup/wire/Message;Lcom/squareup/wire/MessageAdapter$FieldInfo;)Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TM;",
"Lcom/squareup/wire/MessageAdapter$FieldInfo;",
")",
"Ljava/lang/Object;"
}
.end annotation
.line 1
# getter for: Lcom/squareup/wire/MessageAdapter$FieldInfo;->messageField:Ljava/lang/reflect/Field;
invoke-static {p2}, Lcom/squareup/wire/MessageAdapter$FieldInfo;->access$000(Lcom/squareup/wire/MessageAdapter$FieldInfo;)Ljava/lang/reflect/Field;
move-result-object v0
if-eqz v0, :cond_16
.line 2
:try_start_6
# getter for: Lcom/squareup/wire/MessageAdapter$FieldInfo;->messageField:Ljava/lang/reflect/Field;
invoke-static {p2}, Lcom/squareup/wire/MessageAdapter$FieldInfo;->access$000(Lcom/squareup/wire/MessageAdapter$FieldInfo;)Ljava/lang/reflect/Field;
move-result-object p2
invoke-virtual {p2, p1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
:try_end_e
.catch Ljava/lang/IllegalAccessException; {:try_start_6 .. :try_end_e} :catch_f
return-object p1
:catch_f
move-exception p1
.line 3
new-instance p2, Ljava/lang/AssertionError;
invoke-direct {p2, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw p2
.line 4
:cond_16
new-instance p1, Ljava/lang/AssertionError;
const-string p2, "Field is not of type \"Message\""
invoke-direct {p1, p2}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw p1
.end method
.method public getFields()Ljava/util/Collection;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Collection<",
"Lcom/squareup/wire/MessageAdapter$FieldInfo;",
">;"
}
.end annotation
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->fieldInfoMap:Lcom/squareup/wire/TagMap;
invoke-virtual {v0}, Lcom/squareup/wire/TagMap;->values()Ljava/util/Collection;
move-result-object v0
return-object v0
.end method
.method public getSerializedSize(Lcom/squareup/wire/Message;)I
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(TM;)I"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/squareup/wire/MessageAdapter;->getFields()Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
const/4 v1, 0x0
:goto_9
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_42
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/squareup/wire/MessageAdapter$FieldInfo;
.line 2
invoke-virtual {p0, p1, v2}, Lcom/squareup/wire/MessageAdapter;->getFieldValue(Lcom/squareup/wire/Message;Lcom/squareup/wire/MessageAdapter$FieldInfo;)Ljava/lang/Object;
move-result-object v3
if-nez v3, :cond_1c
goto :goto_9
.line 3
:cond_1c
iget v4, v2, Lcom/squareup/wire/MessageAdapter$FieldInfo;->tag:I
.line 4
iget-object v5, v2, Lcom/squareup/wire/MessageAdapter$FieldInfo;->datatype:Lcom/squareup/wire/Message$Datatype;
.line 5
iget-object v2, v2, Lcom/squareup/wire/MessageAdapter$FieldInfo;->label:Lcom/squareup/wire/Message$Label;
.line 6
invoke-virtual {v2}, Lcom/squareup/wire/Message$Label;->isRepeated()Z
move-result v6
if-eqz v6, :cond_3c
.line 7
invoke-virtual {v2}, Lcom/squareup/wire/Message$Label;->isPacked()Z
move-result v2
if-eqz v2, :cond_35
.line 8
check-cast v3, Ljava/util/List;
invoke-direct {p0, v3, v4, v5}, Lcom/squareup/wire/MessageAdapter;->getPackedSize(Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)I
move-result v2
goto :goto_40
.line 9
:cond_35
check-cast v3, Ljava/util/List;
invoke-direct {p0, v3, v4, v5}, Lcom/squareup/wire/MessageAdapter;->getRepeatedSize(Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)I
move-result v2
goto :goto_40
.line 10
:cond_3c
invoke-direct {p0, v4, v3, v5}, Lcom/squareup/wire/MessageAdapter;->getSerializedSize(ILjava/lang/Object;Lcom/squareup/wire/Message$Datatype;)I
move-result v2
:goto_40
add-int/2addr v1, v2
goto :goto_9
.line 11
:cond_42
instance-of v0, p1, Lcom/squareup/wire/ExtendableMessage;
if-eqz v0, :cond_52
.line 12
move-object v0, p1
check-cast v0, Lcom/squareup/wire/ExtendableMessage;
.line 13
iget-object v0, v0, Lcom/squareup/wire/ExtendableMessage;->extensionMap:Lcom/squareup/wire/ExtensionMap;
if-eqz v0, :cond_52
.line 14
invoke-direct {p0, v0}, Lcom/squareup/wire/MessageAdapter;->getExtensionsSerializedSize(Lcom/squareup/wire/ExtensionMap;)I
move-result v0
add-int/2addr v1, v0
.line 15
:cond_52
invoke-virtual {p1}, Lcom/squareup/wire/Message;->getUnknownFieldsSerializedSize()I
move-result p1
add-int/2addr p1, v1
return p1
.end method
.method public newBuilder()Lcom/squareup/wire/Message$Builder;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/squareup/wire/Message$Builder<",
"TM;>;"
}
.end annotation
.line 1
:try_start_0
iget-object v0, p0, Lcom/squareup/wire/MessageAdapter;->builderType:Ljava/lang/Class;
invoke-virtual {v0}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/squareup/wire/Message$Builder;
:try_end_8
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_8} :catch_10
.catch Ljava/lang/InstantiationException; {:try_start_0 .. :try_end_8} :catch_9
return-object v0
:catch_9
move-exception v0
.line 2
new-instance v1, Ljava/lang/AssertionError;
invoke-direct {v1, v0}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw v1
:catch_10
move-exception v0
.line 3
new-instance v1, Ljava/lang/AssertionError;
invoke-direct {v1, v0}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw v1
.end method
.method public read(Lcom/squareup/wire/WireInput;)Lcom/squareup/wire/Message;
.registers 19
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/squareup/wire/WireInput;",
")TM;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
move-object/from16 v1, p0
move-object/from16 v0, p1
.line 1
:try_start_4
iget-object v2, v1, Lcom/squareup/wire/MessageAdapter;->builderType:Ljava/lang/Class;
invoke-virtual {v2}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/squareup/wire/Message$Builder;
.line 2
new-instance v3, Lcom/squareup/wire/MessageAdapter$Storage;
const/4 v4, 0x0
invoke-direct {v3, v4}, Lcom/squareup/wire/MessageAdapter$Storage;-><init>(Lcom/squareup/wire/MessageAdapter$1;)V
.line 3
:goto_12
invoke-virtual/range {p1 .. p1}, Lcom/squareup/wire/WireInput;->readTag()I
move-result v5
shr-int/lit8 v6, v5, 0x3
.line 4
invoke-static {v5}, Lcom/squareup/wire/WireType;->valueOf(I)Lcom/squareup/wire/WireType;
move-result-object v5
if-nez v6, :cond_58
.line 5
invoke-virtual {v3}, Lcom/squareup/wire/MessageAdapter$Storage;->getTags()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_26
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_53
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/Integer;
invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
move-result v4
.line 6
iget-object v5, v1, Lcom/squareup/wire/MessageAdapter;->fieldInfoMap:Lcom/squareup/wire/TagMap;
invoke-virtual {v5, v4}, Lcom/squareup/wire/TagMap;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/squareup/wire/MessageAdapter$FieldInfo;
.line 7
invoke-virtual {v3, v4}, Lcom/squareup/wire/MessageAdapter$Storage;->get(I)Ljava/util/List;
move-result-object v6
if-eqz v5, :cond_48
.line 8
invoke-virtual {v1, v2, v5, v6}, Lcom/squareup/wire/MessageAdapter;->setBuilderField(Lcom/squareup/wire/Message$Builder;Lcom/squareup/wire/MessageAdapter$FieldInfo;Ljava/lang/Object;)V
goto :goto_26
.line 9
:cond_48
move-object v5, v2
check-cast v5, Lcom/squareup/wire/ExtendableMessage$ExtendableBuilder;
invoke-direct {v1, v4}, Lcom/squareup/wire/MessageAdapter;->getExtension(I)Lcom/squareup/wire/Extension;
move-result-object v4
invoke-direct {v1, v5, v4, v6}, Lcom/squareup/wire/MessageAdapter;->setExtension(Lcom/squareup/wire/ExtendableMessage$ExtendableBuilder;Lcom/squareup/wire/Extension;Ljava/lang/Object;)V
goto :goto_26
.line 10
:cond_53
invoke-virtual {v2}, Lcom/squareup/wire/Message$Builder;->build()Lcom/squareup/wire/Message;
move-result-object v0
return-object v0
.line 11
:cond_58
iget-object v7, v1, Lcom/squareup/wire/MessageAdapter;->fieldInfoMap:Lcom/squareup/wire/TagMap;
invoke-virtual {v7, v6}, Lcom/squareup/wire/TagMap;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Lcom/squareup/wire/MessageAdapter$FieldInfo;
if-eqz v7, :cond_69
.line 12
iget-object v8, v7, Lcom/squareup/wire/MessageAdapter$FieldInfo;->datatype:Lcom/squareup/wire/Message$Datatype;
.line 13
iget-object v9, v7, Lcom/squareup/wire/MessageAdapter$FieldInfo;->label:Lcom/squareup/wire/Message$Label;
move-object v10, v9
move-object v9, v4
goto :goto_80
.line 14
:cond_69
invoke-direct {v1, v6}, Lcom/squareup/wire/MessageAdapter;->getExtension(I)Lcom/squareup/wire/Extension;
move-result-object v8
if-nez v8, :cond_73
.line 15
invoke-direct {v1, v2, v0, v6, v5}, Lcom/squareup/wire/MessageAdapter;->readUnknownField(Lcom/squareup/wire/Message$Builder;Lcom/squareup/wire/WireInput;ILcom/squareup/wire/WireType;)V
goto :goto_12
.line 16
:cond_73
invoke-virtual {v8}, Lcom/squareup/wire/Extension;->getDatatype()Lcom/squareup/wire/Message$Datatype;
move-result-object v9
.line 17
invoke-virtual {v8}, Lcom/squareup/wire/Extension;->getLabel()Lcom/squareup/wire/Message$Label;
move-result-object v10
move-object/from16 v16, v9
move-object v9, v8
move-object/from16 v8, v16
.line 18
:goto_80
invoke-virtual {v10}, Lcom/squareup/wire/Message$Label;->isPacked()Z
move-result v11
if-eqz v11, :cond_d0
sget-object v11, Lcom/squareup/wire/WireType;->LENGTH_DELIMITED:Lcom/squareup/wire/WireType;
if-ne v5, v11, :cond_d0
.line 19
invoke-virtual/range {p1 .. p1}, Lcom/squareup/wire/WireInput;->readVarint32()I
move-result v5
.line 20
invoke-virtual/range {p1 .. p1}, Lcom/squareup/wire/WireInput;->getPosition()J
move-result-wide v9
.line 21
invoke-virtual {v0, v5}, Lcom/squareup/wire/WireInput;->pushLimit(I)I
move-result v7
.line 22
:goto_96
invoke-virtual/range {p1 .. p1}, Lcom/squareup/wire/WireInput;->getPosition()J
move-result-wide v11
int-to-long v13, v5
add-long/2addr v13, v9
cmp-long v15, v11, v13
if-gez v15, :cond_bb
.line 23
invoke-direct {v1, v0, v6, v8}, Lcom/squareup/wire/MessageAdapter;->readValue(Lcom/squareup/wire/WireInput;ILcom/squareup/wire/Message$Datatype;)Ljava/lang/Object;
move-result-object v11
.line 24
sget-object v12, Lcom/squareup/wire/Message$Datatype;->ENUM:Lcom/squareup/wire/Message$Datatype;
if-ne v8, v12, :cond_b7
instance-of v12, v11, Ljava/lang/Integer;
if-eqz v12, :cond_b7
.line 25
check-cast v11, Ljava/lang/Integer;
invoke-virtual {v11}, Ljava/lang/Integer;->intValue()I
move-result v11
int-to-long v11, v11
invoke-virtual {v2, v6, v11, v12}, Lcom/squareup/wire/Message$Builder;->addVarint(IJ)V
goto :goto_96
.line 26
:cond_b7
invoke-virtual {v3, v6, v11}, Lcom/squareup/wire/MessageAdapter$Storage;->add(ILjava/lang/Object;)V
goto :goto_96
.line 27
:cond_bb
invoke-virtual {v0, v7}, Lcom/squareup/wire/WireInput;->popLimit(I)V
.line 28
invoke-virtual/range {p1 .. p1}, Lcom/squareup/wire/WireInput;->getPosition()J
move-result-wide v5
cmp-long v7, v5, v13
if-nez v7, :cond_c8
goto/16 :goto_12
.line 29
:cond_c8
new-instance v0, Ljava/io/IOException;
const-string v2, "Packed data had wrong length!"
invoke-direct {v0, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 30
:cond_d0
invoke-direct {v1, v0, v6, v8}, Lcom/squareup/wire/MessageAdapter;->readValue(Lcom/squareup/wire/WireInput;ILcom/squareup/wire/Message$Datatype;)Ljava/lang/Object;
move-result-object v5
.line 31
sget-object v11, Lcom/squareup/wire/Message$Datatype;->ENUM:Lcom/squareup/wire/Message$Datatype;
if-ne v8, v11, :cond_e8
instance-of v8, v5, Ljava/lang/Integer;
if-eqz v8, :cond_e8
.line 32
check-cast v5, Ljava/lang/Integer;
invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
move-result v5
int-to-long v7, v5
invoke-virtual {v2, v6, v7, v8}, Lcom/squareup/wire/Message$Builder;->addVarint(IJ)V
goto/16 :goto_12
.line 33
:cond_e8
invoke-virtual {v10}, Lcom/squareup/wire/Message$Label;->isRepeated()Z
move-result v8
if-eqz v8, :cond_f3
.line 34
invoke-virtual {v3, v6, v5}, Lcom/squareup/wire/MessageAdapter$Storage;->add(ILjava/lang/Object;)V
goto/16 :goto_12
:cond_f3
if-eqz v9, :cond_fd
.line 35
move-object v6, v2
check-cast v6, Lcom/squareup/wire/ExtendableMessage$ExtendableBuilder;
invoke-direct {v1, v6, v9, v5}, Lcom/squareup/wire/MessageAdapter;->setExtension(Lcom/squareup/wire/ExtendableMessage$ExtendableBuilder;Lcom/squareup/wire/Extension;Ljava/lang/Object;)V
goto/16 :goto_12
.line 36
:cond_fd
invoke-virtual {v10}, Lcom/squareup/wire/Message$Label;->isOneOf()Z
move-result v6
if-eqz v6, :cond_108
.line 37
invoke-virtual {v1, v2, v7, v5}, Lcom/squareup/wire/MessageAdapter;->setBuilderMethod(Lcom/squareup/wire/Message$Builder;Lcom/squareup/wire/MessageAdapter$FieldInfo;Ljava/lang/Object;)V
goto/16 :goto_12
.line 38
:cond_108
invoke-virtual {v1, v2, v7, v5}, Lcom/squareup/wire/MessageAdapter;->setBuilderField(Lcom/squareup/wire/Message$Builder;Lcom/squareup/wire/MessageAdapter$FieldInfo;Ljava/lang/Object;)V
:try_end_10b
.catch Ljava/lang/IllegalAccessException; {:try_start_4 .. :try_end_10b} :catch_114
.catch Ljava/lang/InstantiationException; {:try_start_4 .. :try_end_10b} :catch_10d
goto/16 :goto_12
:catch_10d
move-exception v0
.line 39
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v2
:catch_114
move-exception v0
.line 40
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v2
.end method
.method public setBuilderField(Lcom/squareup/wire/Message$Builder;Lcom/squareup/wire/MessageAdapter$FieldInfo;Ljava/lang/Object;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/squareup/wire/Message$Builder<",
"TM;>;",
"Lcom/squareup/wire/MessageAdapter$FieldInfo;",
"Ljava/lang/Object;",
")V"
}
.end annotation
.line 1
:try_start_0
# getter for: Lcom/squareup/wire/MessageAdapter$FieldInfo;->builderField:Ljava/lang/reflect/Field;
invoke-static {p2}, Lcom/squareup/wire/MessageAdapter$FieldInfo;->access$100(Lcom/squareup/wire/MessageAdapter$FieldInfo;)Ljava/lang/reflect/Field;
move-result-object p2
invoke-virtual {p2, p1, p3}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_7
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_7} :catch_8
return-void
:catch_8
move-exception p1
.line 2
new-instance p2, Ljava/lang/AssertionError;
invoke-direct {p2, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw p2
.end method
.method public setBuilderMethod(Lcom/squareup/wire/Message$Builder;Lcom/squareup/wire/MessageAdapter$FieldInfo;Ljava/lang/Object;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/squareup/wire/Message$Builder<",
"TM;>;",
"Lcom/squareup/wire/MessageAdapter$FieldInfo;",
"Ljava/lang/Object;",
")V"
}
.end annotation
.line 1
:try_start_0
# getter for: Lcom/squareup/wire/MessageAdapter$FieldInfo;->builderMethod:Ljava/lang/reflect/Method;
invoke-static {p2}, Lcom/squareup/wire/MessageAdapter$FieldInfo;->access$200(Lcom/squareup/wire/MessageAdapter$FieldInfo;)Ljava/lang/reflect/Method;
move-result-object p2
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/Object;
const/4 v1, 0x0
aput-object p3, v0, v1
invoke-virtual {p2, p1, v0}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_d
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_d} :catch_15
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_d} :catch_e
return-void
:catch_e
move-exception p1
.line 2
new-instance p2, Ljava/lang/AssertionError;
invoke-direct {p2, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw p2
:catch_15
move-exception p1
.line 3
new-instance p2, Ljava/lang/AssertionError;
invoke-direct {p2, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw p2
.end method
.method public toByteArray(Lcom/squareup/wire/Message;)[B
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TM;)[B"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lcom/squareup/wire/MessageAdapter;->getSerializedSize(Lcom/squareup/wire/Message;)I
move-result v0
new-array v0, v0, [B
.line 2
:try_start_6
invoke-static {v0}, Lcom/squareup/wire/WireOutput;->newInstance([B)Lcom/squareup/wire/WireOutput;
move-result-object v1
invoke-virtual {p0, p1, v1}, Lcom/squareup/wire/MessageAdapter;->write(Lcom/squareup/wire/Message;Lcom/squareup/wire/WireOutput;)V
:try_end_d
.catch Ljava/io/IOException; {:try_start_6 .. :try_end_d} :catch_e
return-object v0
:catch_e
move-exception p1
.line 3
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method public toString(Lcom/squareup/wire/Message;)Ljava/lang/String;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(TM;)",
"Ljava/lang/String;"
}
.end annotation
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 2
iget-object v1, p0, Lcom/squareup/wire/MessageAdapter;->messageType:Ljava/lang/Class;
invoke-virtual {v1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "{"
.line 3
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 4
invoke-virtual {p0}, Lcom/squareup/wire/MessageAdapter;->getFields()Ljava/util/Collection;
move-result-object v1
invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v1
const-string v2, ""
:goto_1d
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_49
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/squareup/wire/MessageAdapter$FieldInfo;
.line 5
invoke-virtual {p0, p1, v3}, Lcom/squareup/wire/MessageAdapter;->getFieldValue(Lcom/squareup/wire/Message;Lcom/squareup/wire/MessageAdapter$FieldInfo;)Ljava/lang/Object;
move-result-object v4
if-nez v4, :cond_30
goto :goto_1d
.line 6
:cond_30
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 7
iget-object v2, v3, Lcom/squareup/wire/MessageAdapter$FieldInfo;->name:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "="
.line 8
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 9
iget-boolean v2, v3, Lcom/squareup/wire/MessageAdapter$FieldInfo;->redacted:Z
if-eqz v2, :cond_43
const-string v4, "\u2588\u2588"
:cond_43
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", "
goto :goto_1d
.line 10
:cond_49
instance-of v1, p1, Lcom/squareup/wire/ExtendableMessage;
const-string v3, "}"
if-eqz v1, :cond_63
.line 11
check-cast p1, Lcom/squareup/wire/ExtendableMessage;
.line 12
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "{extensions="
.line 13
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 14
invoke-virtual {p1}, Lcom/squareup/wire/ExtendableMessage;->extensionsToString()Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 15
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 16
:cond_63
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 17
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public write(Lcom/squareup/wire/Message;Lcom/squareup/wire/WireOutput;)V
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(TM;",
"Lcom/squareup/wire/WireOutput;",
")V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/squareup/wire/MessageAdapter;->getFields()Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_8
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_3d
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/squareup/wire/MessageAdapter$FieldInfo;
.line 2
invoke-virtual {p0, p1, v1}, Lcom/squareup/wire/MessageAdapter;->getFieldValue(Lcom/squareup/wire/Message;Lcom/squareup/wire/MessageAdapter$FieldInfo;)Ljava/lang/Object;
move-result-object v2
if-nez v2, :cond_1b
goto :goto_8
.line 3
:cond_1b
iget v3, v1, Lcom/squareup/wire/MessageAdapter$FieldInfo;->tag:I
.line 4
iget-object v4, v1, Lcom/squareup/wire/MessageAdapter$FieldInfo;->datatype:Lcom/squareup/wire/Message$Datatype;
.line 5
iget-object v1, v1, Lcom/squareup/wire/MessageAdapter$FieldInfo;->label:Lcom/squareup/wire/Message$Label;
.line 6
invoke-virtual {v1}, Lcom/squareup/wire/Message$Label;->isRepeated()Z
move-result v5
if-eqz v5, :cond_39
.line 7
invoke-virtual {v1}, Lcom/squareup/wire/Message$Label;->isPacked()Z
move-result v1
if-eqz v1, :cond_33
.line 8
check-cast v2, Ljava/util/List;
invoke-direct {p0, p2, v2, v3, v4}, Lcom/squareup/wire/MessageAdapter;->writePacked(Lcom/squareup/wire/WireOutput;Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)V
goto :goto_8
.line 9
:cond_33
check-cast v2, Ljava/util/List;
invoke-direct {p0, p2, v2, v3, v4}, Lcom/squareup/wire/MessageAdapter;->writeRepeated(Lcom/squareup/wire/WireOutput;Ljava/util/List;ILcom/squareup/wire/Message$Datatype;)V
goto :goto_8
.line 10
:cond_39
invoke-direct {p0, p2, v3, v2, v4}, Lcom/squareup/wire/MessageAdapter;->writeValue(Lcom/squareup/wire/WireOutput;ILjava/lang/Object;Lcom/squareup/wire/Message$Datatype;)V
goto :goto_8
.line 11
:cond_3d
instance-of v0, p1, Lcom/squareup/wire/ExtendableMessage;
if-eqz v0, :cond_4b
.line 12
move-object v0, p1
check-cast v0, Lcom/squareup/wire/ExtendableMessage;
.line 13
iget-object v0, v0, Lcom/squareup/wire/ExtendableMessage;->extensionMap:Lcom/squareup/wire/ExtensionMap;
if-eqz v0, :cond_4b
.line 14
invoke-direct {p0, p2, v0}, Lcom/squareup/wire/MessageAdapter;->writeExtensions(Lcom/squareup/wire/WireOutput;Lcom/squareup/wire/ExtensionMap;)V
.line 15
:cond_4b
invoke-virtual {p1, p2}, Lcom/squareup/wire/Message;->writeUnknownFieldMap(Lcom/squareup/wire/WireOutput;)V
return-void
.end method