Path: blob/master/Compiled_apk/smali/org/apache/commons/io/FilenameUtils.smali
2476 views
.class public Lorg/apache/commons/io/FilenameUtils; .super Ljava/lang/Object; .source "FilenameUtils.java" # static fields .field public static final EXTENSION_SEPARATOR:C = '.' .field public static final EXTENSION_SEPARATOR_STR:Ljava/lang/String; .field private static final OTHER_SEPARATOR:C .field private static final SYSTEM_SEPARATOR:C .field private static final UNIX_SEPARATOR:C = '/' .field private static final WINDOWS_SEPARATOR:C = '\\' # direct methods .method static constructor <clinit>()V .locals 1 .line 104 const/16 v0, 0x2e invoke-static {v0}, Ljava/lang/Character;->toString(C)Ljava/lang/String; move-result-object v0 sput-object v0, Lorg/apache/commons/io/FilenameUtils;->EXTENSION_SEPARATOR_STR:Ljava/lang/String; .line 119 sget-char v0, Ljava/io/File;->separatorChar:C sput-char v0, Lorg/apache/commons/io/FilenameUtils;->SYSTEM_SEPARATOR:C .line 126 invoke-static {}, Lorg/apache/commons/io/FilenameUtils;->isSystemWindows()Z move-result v0 if-eqz v0, :cond_0 .line 127 const/16 v0, 0x2f sput-char v0, Lorg/apache/commons/io/FilenameUtils;->OTHER_SEPARATOR:C goto :goto_0 .line 129 :cond_0 const/16 v0, 0x5c sput-char v0, Lorg/apache/commons/io/FilenameUtils;->OTHER_SEPARATOR:C .line 131 :goto_0 return-void .end method .method public constructor <init>()V .locals 0 .line 137 invoke-direct {p0}, Ljava/lang/Object;-><init>()V .line 138 return-void .end method .method public static concat(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .locals 5 .param p0, "basePath" # Ljava/lang/String; .param p1, "fullFilenameToAdd" # Ljava/lang/String; .line 491 invoke-static {p1}, Lorg/apache/commons/io/FilenameUtils;->getPrefixLength(Ljava/lang/String;)I move-result v0 .line 492 .local v0, "prefix":I const/4 v1, 0x0 if-gez v0, :cond_0 .line 493 return-object v1 .line 495 :cond_0 if-lez v0, :cond_1 .line 496 invoke-static {p1}, Lorg/apache/commons/io/FilenameUtils;->normalize(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 return-object v1 .line 498 :cond_1 if-nez p0, :cond_2 .line 499 return-object v1 .line 501 :cond_2 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v1 .line 502 .local v1, "len":I if-nez v1, :cond_3 .line 503 invoke-static {p1}, Lorg/apache/commons/io/FilenameUtils;->normalize(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 return-object v2 .line 505 :cond_3 add-int/lit8 v2, v1, -0x1 invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C move-result v2 .line 506 .local v2, "ch":C invoke-static {v2}, Lorg/apache/commons/io/FilenameUtils;->isSeparator(C)Z move-result v3 if-eqz v3, :cond_4 .line 507 new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v3}, Lorg/apache/commons/io/FilenameUtils;->normalize(Ljava/lang/String;)Ljava/lang/String; move-result-object v3 return-object v3 .line 509 :cond_4 new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const/16 v4, 0x2f invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v3}, Lorg/apache/commons/io/FilenameUtils;->normalize(Ljava/lang/String;)Ljava/lang/String; move-result-object v3 return-object v3 .end method .method private static doGetFullPath(Ljava/lang/String;Z)Ljava/lang/String; .locals 4 .param p0, "filename" # Ljava/lang/String; .param p1, "includeSeparator" # Z .line 873 const/4 v0, 0x0 if-nez p0, :cond_0 .line 874 return-object v0 .line 876 :cond_0 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->getPrefixLength(Ljava/lang/String;)I move-result v1 .line 877 .local v1, "prefix":I if-gez v1, :cond_1 .line 878 return-object v0 .line 880 :cond_1 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v0 if-lt v1, v0, :cond_3 .line 881 if-eqz p1, :cond_2 .line 882 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->getPrefix(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 return-object v0 .line 884 :cond_2 return-object p0 .line 887 :cond_3 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->indexOfLastSeparator(Ljava/lang/String;)I move-result v0 .line 888 .local v0, "index":I const/4 v2, 0x0 if-gez v0, :cond_4 .line 889 invoke-virtual {p0, v2, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v2 return-object v2 .line 891 :cond_4 add-int v3, v0, p1 .line 892 .local v3, "end":I if-nez v3, :cond_5 .line 893 add-int/lit8 v3, v3, 0x1 .line 895 :cond_5 invoke-virtual {p0, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v2 return-object v2 .end method .method private static doGetPath(Ljava/lang/String;I)Ljava/lang/String; .locals 4 .param p0, "filename" # Ljava/lang/String; .param p1, "separatorAdd" # I .line 791 const/4 v0, 0x0 if-nez p0, :cond_0 .line 792 return-object v0 .line 794 :cond_0 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->getPrefixLength(Ljava/lang/String;)I move-result v1 .line 795 .local v1, "prefix":I if-gez v1, :cond_1 .line 796 return-object v0 .line 798 :cond_1 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->indexOfLastSeparator(Ljava/lang/String;)I move-result v0 .line 799 .local v0, "index":I add-int v2, v0, p1 .line 800 .local v2, "endIndex":I invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v3 if-ge v1, v3, :cond_3 if-ltz v0, :cond_3 if-lt v1, v2, :cond_2 goto :goto_0 .line 803 :cond_2 invoke-virtual {p0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v3 return-object v3 .line 801 :cond_3 :goto_0 const-string v3, "" return-object v3 .end method .method private static doNormalize(Ljava/lang/String;CZ)Ljava/lang/String; .locals 13 .param p0, "filename" # Ljava/lang/String; .param p1, "separator" # C .param p2, "keepSeparator" # Z .line 357 const/4 v0, 0x0 if-nez p0, :cond_0 .line 358 return-object v0 .line 360 :cond_0 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v1 .line 361 .local v1, "size":I if-nez v1, :cond_1 .line 362 return-object p0 .line 364 :cond_1 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->getPrefixLength(Ljava/lang/String;)I move-result v2 .line 365 .local v2, "prefix":I if-gez v2, :cond_2 .line 366 return-object v0 .line 369 :cond_2 add-int/lit8 v3, v1, 0x2 new-array v3, v3, [C .line 370 .local v3, "array":[C invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v4 const/4 v5, 0x0 invoke-virtual {p0, v5, v4, v3, v5}, Ljava/lang/String;->getChars(II[CI)V .line 373 sget-char v4, Lorg/apache/commons/io/FilenameUtils;->SYSTEM_SEPARATOR:C if-ne p1, v4, :cond_3 sget-char v4, Lorg/apache/commons/io/FilenameUtils;->OTHER_SEPARATOR:C .line 374 .local v4, "otherSeparator":C :cond_3 const/4 v6, 0x0 .local v6, "i":I :goto_0 array-length v7, v3 if-ge v6, v7, :cond_5 .line 375 aget-char v7, v3, v6 if-ne v7, v4, :cond_4 .line 376 aput-char p1, v3, v6 .line 374 :cond_4 add-int/lit8 v6, v6, 0x1 goto :goto_0 .line 381 .end local v6 # "i":I :cond_5 const/4 v6, 0x1 .line 382 .local v6, "lastIsDirectory":Z add-int/lit8 v7, v1, -0x1 aget-char v7, v3, v7 if-eq v7, p1, :cond_6 .line 383 add-int/lit8 v7, v1, 0x1 .end local v1 # "size":I .local v7, "size":I aput-char p1, v3, v1 .line 384 const/4 v6, 0x0 move v1, v7 .line 388 .end local v7 # "size":I .restart local v1 # "size":I :cond_6 add-int/lit8 v7, v2, 0x1 .local v7, "i":I :goto_1 if-ge v7, v1, :cond_8 .line 389 aget-char v8, v3, v7 if-ne v8, p1, :cond_7 add-int/lit8 v8, v7, -0x1 aget-char v8, v3, v8 if-ne v8, p1, :cond_7 .line 390 add-int/lit8 v8, v7, -0x1 sub-int v9, v1, v7 invoke-static {v3, v7, v3, v8, v9}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 391 add-int/lit8 v1, v1, -0x1 .line 392 add-int/lit8 v7, v7, -0x1 .line 388 :cond_7 add-int/lit8 v7, v7, 0x1 goto :goto_1 .line 397 .end local v7 # "i":I :cond_8 add-int/lit8 v7, v2, 0x1 .restart local v7 # "i":I :goto_2 const/16 v8, 0x2e if-ge v7, v1, :cond_c .line 398 aget-char v9, v3, v7 if-ne v9, p1, :cond_b add-int/lit8 v9, v7, -0x1 aget-char v9, v3, v9 if-ne v9, v8, :cond_b add-int/lit8 v8, v2, 0x1 if-eq v7, v8, :cond_9 add-int/lit8 v8, v7, -0x2 aget-char v8, v3, v8 if-ne v8, p1, :cond_b .line 400 :cond_9 add-int/lit8 v8, v1, -0x1 if-ne v7, v8, :cond_a .line 401 const/4 v6, 0x1 .line 403 :cond_a add-int/lit8 v8, v7, 0x1 add-int/lit8 v9, v7, -0x1 sub-int v10, v1, v7 invoke-static {v3, v8, v3, v9, v10}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 404 add-int/lit8 v1, v1, -0x2 .line 405 add-int/lit8 v7, v7, -0x1 .line 397 :cond_b add-int/lit8 v7, v7, 0x1 goto :goto_2 .line 411 .end local v7 # "i":I :cond_c add-int/lit8 v7, v2, 0x2 .restart local v7 # "i":I :goto_3 if-ge v7, v1, :cond_13 .line 412 aget-char v9, v3, v7 if-ne v9, p1, :cond_12 add-int/lit8 v9, v7, -0x1 aget-char v9, v3, v9 if-ne v9, v8, :cond_12 add-int/lit8 v9, v7, -0x2 aget-char v9, v3, v9 if-ne v9, v8, :cond_12 add-int/lit8 v9, v2, 0x2 if-eq v7, v9, :cond_d add-int/lit8 v9, v7, -0x3 aget-char v9, v3, v9 if-ne v9, p1, :cond_12 .line 414 :cond_d add-int/lit8 v9, v2, 0x2 if-ne v7, v9, :cond_e .line 415 return-object v0 .line 417 :cond_e add-int/lit8 v9, v1, -0x1 if-ne v7, v9, :cond_f .line 418 const/4 v6, 0x1 .line 421 :cond_f add-int/lit8 v9, v7, -0x4 .local v9, "j":I :goto_4 if-lt v9, v2, :cond_11 .line 422 aget-char v10, v3, v9 if-ne v10, p1, :cond_10 .line 424 add-int/lit8 v10, v7, 0x1 add-int/lit8 v11, v9, 0x1 sub-int v12, v1, v7 invoke-static {v3, v10, v3, v11, v12}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 425 sub-int v10, v7, v9 sub-int/2addr v1, v10 .line 426 add-int/lit8 v7, v9, 0x1 .line 427 goto :goto_5 .line 421 :cond_10 add-int/lit8 v9, v9, -0x1 goto :goto_4 .line 431 :cond_11 add-int/lit8 v10, v7, 0x1 sub-int v11, v1, v7 invoke-static {v3, v10, v3, v2, v11}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 432 add-int/lit8 v10, v7, 0x1 sub-int/2addr v10, v2 sub-int/2addr v1, v10 .line 433 add-int/lit8 v7, v2, 0x1 .line 411 .end local v9 # "j":I :cond_12 :goto_5 add-int/lit8 v7, v7, 0x1 goto :goto_3 .line 437 .end local v7 # "i":I :cond_13 if-gtz v1, :cond_14 .line 438 const-string v0, "" return-object v0 .line 440 :cond_14 if-gt v1, v2, :cond_15 .line 441 new-instance v0, Ljava/lang/String; invoke-direct {v0, v3, v5, v1}, Ljava/lang/String;-><init>([CII)V return-object v0 .line 443 :cond_15 if-eqz v6, :cond_16 if-eqz p2, :cond_16 .line 444 new-instance v0, Ljava/lang/String; invoke-direct {v0, v3, v5, v1}, Ljava/lang/String;-><init>([CII)V return-object v0 .line 446 :cond_16 new-instance v0, Ljava/lang/String; add-int/lit8 v7, v1, -0x1 invoke-direct {v0, v3, v5, v7}, Ljava/lang/String;-><init>([CII)V return-object v0 .end method .method public static equals(Ljava/lang/String;Ljava/lang/String;)Z .locals 2 .param p0, "filename1" # Ljava/lang/String; .param p1, "filename2" # Ljava/lang/String; .line 1017 sget-object v0, Lorg/apache/commons/io/IOCase;->SENSITIVE:Lorg/apache/commons/io/IOCase; const/4 v1, 0x0 invoke-static {p0, p1, v1, v0}, Lorg/apache/commons/io/FilenameUtils;->equals(Ljava/lang/String;Ljava/lang/String;ZLorg/apache/commons/io/IOCase;)Z move-result v0 return v0 .end method .method public static equals(Ljava/lang/String;Ljava/lang/String;ZLorg/apache/commons/io/IOCase;)Z .locals 2 .param p0, "filename1" # Ljava/lang/String; .param p1, "filename2" # Ljava/lang/String; .param p2, "normalized" # Z .param p3, "caseSensitivity" # Lorg/apache/commons/io/IOCase; .line 1083 if-eqz p0, :cond_4 if-nez p1, :cond_0 goto :goto_1 .line 1086 :cond_0 if-eqz p2, :cond_2 .line 1087 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->normalize(Ljava/lang/String;)Ljava/lang/String; move-result-object p0 .line 1088 invoke-static {p1}, Lorg/apache/commons/io/FilenameUtils;->normalize(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 .line 1089 if-eqz p0, :cond_1 if-eqz p1, :cond_1 goto :goto_0 .line 1090 :cond_1 new-instance v0, Ljava/lang/NullPointerException; const-string v1, "Error normalizing one or both of the file names" invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V throw v0 .line 1094 :cond_2 :goto_0 if-nez p3, :cond_3 .line 1095 sget-object p3, Lorg/apache/commons/io/IOCase;->SENSITIVE:Lorg/apache/commons/io/IOCase; .line 1097 :cond_3 invoke-virtual {p3, p0, p1}, Lorg/apache/commons/io/IOCase;->checkEquals(Ljava/lang/String;Ljava/lang/String;)Z move-result v0 return v0 .line 1084 :cond_4 :goto_1 if-nez p0, :cond_5 if-nez p1, :cond_5 const/4 v0, 0x1 goto :goto_2 :cond_5 const/4 v0, 0x0 :goto_2 return v0 .end method .method public static equalsNormalized(Ljava/lang/String;Ljava/lang/String;)Z .locals 2 .param p0, "filename1" # Ljava/lang/String; .param p1, "filename2" # Ljava/lang/String; .line 1048 sget-object v0, Lorg/apache/commons/io/IOCase;->SENSITIVE:Lorg/apache/commons/io/IOCase; const/4 v1, 0x1 invoke-static {p0, p1, v1, v0}, Lorg/apache/commons/io/FilenameUtils;->equals(Ljava/lang/String;Ljava/lang/String;ZLorg/apache/commons/io/IOCase;)Z move-result v0 return v0 .end method .method public static equalsNormalizedOnSystem(Ljava/lang/String;Ljava/lang/String;)Z .locals 2 .param p0, "filename1" # Ljava/lang/String; .param p1, "filename2" # Ljava/lang/String; .line 1065 sget-object v0, Lorg/apache/commons/io/IOCase;->SYSTEM:Lorg/apache/commons/io/IOCase; const/4 v1, 0x1 invoke-static {p0, p1, v1, v0}, Lorg/apache/commons/io/FilenameUtils;->equals(Ljava/lang/String;Ljava/lang/String;ZLorg/apache/commons/io/IOCase;)Z move-result v0 return v0 .end method .method public static equalsOnSystem(Ljava/lang/String;Ljava/lang/String;)Z .locals 2 .param p0, "filename1" # Ljava/lang/String; .param p1, "filename2" # Ljava/lang/String; .line 1032 sget-object v0, Lorg/apache/commons/io/IOCase;->SYSTEM:Lorg/apache/commons/io/IOCase; const/4 v1, 0x0 invoke-static {p0, p1, v1, v0}, Lorg/apache/commons/io/FilenameUtils;->equals(Ljava/lang/String;Ljava/lang/String;ZLorg/apache/commons/io/IOCase;)Z move-result v0 return v0 .end method .method public static getBaseName(Ljava/lang/String;)Ljava/lang/String; .locals 1 .param p0, "filename" # Ljava/lang/String; .line 941 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->getName(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lorg/apache/commons/io/FilenameUtils;->removeExtension(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public static getExtension(Ljava/lang/String;)Ljava/lang/String; .locals 2 .param p0, "filename" # Ljava/lang/String; .line 963 if-nez p0, :cond_0 .line 964 const/4 v0, 0x0 return-object v0 .line 966 :cond_0 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->indexOfExtension(Ljava/lang/String;)I move-result v0 .line 967 .local v0, "index":I const/4 v1, -0x1 if-ne v0, v1, :cond_1 .line 968 const-string v1, "" return-object v1 .line 970 :cond_1 add-int/lit8 v1, v0, 0x1 invoke-virtual {p0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object v1 return-object v1 .end method .method public static getFullPath(Ljava/lang/String;)Ljava/lang/String; .locals 1 .param p0, "filename" # Ljava/lang/String; .line 832 const/4 v0, 0x1 invoke-static {p0, v0}, Lorg/apache/commons/io/FilenameUtils;->doGetFullPath(Ljava/lang/String;Z)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public static getFullPathNoEndSeparator(Ljava/lang/String;)Ljava/lang/String; .locals 1 .param p0, "filename" # Ljava/lang/String; .line 862 const/4 v0, 0x0 invoke-static {p0, v0}, Lorg/apache/commons/io/FilenameUtils;->doGetFullPath(Ljava/lang/String;Z)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public static getName(Ljava/lang/String;)Ljava/lang/String; .locals 2 .param p0, "filename" # Ljava/lang/String; .line 916 if-nez p0, :cond_0 .line 917 const/4 v0, 0x0 return-object v0 .line 919 :cond_0 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->indexOfLastSeparator(Ljava/lang/String;)I move-result v0 .line 920 .local v0, "index":I add-int/lit8 v1, v0, 0x1 invoke-virtual {p0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object v1 return-object v1 .end method .method public static getPath(Ljava/lang/String;)Ljava/lang/String; .locals 1 .param p0, "filename" # Ljava/lang/String; .line 753 const/4 v0, 0x1 invoke-static {p0, v0}, Lorg/apache/commons/io/FilenameUtils;->doGetPath(Ljava/lang/String;I)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public static getPathNoEndSeparator(Ljava/lang/String;)Ljava/lang/String; .locals 1 .param p0, "filename" # Ljava/lang/String; .line 780 const/4 v0, 0x0 invoke-static {p0, v0}, Lorg/apache/commons/io/FilenameUtils;->doGetPath(Ljava/lang/String;I)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public static getPrefix(Ljava/lang/String;)Ljava/lang/String; .locals 3 .param p0, "filename" # Ljava/lang/String; .line 717 const/4 v0, 0x0 if-nez p0, :cond_0 .line 718 return-object v0 .line 720 :cond_0 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->getPrefixLength(Ljava/lang/String;)I move-result v1 .line 721 .local v1, "len":I if-gez v1, :cond_1 .line 722 return-object v0 .line 724 :cond_1 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v0 if-le v1, v0, :cond_2 .line 725 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const/16 v2, 0x2f invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .line 727 :cond_2 const/4 v0, 0x0 invoke-virtual {p0, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public static getPrefixLength(Ljava/lang/String;)I .locals 9 .param p0, "filename" # Ljava/lang/String; .line 590 const/4 v0, -0x1 if-nez p0, :cond_0 .line 591 return v0 .line 593 :cond_0 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v1 .line 594 .local v1, "len":I const/4 v2, 0x0 if-nez v1, :cond_1 .line 595 return v2 .line 597 :cond_1 invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C move-result v2 .line 598 .local v2, "ch0":C const/16 v3, 0x3a if-ne v2, v3, :cond_2 .line 599 return v0 .line 601 :cond_2 const/16 v4, 0x7e const/4 v5, 0x1 const/4 v6, 0x2 if-ne v1, v5, :cond_4 .line 602 if-ne v2, v4, :cond_3 .line 603 return v6 .line 605 :cond_3 invoke-static {v2}, Lorg/apache/commons/io/FilenameUtils;->isSeparator(C)Z move-result v0 return v0 .line 607 :cond_4 const/16 v7, 0x5c const/16 v8, 0x2f if-ne v2, v4, :cond_8 .line 608 invoke-virtual {p0, v8, v5}, Ljava/lang/String;->indexOf(II)I move-result v3 .line 609 .local v3, "posUnix":I invoke-virtual {p0, v7, v5}, Ljava/lang/String;->indexOf(II)I move-result v4 .line 610 .local v4, "posWin":I if-ne v3, v0, :cond_5 if-ne v4, v0, :cond_5 .line 611 add-int/lit8 v0, v1, 0x1 return v0 .line 613 :cond_5 if-ne v3, v0, :cond_6 move v6, v4 goto :goto_0 :cond_6 move v6, v3 :goto_0 move v3, v6 .line 614 if-ne v4, v0, :cond_7 move v0, v3 goto :goto_1 :cond_7 move v0, v4 .line 615 .end local v4 # "posWin":I .local v0, "posWin":I :goto_1 invoke-static {v3, v0}, Ljava/lang/Math;->min(II)I move-result v4 add-int/2addr v4, v5 return v4 .line 617 .end local v0 # "posWin":I .end local v3 # "posUnix":I :cond_8 invoke-virtual {p0, v5}, Ljava/lang/String;->charAt(I)C move-result v4 .line 618 .local v4, "ch1":C if-ne v4, v3, :cond_c .line 619 invoke-static {v2}, Ljava/lang/Character;->toUpperCase(C)C move-result v2 .line 620 const/16 v3, 0x41 if-lt v2, v3, :cond_b const/16 v3, 0x5a if-gt v2, v3, :cond_b .line 621 if-eq v1, v6, :cond_a invoke-virtual {p0, v6}, Ljava/lang/String;->charAt(I)C move-result v0 invoke-static {v0}, Lorg/apache/commons/io/FilenameUtils;->isSeparator(C)Z move-result v0 if-nez v0, :cond_9 goto :goto_2 .line 624 :cond_9 const/4 v0, 0x3 return v0 .line 622 :cond_a :goto_2 return v6 .line 626 :cond_b return v0 .line 628 :cond_c invoke-static {v2}, Lorg/apache/commons/io/FilenameUtils;->isSeparator(C)Z move-result v3 if-eqz v3, :cond_12 invoke-static {v4}, Lorg/apache/commons/io/FilenameUtils;->isSeparator(C)Z move-result v3 if-eqz v3, :cond_12 .line 629 invoke-virtual {p0, v8, v6}, Ljava/lang/String;->indexOf(II)I move-result v3 .line 630 .restart local v3 # "posUnix":I invoke-virtual {p0, v7, v6}, Ljava/lang/String;->indexOf(II)I move-result v7 .line 631 .local v7, "posWin":I if-ne v3, v0, :cond_d if-eq v7, v0, :cond_11 :cond_d if-eq v3, v6, :cond_11 if-ne v7, v6, :cond_e goto :goto_5 .line 634 :cond_e if-ne v3, v0, :cond_f move v6, v7 goto :goto_3 :cond_f move v6, v3 :goto_3 move v3, v6 .line 635 if-ne v7, v0, :cond_10 move v0, v3 goto :goto_4 :cond_10 move v0, v7 .line 636 .end local v7 # "posWin":I .restart local v0 # "posWin":I :goto_4 invoke-static {v3, v0}, Ljava/lang/Math;->min(II)I move-result v6 add-int/2addr v6, v5 return v6 .line 632 .end local v0 # "posWin":I .restart local v7 # "posWin":I :cond_11 :goto_5 return v0 .line 638 .end local v3 # "posUnix":I .end local v7 # "posWin":I :cond_12 invoke-static {v2}, Lorg/apache/commons/io/FilenameUtils;->isSeparator(C)Z move-result v0 return v0 .end method .method public static indexOfExtension(Ljava/lang/String;)I .locals 3 .param p0, "filename" # Ljava/lang/String; .line 678 const/4 v0, -0x1 if-nez p0, :cond_0 .line 679 return v0 .line 681 :cond_0 const/16 v1, 0x2e invoke-virtual {p0, v1}, Ljava/lang/String;->lastIndexOf(I)I move-result v1 .line 682 .local v1, "extensionPos":I invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->indexOfLastSeparator(Ljava/lang/String;)I move-result v2 .line 683 .local v2, "lastSeparator":I if-le v2, v1, :cond_1 goto :goto_0 :cond_1 move v0, v1 :goto_0 return v0 .end method .method public static indexOfLastSeparator(Ljava/lang/String;)I .locals 3 .param p0, "filename" # Ljava/lang/String; .line 656 if-nez p0, :cond_0 .line 657 const/4 v0, -0x1 return v0 .line 659 :cond_0 const/16 v0, 0x2f invoke-virtual {p0, v0}, Ljava/lang/String;->lastIndexOf(I)I move-result v0 .line 660 .local v0, "lastUnixPos":I const/16 v1, 0x5c invoke-virtual {p0, v1}, Ljava/lang/String;->lastIndexOf(I)I move-result v1 .line 661 .local v1, "lastWindowsPos":I invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I move-result v2 return v2 .end method .method public static isExtension(Ljava/lang/String;Ljava/lang/String;)Z .locals 3 .param p0, "filename" # Ljava/lang/String; .param p1, "extension" # Ljava/lang/String; .line 1113 const/4 v0, 0x0 if-nez p0, :cond_0 .line 1114 return v0 .line 1116 :cond_0 if-eqz p1, :cond_2 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v1 if-nez v1, :cond_1 goto :goto_0 .line 1119 :cond_1 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->getExtension(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 1120 .local v0, "fileExt":Ljava/lang/String; invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v1 return v1 .line 1117 .end local v0 # "fileExt":Ljava/lang/String; :cond_2 :goto_0 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->indexOfExtension(Ljava/lang/String;)I move-result v1 const/4 v2, -0x1 if-ne v1, v2, :cond_3 const/4 v0, 0x1 :cond_3 return v0 .end method .method public static isExtension(Ljava/lang/String;Ljava/util/Collection;)Z .locals 6 .param p0, "filename" # Ljava/lang/String; .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/util/Collection<", "Ljava/lang/String;", ">;)Z" } .end annotation .line 1162 .local p1, "extensions":Ljava/util/Collection;, "Ljava/util/Collection<Ljava/lang/String;>;" const/4 v0, 0x0 if-nez p0, :cond_0 .line 1163 return v0 .line 1165 :cond_0 const/4 v1, 0x1 if-eqz p1, :cond_4 invoke-interface {p1}, Ljava/util/Collection;->isEmpty()Z move-result v2 if-eqz v2, :cond_1 goto :goto_1 .line 1168 :cond_1 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->getExtension(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 .line 1169 .local v2, "fileExt":Ljava/lang/String; invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object v3 .local v3, "i$":Ljava/util/Iterator; :goto_0 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z move-result v4 if-eqz v4, :cond_3 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/lang/String; .line 1170 .local v4, "extension":Ljava/lang/String; invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v5 if-eqz v5, :cond_2 .line 1171 return v1 .end local v4 # "extension":Ljava/lang/String; :cond_2 goto :goto_0 .line 1174 .end local v3 # "i$":Ljava/util/Iterator; :cond_3 return v0 .line 1166 .end local v2 # "fileExt":Ljava/lang/String; :cond_4 :goto_1 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->indexOfExtension(Ljava/lang/String;)I move-result v2 const/4 v3, -0x1 if-ne v2, v3, :cond_5 const/4 v0, 0x1 :cond_5 return v0 .end method .method public static isExtension(Ljava/lang/String;[Ljava/lang/String;)Z .locals 8 .param p0, "filename" # Ljava/lang/String; .param p1, "extensions" # [Ljava/lang/String; .line 1135 const/4 v0, 0x0 if-nez p0, :cond_0 .line 1136 return v0 .line 1138 :cond_0 const/4 v1, 0x1 if-eqz p1, :cond_4 array-length v2, p1 if-nez v2, :cond_1 goto :goto_1 .line 1141 :cond_1 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->getExtension(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 .line 1142 .local v2, "fileExt":Ljava/lang/String; move-object v3, p1 .local v3, "arr$":[Ljava/lang/String; array-length v4, v3 .local v4, "len$":I const/4 v5, 0x0 .local v5, "i$":I :goto_0 if-ge v5, v4, :cond_3 aget-object v6, v3, v5 .line 1143 .local v6, "extension":Ljava/lang/String; invoke-virtual {v2, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v7 if-eqz v7, :cond_2 .line 1144 return v1 .line 1142 .end local v6 # "extension":Ljava/lang/String; :cond_2 add-int/lit8 v5, v5, 0x1 goto :goto_0 .line 1147 .end local v3 # "arr$":[Ljava/lang/String; .end local v4 # "len$":I .end local v5 # "i$":I :cond_3 return v0 .line 1139 .end local v2 # "fileExt":Ljava/lang/String; :cond_4 :goto_1 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->indexOfExtension(Ljava/lang/String;)I move-result v2 const/4 v3, -0x1 if-ne v2, v3, :cond_5 const/4 v0, 0x1 :cond_5 return v0 .end method .method private static isSeparator(C)Z .locals 1 .param p0, "ch" # C .line 158 const/16 v0, 0x2f if-eq p0, v0, :cond_1 const/16 v0, 0x5c if-ne p0, v0, :cond_0 goto :goto_0 :cond_0 const/4 v0, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 v0, 0x1 :goto_1 return v0 .end method .method static isSystemWindows()Z .locals 2 .line 147 sget-char v0, Lorg/apache/commons/io/FilenameUtils;->SYSTEM_SEPARATOR:C const/16 v1, 0x5c if-ne v0, v1, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public static normalize(Ljava/lang/String;)Ljava/lang/String; .locals 2 .param p0, "filename" # Ljava/lang/String; .line 203 sget-char v0, Lorg/apache/commons/io/FilenameUtils;->SYSTEM_SEPARATOR:C const/4 v1, 0x1 invoke-static {p0, v0, v1}, Lorg/apache/commons/io/FilenameUtils;->doNormalize(Ljava/lang/String;CZ)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public static normalize(Ljava/lang/String;Z)Ljava/lang/String; .locals 2 .param p0, "filename" # Ljava/lang/String; .param p1, "unixSeparator" # Z .line 250 if-eqz p1, :cond_0 const/16 v0, 0x2f goto :goto_0 :cond_0 const/16 v0, 0x5c .line 251 .local v0, "separator":C :goto_0 const/4 v1, 0x1 invoke-static {p0, v0, v1}, Lorg/apache/commons/io/FilenameUtils;->doNormalize(Ljava/lang/String;CZ)Ljava/lang/String; move-result-object v1 return-object v1 .end method .method public static normalizeNoEndSeparator(Ljava/lang/String;)Ljava/lang/String; .locals 2 .param p0, "filename" # Ljava/lang/String; .line 297 sget-char v0, Lorg/apache/commons/io/FilenameUtils;->SYSTEM_SEPARATOR:C const/4 v1, 0x0 invoke-static {p0, v0, v1}, Lorg/apache/commons/io/FilenameUtils;->doNormalize(Ljava/lang/String;CZ)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public static normalizeNoEndSeparator(Ljava/lang/String;Z)Ljava/lang/String; .locals 2 .param p0, "filename" # Ljava/lang/String; .param p1, "unixSeparator" # Z .line 344 if-eqz p1, :cond_0 const/16 v0, 0x2f goto :goto_0 :cond_0 const/16 v0, 0x5c .line 345 .local v0, "separator":C :goto_0 const/4 v1, 0x0 invoke-static {p0, v0, v1}, Lorg/apache/commons/io/FilenameUtils;->doNormalize(Ljava/lang/String;CZ)Ljava/lang/String; move-result-object v1 return-object v1 .end method .method public static removeExtension(Ljava/lang/String;)Ljava/lang/String; .locals 2 .param p0, "filename" # Ljava/lang/String; .line 993 if-nez p0, :cond_0 .line 994 const/4 v0, 0x0 return-object v0 .line 996 :cond_0 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->indexOfExtension(Ljava/lang/String;)I move-result v0 .line 997 .local v0, "index":I const/4 v1, -0x1 if-ne v0, v1, :cond_1 .line 998 return-object p0 .line 1000 :cond_1 const/4 v1, 0x0 invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v1 return-object v1 .end method .method public static separatorsToSystem(Ljava/lang/String;)Ljava/lang/String; .locals 1 .param p0, "path" # Ljava/lang/String; .line 547 if-nez p0, :cond_0 .line 548 const/4 v0, 0x0 return-object v0 .line 550 :cond_0 invoke-static {}, Lorg/apache/commons/io/FilenameUtils;->isSystemWindows()Z move-result v0 if-eqz v0, :cond_1 .line 551 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->separatorsToWindows(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 return-object v0 .line 553 :cond_1 invoke-static {p0}, Lorg/apache/commons/io/FilenameUtils;->separatorsToUnix(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public static separatorsToUnix(Ljava/lang/String;)Ljava/lang/String; .locals 3 .param p0, "path" # Ljava/lang/String; .line 521 if-eqz p0, :cond_1 const/16 v0, 0x5c invoke-virtual {p0, v0}, Ljava/lang/String;->indexOf(I)I move-result v1 const/4 v2, -0x1 if-ne v1, v2, :cond_0 goto :goto_0 .line 524 :cond_0 const/16 v1, 0x2f invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(CC)Ljava/lang/String; move-result-object v0 return-object v0 .line 522 :cond_1 :goto_0 return-object p0 .end method .method public static separatorsToWindows(Ljava/lang/String;)Ljava/lang/String; .locals 3 .param p0, "path" # Ljava/lang/String; .line 534 if-eqz p0, :cond_1 const/16 v0, 0x2f invoke-virtual {p0, v0}, Ljava/lang/String;->indexOf(I)I move-result v1 const/4 v2, -0x1 if-ne v1, v2, :cond_0 goto :goto_0 .line 537 :cond_0 const/16 v1, 0x5c invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(CC)Ljava/lang/String; move-result-object v0 return-object v0 .line 535 :cond_1 :goto_0 return-object p0 .end method .method static splitOnTokens(Ljava/lang/String;)[Ljava/lang/String; .locals 10 .param p0, "text" # Ljava/lang/String; .line 1338 const/16 v0, 0x3f invoke-virtual {p0, v0}, Ljava/lang/String;->indexOf(I)I move-result v1 const/4 v2, 0x0 const/16 v3, 0x2a const/4 v4, -0x1 const/4 v5, 0x1 if-ne v1, v4, :cond_0 invoke-virtual {p0, v3}, Ljava/lang/String;->indexOf(I)I move-result v1 if-ne v1, v4, :cond_0 .line 1339 new-array v0, v5, [Ljava/lang/String; aput-object p0, v0, v2 return-object v0 .line 1342 :cond_0 invoke-virtual {p0}, Ljava/lang/String;->toCharArray()[C move-result-object v1 .line 1343 .local v1, "array":[C new-instance v4, Ljava/util/ArrayList; invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V .line 1344 .local v4, "list":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;" new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V .line 1345 .local v6, "buffer":Ljava/lang/StringBuilder; const/4 v7, 0x0 .local v7, "i":I :goto_0 array-length v8, v1 if-ge v7, v8, :cond_7 .line 1346 aget-char v8, v1, v7 if-eq v8, v0, :cond_2 aget-char v8, v1, v7 if-ne v8, v3, :cond_1 goto :goto_1 .line 1358 :cond_1 aget-char v8, v1, v7 invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; goto :goto_2 .line 1347 :cond_2 :goto_1 invoke-virtual {v6}, Ljava/lang/StringBuilder;->length()I move-result v8 if-eqz v8, :cond_3 .line 1348 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v8 invoke-virtual {v4, v8}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 1349 invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->setLength(I)V .line 1351 :cond_3 aget-char v8, v1, v7 if-ne v8, v0, :cond_4 .line 1352 const-string v8, "?" invoke-virtual {v4, v8}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z goto :goto_2 .line 1353 :cond_4 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I move-result v8 const-string v9, "*" if-eqz v8, :cond_5 if-lez v7, :cond_6 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I move-result v8 sub-int/2addr v8, v5 invoke-virtual {v4, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v8 check-cast v8, Ljava/lang/String; invoke-virtual {v8, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v8 if-nez v8, :cond_6 .line 1355 :cond_5 invoke-virtual {v4, v9}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 1345 :cond_6 :goto_2 add-int/lit8 v7, v7, 0x1 goto :goto_0 .line 1361 .end local v7 # "i":I :cond_7 invoke-virtual {v6}, Ljava/lang/StringBuilder;->length()I move-result v0 if-eqz v0, :cond_8 .line 1362 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-virtual {v4, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 1365 :cond_8 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I move-result v0 new-array v0, v0, [Ljava/lang/String; invoke-virtual {v4, v0}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object v0 check-cast v0, [Ljava/lang/String; return-object v0 .end method .method public static wildcardMatch(Ljava/lang/String;Ljava/lang/String;)Z .locals 1 .param p0, "filename" # Ljava/lang/String; .param p1, "wildcardMatcher" # Ljava/lang/String; .line 1201 sget-object v0, Lorg/apache/commons/io/IOCase;->SENSITIVE:Lorg/apache/commons/io/IOCase; invoke-static {p0, p1, v0}, Lorg/apache/commons/io/FilenameUtils;->wildcardMatch(Ljava/lang/String;Ljava/lang/String;Lorg/apache/commons/io/IOCase;)Z move-result v0 return v0 .end method .method public static wildcardMatch(Ljava/lang/String;Ljava/lang/String;Lorg/apache/commons/io/IOCase;)Z .locals 9 .param p0, "filename" # Ljava/lang/String; .param p1, "wildcardMatcher" # Ljava/lang/String; .param p2, "caseSensitivity" # Lorg/apache/commons/io/IOCase; .line 1245 const/4 v0, 0x1 if-nez p0, :cond_0 if-nez p1, :cond_0 .line 1246 return v0 .line 1248 :cond_0 const/4 v1, 0x0 if-eqz p0, :cond_f if-nez p1, :cond_1 goto/16 :goto_5 .line 1251 :cond_1 if-nez p2, :cond_2 .line 1252 sget-object p2, Lorg/apache/commons/io/IOCase;->SENSITIVE:Lorg/apache/commons/io/IOCase; move-object v2, p2 goto :goto_0 .line 1251 :cond_2 move-object v2, p2 .line 1254 .end local p2 # "caseSensitivity":Lorg/apache/commons/io/IOCase; .local v2, "caseSensitivity":Lorg/apache/commons/io/IOCase; :goto_0 invoke-static {p1}, Lorg/apache/commons/io/FilenameUtils;->splitOnTokens(Ljava/lang/String;)[Ljava/lang/String; move-result-object v3 .line 1255 .local v3, "wcs":[Ljava/lang/String; const/4 p2, 0x0 .line 1256 .local p2, "anyChars":Z const/4 v4, 0x0 .line 1257 .local v4, "textIdx":I const/4 v5, 0x0 .line 1258 .local v5, "wcsIdx":I new-instance v6, Ljava/util/Stack; invoke-direct {v6}, Ljava/util/Stack;-><init>()V .line 1262 .local v6, "backtrack":Ljava/util/Stack;, "Ljava/util/Stack<[I>;" :cond_3 invoke-virtual {v6}, Ljava/util/Stack;->size()I move-result v7 if-lez v7, :cond_4 .line 1263 invoke-virtual {v6}, Ljava/util/Stack;->pop()Ljava/lang/Object; move-result-object v7 check-cast v7, [I .line 1264 .local v7, "array":[I aget v5, v7, v1 .line 1265 aget v4, v7, v0 .line 1266 const/4 p2, 0x1 .line 1270 .end local v7 # "array":[I :cond_4 :goto_1 array-length v7, v3 if-ge v5, v7, :cond_d .line 1272 aget-object v7, v3, v5 const-string v8, "?" invoke-virtual {v7, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v7 if-eqz v7, :cond_6 .line 1274 add-int/lit8 v4, v4, 0x1 .line 1275 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v7 if-le v4, v7, :cond_5 .line 1276 goto :goto_4 .line 1278 :cond_5 const/4 p2, 0x0 goto :goto_3 .line 1280 :cond_6 aget-object v7, v3, v5 const-string v8, "*" invoke-virtual {v7, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v7 if-eqz v7, :cond_7 .line 1282 const/4 p2, 0x1 .line 1283 array-length v7, v3 sub-int/2addr v7, v0 if-ne v5, v7, :cond_c .line 1284 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v4 goto :goto_3 .line 1289 :cond_7 if-eqz p2, :cond_a .line 1291 aget-object v7, v3, v5 invoke-virtual {v2, p0, v4, v7}, Lorg/apache/commons/io/IOCase;->checkIndexOf(Ljava/lang/String;ILjava/lang/String;)I move-result v4 .line 1292 const/4 v7, -0x1 if-ne v4, v7, :cond_8 .line 1294 goto :goto_4 .line 1296 :cond_8 add-int/lit8 v7, v4, 0x1 aget-object v8, v3, v5 invoke-virtual {v2, p0, v7, v8}, Lorg/apache/commons/io/IOCase;->checkIndexOf(Ljava/lang/String;ILjava/lang/String;)I move-result v7 .line 1297 .local v7, "repeat":I if-ltz v7, :cond_9 .line 1298 const/4 v8, 0x2 new-array v8, v8, [I aput v5, v8, v1 aput v7, v8, v0 invoke-virtual {v6, v8}, Ljava/util/Stack;->push(Ljava/lang/Object;)Ljava/lang/Object; .line 1300 .end local v7 # "repeat":I :cond_9 goto :goto_2 .line 1302 :cond_a aget-object v7, v3, v5 invoke-virtual {v2, p0, v4, v7}, Lorg/apache/commons/io/IOCase;->checkRegionMatches(Ljava/lang/String;ILjava/lang/String;)Z move-result v7 if-nez v7, :cond_b .line 1304 goto :goto_4 .line 1309 :cond_b :goto_2 aget-object v7, v3, v5 invoke-virtual {v7}, Ljava/lang/String;->length()I move-result v7 add-int/2addr v4, v7 .line 1310 const/4 p2, 0x0 .line 1313 :cond_c :goto_3 add-int/lit8 v5, v5, 0x1 goto :goto_1 .line 1317 :cond_d :goto_4 array-length v7, v3 if-ne v5, v7, :cond_e invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v7 if-ne v4, v7, :cond_e .line 1318 return v0 .line 1321 :cond_e invoke-virtual {v6}, Ljava/util/Stack;->size()I move-result v7 if-gtz v7, :cond_3 .line 1323 return v1 .line 1249 .end local v2 # "caseSensitivity":Lorg/apache/commons/io/IOCase; .end local v3 # "wcs":[Ljava/lang/String; .end local v4 # "textIdx":I .end local v5 # "wcsIdx":I .end local v6 # "backtrack":Ljava/util/Stack;, "Ljava/util/Stack<[I>;" .local p2, "caseSensitivity":Lorg/apache/commons/io/IOCase; :cond_f :goto_5 return v1 .end method .method public static wildcardMatchOnSystem(Ljava/lang/String;Ljava/lang/String;)Z .locals 1 .param p0, "filename" # Ljava/lang/String; .param p1, "wildcardMatcher" # Ljava/lang/String; .line 1227 sget-object v0, Lorg/apache/commons/io/IOCase;->SYSTEM:Lorg/apache/commons/io/IOCase; invoke-static {p0, p1, v0}, Lorg/apache/commons/io/FilenameUtils;->wildcardMatch(Ljava/lang/String;Ljava/lang/String;Lorg/apache/commons/io/IOCase;)Z move-result v0 return v0 .end method