class org.reflections.vfs.Vfs$DefaultUrlTypes$4 extends org.reflections.vfs.Vfs$DefaultUrlTypes
  minor version: 0
  major version: 59
  flags: flags: (0x4020) ACC_SUPER, ACC_ANNOTATION
  this_class: org.reflections.vfs.Vfs$DefaultUrlTypes$4
  super_class: org.reflections.vfs.Vfs$DefaultUrlTypes
{
  void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.reflections.vfs.Vfs$DefaultUrlTypes$4 this
         0: .line 252
            aload 0 /* this */
            aload 1
            iload 2
            invokespecial org.reflections.vfs.Vfs$DefaultUrlTypes.<init>:(Ljava/lang/String;I)V
            return
        end local 0 // org.reflections.vfs.Vfs$DefaultUrlTypes$4 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/reflections/vfs/Vfs$DefaultUrlTypes$4;
    MethodParameters:
               Name  Flags
      $enum$name     
      $enum$ordinal  

  public boolean matches(java.net.URL);
    descriptor: (Ljava/net/URL;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.reflections.vfs.Vfs$DefaultUrlTypes$4 this
        start local 1 // java.net.URL url
         0: .line 254
            aload 1 /* url */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            ldc "vfs"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.net.URL url
        end local 0 // org.reflections.vfs.Vfs$DefaultUrlTypes$4 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/reflections/vfs/Vfs$DefaultUrlTypes$4;
            0    1     1   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      url   

  public org.reflections.vfs.Vfs$Dir createDir(java.net.URL);
    descriptor: (Ljava/net/URL;)Lorg/reflections/vfs/Vfs$Dir;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.reflections.vfs.Vfs$DefaultUrlTypes$4 this
        start local 1 // java.net.URL url
         0: .line 258
            aload 1 /* url */
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            invokevirtual java.net.URLConnection.getContent:()Ljava/lang/Object;
            astore 2 /* content */
        start local 2 // java.lang.Object content
         1: .line 259
            invokestatic org.reflections.util.ClasspathHelper.contextClassLoader:()Ljava/lang/ClassLoader;
            ldc "org.jboss.vfs.VirtualFile"
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* virtualFile */
        start local 3 // java.lang.Class virtualFile
         2: .line 260
            aload 3 /* virtualFile */
            ldc "getPhysicalFile"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            aload 2 /* content */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.File
            astore 4 /* physicalFile */
        start local 4 // java.io.File physicalFile
         3: .line 261
            aload 3 /* virtualFile */
            ldc "getName"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            aload 2 /* content */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* name */
        start local 5 // java.lang.String name
         4: .line 262
            new java.io.File
            dup
            aload 4 /* physicalFile */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            aload 5 /* name */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 6 /* file */
        start local 6 // java.io.File file
         5: .line 263
            aload 6 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 6
            aload 6 /* file */
            invokevirtual java.io.File.canRead:()Z
            ifne 7
      StackMap locals: org.reflections.vfs.Vfs$DefaultUrlTypes$4 java.net.URL java.lang.Object java.lang.Class java.io.File java.lang.String java.io.File
      StackMap stack:
         6: aload 4 /* physicalFile */
            astore 6 /* file */
         7: .line 264
      StackMap locals:
      StackMap stack:
            aload 6 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 8
            new org.reflections.vfs.SystemDir
            dup
            aload 6 /* file */
            invokespecial org.reflections.vfs.SystemDir.<init>:(Ljava/io/File;)V
            goto 9
      StackMap locals:
      StackMap stack:
         8: new org.reflections.vfs.ZipDir
            dup
            new java.util.jar.JarFile
            dup
            aload 6 /* file */
            invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;)V
            invokespecial org.reflections.vfs.ZipDir.<init>:(Ljava/util/jar/JarFile;)V
      StackMap locals:
      StackMap stack: org.reflections.vfs.Vfs$Dir
         9: areturn
        end local 6 // java.io.File file
        end local 5 // java.lang.String name
        end local 4 // java.io.File physicalFile
        end local 3 // java.lang.Class virtualFile
        end local 2 // java.lang.Object content
        end local 1 // java.net.URL url
        end local 0 // org.reflections.vfs.Vfs$DefaultUrlTypes$4 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/reflections/vfs/Vfs$DefaultUrlTypes$4;
            0   10     1           url  Ljava/net/URL;
            1   10     2       content  Ljava/lang/Object;
            2   10     3   virtualFile  Ljava/lang/Class<*>;
            3   10     4  physicalFile  Ljava/io/File;
            4   10     5          name  Ljava/lang/String;
            5   10     6          file  Ljava/io/File;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      url   
}
SourceFile: "Vfs.java"
EnclosingMethod: org.reflections.vfs.Vfs$DefaultUrlTypes
NestHost: org.reflections.vfs.Vfs
InnerClasses:
  public abstract DefaultUrlTypes = org.reflections.vfs.Vfs$DefaultUrlTypes of org.reflections.vfs.Vfs
  org.reflections.vfs.Vfs$DefaultUrlTypes$4
  public abstract Dir = org.reflections.vfs.Vfs$Dir of org.reflections.vfs.Vfs