ClassUtil.smali
.class public final Lcom/fasterxml/jackson/databind/util/ClassUtil;
.super Ljava/lang/Object;
.source "ClassUtil.java"
# static fields
.field private static final CLS_OBJECT:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.end field
.field private static final EMPTY_ITERATOR:Lcom/fasterxml/jackson/databind/util/ClassUtil$EmptyIterator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/fasterxml/jackson/databind/util/ClassUtil$EmptyIterator",
"<*>;"
}
.end annotation
.end field
.field private static final NO_ANNOTATIONS:[Ljava/lang/annotation/Annotation;
.field private static final NO_CTORS:[Lcom/fasterxml/jackson/databind/util/ClassUtil$Ctor;
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
const/4 v1, 0x0
.line 15
const-class v0, Ljava/lang/Object;
sput-object v0, Lcom/fasterxml/jackson/databind/util/ClassUtil;->CLS_OBJECT:Ljava/lang/Class;
.line 17
new-array v0, v1, [Ljava/lang/annotation/Annotation;
sput-object v0, Lcom/fasterxml/jackson/databind/util/ClassUtil;->NO_ANNOTATIONS:[Ljava/lang/annotation/Annotation;
.line 18
new-array v0, v1, [Lcom/fasterxml/jackson/databind/util/ClassUtil$Ctor;
sput-object v0, Lcom/fasterxml/jackson/databind/util/ClassUtil;->NO_CTORS:[Lcom/fasterxml/jackson/databind/util/ClassUtil$Ctor;
.line 36
new-instance v0, Lcom/fasterxml/jackson/databind/util/ClassUtil$EmptyIterator;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/fasterxml/jackson/databind/util/ClassUtil$EmptyIterator;-><init>(Lcom/fasterxml/jackson/databind/util/ClassUtil$1;)V
sput-object v0, Lcom/fasterxml/jackson/databind/util/ClassUtil;->EMPTY_ITERATOR:Lcom/fasterxml/jackson/databind/util/ClassUtil$EmptyIterator;
return-void
.end method
.method private static _addRawSuperTypes(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Collection;Z)V
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;",
"Ljava/lang/Class",
"<*>;",
"Ljava/util/Collection",
"<",
"Ljava/lang/Class",
"<*>;>;Z)V"
}
.end annotation
.prologue
const/4 v1, 0x1
.line 152
:goto_1
if-eq p0, p1, :cond_9
if-eqz p0, :cond_9
const-class v0, Ljava/lang/Object;
if-ne p0, v0, :cond_a
.line 155
:cond_9
return-void
.line 153
:cond_a
if-eqz p3, :cond_15
.line 154
invoke-interface {p2, p0}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_9
.line 157
invoke-interface {p2, p0}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 159
:cond_15
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->_interfaces(Ljava/lang/Class;)[Ljava/lang/Class;
move-result-object v2
array-length v3, v2
const/4 v0, 0x0
:goto_1b
if-ge v0, v3, :cond_25
aget-object v4, v2, v0
.line 160
invoke-static {v4, p1, p2, v1}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->_addRawSuperTypes(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Collection;Z)V
.line 159
add-int/lit8 v0, v0, 0x1
goto :goto_1b
.line 162
:cond_25
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p0
move p3, v1
goto :goto_1
.end method
.method private static _addSuperTypes(Lcom/fasterxml/jackson/databind/JavaType;Ljava/lang/Class;Ljava/util/Collection;Z)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/fasterxml/jackson/databind/JavaType;",
"Ljava/lang/Class",
"<*>;",
"Ljava/util/Collection",
"<",
"Lcom/fasterxml/jackson/databind/JavaType;",
">;Z)V"
}
.end annotation
.prologue
const/4 v1, 0x1
.line 134
:goto_1
if-nez p0, :cond_4
.line 141
:cond_3
return-void
.line 137
:cond_4
invoke-virtual {p0}, Lcom/fasterxml/jackson/databind/JavaType;->getRawClass()Ljava/lang/Class;
move-result-object v0
.line 138
if-eq v0, p1, :cond_3
const-class v2, Ljava/lang/Object;
if-eq v0, v2, :cond_3
.line 139
if-eqz p3, :cond_19
.line 140
invoke-interface {p2, p0}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_3
.line 143
invoke-interface {p2, p0}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 145
:cond_19
invoke-virtual {p0}, Lcom/fasterxml/jackson/databind/JavaType;->getInterfaces()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_21
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_31
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/fasterxml/jackson/databind/JavaType;
.line 146
invoke-static {v0, p1, p2, v1}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->_addSuperTypes(Lcom/fasterxml/jackson/databind/JavaType;Ljava/lang/Class;Ljava/util/Collection;Z)V
goto :goto_21
.line 148
:cond_31
invoke-virtual {p0}, Lcom/fasterxml/jackson/databind/JavaType;->getSuperClass()Lcom/fasterxml/jackson/databind/JavaType;
move-result-object p0
move p3, v1
goto :goto_1
.end method
.method private static _interfaces(Ljava/lang/Class;)[Ljava/lang/Class;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)[",
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.prologue
.line 1008
invoke-virtual {p0}, Ljava/lang/Class;->getInterfaces()[Ljava/lang/Class;
move-result-object v0
return-object v0
.end method
.method public static canBeABeanType(Ljava/lang/Class;)Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)",
"Ljava/lang/String;"
}
.end annotation
.prologue
.line 178
invoke-virtual {p0}, Ljava/lang/Class;->isAnnotation()Z
move-result v0
if-eqz v0, :cond_9
.line 179
const-string v0, "annotation"
.line 192
:goto_8
return-object v0
.line 181
:cond_9
invoke-virtual {p0}, Ljava/lang/Class;->isArray()Z
move-result v0
if-eqz v0, :cond_12
.line 182
const-string v0, "array"
goto :goto_8
.line 184
:cond_12
invoke-virtual {p0}, Ljava/lang/Class;->isEnum()Z
move-result v0
if-eqz v0, :cond_1b
.line 185
const-string v0, "enum"
goto :goto_8
.line 187
:cond_1b
invoke-virtual {p0}, Ljava/lang/Class;->isPrimitive()Z
move-result v0
if-eqz v0, :cond_24
.line 188
const-string v0, "primitive"
goto :goto_8
.line 192
:cond_24
const/4 v0, 0x0
goto :goto_8
.end method
.method public static checkAndFixAccess(Ljava/lang/reflect/Member;)V
.registers 2
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.prologue
.line 732
const/4 v0, 0x0
invoke-static {p0, v0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->checkAndFixAccess(Ljava/lang/reflect/Member;Z)V
.line 733
return-void
.end method
.method public static checkAndFixAccess(Ljava/lang/reflect/Member;Z)V
.registers 7
.prologue
.line 749
move-object v0, p0
check-cast v0, Ljava/lang/reflect/AccessibleObject;
.line 756
if-nez p1, :cond_1d
:try_start_5
invoke-interface {p0}, Ljava/lang/reflect/Member;->getModifiers()I
move-result v1
invoke-static {v1}, Ljava/lang/reflect/Modifier;->isPublic(I)Z
move-result v1
if-eqz v1, :cond_1d
invoke-interface {p0}, Ljava/lang/reflect/Member;->getDeclaringClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getModifiers()I
move-result v1
invoke-static {v1}, Ljava/lang/reflect/Modifier;->isPublic(I)Z
move-result v1
if-nez v1, :cond_21
.line 759
:cond_1d
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/reflect/AccessibleObject;->setAccessible(Z)V
:try_end_21
.catch Ljava/lang/SecurityException; {:try_start_5 .. :try_end_21} :catch_22
.line 769
:cond_21
return-void
.line 761
:catch_22
move-exception v1
.line 764
invoke-virtual {v0}, Ljava/lang/reflect/AccessibleObject;->isAccessible()Z
move-result v0
if-nez v0, :cond_21
.line 765
invoke-interface {p0}, Ljava/lang/reflect/Member;->getDeclaringClass()Ljava/lang/Class;
move-result-object v0
.line 766
new-instance v2, Ljava/lang/IllegalArgumentException;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "Can not access "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, " (from class "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, "; failed to set access: "
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v1}, Ljava/lang/SecurityException;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v2
.end method
.method public static closeOnFailAndThrowAsIAE(Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/io/Closeable;Ljava/lang/Exception;)V
.registers 4
.prologue
.line 525
if-eqz p0, :cond_a
.line 526
sget-object v0, Lcom/fasterxml/jackson/core/JsonGenerator$Feature;->AUTO_CLOSE_JSON_CONTENT:Lcom/fasterxml/jackson/core/JsonGenerator$Feature;
invoke-virtual {p0, v0}, Lcom/fasterxml/jackson/core/JsonGenerator;->disable(Lcom/fasterxml/jackson/core/JsonGenerator$Feature;)Lcom/fasterxml/jackson/core/JsonGenerator;
.line 528
:try_start_7
invoke-virtual {p0}, Lcom/fasterxml/jackson/core/JsonGenerator;->close()V
:try_end_a
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_a} :catch_16
.line 533
:cond_a
:goto_a
if-eqz p1, :cond_f
.line 535
:try_start_c
invoke-interface {p1}, Ljava/io/Closeable;->close()V
:try_end_f
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_f} :catch_1b
.line 540
:cond_f
:goto_f
instance-of v0, p2, Ljava/io/IOException;
if-eqz v0, :cond_20
.line 541
check-cast p2, Ljava/io/IOException;
throw p2
.line 529
:catch_16
move-exception v0
.line 530
invoke-virtual {p2, v0}, Ljava/lang/Exception;->addSuppressed(Ljava/lang/Throwable;)V
goto :goto_a
.line 536
:catch_1b
move-exception v0
.line 537
invoke-virtual {p2, v0}, Ljava/lang/Exception;->addSuppressed(Ljava/lang/Throwable;)V
goto :goto_f
.line 543
:cond_20
instance-of v0, p2, Ljava/lang/RuntimeException;
if-eqz v0, :cond_27
.line 544
check-cast p2, Ljava/lang/RuntimeException;
throw p2
.line 546
:cond_27
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method public static closeOnFailAndThrowAsIAE(Lcom/fasterxml/jackson/core/JsonGenerator;Ljava/lang/Exception;)V
.registers 3
.prologue
.line 497
sget-object v0, Lcom/fasterxml/jackson/core/JsonGenerator$Feature;->AUTO_CLOSE_JSON_CONTENT:Lcom/fasterxml/jackson/core/JsonGenerator$Feature;
invoke-virtual {p0, v0}, Lcom/fasterxml/jackson/core/JsonGenerator;->disable(Lcom/fasterxml/jackson/core/JsonGenerator$Feature;)Lcom/fasterxml/jackson/core/JsonGenerator;
.line 499
:try_start_5
invoke-virtual {p0}, Lcom/fasterxml/jackson/core/JsonGenerator;->close()V
:try_end_8
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_8} :catch_f
.line 503
:goto_8
instance-of v0, p1, Ljava/io/IOException;
if-eqz v0, :cond_14
.line 504
check-cast p1, Ljava/io/IOException;
throw p1
.line 500
:catch_f
move-exception v0
.line 501
invoke-virtual {p1, v0}, Ljava/lang/Exception;->addSuppressed(Ljava/lang/Throwable;)V
goto :goto_8
.line 506
:cond_14
instance-of v0, p1, Ljava/lang/RuntimeException;
if-eqz v0, :cond_1b
.line 507
check-cast p1, Ljava/lang/RuntimeException;
throw p1
.line 509
:cond_1b
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method public static createInstance(Ljava/lang/Class;Z)Ljava/lang/Object;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class",
"<TT;>;Z)TT;"
}
.end annotation
.prologue
.line 571
invoke-static {p0, p1}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->findConstructor(Ljava/lang/Class;Z)Ljava/lang/reflect/Constructor;
move-result-object v0
.line 572
if-nez v0, :cond_25
.line 573
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Class "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, 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;
move-result-object v1
const-string v2, " has no default (no arg) constructor"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)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/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 576
:cond_25
const/4 v1, 0x0
:try_start_26
new-array v1, v1, [Ljava/lang/Object;
invoke-virtual {v0, v1}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
:try_end_2b
.catch Ljava/lang/Exception; {:try_start_26 .. :try_end_2b} :catch_2d
move-result-object v0
.line 579
:goto_2c
return-object v0
.line 577
:catch_2d
move-exception v0
.line 578
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Failed to instantiate class "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, 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;
move-result-object v1
const-string v2, ", problem: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->unwrapAndThrowAsIAE(Ljava/lang/Throwable;Ljava/lang/String;)V
.line 579
const/4 v0, 0x0
goto :goto_2c
.end method
.method public static defaultValue(Ljava/lang/Class;)Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)",
"Ljava/lang/Object;"
}
.end annotation
.prologue
const/4 v1, 0x0
.line 617
sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_a
.line 618
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
.line 639
:goto_9
return-object v0
.line 620
:cond_a
sget-object v0, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_15
.line 621
const-wide/16 v0, 0x0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
goto :goto_9
.line 623
:cond_15
sget-object v0, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_1c
.line 624
sget-object v0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
goto :goto_9
.line 626
:cond_1c
sget-object v0, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_27
.line 627
const-wide/16 v0, 0x0
invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v0
goto :goto_9
.line 629
:cond_27
sget-object v0, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_31
.line 630
const/4 v0, 0x0
invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v0
goto :goto_9
.line 632
:cond_31
sget-object v0, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_3a
.line 633
invoke-static {v1}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
move-result-object v0
goto :goto_9
.line 635
:cond_3a
sget-object v0, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_43
.line 636
invoke-static {v1}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;
move-result-object v0
goto :goto_9
.line 638
:cond_43
sget-object v0, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_4c
.line 639
invoke-static {v1}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;
move-result-object v0
goto :goto_9
.line 641
:cond_4c
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Class "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, 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;
move-result-object v1
const-string v2, " is not a primitive type"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)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/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static emptyIterator()Ljava/util/Iterator;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">()",
"Ljava/util/Iterator",
"<TT;>;"
}
.end annotation
.prologue
.line 51
sget-object v0, Lcom/fasterxml/jackson/databind/util/ClassUtil;->EMPTY_ITERATOR:Lcom/fasterxml/jackson/databind/util/ClassUtil$EmptyIterator;
return-object v0
.end method
.method public static findClassAnnotations(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)[",
"Ljava/lang/annotation/Annotation;"
}
.end annotation
.prologue
.line 951
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->isObjectOrPrimitive(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_9
.line 952
sget-object v0, Lcom/fasterxml/jackson/databind/util/ClassUtil;->NO_ANNOTATIONS:[Ljava/lang/annotation/Annotation;
.line 954
:goto_8
return-object v0
:cond_9
invoke-virtual {p0}, Ljava/lang/Class;->getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;
move-result-object v0
goto :goto_8
.end method
.method public static findConstructor(Ljava/lang/Class;Z)Ljava/lang/reflect/Constructor;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class",
"<TT;>;Z)",
"Ljava/lang/reflect/Constructor",
"<TT;>;"
}
.end annotation
.prologue
.line 587
const/4 v0, 0x0
:try_start_1
new-array v0, v0, [Ljava/lang/Class;
invoke-virtual {p0, v0}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v0
.line 588
if-eqz p1, :cond_d
.line 589
invoke-static {v0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->checkAndFixAccess(Ljava/lang/reflect/Member;)V
.line 602
:cond_c
:goto_c
return-object v0
.line 592
:cond_d
invoke-virtual {v0}, Ljava/lang/reflect/Constructor;->getModifiers()I
move-result v1
invoke-static {v1}, Ljava/lang/reflect/Modifier;->isPublic(I)Z
move-result v1
if-nez v1, :cond_c
.line 593
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Default constructor for "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, 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;
move-result-object v1
const-string v2, " is not accessible (non-public?): not allowed to try modify access via Reflection: can not instantiate type"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)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/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_36
.catch Ljava/lang/NoSuchMethodException; {:try_start_1 .. :try_end_36} :catch_36
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_36} :catch_39
.line 601
:catch_36
move-exception v0
.line 602
:goto_37
const/4 v0, 0x0
goto :goto_c
.line 599
:catch_39
move-exception v0
.line 600
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Failed to find default constructor of class "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, 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;
move-result-object v1
const-string v2, ", problem: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->unwrapAndThrowAsIAE(Ljava/lang/Throwable;Ljava/lang/String;)V
goto :goto_37
.end method
.method public static findEnumType(Ljava/lang/Class;)Ljava/lang/Class;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)",
"Ljava/lang/Class",
"<+",
"Ljava/lang/Enum",
"<*>;>;"
}
.end annotation
.prologue
.line 835
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
const-class v1, Ljava/lang/Enum;
if-eq v0, v1, :cond_c
.line 836
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p0
.line 838
:cond_c
return-object p0
.end method
.method public static findEnumType(Ljava/lang/Enum;)Ljava/lang/Class;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Enum",
"<*>;)",
"Ljava/lang/Class",
"<+",
"Ljava/lang/Enum",
"<*>;>;"
}
.end annotation
.prologue
.line 818
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
.line 819
invoke-virtual {v0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v1
const-class v2, Ljava/lang/Enum;
if-eq v1, v2, :cond_10
.line 820
invoke-virtual {v0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
.line 822
:cond_10
return-object v0
.end method
.method public static findEnumType(Ljava/util/EnumMap;)Ljava/lang/Class;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/EnumMap",
"<**>;)",
"Ljava/lang/Class",
"<+",
"Ljava/lang/Enum",
"<*>;>;"
}
.end annotation
.prologue
.line 801
invoke-virtual {p0}, Ljava/util/EnumMap;->isEmpty()Z
move-result v0
if-nez v0, :cond_19
.line 802
invoke-virtual {p0}, Ljava/util/EnumMap;->keySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Enum;
invoke-static {v0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->findEnumType(Ljava/lang/Enum;)Ljava/lang/Class;
move-result-object v0
.line 805
:goto_18
return-object v0
:cond_19
sget-object v0, Lcom/fasterxml/jackson/databind/util/ClassUtil$EnumTypeLocator;->instance:Lcom/fasterxml/jackson/databind/util/ClassUtil$EnumTypeLocator;
invoke-virtual {v0, p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil$EnumTypeLocator;->enumTypeFor(Ljava/util/EnumMap;)Ljava/lang/Class;
move-result-object v0
goto :goto_18
.end method
.method public static findEnumType(Ljava/util/EnumSet;)Ljava/lang/Class;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/EnumSet",
"<*>;)",
"Ljava/lang/Class",
"<+",
"Ljava/lang/Enum",
"<*>;>;"
}
.end annotation
.prologue
.line 786
invoke-virtual {p0}, Ljava/util/EnumSet;->isEmpty()Z
move-result v0
if-nez v0, :cond_15
.line 787
invoke-virtual {p0}, Ljava/util/EnumSet;->iterator()Ljava/util/Iterator;
move-result-object v0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Enum;
invoke-static {v0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->findEnumType(Ljava/lang/Enum;)Ljava/lang/Class;
move-result-object v0
.line 790
:goto_14
return-object v0
:cond_15
sget-object v0, Lcom/fasterxml/jackson/databind/util/ClassUtil$EnumTypeLocator;->instance:Lcom/fasterxml/jackson/databind/util/ClassUtil$EnumTypeLocator;
invoke-virtual {v0, p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil$EnumTypeLocator;->enumTypeFor(Ljava/util/EnumSet;)Ljava/lang/Class;
move-result-object v0
goto :goto_14
.end method
.method public static findFirstAnnotatedEnumValue(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Enum;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"<T::",
"Ljava/lang/annotation/Annotation;",
">(",
"Ljava/lang/Class",
"<",
"Ljava/lang/Enum",
"<*>;>;",
"Ljava/lang/Class",
"<TT;>;)",
"Ljava/lang/Enum",
"<*>;"
}
.end annotation
.prologue
const/4 v3, 0x0
.line 854
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->getDeclaredFields(Ljava/lang/Class;)[Ljava/lang/reflect/Field;
move-result-object v5
.line 855
array-length v6, v5
move v4, v3
:goto_7
if-ge v4, v6, :cond_3b
aget-object v0, v5, v4
.line 856
invoke-virtual {v0}, Ljava/lang/reflect/Field;->isEnumConstant()Z
move-result v1
if-eqz v1, :cond_37
.line 857
invoke-virtual {v0, p1}, Ljava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v1
.line 858
if-eqz v1, :cond_37
.line 859
invoke-virtual {v0}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v7
.line 860
invoke-virtual {p0}, Ljava/lang/Class;->getEnumConstants()[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/Enum;
array-length v8, v0
move v2, v3
:goto_23
if-ge v2, v8, :cond_37
aget-object v1, v0, v2
.line 861
invoke-virtual {v1}, Ljava/lang/Enum;->name()Ljava/lang/String;
move-result-object v9
invoke-virtual {v7, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_33
move-object v0, v1
.line 868
:goto_32
return-object v0
.line 860
:cond_33
add-int/lit8 v1, v2, 0x1
move v2, v1
goto :goto_23
.line 855
:cond_37
add-int/lit8 v0, v4, 0x1
move v4, v0
goto :goto_7
.line 868
:cond_3b
const/4 v0, 0x0
goto :goto_32
.end method
.method public static findRawSuperTypes(Ljava/lang/Class;Ljava/lang/Class;Z)Ljava/util/List;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;",
"Ljava/lang/Class",
"<*>;Z)",
"Ljava/util/List",
"<",
"Ljava/lang/Class",
"<*>;>;"
}
.end annotation
.prologue
.line 88
if-eqz p0, :cond_8
if-eq p0, p1, :cond_8
const-class v0, Ljava/lang/Object;
if-ne p0, v0, :cond_d
.line 89
:cond_8
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v0
.line 93
:goto_c
return-object v0
.line 91
:cond_d
new-instance v0, Ljava/util/ArrayList;
const/16 v1, 0x8
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
.line 92
invoke-static {p0, p1, v0, p2}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->_addRawSuperTypes(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Collection;Z)V
goto :goto_c
.end method
.method public static findSuperClasses(Ljava/lang/Class;Ljava/lang/Class;Z)Ljava/util/List;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;",
"Ljava/lang/Class",
"<*>;Z)",
"Ljava/util/List",
"<",
"Ljava/lang/Class",
"<*>;>;"
}
.end annotation
.prologue
.line 105
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
.line 106
if-eqz p0, :cond_1a
if-eq p0, p1, :cond_1a
.line 107
if-eqz p2, :cond_e
.line 108
invoke-interface {v0, p0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 110
:cond_e
:goto_e
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p0
if-eqz p0, :cond_1a
.line 111
if-eq p0, p1, :cond_1a
.line 114
invoke-interface {v0, p0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_e
.line 117
:cond_1a
return-object v0
.end method
.method public static findSuperTypes(Lcom/fasterxml/jackson/databind/JavaType;Ljava/lang/Class;Z)Ljava/util/List;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/fasterxml/jackson/databind/JavaType;",
"Ljava/lang/Class",
"<*>;Z)",
"Ljava/util/List",
"<",
"Lcom/fasterxml/jackson/databind/JavaType;",
">;"
}
.end annotation
.prologue
.line 76
if-eqz p0, :cond_10
invoke-virtual {p0, p1}, Lcom/fasterxml/jackson/databind/JavaType;->hasRawClass(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_10
const-class v0, Ljava/lang/Object;
invoke-virtual {p0, v0}, Lcom/fasterxml/jackson/databind/JavaType;->hasRawClass(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_15
.line 77
:cond_10
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v0
.line 81
:goto_14
return-object v0
.line 79
:cond_15
new-instance v0, Ljava/util/ArrayList;
const/16 v1, 0x8
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
.line 80
invoke-static {p0, p1, v0, p2}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->_addSuperTypes(Lcom/fasterxml/jackson/databind/JavaType;Ljava/lang/Class;Ljava/util/Collection;Z)V
goto :goto_14
.end method
.method public static getClassDescription(Ljava/lang/Object;)Ljava/lang/String;
.registers 2
.prologue
.line 304
if-nez p0, :cond_5
.line 305
const-string v0, "unknown"
.line 309
:goto_4
return-object v0
.line 307
:cond_5
instance-of v0, p0, Ljava/lang/Class;
if-eqz v0, :cond_10
check-cast p0, Ljava/lang/Class;
.line 309
:goto_b
invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
goto :goto_4
.line 307
:cond_10
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
goto :goto_b
.end method
.method public static getConstructors(Ljava/lang/Class;)[Lcom/fasterxml/jackson/databind/util/ClassUtil$Ctor;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)[",
"Lcom/fasterxml/jackson/databind/util/ClassUtil$Ctor;"
}
.end annotation
.prologue
.line 963
invoke-virtual {p0}, Ljava/lang/Class;->isInterface()Z
move-result v0
if-nez v0, :cond_c
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->isObjectOrPrimitive(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_f
.line 964
:cond_c
sget-object v0, Lcom/fasterxml/jackson/databind/util/ClassUtil;->NO_CTORS:[Lcom/fasterxml/jackson/databind/util/ClassUtil$Ctor;
.line 972
:cond_e
return-object v0
.line 966
:cond_f
invoke-virtual {p0}, Ljava/lang/Class;->getDeclaredConstructors()[Ljava/lang/reflect/Constructor;
move-result-object v2
.line 967
array-length v3, v2
.line 968
new-array v0, v3, [Lcom/fasterxml/jackson/databind/util/ClassUtil$Ctor;
.line 969
const/4 v1, 0x0
:goto_17
if-ge v1, v3, :cond_e
.line 970
new-instance v4, Lcom/fasterxml/jackson/databind/util/ClassUtil$Ctor;
aget-object v5, v2, v1
invoke-direct {v4, v5}, Lcom/fasterxml/jackson/databind/util/ClassUtil$Ctor;-><init>(Ljava/lang/reflect/Constructor;)V
aput-object v4, v0, v1
.line 969
add-int/lit8 v1, v1, 0x1
goto :goto_17
.end method
.method public static getDeclaredFields(Ljava/lang/Class;)[Ljava/lang/reflect/Field;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)[",
"Ljava/lang/reflect/Field;"
}
.end annotation
.prologue
.line 937
invoke-virtual {p0}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v0
return-object v0
.end method
.method public static getDeclaredMethods(Ljava/lang/Class;)[Ljava/lang/reflect/Method;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)[",
"Ljava/lang/reflect/Method;"
}
.end annotation
.prologue
.line 944
invoke-virtual {p0}, Ljava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;
move-result-object v0
return-object v0
.end method
.method public static getEnclosingClass(Ljava/lang/Class;)Ljava/lang/Class;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)",
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.prologue
.line 1004
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->isObjectOrPrimitive(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_8
const/4 v0, 0x0
:goto_7
return-object v0
:cond_8
invoke-virtual {p0}, Ljava/lang/Class;->getEnclosingClass()Ljava/lang/Class;
move-result-object v0
goto :goto_7
.end method
.method public static getGenericInterfaces(Ljava/lang/Class;)[Ljava/lang/reflect/Type;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)[",
"Ljava/lang/reflect/Type;"
}
.end annotation
.prologue
.line 996
invoke-virtual {p0}, Ljava/lang/Class;->getGenericInterfaces()[Ljava/lang/reflect/Type;
move-result-object v0
return-object v0
.end method
.method public static getGenericSuperclass(Ljava/lang/Class;)Ljava/lang/reflect/Type;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)",
"Ljava/lang/reflect/Type;"
}
.end annotation
.prologue
.line 989
invoke-virtual {p0}, Ljava/lang/Class;->getGenericSuperclass()Ljava/lang/reflect/Type;
move-result-object v0
return-object v0
.end method
.method public static getOuterClass(Ljava/lang/Class;)Ljava/lang/Class;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)",
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.prologue
const/4 v0, 0x0
.line 232
:try_start_1
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->hasEnclosingMethod(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_8
.line 239
:cond_7
:goto_7
return-object v0
.line 235
:cond_8
invoke-virtual {p0}, Ljava/lang/Class;->getModifiers()I
move-result v1
invoke-static {v1}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v1
if-nez v1, :cond_7
.line 236
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->getEnclosingClass(Ljava/lang/Class;)Ljava/lang/Class;
:try_end_15
.catch Ljava/lang/SecurityException; {:try_start_1 .. :try_end_15} :catch_17
move-result-object v0
goto :goto_7
:catch_17
move-exception v1
goto :goto_7
.end method
.method public static getPackageName(Ljava/lang/Class;)Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)",
"Ljava/lang/String;"
}
.end annotation
.prologue
.line 922
invoke-virtual {p0}, Ljava/lang/Class;->getPackage()Ljava/lang/Package;
move-result-object v0
.line 923
if-nez v0, :cond_8
const/4 v0, 0x0
:goto_7
return-object v0
:cond_8
invoke-virtual {v0}, Ljava/lang/Package;->getName()Ljava/lang/String;
move-result-object v0
goto :goto_7
.end method
.method public static getRootCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.registers 2
.prologue
.line 401
:goto_0
invoke-virtual {p0}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object v0
if-eqz v0, :cond_b
.line 402
invoke-virtual {p0}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p0
goto :goto_0
.line 404
:cond_b
return-object p0
.end method
.method public static hasEnclosingMethod(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)Z"
}
.end annotation
.prologue
.line 930
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->isObjectOrPrimitive(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_e
invoke-virtual {p0}, Ljava/lang/Class;->getEnclosingMethod()Ljava/lang/reflect/Method;
move-result-object v0
if-eqz v0, :cond_e
const/4 v0, 0x1
:goto_d
return v0
:cond_e
const/4 v0, 0x0
goto :goto_d
.end method
.method public static isBogusClass(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)Z"
}
.end annotation
.prologue
.line 893
const-class v0, Ljava/lang/Void;
if-eq p0, v0, :cond_c
sget-object v0, Ljava/lang/Void;->TYPE:Ljava/lang/Class;
if-eq p0, v0, :cond_c
const-class v0, Lcom/fasterxml/jackson/databind/annotation/NoClass;
if-ne p0, v0, :cond_e
:cond_c
const/4 v0, 0x1
:goto_d
return v0
:cond_e
const/4 v0, 0x0
goto :goto_d
.end method
.method public static isConcrete(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)Z"
}
.end annotation
.prologue
.line 273
invoke-virtual {p0}, Ljava/lang/Class;->getModifiers()I
move-result v0
.line 274
and-int/lit16 v0, v0, 0x600
if-nez v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public static isJacksonStdImpl(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)Z"
}
.end annotation
.prologue
.line 889
const-class v0, Lcom/fasterxml/jackson/databind/annotation/JacksonStdImpl;
invoke-virtual {p0, v0}, Ljava/lang/Class;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v0
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public static isJacksonStdImpl(Ljava/lang/Object;)Z
.registers 2
.prologue
.line 885
if-eqz p0, :cond_e
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->isJacksonStdImpl(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_e
const/4 v0, 0x1
:goto_d
return v0
:cond_e
const/4 v0, 0x0
goto :goto_d
.end method
.method public static isLocalType(Ljava/lang/Class;Z)Ljava/lang/String;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;Z)",
"Ljava/lang/String;"
}
.end annotation
.prologue
.line 203
:try_start_0
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->hasEnclosingMethod(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_9
.line 204
const-string v0, "local/anonymous"
.line 221
:goto_8
return-object v0
.line 211
:cond_9
if-nez p1, :cond_1f
.line 212
invoke-virtual {p0}, Ljava/lang/Class;->getModifiers()I
move-result v0
invoke-static {v0}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v0
if-nez v0, :cond_1f
.line 213
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->getEnclosingClass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v0
if-eqz v0, :cond_1f
.line 214
const-string v0, "non-static member class"
:try_end_1d
.catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_1d} :catch_21
.catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_1d} :catch_1e
goto :goto_8
:catch_1e
move-exception v0
.line 221
:cond_1f
:goto_1f
const/4 v0, 0x0
goto :goto_8
.line 220
:catch_21
move-exception v0
goto :goto_1f
.end method
.method public static isNonStaticInnerClass(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)Z"
}
.end annotation
.prologue
.line 898
invoke-virtual {p0}, Ljava/lang/Class;->getModifiers()I
move-result v0
invoke-static {v0}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v0
if-nez v0, :cond_12
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->getEnclosingClass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v0
if-eqz v0, :cond_12
const/4 v0, 0x1
:goto_11
return v0
:cond_12
const/4 v0, 0x0
goto :goto_11
.end method
.method public static isObjectOrPrimitive(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)Z"
}
.end annotation
.prologue
.line 906
sget-object v0, Lcom/fasterxml/jackson/databind/util/ClassUtil;->CLS_OBJECT:Ljava/lang/Class;
if-eq p0, v0, :cond_a
invoke-virtual {p0}, Ljava/lang/Class;->isPrimitive()Z
move-result v0
if-eqz v0, :cond_c
:cond_a
const/4 v0, 0x1
:goto_b
return v0
:cond_c
const/4 v0, 0x0
goto :goto_b
.end method
.method public static isProxyType(Ljava/lang/Class;)Z
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)Z"
}
.end annotation
.prologue
.line 257
invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
.line 259
const-string v1, "net.sf.cglib.proxy."
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_14
const-string v1, "org.hibernate.proxy."
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_16
.line 261
:cond_14
const/4 v0, 0x1
.line 264
:goto_15
return v0
:cond_16
const/4 v0, 0x0
goto :goto_15
.end method
.method public static primitiveType(Ljava/lang/Class;)Ljava/lang/Class;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)",
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.prologue
.line 685
invoke-virtual {p0}, Ljava/lang/Class;->isPrimitive()Z
move-result v0
if-eqz v0, :cond_7
.line 713
:goto_6
return-object p0
.line 689
:cond_7
const-class v0, Ljava/lang/Integer;
if-ne p0, v0, :cond_e
.line 690
sget-object p0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
goto :goto_6
.line 692
:cond_e
const-class v0, Ljava/lang/Long;
if-ne p0, v0, :cond_15
.line 693
sget-object p0, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
goto :goto_6
.line 695
:cond_15
const-class v0, Ljava/lang/Boolean;
if-ne p0, v0, :cond_1c
.line 696
sget-object p0, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
goto :goto_6
.line 698
:cond_1c
const-class v0, Ljava/lang/Double;
if-ne p0, v0, :cond_23
.line 699
sget-object p0, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
goto :goto_6
.line 701
:cond_23
const-class v0, Ljava/lang/Float;
if-ne p0, v0, :cond_2a
.line 702
sget-object p0, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
goto :goto_6
.line 704
:cond_2a
const-class v0, Ljava/lang/Byte;
if-ne p0, v0, :cond_31
.line 705
sget-object p0, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
goto :goto_6
.line 707
:cond_31
const-class v0, Ljava/lang/Short;
if-ne p0, v0, :cond_38
.line 708
sget-object p0, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
goto :goto_6
.line 710
:cond_38
const-class v0, Ljava/lang/Character;
if-ne p0, v0, :cond_3f
.line 711
sget-object p0, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
goto :goto_6
.line 713
:cond_3f
const/4 p0, 0x0
goto :goto_6
.end method
.method public static throwAsIAE(Ljava/lang/Throwable;)V
.registers 2
.prologue
.line 443
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-static {p0, v0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->throwAsIAE(Ljava/lang/Throwable;Ljava/lang/String;)V
.line 444
return-void
.end method
.method public static throwAsIAE(Ljava/lang/Throwable;Ljava/lang/String;)V
.registers 3
.prologue
.line 453
instance-of v0, p0, Ljava/lang/RuntimeException;
if-eqz v0, :cond_7
.line 454
check-cast p0, Ljava/lang/RuntimeException;
throw p0
.line 456
:cond_7
instance-of v0, p0, Ljava/lang/Error;
if-eqz v0, :cond_e
.line 457
check-cast p0, Ljava/lang/Error;
throw p0
.line 459
:cond_e
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0, p1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public static throwRootCauseIfIOE(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.registers 3
.prologue
.line 430
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->getRootCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object v0
.line 431
instance-of v1, v0, Ljava/io/IOException;
if-eqz v1, :cond_b
.line 432
check-cast v0, Ljava/io/IOException;
throw v0
.line 434
:cond_b
return-object v0
.end method
.method public static unwrapAndThrowAsIAE(Ljava/lang/Throwable;)V
.registers 2
.prologue
.line 469
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->getRootCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object v0
invoke-static {v0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->throwAsIAE(Ljava/lang/Throwable;)V
.line 470
return-void
.end method
.method public static unwrapAndThrowAsIAE(Ljava/lang/Throwable;Ljava/lang/String;)V
.registers 3
.prologue
.line 479
invoke-static {p0}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->getRootCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object v0
invoke-static {v0, p1}, Lcom/fasterxml/jackson/databind/util/ClassUtil;->throwAsIAE(Ljava/lang/Throwable;Ljava/lang/String;)V
.line 480
return-void
.end method
.method public static wrapperType(Ljava/lang/Class;)Ljava/lang/Class;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;)",
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.prologue
.line 650
sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_7
.line 651
const-class v0, Ljava/lang/Integer;
.line 672
:goto_6
return-object v0
.line 653
:cond_7
sget-object v0, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_e
.line 654
const-class v0, Ljava/lang/Long;
goto :goto_6
.line 656
:cond_e
sget-object v0, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_15
.line 657
const-class v0, Ljava/lang/Boolean;
goto :goto_6
.line 659
:cond_15
sget-object v0, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_1c
.line 660
const-class v0, Ljava/lang/Double;
goto :goto_6
.line 662
:cond_1c
sget-object v0, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_23
.line 663
const-class v0, Ljava/lang/Float;
goto :goto_6
.line 665
:cond_23
sget-object v0, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_2a
.line 666
const-class v0, Ljava/lang/Byte;
goto :goto_6
.line 668
:cond_2a
sget-object v0, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_31
.line 669
const-class v0, Ljava/lang/Short;
goto :goto_6
.line 671
:cond_31
sget-object v0, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_38
.line 672
const-class v0, Ljava/lang/Character;
goto :goto_6
.line 674
:cond_38
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Class "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, 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;
move-result-object v1
const-string v2, " is not a primitive type"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)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/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method