public class jflex.io.FileUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jflex.io.FileUtils
  super_class: java.lang.Object
{
  public static java.lang.String getRelativePath(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.io.File rootDirectory
        start local 1 // java.io.File file
         0: .line 11
            new java.lang.StringBuilder
            dup
            aload 0 /* rootDirectory */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* rootDir */
        start local 2 // java.lang.String rootDir
         1: .line 12
            aload 1 /* file */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 3 /* f */
        start local 3 // java.lang.String f
         2: .line 13
            aload 3 /* f */
            aload 2 /* rootDir */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         3: .line 14
            aload 3 /* f */
            aload 2 /* rootDir */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
         4: areturn
        end local 3 // java.lang.String f
        end local 2 // java.lang.String rootDir
         5: .line 16
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         6: .line 19
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            areturn
        end local 1 // java.io.File file
        end local 0 // java.io.File rootDirectory
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0  rootDirectory  Ljava/io/File;
            0    7     1           file  Ljava/io/File;
            1    5     2        rootDir  Ljava/lang/String;
            2    5     3              f  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     4       5  Class java.io.IOException
    MethodParameters:
               Name  Flags
      rootDirectory  
      file           

  public static java.lang.String slashify(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 27
            aload 0 /* path */
            bipush 92
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jflex.io.FileUtils this
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jflex.io.FileUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljflex/io/FileUtils;
}
SourceFile: "FileUtils.java"