public abstract class org.apache.commons.vfs2.provider.AbstractFileName implements org.apache.commons.vfs2.FileName
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.commons.vfs2.provider.AbstractFileName
  super_class: java.lang.Object
{
  private static final char[] RESERVED_URI_CHARS;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.String scheme;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String absPath;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.apache.commons.vfs2.FileType type;
    descriptor: Lorg/apache/commons/vfs2/FileType;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String uri;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String baseName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String rootUri;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String extension;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String decodedAbsPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String key;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 42
            iconst_1
            newarray 5
            dup
            iconst_0
            bipush 35
            castore
            putstatic org.apache.commons.vfs2.provider.AbstractFileName.RESERVED_URI_CHARS:[C
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, java.lang.String, org.apache.commons.vfs2.FileType);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/commons/vfs2/FileType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
        start local 1 // java.lang.String scheme
        start local 2 // java.lang.String absPath
        start local 3 // org.apache.commons.vfs2.FileType type
         0: .line 57
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.vfs2.provider.AbstractFileName.key:Ljava/lang/String;
         2: .line 58
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.vfs2.provider.AbstractFileName.rootUri:Ljava/lang/String;
         3: .line 59
            aload 0 /* this */
            aload 1 /* scheme */
            putfield org.apache.commons.vfs2.provider.AbstractFileName.scheme:Ljava/lang/String;
         4: .line 60
            aload 0 /* this */
            aload 3 /* type */
            putfield org.apache.commons.vfs2.provider.AbstractFileName.type:Lorg/apache/commons/vfs2/FileType;
         5: .line 61
            aload 2 /* absPath */
            ifnull 11
            aload 2 /* absPath */
            invokevirtual java.lang.String.length:()I
            ifle 11
         6: .line 62
            aload 2 /* absPath */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 9
            aload 2 /* absPath */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 9
         7: .line 63
            aload 0 /* this */
            aload 2 /* absPath */
            iconst_0
            aload 2 /* absPath */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield org.apache.commons.vfs2.provider.AbstractFileName.absPath:Ljava/lang/String;
         8: .line 64
            goto 12
         9: .line 65
      StackMap locals: org.apache.commons.vfs2.provider.AbstractFileName java.lang.String java.lang.String org.apache.commons.vfs2.FileType
      StackMap stack:
            aload 0 /* this */
            aload 2 /* absPath */
            putfield org.apache.commons.vfs2.provider.AbstractFileName.absPath:Ljava/lang/String;
        10: .line 67
            goto 12
        11: .line 68
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "/"
            putfield org.apache.commons.vfs2.provider.AbstractFileName.absPath:Ljava/lang/String;
        12: .line 70
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.commons.vfs2.FileType type
        end local 2 // java.lang.String absPath
        end local 1 // java.lang.String scheme
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            0   13     1   scheme  Ljava/lang/String;
            0   13     2  absPath  Ljava/lang/String;
            0   13     3     type  Lorg/apache/commons/vfs2/FileType;
    MethodParameters:
         Name  Flags
      scheme   final
      absPath  final
      type     final

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
        start local 1 // java.lang.Object o
         0: .line 74
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 75
            iconst_1
            ireturn
         2: .line 77
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            ifnull 3
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 4
         3: .line 78
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 81
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.apache.commons.vfs2.provider.AbstractFileName
            astore 2 /* that */
        start local 2 // org.apache.commons.vfs2.provider.AbstractFileName that
         5: .line 83
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getKey:()Ljava/lang/String;
            aload 2 /* that */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getKey:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // org.apache.commons.vfs2.provider.AbstractFileName that
        end local 1 // java.lang.Object o
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            0    6     1     o  Ljava/lang/Object;
            5    6     2  that  Lorg/apache/commons/vfs2/provider/AbstractFileName;
    MethodParameters:
      Name  Flags
      o     final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 88
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getKey:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;

  public int compareTo(org.apache.commons.vfs2.FileName);
    descriptor: (Lorg/apache/commons/vfs2/FileName;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
        start local 1 // org.apache.commons.vfs2.FileName obj
         0: .line 99
            aload 1 /* obj */
            checkcast org.apache.commons.vfs2.provider.AbstractFileName
            astore 2 /* name */
        start local 2 // org.apache.commons.vfs2.provider.AbstractFileName name
         1: .line 100
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getKey:()Ljava/lang/String;
            aload 2 /* name */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getKey:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 2 // org.apache.commons.vfs2.provider.AbstractFileName name
        end local 1 // org.apache.commons.vfs2.FileName obj
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            0    2     1   obj  Lorg/apache/commons/vfs2/FileName;
            1    2     2  name  Lorg/apache/commons/vfs2/provider/AbstractFileName;
    MethodParameters:
      Name  Flags
      obj   final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 110
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getURI:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;

  public abstract org.apache.commons.vfs2.FileName createName(java.lang.String, org.apache.commons.vfs2.FileType);
    descriptor: (Ljava/lang/String;Lorg/apache/commons/vfs2/FileType;)Lorg/apache/commons/vfs2/FileName;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      absolutePath  
      fileType      

  protected abstract void appendRootUri(java.lang.StringBuilder, boolean);
    descriptor: (Ljava/lang/StringBuilder;Z)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      buffer       
      addPassword  

  public java.lang.String getBaseName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 137
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.baseName:Ljava/lang/String;
            ifnonnull 6
         1: .line 138
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* idx */
        start local 1 // int idx
         2: .line 139
            iload 1 /* idx */
            iconst_m1
            if_icmpne 5
         3: .line 140
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            putfield org.apache.commons.vfs2.provider.AbstractFileName.baseName:Ljava/lang/String;
         4: .line 141
            goto 6
         5: .line 142
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            iload 1 /* idx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield org.apache.commons.vfs2.provider.AbstractFileName.baseName:Ljava/lang/String;
        end local 1 // int idx
         6: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.baseName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            2    6     1   idx  I

  public java.lang.String getPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 156
            invokestatic org.apache.commons.vfs2.VFS.isUriStyle:()Z
            ifeq 2
         1: .line 157
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.absPath:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getUriTrailer:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.absPath:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;

  protected java.lang.String getUriTrailer();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 163
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getType:()Lorg/apache/commons/vfs2/FileType;
            invokevirtual org.apache.commons.vfs2.FileType.hasChildren:()Z
            ifeq 1
            ldc "/"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;

  public java.lang.String getPathDecoded();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 174
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.decodedAbsPath:Ljava/lang/String;
            ifnonnull 2
         1: .line 175
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            invokestatic org.apache.commons.vfs2.provider.UriParser.decode:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.apache.commons.vfs2.provider.AbstractFileName.decodedAbsPath:Ljava/lang/String;
         2: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.decodedAbsPath:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
    Exceptions:
      throws org.apache.commons.vfs2.FileSystemException

  public org.apache.commons.vfs2.FileName getParent();
    descriptor: ()Lorg/apache/commons/vfs2/FileName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 189
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* idx */
        start local 2 // int idx
         1: .line 190
            iload 2 /* idx */
            iconst_m1
            if_icmpeq 2
            iload 2 /* idx */
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpne 3
         2: .line 192
      StackMap locals: org.apache.commons.vfs2.provider.AbstractFileName top int
      StackMap stack:
            aconst_null
            areturn
         3: .line 193
      StackMap locals:
      StackMap stack:
            iload 2 /* idx */
            ifne 6
         4: .line 195
            ldc "/"
            astore 1 /* parentPath */
        start local 1 // java.lang.String parentPath
         5: .line 196
            goto 7
        end local 1 // java.lang.String parentPath
         6: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            iconst_0
            iload 2 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* parentPath */
        start local 1 // java.lang.String parentPath
         7: .line 199
      StackMap locals: org.apache.commons.vfs2.provider.AbstractFileName java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parentPath */
            getstatic org.apache.commons.vfs2.FileType.FOLDER:Lorg/apache/commons/vfs2/FileType;
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.createName:(Ljava/lang/String;Lorg/apache/commons/vfs2/FileType;)Lorg/apache/commons/vfs2/FileName;
            areturn
        end local 2 // int idx
        end local 1 // java.lang.String parentPath
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            5    6     1  parentPath  Ljava/lang/String;
            7    8     1  parentPath  Ljava/lang/String;
            1    8     2         idx  I

  public org.apache.commons.vfs2.FileName getRoot();
    descriptor: ()Lorg/apache/commons/vfs2/FileName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 209
            aload 0 /* this */
            astore 1 /* root */
        start local 1 // org.apache.commons.vfs2.FileName root
         1: .line 210
            goto 3
         2: .line 211
      StackMap locals: org.apache.commons.vfs2.FileName
      StackMap stack:
            aload 1 /* root */
            invokeinterface org.apache.commons.vfs2.FileName.getParent:()Lorg/apache/commons/vfs2/FileName;
            astore 1 /* root */
         3: .line 210
      StackMap locals:
      StackMap stack:
            aload 1 /* root */
            invokeinterface org.apache.commons.vfs2.FileName.getParent:()Lorg/apache/commons/vfs2/FileName;
            ifnonnull 2
         4: .line 214
            aload 1 /* root */
            areturn
        end local 1 // org.apache.commons.vfs2.FileName root
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            1    5     1  root  Lorg/apache/commons/vfs2/FileName;

  public java.lang.String getScheme();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 224
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.scheme:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;

  public java.lang.String getURI();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 234
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.uri:Ljava/lang/String;
            ifnonnull 2
         1: .line 235
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.createURI:()Ljava/lang/String;
            putfield org.apache.commons.vfs2.provider.AbstractFileName.uri:Ljava/lang/String;
         2: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.uri:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;

  protected java.lang.String createURI();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 241
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.createURI:(ZZ)Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;

  private java.lang.String getKey();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 250
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.key:Ljava/lang/String;
            ifnonnull 2
         1: .line 251
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getURI:()Ljava/lang/String;
            putfield org.apache.commons.vfs2.provider.AbstractFileName.key:Ljava/lang/String;
         2: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.key:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;

  public java.lang.String getFriendlyURI();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 263
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.createURI:(ZZ)Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;

  private java.lang.String createURI(boolean, boolean);
    descriptor: (ZZ)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
        start local 1 // boolean useAbsolutePath
        start local 2 // boolean usePassword
         0: .line 267
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* buffer */
        start local 3 // java.lang.StringBuilder buffer
         1: .line 268
            aload 0 /* this */
            aload 3 /* buffer */
            iload 2 /* usePassword */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.appendRootUri:(Ljava/lang/StringBuilder;Z)V
         2: .line 269
            aload 3 /* buffer */
            aload 0 /* this */
            iload 1 /* useAbsolutePath */
            ifeq 3
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.absPath:Ljava/lang/String;
            goto 4
      StackMap locals: org.apache.commons.vfs2.provider.AbstractFileName int int java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder org.apache.commons.vfs2.provider.AbstractFileName
         3: aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
      StackMap locals: org.apache.commons.vfs2.provider.AbstractFileName int int java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder org.apache.commons.vfs2.provider.AbstractFileName java.lang.String
         4: invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.handleURISpecialCharacters:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 270
            aload 3 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder buffer
        end local 2 // boolean usePassword
        end local 1 // boolean useAbsolutePath
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            0    6     1  useAbsolutePath  Z
            0    6     2      usePassword  Z
            1    6     3           buffer  Ljava/lang/StringBuilder;
    MethodParameters:
                 Name  Flags
      useAbsolutePath  final
      usePassword      final

  private java.lang.String handleURISpecialCharacters(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
        start local 1 // java.lang.String uri
         0: .line 274
            aload 1 /* uri */
            ifnull 5
            aload 1 /* uri */
            invokevirtual java.lang.String.length:()I
            ifle 5
         1: .line 278
            aload 1 /* uri */
            invokestatic org.apache.commons.vfs2.provider.UriParser.decode:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* uri */
         2: .line 280
            aload 1 /* uri */
            getstatic org.apache.commons.vfs2.provider.AbstractFileName.RESERVED_URI_CHARS:[C
            invokestatic org.apache.commons.vfs2.provider.UriParser.encode:(Ljava/lang/String;[C)Ljava/lang/String;
         3: areturn
         4: .line 281
      StackMap locals:
      StackMap stack: org.apache.commons.vfs2.FileSystemException
            pop
         5: .line 286
      StackMap locals:
      StackMap stack:
            aload 1 /* uri */
            areturn
        end local 1 // java.lang.String uri
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            0    6     1   uri  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       4  Class org.apache.commons.vfs2.FileSystemException
    MethodParameters:
      Name  Flags
      uri   

  public java.lang.String getRelativeName(org.apache.commons.vfs2.FileName);
    descriptor: (Lorg/apache/commons/vfs2/FileName;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
        start local 1 // org.apache.commons.vfs2.FileName name
         0: .line 298
            aload 1 /* name */
            invokeinterface org.apache.commons.vfs2.FileName.getPath:()Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         1: .line 301
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 3 /* basePathLen */
        start local 3 // int basePathLen
         2: .line 302
            aload 2 /* path */
            invokevirtual java.lang.String.length:()I
            istore 4 /* pathLen */
        start local 4 // int pathLen
         3: .line 305
            iload 3 /* basePathLen */
            iconst_1
            if_icmpne 5
            iload 4 /* pathLen */
            iconst_1
            if_icmpne 5
         4: .line 306
            ldc "."
            areturn
         5: .line 307
      StackMap locals: java.lang.String int int
      StackMap stack:
            iload 3 /* basePathLen */
            iconst_1
            if_icmpne 7
         6: .line 308
            aload 2 /* path */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
         7: .line 311
      StackMap locals:
      StackMap stack:
            iload 3 /* basePathLen */
            iload 4 /* pathLen */
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* maxlen */
        start local 5 // int maxlen
         8: .line 312
            iconst_0
            istore 6 /* pos */
        start local 6 // int pos
         9: .line 313
            goto 11
      StackMap locals: int int
      StackMap stack:
        10: iinc 6 /* pos */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* pos */
            iload 5 /* maxlen */
            if_icmpge 12
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            iload 6 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            aload 2 /* path */
            iload 6 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 10
        12: .line 316
      StackMap locals:
      StackMap stack:
            iload 6 /* pos */
            iload 3 /* basePathLen */
            if_icmpne 14
            iload 6 /* pos */
            iload 4 /* pathLen */
            if_icmpne 14
        13: .line 318
            ldc "."
            areturn
        14: .line 319
      StackMap locals:
      StackMap stack:
            iload 6 /* pos */
            iload 3 /* basePathLen */
            if_icmpne 16
            iload 6 /* pos */
            iload 4 /* pathLen */
            if_icmpge 16
            aload 2 /* path */
            iload 6 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 16
        15: .line 321
            aload 2 /* path */
            iload 6 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        16: .line 325
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* buffer */
        start local 7 // java.lang.StringBuilder buffer
        17: .line 326
            iload 4 /* pathLen */
            iconst_1
            if_icmple 20
            iload 6 /* pos */
            iload 4 /* pathLen */
            if_icmplt 18
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            iload 6 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 20
        18: .line 328
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            bipush 47
            iload 6 /* pos */
            invokevirtual java.lang.String.lastIndexOf:(II)I
            istore 6 /* pos */
        19: .line 329
            aload 7 /* buffer */
            aload 2 /* path */
            iload 6 /* pos */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 334
      StackMap locals:
      StackMap stack:
            aload 7 /* buffer */
            iconst_0
            ldc ".."
            invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 335
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            bipush 47
            iload 6 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* pos */
        22: .line 336
            goto 25
        23: .line 337
      StackMap locals:
      StackMap stack:
            aload 7 /* buffer */
            iconst_0
            ldc "../"
            invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 338
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            bipush 47
            iload 6 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* pos */
        25: .line 336
      StackMap locals:
      StackMap stack:
            iload 6 /* pos */
            iconst_m1
            if_icmpne 23
        26: .line 341
            aload 7 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 7 // java.lang.StringBuilder buffer
        end local 6 // int pos
        end local 5 // int maxlen
        end local 4 // int pathLen
        end local 3 // int basePathLen
        end local 2 // java.lang.String path
        end local 1 // org.apache.commons.vfs2.FileName name
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0         this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            0   27     1         name  Lorg/apache/commons/vfs2/FileName;
            1   27     2         path  Ljava/lang/String;
            2   27     3  basePathLen  I
            3   27     4      pathLen  I
            8   27     5       maxlen  I
            9   27     6          pos  I
           17   27     7       buffer  Ljava/lang/StringBuilder;
    Exceptions:
      throws org.apache.commons.vfs2.FileSystemException
    MethodParameters:
      Name  Flags
      name  final

  public java.lang.String getRootURI();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 351
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.rootUri:Ljava/lang/String;
            ifnonnull 5
         1: .line 352
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuilder buffer
         2: .line 353
            aload 0 /* this */
            aload 1 /* buffer */
            iconst_1
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.appendRootUri:(Ljava/lang/StringBuilder;Z)V
         3: .line 354
            aload 1 /* buffer */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 355
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            putfield org.apache.commons.vfs2.provider.AbstractFileName.rootUri:Ljava/lang/String;
        end local 1 // java.lang.StringBuilder buffer
         5: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.rootUri:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            2    5     1  buffer  Ljava/lang/StringBuilder;

  public int getDepth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 367
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 368
            iload 1 /* len */
            ifeq 2
            iload 1 /* len */
            iconst_1
            if_icmpne 3
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 3
         2: .line 369
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
         3: .line 371
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* depth */
        start local 2 // int depth
         4: .line 372
            iconst_0
            istore 3 /* pos */
        start local 3 // int pos
         5: goto 8
         6: .line 373
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            bipush 47
            iload 3 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* pos */
         7: .line 372
            iinc 2 /* depth */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* pos */
            iconst_m1
            if_icmple 9
            iload 3 /* pos */
            iload 1 /* len */
            if_icmplt 6
        end local 3 // int pos
         9: .line 375
      StackMap locals:
      StackMap stack:
            iload 2 /* depth */
            ireturn
        end local 2 // int depth
        end local 1 // int len
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            1   10     1    len  I
            4   10     2  depth  I
            5    9     3    pos  I

  public java.lang.String getExtension();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 385
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.extension:Ljava/lang/String;
            ifnonnull 7
         1: .line 386
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getBaseName:()Ljava/lang/String;
            pop
         2: .line 387
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.baseName:Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* pos */
        start local 1 // int pos
         3: .line 393
            iload 1 /* pos */
            iconst_1
            if_icmplt 4
            iload 1 /* pos */
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.baseName:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpne 6
         4: .line 395
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            ldc ""
            putfield org.apache.commons.vfs2.provider.AbstractFileName.extension:Ljava/lang/String;
         5: .line 396
            goto 7
         6: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.baseName:Ljava/lang/String;
            iload 1 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            putfield org.apache.commons.vfs2.provider.AbstractFileName.extension:Ljava/lang/String;
        end local 1 // int pos
         7: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.extension:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            3    7     1   pos  I

  public boolean isAncestor(org.apache.commons.vfs2.FileName);
    descriptor: (Lorg/apache/commons/vfs2/FileName;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
        start local 1 // org.apache.commons.vfs2.FileName ancestor
         0: .line 411
            aload 1 /* ancestor */
            invokeinterface org.apache.commons.vfs2.FileName.getRootURI:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getRootURI:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 412
            iconst_0
            ireturn
         2: .line 414
      StackMap locals:
      StackMap stack:
            aload 1 /* ancestor */
            invokeinterface org.apache.commons.vfs2.FileName.getPath:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            getstatic org.apache.commons.vfs2.NameScope.DESCENDENT:Lorg/apache/commons/vfs2/NameScope;
            invokestatic org.apache.commons.vfs2.provider.AbstractFileName.checkName:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/commons/vfs2/NameScope;)Z
            ireturn
        end local 1 // org.apache.commons.vfs2.FileName ancestor
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            0    3     1  ancestor  Lorg/apache/commons/vfs2/FileName;
    MethodParameters:
          Name  Flags
      ancestor  final

  public boolean isDescendent(org.apache.commons.vfs2.FileName);
    descriptor: (Lorg/apache/commons/vfs2/FileName;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
        start local 1 // org.apache.commons.vfs2.FileName descendent
         0: .line 425
            aload 0 /* this */
            aload 1 /* descendent */
            getstatic org.apache.commons.vfs2.NameScope.DESCENDENT:Lorg/apache/commons/vfs2/NameScope;
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.isDescendent:(Lorg/apache/commons/vfs2/FileName;Lorg/apache/commons/vfs2/NameScope;)Z
            ireturn
        end local 1 // org.apache.commons.vfs2.FileName descendent
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            0    1     1  descendent  Lorg/apache/commons/vfs2/FileName;
    MethodParameters:
            Name  Flags
      descendent  final

  public boolean isDescendent(org.apache.commons.vfs2.FileName, org.apache.commons.vfs2.NameScope);
    descriptor: (Lorg/apache/commons/vfs2/FileName;Lorg/apache/commons/vfs2/NameScope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
        start local 1 // org.apache.commons.vfs2.FileName descendent
        start local 2 // org.apache.commons.vfs2.NameScope scope
         0: .line 437
            aload 1 /* descendent */
            invokeinterface org.apache.commons.vfs2.FileName.getRootURI:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getRootURI:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 438
            iconst_0
            ireturn
         2: .line 440
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getPath:()Ljava/lang/String;
            aload 1 /* descendent */
            invokeinterface org.apache.commons.vfs2.FileName.getPath:()Ljava/lang/String;
            aload 2 /* scope */
            invokestatic org.apache.commons.vfs2.provider.AbstractFileName.checkName:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/commons/vfs2/NameScope;)Z
            ireturn
        end local 2 // org.apache.commons.vfs2.NameScope scope
        end local 1 // org.apache.commons.vfs2.FileName descendent
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            0    3     1  descendent  Lorg/apache/commons/vfs2/FileName;
            0    3     2       scope  Lorg/apache/commons/vfs2/NameScope;
    MethodParameters:
            Name  Flags
      descendent  final
      scope       final

  public boolean isFile();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 454
            getstatic org.apache.commons.vfs2.FileType.FILE:Lorg/apache/commons/vfs2/FileType;
            aload 0 /* this */
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.getType:()Lorg/apache/commons/vfs2/FileType;
            invokevirtual org.apache.commons.vfs2.FileType.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
    Exceptions:
      throws org.apache.commons.vfs2.FileSystemException

  public org.apache.commons.vfs2.FileType getType();
    descriptor: ()Lorg/apache/commons/vfs2/FileType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
         0: .line 471
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.AbstractFileName.type:Lorg/apache/commons/vfs2/FileType;
            areturn
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;

  void setType(org.apache.commons.vfs2.FileType);
    descriptor: (Lorg/apache/commons/vfs2/FileType;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
        start local 1 // org.apache.commons.vfs2.FileType type
         0: .line 481
            aload 1 /* type */
            getstatic org.apache.commons.vfs2.FileType.FOLDER:Lorg/apache/commons/vfs2/FileType;
            if_acmpeq 2
            aload 1 /* type */
            getstatic org.apache.commons.vfs2.FileType.FILE:Lorg/apache/commons/vfs2/FileType;
            if_acmpeq 2
            aload 1 /* type */
            getstatic org.apache.commons.vfs2.FileType.FILE_OR_FOLDER:Lorg/apache/commons/vfs2/FileType;
            if_acmpeq 2
         1: .line 482
            new org.apache.commons.vfs2.FileSystemException
            dup
            ldc "vfs.provider/filename-type.error"
            invokespecial org.apache.commons.vfs2.FileSystemException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            putfield org.apache.commons.vfs2.provider.AbstractFileName.type:Lorg/apache/commons/vfs2/FileType;
         3: .line 486
            return
        end local 1 // org.apache.commons.vfs2.FileType type
        end local 0 // org.apache.commons.vfs2.provider.AbstractFileName this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/vfs2/provider/AbstractFileName;
            0    4     1  type  Lorg/apache/commons/vfs2/FileType;
    Exceptions:
      throws org.apache.commons.vfs2.FileSystemException
    MethodParameters:
      Name  Flags
      type  final

  public static boolean checkName(java.lang.String, java.lang.String, org.apache.commons.vfs2.NameScope);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/commons/vfs2/NameScope;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.String basePath
        start local 1 // java.lang.String path
        start local 2 // org.apache.commons.vfs2.NameScope scope
         0: .line 497
            aload 2 /* scope */
            getstatic org.apache.commons.vfs2.NameScope.FILE_SYSTEM:Lorg/apache/commons/vfs2/NameScope;
            if_acmpne 2
         1: .line 499
            iconst_1
            ireturn
         2: .line 502
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            aload 0 /* basePath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 4
         3: .line 503
            iconst_0
            ireturn
         4: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* basePath */
            invokevirtual java.lang.String.length:()I
            istore 3 /* baseLen */
        start local 3 // int baseLen
         5: .line 507
            invokestatic org.apache.commons.vfs2.VFS.isUriStyle:()Z
            ifeq 7
         6: .line 509
            iinc 3 /* baseLen */ -1
         7: .line 512
      StackMap locals: int
      StackMap stack:
            aload 2 /* scope */
            getstatic org.apache.commons.vfs2.NameScope.CHILD:Lorg/apache/commons/vfs2/NameScope;
            if_acmpne 11
         8: .line 513
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iload 3 /* baseLen */
            if_icmpeq 10
            iload 3 /* baseLen */
            iconst_1
            if_icmple 9
            aload 1 /* path */
            iload 3 /* baseLen */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 10
         9: .line 514
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            bipush 47
            iload 3 /* baseLen */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            iconst_m1
            if_icmpeq 19
        10: .line 515
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 517
      StackMap locals:
      StackMap stack:
            aload 2 /* scope */
            getstatic org.apache.commons.vfs2.NameScope.DESCENDENT:Lorg/apache/commons/vfs2/NameScope;
            if_acmpne 14
        12: .line 518
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iload 3 /* baseLen */
            if_icmpeq 13
            iload 3 /* baseLen */
            iconst_1
            if_icmple 19
            aload 1 /* path */
            iload 3 /* baseLen */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 19
        13: .line 519
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        14: .line 521
      StackMap locals:
      StackMap stack:
            aload 2 /* scope */
            getstatic org.apache.commons.vfs2.NameScope.DESCENDENT_OR_SELF:Lorg/apache/commons/vfs2/NameScope;
            if_acmpne 17
        15: .line 522
            iload 3 /* baseLen */
            iconst_1
            if_icmple 19
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iload 3 /* baseLen */
            if_icmple 19
            aload 1 /* path */
            iload 3 /* baseLen */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 19
        16: .line 523
            iconst_0
            ireturn
        17: .line 525
      StackMap locals:
      StackMap stack:
            aload 2 /* scope */
            getstatic org.apache.commons.vfs2.NameScope.FILE_SYSTEM:Lorg/apache/commons/vfs2/NameScope;
            if_acmpeq 19
        18: .line 526
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        19: .line 529
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int baseLen
        end local 2 // org.apache.commons.vfs2.NameScope scope
        end local 1 // java.lang.String path
        end local 0 // java.lang.String basePath
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0  basePath  Ljava/lang/String;
            0   20     1      path  Ljava/lang/String;
            0   20     2     scope  Lorg/apache/commons/vfs2/NameScope;
            5   20     3   baseLen  I
    MethodParameters:
          Name  Flags
      basePath  final
      path      final
      scope     final

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.commons.vfs2.FileName
            invokevirtual org.apache.commons.vfs2.provider.AbstractFileName.compareTo:(Lorg/apache/commons/vfs2/FileName;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "AbstractFileName.java"