.class public final Lcom/google/common/reflect/ClassPath; .super Ljava/lang/Object; .source "ClassPath.java" # annotations .annotation runtime Lcom/google/common/reflect/ElementTypesAreNonnullByDefault; .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/google/common/reflect/ClassPath$LocationInfo;, Lcom/google/common/reflect/ClassPath$ClassInfo;, Lcom/google/common/reflect/ClassPath$ResourceInfo; } .end annotation # static fields .field private static final CLASS_FILE_NAME_EXTENSION:Ljava/lang/String; = ".class" .field private static final CLASS_PATH_ATTRIBUTE_SEPARATOR:Lcom/google/common/base/Splitter; .field private static final logger:Ljava/util/logging/Logger; # instance fields .field private final resources:Lcom/google/common/collect/ImmutableSet; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/google/common/collect/ImmutableSet<", "Lcom/google/common/reflect/ClassPath$ResourceInfo;", ">;" } .end annotation .end field # direct methods .method static constructor ()V .locals 1 const-class v0, Lcom/google/common/reflect/ClassPath; .line 95 invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger; move-result-object v0 sput-object v0, Lcom/google/common/reflect/ClassPath;->logger:Ljava/util/logging/Logger; const-string v0, " " .line 99 invoke-static {v0}, Lcom/google/common/base/Splitter;->on(Ljava/lang/String;)Lcom/google/common/base/Splitter; move-result-object v0 invoke-virtual {v0}, Lcom/google/common/base/Splitter;->omitEmptyStrings()Lcom/google/common/base/Splitter; move-result-object v0 sput-object v0, Lcom/google/common/reflect/ClassPath;->CLASS_PATH_ATTRIBUTE_SEPARATOR:Lcom/google/common/base/Splitter; return-void .end method .method private constructor (Lcom/google/common/collect/ImmutableSet;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/collect/ImmutableSet<", "Lcom/google/common/reflect/ClassPath$ResourceInfo;", ">;)V" } .end annotation .line 105 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lcom/google/common/reflect/ClassPath;->resources:Lcom/google/common/collect/ImmutableSet; return-void .end method .method static synthetic access$000()Ljava/util/logging/Logger; .locals 1 sget-object v0, Lcom/google/common/reflect/ClassPath;->logger:Ljava/util/logging/Logger; return-object v0 .end method .method public static from(Ljava/lang/ClassLoader;)Lcom/google/common/reflect/ClassPath; .locals 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 126 invoke-static {p0}, Lcom/google/common/reflect/ClassPath;->locationsFrom(Ljava/lang/ClassLoader;)Lcom/google/common/collect/ImmutableSet; move-result-object p0 .line 130 new-instance v0, Ljava/util/HashSet; invoke-direct {v0}, Ljava/util/HashSet;->()V .line 131 invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator; move-result-object v1 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_0 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/google/common/reflect/ClassPath$LocationInfo; .line 132 invoke-virtual {v2}, Lcom/google/common/reflect/ClassPath$LocationInfo;->file()Ljava/io/File; move-result-object v2 invoke-interface {v0, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z goto :goto_0 .line 136 :cond_0 invoke-static {}, Lcom/google/common/collect/ImmutableSet;->builder()Lcom/google/common/collect/ImmutableSet$Builder; move-result-object v1 .line 137 invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator; move-result-object p0 :goto_1 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_1 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/google/common/reflect/ClassPath$LocationInfo; .line 138 invoke-virtual {v2, v0}, Lcom/google/common/reflect/ClassPath$LocationInfo;->scanResources(Ljava/util/Set;)Lcom/google/common/collect/ImmutableSet; move-result-object v2 invoke-virtual {v1, v2}, Lcom/google/common/collect/ImmutableSet$Builder;->addAll(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableSet$Builder; goto :goto_1 .line 140 :cond_1 new-instance p0, Lcom/google/common/reflect/ClassPath; invoke-virtual {v1}, Lcom/google/common/collect/ImmutableSet$Builder;->build()Lcom/google/common/collect/ImmutableSet; move-result-object v0 invoke-direct {p0, v0}, Lcom/google/common/reflect/ClassPath;->(Lcom/google/common/collect/ImmutableSet;)V return-object p0 .end method .method private static getClassLoaderUrls(Ljava/lang/ClassLoader;)Lcom/google/common/collect/ImmutableList; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/ClassLoader;", ")", "Lcom/google/common/collect/ImmutableList<", "Ljava/net/URL;", ">;" } .end annotation .line 626 instance-of v0, p0, Ljava/net/URLClassLoader; if-eqz v0, :cond_0 .line 627 check-cast p0, Ljava/net/URLClassLoader; invoke-virtual {p0}, Ljava/net/URLClassLoader;->getURLs()[Ljava/net/URL; move-result-object p0 invoke-static {p0}, Lcom/google/common/collect/ImmutableList;->copyOf([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList; move-result-object p0 return-object p0 .line 629 :cond_0 invoke-static {}, Ljava/lang/ClassLoader;->getSystemClassLoader()Ljava/lang/ClassLoader; move-result-object v0 invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result p0 if-eqz p0, :cond_1 .line 630 invoke-static {}, Lcom/google/common/reflect/ClassPath;->parseJavaClassPath()Lcom/google/common/collect/ImmutableList; move-result-object p0 return-object p0 .line 632 :cond_1 invoke-static {}, Lcom/google/common/collect/ImmutableList;->of()Lcom/google/common/collect/ImmutableList; move-result-object p0 return-object p0 .end method .method static getClassName(Ljava/lang/String;)Ljava/lang/String; .locals 2 .line 669 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v0 add-int/lit8 v0, v0, -0x6 const/4 v1, 0x0 .line 670 invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object p0 const/16 v0, 0x2f const/16 v1, 0x2e invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(CC)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method static getClassPathEntries(Ljava/lang/ClassLoader;)Lcom/google/common/collect/ImmutableMap; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/ClassLoader;", ")", "Lcom/google/common/collect/ImmutableMap<", "Ljava/io/File;", "Ljava/lang/ClassLoader;", ">;" } .end annotation .line 608 invoke-static {}, Lcom/google/common/collect/Maps;->newLinkedHashMap()Ljava/util/LinkedHashMap; move-result-object v0 .line 610 invoke-virtual {p0}, Ljava/lang/ClassLoader;->getParent()Ljava/lang/ClassLoader; move-result-object v1 if-eqz v1, :cond_0 .line 612 invoke-static {v1}, Lcom/google/common/reflect/ClassPath;->getClassPathEntries(Ljava/lang/ClassLoader;)Lcom/google/common/collect/ImmutableMap; move-result-object v1 invoke-virtual {v0, v1}, Ljava/util/LinkedHashMap;->putAll(Ljava/util/Map;)V .line 614 :cond_0 invoke-static {p0}, Lcom/google/common/reflect/ClassPath;->getClassLoaderUrls(Ljava/lang/ClassLoader;)Lcom/google/common/collect/ImmutableList; move-result-object v1 invoke-virtual {v1}, Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator; move-result-object v1 :cond_1 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_2 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/net/URL; .line 615 invoke-virtual {v2}, Ljava/net/URL;->getProtocol()Ljava/lang/String; move-result-object v3 const-string v4, "file" invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_1 .line 616 invoke-static {v2}, Lcom/google/common/reflect/ClassPath;->toFile(Ljava/net/URL;)Ljava/io/File; move-result-object v2 .line 617 invoke-virtual {v0, v2}, Ljava/util/LinkedHashMap;->containsKey(Ljava/lang/Object;)Z move-result v3 if-nez v3, :cond_1 .line 618 invoke-virtual {v0, v2, p0}, Ljava/util/LinkedHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 .line 622 :cond_2 invoke-static {v0}, Lcom/google/common/collect/ImmutableMap;->copyOf(Ljava/util/Map;)Lcom/google/common/collect/ImmutableMap; move-result-object p0 return-object p0 .end method .method static getClassPathEntry(Ljava/io/File;Ljava/lang/String;)Ljava/net/URL; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/net/MalformedURLException; } .end annotation .line 664 new-instance v0, Ljava/net/URL; invoke-virtual {p0}, Ljava/io/File;->toURI()Ljava/net/URI; move-result-object p0 invoke-virtual {p0}, Ljava/net/URI;->toURL()Ljava/net/URL; move-result-object p0 invoke-direct {v0, p0, p1}, Ljava/net/URL;->(Ljava/net/URL;Ljava/lang/String;)V return-object v0 .end method .method static getClassPathFromManifest(Ljava/io/File;Ljava/util/jar/Manifest;)Lcom/google/common/collect/ImmutableSet; .locals 5 .param p1 # Ljava/util/jar/Manifest; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/io/File;", "Ljava/util/jar/Manifest;", ")", "Lcom/google/common/collect/ImmutableSet<", "Ljava/io/File;", ">;" } .end annotation if-nez p1, :cond_0 .line 583 invoke-static {}, Lcom/google/common/collect/ImmutableSet;->of()Lcom/google/common/collect/ImmutableSet; move-result-object p0 return-object p0 .line 585 :cond_0 invoke-static {}, Lcom/google/common/collect/ImmutableSet;->builder()Lcom/google/common/collect/ImmutableSet$Builder; move-result-object v0 .line 587 invoke-virtual {p1}, Ljava/util/jar/Manifest;->getMainAttributes()Ljava/util/jar/Attributes; move-result-object p1 sget-object v1, Ljava/util/jar/Attributes$Name;->CLASS_PATH:Ljava/util/jar/Attributes$Name; invoke-virtual {v1}, Ljava/util/jar/Attributes$Name;->toString()Ljava/lang/String; move-result-object v1 invoke-virtual {p1, v1}, Ljava/util/jar/Attributes;->getValue(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 if-eqz p1, :cond_3 sget-object v1, Lcom/google/common/reflect/ClassPath;->CLASS_PATH_ATTRIBUTE_SEPARATOR:Lcom/google/common/base/Splitter; .line 589 invoke-virtual {v1, p1}, Lcom/google/common/base/Splitter;->split(Ljava/lang/CharSequence;)Ljava/lang/Iterable; move-result-object p1 invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object p1 :cond_1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_3 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/String; .line 592 :try_start_0 invoke-static {p0, v1}, Lcom/google/common/reflect/ClassPath;->getClassPathEntry(Ljava/io/File;Ljava/lang/String;)Ljava/net/URL; move-result-object v1 :try_end_0 .catch Ljava/net/MalformedURLException; {:try_start_0 .. :try_end_0} :catch_0 .line 598 invoke-virtual {v1}, Ljava/net/URL;->getProtocol()Ljava/lang/String; move-result-object v2 const-string v3, "file" invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_1 .line 599 invoke-static {v1}, Lcom/google/common/reflect/ClassPath;->toFile(Ljava/net/URL;)Ljava/io/File; move-result-object v1 invoke-virtual {v0, v1}, Lcom/google/common/collect/ImmutableSet$Builder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder; goto :goto_0 :catch_0 sget-object v2, Lcom/google/common/reflect/ClassPath;->logger:Ljava/util/logging/Logger; .line 595 invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 invoke-virtual {v1}, Ljava/lang/String;->length()I move-result v3 const-string v4, "Invalid Class-Path entry: " if-eqz v3, :cond_2 invoke-virtual {v4, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 goto :goto_1 :cond_2 new-instance v1, Ljava/lang/String; invoke-direct {v1, v4}, Ljava/lang/String;->(Ljava/lang/String;)V :goto_1 invoke-virtual {v2, v1}, Ljava/util/logging/Logger;->warning(Ljava/lang/String;)V goto :goto_0 .line 603 :cond_3 invoke-virtual {v0}, Lcom/google/common/collect/ImmutableSet$Builder;->build()Lcom/google/common/collect/ImmutableSet; move-result-object p0 return-object p0 .end method .method static locationsFrom(Ljava/lang/ClassLoader;)Lcom/google/common/collect/ImmutableSet; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/ClassLoader;", ")", "Lcom/google/common/collect/ImmutableSet<", "Lcom/google/common/reflect/ClassPath$LocationInfo;", ">;" } .end annotation .line 398 invoke-static {}, Lcom/google/common/collect/ImmutableSet;->builder()Lcom/google/common/collect/ImmutableSet$Builder; move-result-object v0 .line 399 invoke-static {p0}, Lcom/google/common/reflect/ClassPath;->getClassPathEntries(Ljava/lang/ClassLoader;)Lcom/google/common/collect/ImmutableMap; move-result-object p0 invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMap;->entrySet()Lcom/google/common/collect/ImmutableSet; move-result-object p0 invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator; move-result-object p0 :goto_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/util/Map$Entry; .line 400 new-instance v2, Lcom/google/common/reflect/ClassPath$LocationInfo; invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/io/File; invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/ClassLoader; invoke-direct {v2, v3, v1}, Lcom/google/common/reflect/ClassPath$LocationInfo;->(Ljava/io/File;Ljava/lang/ClassLoader;)V invoke-virtual {v0, v2}, Lcom/google/common/collect/ImmutableSet$Builder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder; goto :goto_0 .line 402 :cond_0 invoke-virtual {v0}, Lcom/google/common/collect/ImmutableSet$Builder;->build()Lcom/google/common/collect/ImmutableSet; move-result-object p0 return-object p0 .end method .method static parseJavaClassPath()Lcom/google/common/collect/ImmutableList; .locals 8 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/collect/ImmutableList<", "Ljava/net/URL;", ">;" } .end annotation .line 641 invoke-static {}, Lcom/google/common/collect/ImmutableList;->builder()Lcom/google/common/collect/ImmutableList$Builder; move-result-object v0 .line 642 sget-object v1, Lcom/google/common/base/StandardSystemProperty;->PATH_SEPARATOR:Lcom/google/common/base/StandardSystemProperty; invoke-virtual {v1}, Lcom/google/common/base/StandardSystemProperty;->value()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Lcom/google/common/base/Splitter;->on(Ljava/lang/String;)Lcom/google/common/base/Splitter; move-result-object v1 sget-object v2, Lcom/google/common/base/StandardSystemProperty;->JAVA_CLASS_PATH:Lcom/google/common/base/StandardSystemProperty; invoke-virtual {v2}, Lcom/google/common/base/StandardSystemProperty;->value()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Lcom/google/common/base/Splitter;->split(Ljava/lang/CharSequence;)Ljava/lang/Iterable; move-result-object v1 invoke-interface {v1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object v1 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_1 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/String; .line 645 :try_start_0 new-instance v3, Ljava/io/File; invoke-direct {v3, v2}, Ljava/io/File;->(Ljava/lang/String;)V invoke-virtual {v3}, Ljava/io/File;->toURI()Ljava/net/URI; move-result-object v3 invoke-virtual {v3}, Ljava/net/URI;->toURL()Ljava/net/URL; move-result-object v3 invoke-virtual {v0, v3}, Lcom/google/common/collect/ImmutableList$Builder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder; :try_end_0 .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_1 .catch Ljava/net/MalformedURLException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 move-exception v3 goto :goto_1 .line 647 :catch_1 :try_start_1 new-instance v3, Ljava/net/URL; const-string v4, "file" new-instance v5, Ljava/io/File; invoke-direct {v5, v2}, Ljava/io/File;->(Ljava/lang/String;)V invoke-virtual {v5}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; move-result-object v5 const/4 v6, 0x0 invoke-direct {v3, v4, v6, v5}, Ljava/net/URL;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V invoke-virtual {v0, v3}, Lcom/google/common/collect/ImmutableList$Builder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder; :try_end_1 .catch Ljava/net/MalformedURLException; {:try_start_1 .. :try_end_1} :catch_0 goto :goto_0 :goto_1 sget-object v4, Lcom/google/common/reflect/ClassPath;->logger:Ljava/util/logging/Logger; .line 650 sget-object v5, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level; invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v2 invoke-virtual {v2}, Ljava/lang/String;->length()I move-result v6 const-string v7, "malformed classpath entry: " if-eqz v6, :cond_0 invoke-virtual {v7, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 goto :goto_2 :cond_0 new-instance v2, Ljava/lang/String; invoke-direct {v2, v7}, Ljava/lang/String;->(Ljava/lang/String;)V :goto_2 invoke-virtual {v4, v5, v2, v3}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V goto :goto_0 .line 653 :cond_1 invoke-virtual {v0}, Lcom/google/common/collect/ImmutableList$Builder;->build()Lcom/google/common/collect/ImmutableList; move-result-object v0 return-object v0 .end method .method static toFile(Ljava/net/URL;)Ljava/io/File; .locals 2 .line 676 invoke-virtual {p0}, Ljava/net/URL;->getProtocol()Ljava/lang/String; move-result-object v0 const-string v1, "file" invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V .line 678 :try_start_0 new-instance v0, Ljava/io/File; invoke-virtual {p0}, Ljava/net/URL;->toURI()Ljava/net/URI; move-result-object v1 invoke-direct {v0, v1}, Ljava/io/File;->(Ljava/net/URI;)V :try_end_0 .catch Ljava/net/URISyntaxException; {:try_start_0 .. :try_end_0} :catch_0 return-object v0 .line 680 :catch_0 new-instance v0, Ljava/io/File; invoke-virtual {p0}, Ljava/net/URL;->getPath()Ljava/lang/String; move-result-object p0 invoke-direct {v0, p0}, Ljava/io/File;->(Ljava/lang/String;)V return-object v0 .end method # virtual methods .method public getAllClasses()Lcom/google/common/collect/ImmutableSet; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/collect/ImmutableSet<", "Lcom/google/common/reflect/ClassPath$ClassInfo;", ">;" } .end annotation iget-object p0, p0, Lcom/google/common/reflect/ClassPath;->resources:Lcom/google/common/collect/ImmutableSet; .line 157 invoke-static {p0}, Lcom/google/common/collect/FluentIterable;->from(Ljava/lang/Iterable;)Lcom/google/common/collect/FluentIterable; move-result-object p0 const-class v0, Lcom/google/common/reflect/ClassPath$ClassInfo; invoke-virtual {p0, v0}, Lcom/google/common/collect/FluentIterable;->filter(Ljava/lang/Class;)Lcom/google/common/collect/FluentIterable; move-result-object p0 invoke-virtual {p0}, Lcom/google/common/collect/FluentIterable;->toSet()Lcom/google/common/collect/ImmutableSet; move-result-object p0 return-object p0 .end method .method public getResources()Lcom/google/common/collect/ImmutableSet; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/collect/ImmutableSet<", "Lcom/google/common/reflect/ClassPath$ResourceInfo;", ">;" } .end annotation iget-object p0, p0, Lcom/google/common/reflect/ClassPath;->resources:Lcom/google/common/collect/ImmutableSet; return-object p0 .end method .method public getTopLevelClasses()Lcom/google/common/collect/ImmutableSet; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/collect/ImmutableSet<", "Lcom/google/common/reflect/ClassPath$ClassInfo;", ">;" } .end annotation iget-object p0, p0, Lcom/google/common/reflect/ClassPath;->resources:Lcom/google/common/collect/ImmutableSet; .line 165 invoke-static {p0}, Lcom/google/common/collect/FluentIterable;->from(Ljava/lang/Iterable;)Lcom/google/common/collect/FluentIterable; move-result-object p0 const-class v0, Lcom/google/common/reflect/ClassPath$ClassInfo; .line 166 invoke-virtual {p0, v0}, Lcom/google/common/collect/FluentIterable;->filter(Ljava/lang/Class;)Lcom/google/common/collect/FluentIterable; move-result-object p0 new-instance v0, Lcom/google/common/reflect/ClassPath$$ExternalSyntheticLambda0; invoke-direct {v0}, Lcom/google/common/reflect/ClassPath$$ExternalSyntheticLambda0;->()V .line 167 invoke-virtual {p0, v0}, Lcom/google/common/collect/FluentIterable;->filter(Lcom/google/common/base/Predicate;)Lcom/google/common/collect/FluentIterable; move-result-object p0 .line 168 invoke-virtual {p0}, Lcom/google/common/collect/FluentIterable;->toSet()Lcom/google/common/collect/ImmutableSet; move-result-object p0 return-object p0 .end method .method public getTopLevelClasses(Ljava/lang/String;)Lcom/google/common/collect/ImmutableSet; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", ")", "Lcom/google/common/collect/ImmutableSet<", "Lcom/google/common/reflect/ClassPath$ClassInfo;", ">;" } .end annotation .line 173 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 174 invoke-static {}, Lcom/google/common/collect/ImmutableSet;->builder()Lcom/google/common/collect/ImmutableSet$Builder; move-result-object v0 .line 175 invoke-virtual {p0}, Lcom/google/common/reflect/ClassPath;->getTopLevelClasses()Lcom/google/common/collect/ImmutableSet; move-result-object p0 invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator; move-result-object p0 :cond_0 :goto_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/google/common/reflect/ClassPath$ClassInfo; .line 176 invoke-virtual {v1}, Lcom/google/common/reflect/ClassPath$ClassInfo;->getPackageName()Ljava/lang/String; move-result-object v2 invoke-virtual {v2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_0 .line 177 invoke-virtual {v0, v1}, Lcom/google/common/collect/ImmutableSet$Builder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder; goto :goto_0 .line 180 :cond_1 invoke-virtual {v0}, Lcom/google/common/collect/ImmutableSet$Builder;->build()Lcom/google/common/collect/ImmutableSet; move-result-object p0 return-object p0 .end method .method public getTopLevelClassesRecursive(Ljava/lang/String;)Lcom/google/common/collect/ImmutableSet; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", ")", "Lcom/google/common/collect/ImmutableSet<", "Lcom/google/common/reflect/ClassPath$ClassInfo;", ">;" } .end annotation .line 188 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 189 invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 invoke-virtual {v0}, Ljava/lang/String;->length()I move-result v0 add-int/lit8 v0, v0, 0x1 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1, v0}, Ljava/lang/StringBuilder;->(I)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const/16 v0, 0x2e invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 .line 190 invoke-static {}, Lcom/google/common/collect/ImmutableSet;->builder()Lcom/google/common/collect/ImmutableSet$Builder; move-result-object v0 .line 191 invoke-virtual {p0}, Lcom/google/common/reflect/ClassPath;->getTopLevelClasses()Lcom/google/common/collect/ImmutableSet; move-result-object p0 invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator; move-result-object p0 :cond_0 :goto_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/google/common/reflect/ClassPath$ClassInfo; .line 192 invoke-virtual {v1}, Lcom/google/common/reflect/ClassPath$ClassInfo;->getName()Ljava/lang/String; move-result-object v2 invoke-virtual {v2, p1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v2 if-eqz v2, :cond_0 .line 193 invoke-virtual {v0, v1}, Lcom/google/common/collect/ImmutableSet$Builder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder; goto :goto_0 .line 196 :cond_1 invoke-virtual {v0}, Lcom/google/common/collect/ImmutableSet$Builder;->build()Lcom/google/common/collect/ImmutableSet; move-result-object p0 return-object p0 .end method