.class final Lcom/google/protobuf/ExtensionRegistryFactory; .super Ljava/lang/Object; .source "ExtensionRegistryFactory.java" # static fields .field public static final EXTENSION_REGISTRY_CLASS:Ljava/lang/Class; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/Class<", "*>;" } .end annotation .end field .field public static final FULL_REGISTRY_CLASS_NAME:Ljava/lang/String; = "com.google.protobuf.ExtensionRegistry" # direct methods .method public static constructor ()V .locals 1 .line 1 invoke-static {}, Lcom/google/protobuf/ExtensionRegistryFactory;->reflectExtensionRegistry()Ljava/lang/Class; move-result-object v0 sput-object v0, Lcom/google/protobuf/ExtensionRegistryFactory;->EXTENSION_REGISTRY_CLASS:Ljava/lang/Class; return-void .end method .method public constructor ()V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static create()Lcom/google/protobuf/ExtensionRegistryLite; .locals 1 .line 1 sget-object v0, Lcom/google/protobuf/ExtensionRegistryFactory;->EXTENSION_REGISTRY_CLASS:Ljava/lang/Class; if-eqz v0, :cond_0 :try_start_0 const-string v0, "newInstance" .line 2 invoke-static {v0}, Lcom/google/protobuf/ExtensionRegistryFactory;->invokeSubclassFactory(Ljava/lang/String;)Lcom/google/protobuf/ExtensionRegistryLite; move-result-object v0 :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 return-object v0 .line 3 :catch_0 :cond_0 new-instance v0, Lcom/google/protobuf/ExtensionRegistryLite; invoke-direct {v0}, Lcom/google/protobuf/ExtensionRegistryLite;->()V return-object v0 .end method .method public static createEmpty()Lcom/google/protobuf/ExtensionRegistryLite; .locals 1 .line 1 sget-object v0, Lcom/google/protobuf/ExtensionRegistryFactory;->EXTENSION_REGISTRY_CLASS:Ljava/lang/Class; if-eqz v0, :cond_0 :try_start_0 const-string v0, "getEmptyRegistry" .line 2 invoke-static {v0}, Lcom/google/protobuf/ExtensionRegistryFactory;->invokeSubclassFactory(Ljava/lang/String;)Lcom/google/protobuf/ExtensionRegistryLite; move-result-object v0 :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 return-object v0 .line 3 :catch_0 :cond_0 sget-object v0, Lcom/google/protobuf/ExtensionRegistryLite;->EMPTY_REGISTRY_LITE:Lcom/google/protobuf/ExtensionRegistryLite; return-object v0 .end method .method private static final invokeSubclassFactory(Ljava/lang/String;)Lcom/google/protobuf/ExtensionRegistryLite; .locals 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/Exception; } .end annotation .line 1 sget-object v0, Lcom/google/protobuf/ExtensionRegistryFactory;->EXTENSION_REGISTRY_CLASS:Ljava/lang/Class; const/4 v1, 0x0 new-array v2, v1, [Ljava/lang/Class; .line 2 invoke-virtual {v0, p0, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object p0 new-array v0, v1, [Ljava/lang/Object; const/4 v1, 0x0 invoke-virtual {p0, v1, v0}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Lcom/google/protobuf/ExtensionRegistryLite; return-object p0 .end method .method public static isFullRegistry(Lcom/google/protobuf/ExtensionRegistryLite;)Z .locals 1 .line 1 sget-object v0, Lcom/google/protobuf/ExtensionRegistryFactory;->EXTENSION_REGISTRY_CLASS:Ljava/lang/Class; if-eqz v0, :cond_0 .line 2 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object p0 invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z move-result p0 if-eqz p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method public static reflectExtensionRegistry()Ljava/lang/Class; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/lang/Class<", "*>;" } .end annotation :try_start_0 const-string v0, "com.google.protobuf.ExtensionRegistry" .line 1 invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v0 :try_end_0 .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0 return-object v0 :catch_0 const/4 v0, 0x0 return-object v0 .end method