public class org.aspectj.util.FileUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.util.FileUtil
  super_class: java.lang.Object
{
  public static final java.io.File DEFAULT_PARENT;
    descriptor: Ljava/io/File;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.util.List<java.lang.String> SOURCE_SUFFIXES;
    descriptor: Ljava/util/List;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  public static final java.io.FileFilter ZIP_FILTER;
    descriptor: Ljava/io/FileFilter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static final int[] INT_RA;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  public static final java.io.FileFilter ALL;
    descriptor: Ljava/io/FileFilter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.io.FileFilter DIRS_AND_WRITABLE_CLASSES;
    descriptor: Ljava/io/FileFilter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final boolean PERMIT_CVS;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.io.FileFilter aspectjSourceFileFilter;
    descriptor: Ljava/io/FileFilter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static final java.lang.String FILECHARS;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 54
            new java.io.File
            dup
            ldc "."
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            putstatic org.aspectj.util.FileUtil.DEFAULT_PARENT:Ljava/io/File;
         1: .line 57
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc ".java"
            aastore
            dup
            iconst_1
            ldc ".aj"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putstatic org.aspectj.util.FileUtil.SOURCE_SUFFIXES:Ljava/util/List;
         2: .line 59
            new org.aspectj.util.FileUtil$1
            dup
            invokespecial org.aspectj.util.FileUtil$1.<init>:()V
            putstatic org.aspectj.util.FileUtil.ZIP_FILTER:Ljava/io/FileFilter;
         3: .line 79
            iconst_0
            newarray 10
            putstatic org.aspectj.util.FileUtil.INT_RA:[I
         4: .line 82
            new org.aspectj.util.FileUtil$2
            dup
            invokespecial org.aspectj.util.FileUtil$2.<init>:()V
            putstatic org.aspectj.util.FileUtil.ALL:Ljava/io/FileFilter;
         5: .line 87
            new org.aspectj.util.FileUtil$3
            dup
            invokespecial org.aspectj.util.FileUtil$3.<init>:()V
            putstatic org.aspectj.util.FileUtil.DIRS_AND_WRITABLE_CLASSES:Ljava/io/FileFilter;
         6: .line 94
            new java.lang.StringBuilder
            dup
            ldc Lorg/aspectj/util/FileUtil;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".PERMIT_CVS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* name */
        start local 0 // java.lang.String name
         7: .line 95
            aload 0 /* name */
            iconst_0
            invokestatic org.aspectj.util.LangUtil.getBoolean:(Ljava/lang/String;Z)Z
            putstatic org.aspectj.util.FileUtil.PERMIT_CVS:Z
        end local 0 // java.lang.String name
         8: .line 697
            new org.aspectj.util.FileUtil$4
            dup
            invokespecial org.aspectj.util.FileUtil$4.<init>:()V
            putstatic org.aspectj.util.FileUtil.aspectjSourceFileFilter:Ljava/io/FileFilter;
         9: .line 1210
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            7    8     0  name  Ljava/lang/String;

  public static boolean isZipFile(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 101
            aload 0 /* file */
            ifnull 1
            new java.util.zip.ZipFile
            dup
            aload 0 /* file */
            invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;)V
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
         2: ireturn
         3: .line 102
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         4: .line 103
            iconst_0
            ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  file  Ljava/io/File;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public static int zipSuffixLength(java.io.File);
    descriptor: (Ljava/io/File;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 113
            aload 0 /* file */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokestatic org.aspectj.util.FileUtil.zipSuffixLength:(Ljava/lang/String;)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      file  

  public static int zipSuffixLength(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String path
         0: .line 118
            aload 0 /* path */
            ifnull 4
            iconst_4
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmpge 4
         1: .line 119
            aload 0 /* path */
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_4
            isub
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 1 /* test */
        start local 1 // java.lang.String test
         2: .line 120
            ldc ".zip"
            aload 1 /* test */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
            ldc ".jar"
            aload 1 /* test */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 121
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_4
            ireturn
        end local 1 // java.lang.String test
         4: .line 124
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  path  Ljava/lang/String;
            2    4     1  test  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public static boolean hasSourceSuffix(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 129
            aload 0 /* file */
            ifnull 1
            aload 0 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokestatic org.aspectj.util.FileUtil.hasSourceSuffix:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      file  

  public static boolean hasSourceSuffix(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 134
            aload 0 /* path */
            ifnull 1
            aload 0 /* path */
            invokestatic org.aspectj.util.FileUtil.sourceSuffixLength:(Ljava/lang/String;)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public static int sourceSuffixLength(java.io.File);
    descriptor: (Ljava/io/File;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 141
            aload 0 /* file */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokestatic org.aspectj.util.FileUtil.sourceSuffixLength:(Ljava/lang/String;)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      file  

  public static int sourceSuffixLength(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String path
         0: .line 146
            aload 0 /* path */
            invokestatic org.aspectj.util.LangUtil.isEmpty:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 147
            iconst_0
            ireturn
         2: .line 150
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.util.FileUtil.SOURCE_SUFFIXES:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         3: goto 7
         4: .line 151
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* suffix */
        start local 2 // java.lang.String suffix
         5: .line 152
            aload 0 /* path */
            aload 2 /* suffix */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 6
            aload 0 /* path */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            aload 2 /* suffix */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 153
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* suffix */
            invokevirtual java.lang.String.length:()I
            ireturn
        end local 2 // java.lang.String suffix
         7: .line 150
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 1 // java.util.Iterator iter
         8: .line 156
            iconst_0
            ireturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    path  Ljava/lang/String;
            3    8     1    iter  Ljava/util/Iterator<Ljava/lang/String;>;
            5    7     2  suffix  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public static boolean canReadDir(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File dir
         0: .line 161
            aload 0 /* dir */
            ifnull 1
            aload 0 /* dir */
            invokevirtual java.io.File.canRead:()Z
            ifeq 1
            aload 0 /* dir */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   dir  Ljava/io/File;
    MethodParameters:
      Name  Flags
      dir   

  public static boolean canReadFile(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 166
            aload 0 /* file */
            ifnull 1
            aload 0 /* file */
            invokevirtual java.io.File.canRead:()Z
            ifeq 1
            aload 0 /* file */
            invokevirtual java.io.File.isFile:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      file  

  public static boolean canWriteDir(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File dir
         0: .line 171
            aload 0 /* dir */
            ifnull 1
            aload 0 /* dir */
            invokevirtual java.io.File.canWrite:()Z
            ifeq 1
            aload 0 /* dir */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   dir  Ljava/io/File;
    MethodParameters:
      Name  Flags
      dir   

  public static boolean canWriteFile(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 176
            aload 0 /* file */
            ifnull 1
            aload 0 /* file */
            invokevirtual java.io.File.canWrite:()Z
            ifeq 1
            aload 0 /* file */
            invokevirtual java.io.File.isFile:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      file  

  public static void throwIaxUnlessCanReadDir(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.File dir
        start local 1 // java.lang.String label
         0: .line 194
            aload 0 /* dir */
            invokestatic org.aspectj.util.FileUtil.canReadDir:(Ljava/io/File;)Z
            ifne 2
         1: .line 195
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* label */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " not readable dir: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* dir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 197
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String label
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0    dir  Ljava/io/File;
            0    3     1  label  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      dir    
      label  

  public static void throwIaxUnlessCanWriteFile(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.File file
        start local 1 // java.lang.String label
         0: .line 203
            aload 0 /* file */
            invokestatic org.aspectj.util.FileUtil.canWriteFile:(Ljava/io/File;)Z
            ifne 2
         1: .line 204
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* label */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " not writable file: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 206
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String label
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   file  Ljava/io/File;
            0    3     1  label  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      file   
      label  

  public static void throwIaxUnlessCanWriteDir(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.File dir
        start local 1 // java.lang.String label
         0: .line 210
            aload 0 /* dir */
            invokestatic org.aspectj.util.FileUtil.canWriteDir:(Ljava/io/File;)Z
            ifne 2
         1: .line 211
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* label */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " not writable dir: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* dir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 213
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String label
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0    dir  Ljava/io/File;
            0    3     1  label  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      dir    
      label  

  public static java.lang.String[] getPaths(java.io.File[]);
    descriptor: ([Ljava/io/File;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.io.File[] files
         0: .line 217
            aload 0 /* files */
            ifnull 1
            aload 0 /* files */
            arraylength
            ifne 2
         1: .line 218
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.lang.String
            areturn
         2: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* files */
            arraylength
            anewarray java.lang.String
            astore 1 /* result */
        start local 1 // java.lang.String[] result
         3: .line 221
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 8
         5: .line 222
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* files */
            iload 2 /* i */
            aaload
            ifnull 7
         6: .line 223
            aload 1 /* result */
            iload 2 /* i */
            aload 0 /* files */
            iload 2 /* i */
            aaload
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            aastore
         7: .line 221
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 1 /* result */
            arraylength
            if_icmplt 5
        end local 2 // int i
         9: .line 226
            aload 1 /* result */
            areturn
        end local 1 // java.lang.String[] result
        end local 0 // java.io.File[] files
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0   files  [Ljava/io/File;
            3   10     1  result  [Ljava/lang/String;
            4    9     2       i  I
    MethodParameters:
       Name  Flags
      files  

  public static java.lang.String[] getPaths(java.util.List<java.io.File>);
    descriptor: (Ljava/util/List;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.util.List files
         0: .line 231
            aload 0 /* files */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* files */
            invokeinterface java.util.List.size:()I
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* size */
        start local 1 // int size
         3: .line 232
            iload 1 /* size */
            ifne 5
         4: .line 233
            iconst_0
            anewarray java.lang.String
            areturn
         5: .line 235
      StackMap locals: int
      StackMap stack:
            iload 1 /* size */
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         6: .line 236
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 12
         8: .line 237
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* files */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.io.File
            astore 4 /* file */
        start local 4 // java.io.File file
         9: .line 238
            aload 4 /* file */
            ifnull 11
        10: .line 239
            aload 2 /* result */
            iload 3 /* i */
            aload 4 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            aastore
        end local 4 // java.io.File file
        11: .line 236
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 1 /* size */
            if_icmplt 8
        end local 3 // int i
        13: .line 242
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // int size
        end local 0 // java.util.List files
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0   files  Ljava/util/List<Ljava/io/File;>;
            3   14     1    size  I
            6   14     2  result  [Ljava/lang/String;
            7   13     3       i  I
            9   11     4    file  Ljava/io/File;
    Signature: (Ljava/util/List<Ljava/io/File;>;)[Ljava/lang/String;
    MethodParameters:
       Name  Flags
      files  

  public static java.lang.String fileToClassName(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.io.File basedir
        start local 1 // java.io.File classFile
         0: .line 255
            aload 1 /* classFile */
            ldc "classFile"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 256
            aload 1 /* classFile */
            invokestatic org.aspectj.util.FileUtil.normalizedPath:(Ljava/io/File;)Ljava/lang/String;
            astore 2 /* classFilePath */
        start local 2 // java.lang.String classFilePath
         2: .line 257
            aload 2 /* classFilePath */
            ldc ".class"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 5
         3: .line 258
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* classFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not end with .class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* m */
        start local 3 // java.lang.String m
         4: .line 259
            new java.lang.IllegalArgumentException
            dup
            aload 3 /* m */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String m
         5: .line 261
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* classFilePath */
            iconst_0
            aload 2 /* classFilePath */
            invokevirtual java.lang.String.length:()I
            bipush 6
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* classFilePath */
         6: .line 262
            aload 0 /* basedir */
            ifnull 13
         7: .line 263
            aload 0 /* basedir */
            invokestatic org.aspectj.util.FileUtil.normalizedPath:(Ljava/io/File;)Ljava/lang/String;
            astore 3 /* basePath */
        start local 3 // java.lang.String basePath
         8: .line 264
            aload 2 /* classFilePath */
            aload 3 /* basePath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 11
         9: .line 265
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* classFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not start with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* basedir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* m */
        start local 4 // java.lang.String m
        10: .line 266
            new java.lang.IllegalArgumentException
            dup
            aload 4 /* m */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String m
        11: .line 268
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* classFilePath */
            aload 3 /* basePath */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* classFilePath */
        end local 3 // java.lang.String basePath
        12: .line 269
            goto 27
        13: .line 270
      StackMap locals:
      StackMap stack:
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "com"
            aastore
            dup
            iconst_1
            ldc "org"
            aastore
            dup
            iconst_2
            ldc "java"
            aastore
            dup
            iconst_3
            ldc "javax"
            aastore
            astore 3 /* suffixes */
        start local 3 // java.lang.String[] suffixes
        14: .line 271
            iconst_0
            istore 4 /* found */
        start local 4 // boolean found
        15: .line 272
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: goto 22
        17: .line 273
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 2 /* classFilePath */
            new java.lang.StringBuilder
            dup
            aload 3 /* suffixes */
            iload 5 /* i */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 6 /* loc */
        start local 6 // int loc
        18: .line 274
            iload 6 /* loc */
            ifeq 19
            iconst_m1
            iload 6 /* loc */
            if_icmpeq 21
            bipush 47
            aload 2 /* classFilePath */
            iload 6 /* loc */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 21
        19: .line 275
      StackMap locals: int
      StackMap stack:
            aload 2 /* classFilePath */
            iload 6 /* loc */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* classFilePath */
        20: .line 276
            iconst_1
            istore 4 /* found */
        end local 6 // int loc
        21: .line 272
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* found */
            ifne 23
            iload 5 /* i */
            aload 3 /* suffixes */
            arraylength
            if_icmplt 17
        end local 5 // int i
        23: .line 279
      StackMap locals:
      StackMap stack:
            iload 4 /* found */
            ifne 27
        24: .line 280
            aload 2 /* classFilePath */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 5 /* loc */
        start local 5 // int loc
        25: .line 281
            iconst_m1
            iload 5 /* loc */
            if_icmpeq 27
        26: .line 282
            aload 2 /* classFilePath */
            iload 5 /* loc */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* classFilePath */
        end local 5 // int loc
        end local 4 // boolean found
        end local 3 // java.lang.String[] suffixes
        27: .line 286
      StackMap locals:
      StackMap stack:
            aload 2 /* classFilePath */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String classFilePath
        end local 1 // java.io.File classFile
        end local 0 // java.io.File basedir
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0        basedir  Ljava/io/File;
            0   28     1      classFile  Ljava/io/File;
            2   28     2  classFilePath  Ljava/lang/String;
            4    5     3              m  Ljava/lang/String;
            8   12     3       basePath  Ljava/lang/String;
           10   11     4              m  Ljava/lang/String;
           14   27     3       suffixes  [Ljava/lang/String;
           15   27     4          found  Z
           16   23     5              i  I
           18   21     6            loc  I
           25   27     5            loc  I
    MethodParameters:
           Name  Flags
      basedir    
      classFile  

  public static java.lang.String normalizedPath(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.io.File file
        start local 1 // java.io.File basedir
         0: .line 298
            aload 0 /* file */
            invokestatic org.aspectj.util.FileUtil.normalizedPath:(Ljava/io/File;)Ljava/lang/String;
            astore 2 /* filePath */
        start local 2 // java.lang.String filePath
         1: .line 299
            aload 1 /* basedir */
            ifnull 7
         2: .line 300
            aload 1 /* basedir */
            invokestatic org.aspectj.util.FileUtil.normalizedPath:(Ljava/io/File;)Ljava/lang/String;
            astore 3 /* basePath */
        start local 3 // java.lang.String basePath
         3: .line 301
            aload 2 /* filePath */
            aload 3 /* basePath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         4: .line 302
            aload 2 /* filePath */
            aload 3 /* basePath */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* filePath */
         5: .line 303
            aload 2 /* filePath */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 304
            aload 2 /* filePath */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* filePath */
        end local 3 // java.lang.String basePath
         7: .line 308
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* filePath */
            areturn
        end local 2 // java.lang.String filePath
        end local 1 // java.io.File basedir
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      file  Ljava/io/File;
            0    8     1   basedir  Ljava/io/File;
            1    8     2  filePath  Ljava/lang/String;
            3    7     3  basePath  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      file     
      basedir  

  public static java.lang.String flatten(java.io.File[], java.lang.String);
    descriptor: ([Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.File[] files
        start local 1 // java.lang.String infix
         0: .line 320
            aload 0 /* files */
            invokestatic org.aspectj.util.LangUtil.isEmpty:([Ljava/lang/Object;)Z
            ifeq 2
         1: .line 321
            ldc ""
            areturn
         2: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* files */
            invokestatic org.aspectj.util.FileUtil.getPaths:([Ljava/io/File;)[Ljava/lang/String;
            aload 1 /* infix */
            invokestatic org.aspectj.util.FileUtil.flatten:([Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String infix
        end local 0 // java.io.File[] files
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  files  [Ljava/io/File;
            0    3     1  infix  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      files  
      infix  

  public static java.lang.String flatten(java.lang.String[], java.lang.String);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.String[] paths
        start local 1 // java.lang.String infix
         0: .line 333
            aload 1 /* infix */
            ifnonnull 2
         1: .line 334
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            astore 1 /* infix */
         2: .line 336
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* result */
        start local 2 // java.lang.StringBuffer result
         3: .line 337
            iconst_1
            istore 3 /* first */
        start local 3 // boolean first
         4: .line 338
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 15
         6: .line 339
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 0 /* paths */
            iload 4 /* i */
            aaload
            astore 5 /* path */
        start local 5 // java.lang.String path
         7: .line 340
            aload 5 /* path */
            ifnonnull 9
         8: .line 341
            goto 14
         9: .line 343
      StackMap locals: java.lang.String
      StackMap stack:
            iload 3 /* first */
            ifeq 12
        10: .line 344
            iconst_0
            istore 3 /* first */
        11: .line 345
            goto 13
        12: .line 346
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            aload 1 /* infix */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 348
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            aload 5 /* path */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 5 // java.lang.String path
        14: .line 338
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            aload 0 /* paths */
            arraylength
            if_icmplt 6
        end local 4 // int i
        16: .line 350
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // boolean first
        end local 2 // java.lang.StringBuffer result
        end local 1 // java.lang.String infix
        end local 0 // java.lang.String[] paths
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0   paths  [Ljava/lang/String;
            0   17     1   infix  Ljava/lang/String;
            3   17     2  result  Ljava/lang/StringBuffer;
            4   17     3   first  Z
            5   16     4       i  I
            7   14     5    path  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      paths  
      infix  

  public static java.lang.String normalizedPath(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 359
            aload 0 /* file */
            ifnonnull 1
            ldc ""
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokestatic org.aspectj.util.FileUtil.weakNormalize:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      file  

  public static java.lang.String weakNormalize(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 366
            aload 0 /* path */
            ifnull 2
         1: .line 367
            aload 0 /* path */
            bipush 92
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 0 /* path */
         2: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            areturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public static java.io.File getBestFile(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String[] paths
         0: .line 380
            aload 0 /* paths */
            ifnonnull 2
         1: .line 381
            aconst_null
            areturn
         2: .line 383
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* result */
        start local 1 // java.io.File result
         3: .line 384
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 21
         5: .line 385
      StackMap locals: java.io.File int
      StackMap stack:
            aload 0 /* paths */
            iload 2 /* i */
            aaload
            astore 3 /* path */
        start local 3 // java.lang.String path
         6: .line 386
            aload 3 /* path */
            ifnonnull 8
         7: .line 387
            goto 20
         8: .line 389
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* path */
            ldc "sp:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 15
         9: .line 391
            aload 3 /* path */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        10: .line 392
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: pop
        12: .line 393
            aconst_null
            astore 3 /* path */
        13: .line 395
      StackMap locals:
      StackMap stack:
            aload 3 /* path */
            ifnonnull 15
        14: .line 396
            goto 20
        15: .line 400
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 3 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* f */
        start local 4 // java.io.File f
        16: .line 401
            aload 4 /* f */
            invokevirtual java.io.File.exists:()Z
            ifeq 20
            aload 4 /* f */
            invokevirtual java.io.File.canRead:()Z
            ifeq 20
        17: .line 402
            aload 4 /* f */
            invokestatic org.aspectj.util.FileUtil.getBestFile:(Ljava/io/File;)Ljava/io/File;
            astore 1 /* result */
        end local 4 // java.io.File f
        18: .line 404
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: pop
        end local 3 // java.lang.String path
        20: .line 384
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: aload 1 /* result */
            ifnonnull 22
            iload 2 /* i */
            aload 0 /* paths */
            arraylength
            if_icmplt 5
        end local 2 // int i
        22: .line 408
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.io.File result
        end local 0 // java.lang.String[] paths
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0   paths  [Ljava/lang/String;
            3   23     1  result  Ljava/io/File;
            4   22     2       i  I
            6   20     3    path  Ljava/lang/String;
           16   18     4       f  Ljava/io/File;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.Throwable
          15    18      19  Class java.lang.Throwable
    MethodParameters:
       Name  Flags
      paths  

  public static java.io.File getBestFile(java.lang.String[], boolean);
    descriptor: ([Ljava/lang/String;Z)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.lang.String[] paths
        start local 1 // boolean mustBeJar
         0: .line 412
            aload 0 /* paths */
            ifnonnull 2
         1: .line 413
            aconst_null
            areturn
         2: .line 415
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* result */
        start local 2 // java.io.File result
         3: .line 416
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 22
         5: .line 417
      StackMap locals: java.io.File int
      StackMap stack:
            aload 0 /* paths */
            iload 3 /* i */
            aaload
            astore 4 /* path */
        start local 4 // java.lang.String path
         6: .line 418
            aload 4 /* path */
            ifnonnull 8
         7: .line 419
            goto 21
         8: .line 421
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* path */
            ldc "sp:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 15
         9: .line 423
            aload 4 /* path */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* path */
        10: .line 424
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: pop
        12: .line 425
            aconst_null
            astore 4 /* path */
        13: .line 427
      StackMap locals:
      StackMap stack:
            aload 4 /* path */
            ifnonnull 15
        14: .line 428
            goto 21
        15: .line 432
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 4 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 5 /* f */
        start local 5 // java.io.File f
        16: .line 434
            aload 5 /* f */
            invokevirtual java.io.File.exists:()Z
            ifeq 21
            aload 5 /* f */
            invokevirtual java.io.File.canRead:()Z
            ifeq 21
        17: .line 435
            iload 1 /* mustBeJar */
            ifeq 21
            aload 5 /* f */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 21
        18: .line 436
            aload 5 /* f */
            invokestatic org.aspectj.util.FileUtil.getBestFile:(Ljava/io/File;)Ljava/io/File;
            astore 2 /* result */
        end local 5 // java.io.File f
        19: .line 439
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: pop
        end local 4 // java.lang.String path
        21: .line 416
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: aload 2 /* result */
            ifnonnull 23
            iload 3 /* i */
            aload 0 /* paths */
            arraylength
            if_icmplt 5
        end local 3 // int i
        23: .line 443
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.io.File result
        end local 1 // boolean mustBeJar
        end local 0 // java.lang.String[] paths
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0      paths  [Ljava/lang/String;
            0   24     1  mustBeJar  Z
            3   24     2     result  Ljava/io/File;
            4   23     3          i  I
            6   21     4       path  Ljava/lang/String;
           16   19     5          f  Ljava/io/File;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.Throwable
          15    19      20  Class java.lang.Throwable
    MethodParameters:
           Name  Flags
      paths      
      mustBeJar  

  public static java.io.File getBestFile(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 454
            aload 0 /* file */
            ldc "file"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 455
            aload 0 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 6
         2: .line 457
            aload 0 /* file */
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
         3: areturn
         4: .line 458
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 459
            aload 0 /* file */
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            areturn
         6: .line 462
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            areturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  file  Ljava/io/File;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public static java.lang.String getBestPath(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 474
            aload 0 /* file */
            ldc "file"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 475
            aload 0 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 6
         2: .line 477
            aload 0 /* file */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
         3: areturn
         4: .line 478
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 479
            aload 0 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            areturn
         6: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            areturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  file  Ljava/io/File;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public static java.lang.String[] getAbsolutePaths(java.io.File[]);
    descriptor: ([Ljava/io/File;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.io.File[] files
         0: .line 488
            aload 0 /* files */
            ifnull 1
            aload 0 /* files */
            arraylength
            ifne 2
         1: .line 489
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.lang.String
            areturn
         2: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* files */
            arraylength
            anewarray java.lang.String
            astore 1 /* result */
        start local 1 // java.lang.String[] result
         3: .line 492
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 8
         5: .line 493
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* files */
            iload 2 /* i */
            aaload
            ifnull 7
         6: .line 494
            aload 1 /* result */
            iload 2 /* i */
            aload 0 /* files */
            iload 2 /* i */
            aaload
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aastore
         7: .line 492
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 1 /* result */
            arraylength
            if_icmplt 5
        end local 2 // int i
         9: .line 497
            aload 1 /* result */
            areturn
        end local 1 // java.lang.String[] result
        end local 0 // java.io.File[] files
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0   files  [Ljava/io/File;
            3   10     1  result  [Ljava/lang/String;
            4    9     2       i  I
    MethodParameters:
       Name  Flags
      files  

  public static int deleteContents(java.io.File);
    descriptor: (Ljava/io/File;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.File dir
         0: .line 506
            aload 0 /* dir */
            getstatic org.aspectj.util.FileUtil.ALL:Ljava/io/FileFilter;
            invokestatic org.aspectj.util.FileUtil.deleteContents:(Ljava/io/File;Ljava/io/FileFilter;)I
            ireturn
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   dir  Ljava/io/File;
    MethodParameters:
      Name  Flags
      dir   

  public static int deleteContents(java.io.File, java.io.FileFilter);
    descriptor: (Ljava/io/File;Ljava/io/FileFilter;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.io.File dir
        start local 1 // java.io.FileFilter filter
         0: .line 516
            aload 0 /* dir */
            aload 1 /* filter */
            iconst_1
            invokestatic org.aspectj.util.FileUtil.deleteContents:(Ljava/io/File;Ljava/io/FileFilter;Z)I
            ireturn
        end local 1 // java.io.FileFilter filter
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0     dir  Ljava/io/File;
            0    1     1  filter  Ljava/io/FileFilter;
    MethodParameters:
        Name  Flags
      dir     
      filter  

  public static int deleteContents(java.io.File, java.io.FileFilter, boolean);
    descriptor: (Ljava/io/File;Ljava/io/FileFilter;Z)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // java.io.File dir
        start local 1 // java.io.FileFilter filter
        start local 2 // boolean deleteEmptyDirs
         0: .line 528
            aload 0 /* dir */
            ifnonnull 2
         1: .line 529
            new java.lang.IllegalArgumentException
            dup
            ldc "null dir"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 531
      StackMap locals:
      StackMap stack:
            aload 0 /* dir */
            invokevirtual java.io.File.exists:()Z
            ifeq 3
            aload 0 /* dir */
            invokevirtual java.io.File.canWrite:()Z
            ifne 4
         3: .line 532
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* dir */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 7
         5: .line 535
            aload 0 /* dir */
            invokevirtual java.io.File.delete:()Z
            pop
         6: .line 536
            iconst_1
            ireturn
         7: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* dir */
            invokevirtual java.io.File.list:()[Ljava/lang/String;
            astore 3 /* fromFiles */
        start local 3 // java.lang.String[] fromFiles
         8: .line 539
            aload 3 /* fromFiles */
            ifnonnull 10
         9: .line 540
            iconst_0
            ireturn
        10: .line 542
      StackMap locals: java.lang.String[]
      StackMap stack:
            iconst_0
            istore 4 /* result */
        start local 4 // int result
        11: .line 543
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 26
        13: .line 544
      StackMap locals: int int
      StackMap stack:
            aload 3 /* fromFiles */
            iload 5 /* i */
            aaload
            astore 6 /* string */
        start local 6 // java.lang.String string
        14: .line 545
            new java.io.File
            dup
            aload 0 /* dir */
            aload 6 /* string */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 7 /* file */
        start local 7 // java.io.File file
        15: .line 546
            aload 1 /* filter */
            ifnull 16
            aload 1 /* filter */
            aload 7 /* file */
            invokeinterface java.io.FileFilter.accept:(Ljava/io/File;)Z
            ifeq 25
        16: .line 547
      StackMap locals: java.lang.String java.io.File
      StackMap stack:
            aload 7 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 23
        17: .line 548
            iload 4 /* result */
            aload 7 /* file */
            aload 1 /* filter */
            iload 2 /* deleteEmptyDirs */
            invokestatic org.aspectj.util.FileUtil.deleteContents:(Ljava/io/File;Ljava/io/FileFilter;Z)I
            iadd
            istore 4 /* result */
        18: .line 549
            aload 7 /* file */
            invokevirtual java.io.File.list:()[Ljava/lang/String;
            astore 8 /* fileContent */
        start local 8 // java.lang.String[] fileContent
        19: .line 550
            iload 2 /* deleteEmptyDirs */
            ifeq 25
            aload 8 /* fileContent */
            ifnull 25
        20: .line 551
            aload 8 /* fileContent */
            arraylength
            ifne 25
        21: .line 552
            aload 7 /* file */
            invokevirtual java.io.File.delete:()Z
            pop
        end local 8 // java.lang.String[] fileContent
        22: .line 554
            goto 25
        23: .line 556
      StackMap locals:
      StackMap stack:
            aload 7 /* file */
            invokevirtual java.io.File.delete:()Z
            pop
        24: .line 557
            iinc 4 /* result */ 1
        end local 7 // java.io.File file
        end local 6 // java.lang.String string
        25: .line 543
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 5 /* i */
            aload 3 /* fromFiles */
            arraylength
            if_icmplt 13
        end local 5 // int i
        27: .line 561
            iload 4 /* result */
            ireturn
        end local 4 // int result
        end local 3 // java.lang.String[] fromFiles
        end local 2 // boolean deleteEmptyDirs
        end local 1 // java.io.FileFilter filter
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   28     0              dir  Ljava/io/File;
            0   28     1           filter  Ljava/io/FileFilter;
            0   28     2  deleteEmptyDirs  Z
            8   28     3        fromFiles  [Ljava/lang/String;
           11   28     4           result  I
           12   27     5                i  I
           14   25     6           string  Ljava/lang/String;
           15   25     7             file  Ljava/io/File;
           19   22     8      fileContent  [Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      dir              
      filter           
      deleteEmptyDirs  

  public static int copyDir(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.io.File fromDir
        start local 1 // java.io.File toDir
         0: .line 572
            aload 0 /* fromDir */
            aload 1 /* toDir */
            aconst_null
            aconst_null
            invokestatic org.aspectj.util.FileUtil.copyDir:(Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)I
            ireturn
        end local 1 // java.io.File toDir
        end local 0 // java.io.File fromDir
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  fromDir  Ljava/io/File;
            0    1     1    toDir  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fromDir  
      toDir    

  public static int copyDir(java.io.File, java.io.File, java.lang.String, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.File fromDir
        start local 1 // java.io.File toDir
        start local 2 // java.lang.String fromSuffix
        start local 3 // java.lang.String toSuffix
         0: .line 586
            aload 0 /* fromDir */
            aload 1 /* toDir */
            aload 2 /* fromSuffix */
            aload 3 /* toSuffix */
            aconst_null
            invokestatic org.aspectj.util.FileUtil.copyDir:(Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileFilter;)I
            ireturn
        end local 3 // java.lang.String toSuffix
        end local 2 // java.lang.String fromSuffix
        end local 1 // java.io.File toDir
        end local 0 // java.io.File fromDir
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0     fromDir  Ljava/io/File;
            0    1     1       toDir  Ljava/io/File;
            0    1     2  fromSuffix  Ljava/lang/String;
            0    1     3    toSuffix  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      fromDir     
      toDir       
      fromSuffix  final
      toSuffix    

  public static int copyDir(java.io.File, java.io.File, java.lang.String, java.lang.String, java.io.FileFilter);
    descriptor: (Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileFilter;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=14, args_size=5
        start local 0 // java.io.File fromDir
        start local 1 // java.io.File toDir
        start local 2 // java.lang.String fromSuffix
        start local 3 // java.lang.String toSuffix
        start local 4 // java.io.FileFilter delegate
         0: .line 638
            aload 0 /* fromDir */
            ifnull 1
            aload 0 /* fromDir */
            invokevirtual java.io.File.canRead:()Z
            ifne 2
         1: .line 639
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 641
      StackMap locals:
      StackMap stack:
            aload 2 /* fromSuffix */
            ifnull 3
            aload 2 /* fromSuffix */
            invokevirtual java.lang.String.length:()I
            ifle 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* haveSuffix */
        start local 5 // boolean haveSuffix
         5: .line 642
            iload 5 /* haveSuffix */
            ifne 6
            iconst_0
            goto 7
      StackMap locals: int
      StackMap stack:
         6: aload 2 /* fromSuffix */
            invokevirtual java.lang.String.length:()I
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* slen */
        start local 6 // int slen
         8: .line 644
            aload 1 /* toDir */
            invokevirtual java.io.File.exists:()Z
            ifne 10
         9: .line 645
            aload 1 /* toDir */
            invokevirtual java.io.File.mkdirs:()Z
            pop
        10: .line 648
      StackMap locals: int
      StackMap stack:
            iload 5 /* haveSuffix */
            ifne 13
        11: .line 649
            aload 0 /* fromDir */
            invokevirtual java.io.File.list:()[Ljava/lang/String;
            astore 7 /* fromFiles */
        start local 7 // java.lang.String[] fromFiles
        12: .line 650
            goto 15
        end local 7 // java.lang.String[] fromFiles
        13: .line 651
      StackMap locals:
      StackMap stack:
            new org.aspectj.util.FileUtil$5
            dup
            aload 2 /* fromSuffix */
            invokespecial org.aspectj.util.FileUtil$5.<init>:(Ljava/lang/String;)V
            astore 8 /* filter */
        start local 8 // java.io.FilenameFilter filter
        14: .line 656
            aload 0 /* fromDir */
            aload 8 /* filter */
            invokevirtual java.io.File.list:(Ljava/io/FilenameFilter;)[Ljava/lang/String;
            astore 7 /* fromFiles */
        end local 8 // java.io.FilenameFilter filter
        start local 7 // java.lang.String[] fromFiles
        15: .line 658
      StackMap locals: java.lang.String[]
      StackMap stack:
            iconst_0
            istore 8 /* result */
        start local 8 // int result
        16: .line 659
            aload 7 /* fromFiles */
            ifnonnull 17
            iconst_0
            goto 18
      StackMap locals: int
      StackMap stack:
        17: aload 7 /* fromFiles */
            arraylength
      StackMap locals:
      StackMap stack: int
        18: istore 9 /* MAX */
        start local 9 // int MAX
        19: .line 660
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        20: goto 37
        21: .line 661
      StackMap locals: int int
      StackMap stack:
            aload 7 /* fromFiles */
            iload 10 /* i */
            aaload
            astore 11 /* filename */
        start local 11 // java.lang.String filename
        22: .line 662
            new java.io.File
            dup
            aload 0 /* fromDir */
            aload 11 /* filename */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 12 /* fromFile */
        start local 12 // java.io.File fromFile
        23: .line 663
            aload 12 /* fromFile */
            invokevirtual java.io.File.canRead:()Z
            ifeq 36
        24: .line 664
            aload 12 /* fromFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 27
        25: .line 665
            iload 8 /* result */
            aload 12 /* fromFile */
            new java.io.File
            dup
            aload 1 /* toDir */
            aload 11 /* filename */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            aload 2 /* fromSuffix */
            aload 3 /* toSuffix */
            aload 4 /* delegate */
            invokestatic org.aspectj.util.FileUtil.copyDir:(Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileFilter;)I
            iadd
            istore 8 /* result */
        26: .line 666
            goto 36
      StackMap locals: java.lang.String java.io.File
      StackMap stack:
        27: aload 12 /* fromFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 36
        28: .line 667
            iload 5 /* haveSuffix */
            ifeq 30
        29: .line 668
            aload 11 /* filename */
            iconst_0
            aload 11 /* filename */
            invokevirtual java.lang.String.length:()I
            iload 6 /* slen */
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 11 /* filename */
        30: .line 670
      StackMap locals:
      StackMap stack:
            aload 3 /* toSuffix */
            ifnull 32
        31: .line 671
            new java.lang.StringBuilder
            dup
            aload 11 /* filename */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* toSuffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* filename */
        32: .line 673
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* toDir */
            aload 11 /* filename */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 13 /* targetFile */
        start local 13 // java.io.File targetFile
        33: .line 674
            aload 4 /* delegate */
            ifnull 34
            aload 4 /* delegate */
            aload 13 /* targetFile */
            invokeinterface java.io.FileFilter.accept:(Ljava/io/File;)Z
            ifeq 35
        34: .line 675
      StackMap locals: java.io.File
      StackMap stack:
            aload 12 /* fromFile */
            aload 13 /* targetFile */
            invokestatic org.aspectj.util.FileUtil.copyFile:(Ljava/io/File;Ljava/io/File;)V
        35: .line 677
      StackMap locals:
      StackMap stack:
            iinc 8 /* result */ 1
        end local 13 // java.io.File targetFile
        end local 12 // java.io.File fromFile
        end local 11 // java.lang.String filename
        36: .line 660
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 10 /* i */
            iload 9 /* MAX */
            if_icmplt 21
        end local 10 // int i
        38: .line 681
            iload 8 /* result */
            ireturn
        end local 9 // int MAX
        end local 8 // int result
        end local 7 // java.lang.String[] fromFiles
        end local 6 // int slen
        end local 5 // boolean haveSuffix
        end local 4 // java.io.FileFilter delegate
        end local 3 // java.lang.String toSuffix
        end local 2 // java.lang.String fromSuffix
        end local 1 // java.io.File toDir
        end local 0 // java.io.File fromDir
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   39     0     fromDir  Ljava/io/File;
            0   39     1       toDir  Ljava/io/File;
            0   39     2  fromSuffix  Ljava/lang/String;
            0   39     3    toSuffix  Ljava/lang/String;
            0   39     4    delegate  Ljava/io/FileFilter;
            5   39     5  haveSuffix  Z
            8   39     6        slen  I
           12   13     7   fromFiles  [Ljava/lang/String;
           15   39     7   fromFiles  [Ljava/lang/String;
           14   15     8      filter  Ljava/io/FilenameFilter;
           16   39     8      result  I
           19   39     9         MAX  I
           20   38    10           i  I
           22   36    11    filename  Ljava/lang/String;
           23   36    12    fromFile  Ljava/io/File;
           33   36    13  targetFile  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      fromDir     
      toDir       
      fromSuffix  final
      toSuffix    final
      delegate    final

  public static java.lang.String[] listFiles(java.io.File);
    descriptor: (Ljava/io/File;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.File srcDir
         0: .line 690
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.ArrayList result
         1: .line 691
            aload 0 /* srcDir */
            ifnull 3
            aload 0 /* srcDir */
            invokevirtual java.io.File.canRead:()Z
            ifeq 3
         2: .line 692
            aload 0 /* srcDir */
            aconst_null
            aload 1 /* result */
            invokestatic org.aspectj.util.FileUtil.listFiles:(Ljava/io/File;Ljava/lang/String;Ljava/util/ArrayList;)V
         3: .line 694
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 1 /* result */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.ArrayList result
        end local 0 // java.io.File srcDir
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  srcDir  Ljava/io/File;
            1    4     1  result  Ljava/util/ArrayList<Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      srcDir  

  public static java.io.File[] listFiles(java.io.File, java.io.FileFilter);
    descriptor: (Ljava/io/File;Ljava/io/FileFilter;)[Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.io.File srcDir
        start local 1 // java.io.FileFilter fileFilter
         0: .line 710
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         1: .line 711
            aload 0 /* srcDir */
            ifnull 3
            aload 0 /* srcDir */
            invokevirtual java.io.File.canRead:()Z
            ifeq 3
         2: .line 712
            aload 0 /* srcDir */
            aload 2 /* result */
            aload 1 /* fileFilter */
            invokestatic org.aspectj.util.FileUtil.listFiles:(Ljava/io/File;Ljava/util/ArrayList;Ljava/io/FileFilter;)V
         3: .line 714
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 2 /* result */
            aload 2 /* result */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.io.File
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.io.File[]
            areturn
        end local 2 // java.util.ArrayList result
        end local 1 // java.io.FileFilter fileFilter
        end local 0 // java.io.File srcDir
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0      srcDir  Ljava/io/File;
            0    4     1  fileFilter  Ljava/io/FileFilter;
            1    4     2      result  Ljava/util/ArrayList<Ljava/io/File;>;
    MethodParameters:
            Name  Flags
      srcDir      
      fileFilter  

  public static java.util.List<java.io.File> listClassFiles(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.File dir
         0: .line 723
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.ArrayList result
         1: .line 724
            aload 0 /* dir */
            ifnull 3
            aload 0 /* dir */
            invokevirtual java.io.File.canRead:()Z
            ifeq 3
         2: .line 725
            aload 0 /* dir */
            aload 1 /* result */
            invokestatic org.aspectj.util.FileUtil.listClassFiles:(Ljava/io/File;Ljava/util/ArrayList;)V
         3: .line 727
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.util.ArrayList result
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0     dir  Ljava/io/File;
            1    4     1  result  Ljava/util/ArrayList<Ljava/io/File;>;
    Signature: (Ljava/io/File;)Ljava/util/List<Ljava/io/File;>;
    MethodParameters:
      Name  Flags
      dir   

  public static java.io.File[] getBaseDirFiles(java.io.File, java.lang.String[]);
    descriptor: (Ljava/io/File;[Ljava/lang/String;)[Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.io.File basedir
        start local 1 // java.lang.String[] paths
         0: .line 738
            aload 0 /* basedir */
            aload 1 /* paths */
            aconst_null
            invokestatic org.aspectj.util.FileUtil.getBaseDirFiles:(Ljava/io/File;[Ljava/lang/String;[Ljava/lang/String;)[Ljava/io/File;
            areturn
        end local 1 // java.lang.String[] paths
        end local 0 // java.io.File basedir
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  basedir  Ljava/io/File;
            0    1     1    paths  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      basedir  
      paths    

  public static java.io.File[] getBaseDirFiles(java.io.File, java.lang.String[], java.lang.String[]);
    descriptor: (Ljava/io/File;[Ljava/lang/String;[Ljava/lang/String;)[Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // java.io.File basedir
        start local 1 // java.lang.String[] paths
        start local 2 // java.lang.String[] suffixes
         0: .line 750
            aload 0 /* basedir */
            ldc "basedir"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 751
            aload 1 /* paths */
            ldc "paths"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 752
            aconst_null
            astore 3 /* result */
        start local 3 // java.io.File[] result
         3: .line 753
            aload 2 /* suffixes */
            invokestatic org.aspectj.util.LangUtil.isEmpty:([Ljava/lang/Object;)Z
            ifne 19
         4: .line 754
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* list */
        start local 4 // java.util.ArrayList list
         5: .line 755
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 16
         7: .line 756
      StackMap locals: java.io.File[] java.util.ArrayList int
      StackMap stack:
            aload 1 /* paths */
            iload 5 /* i */
            aaload
            astore 6 /* path */
        start local 6 // java.lang.String path
         8: .line 757
            iconst_0
            istore 7 /* j */
        start local 7 // int j
         9: goto 14
        10: .line 758
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 6 /* path */
            aload 2 /* suffixes */
            iload 7 /* j */
            aaload
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 13
        11: .line 759
            aload 4 /* list */
            new java.io.File
            dup
            aload 0 /* basedir */
            aload 1 /* paths */
            iload 5 /* i */
            aaload
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        12: .line 760
            goto 15
        13: .line 757
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* j */
            aload 2 /* suffixes */
            arraylength
            if_icmplt 10
        end local 7 // int j
        end local 6 // java.lang.String path
        15: .line 755
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            aload 1 /* paths */
            arraylength
            if_icmplt 7
        end local 5 // int i
        17: .line 764
            aload 4 /* list */
            iconst_0
            anewarray java.io.File
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.io.File[]
            astore 3 /* result */
        end local 4 // java.util.ArrayList list
        18: .line 765
            goto 25
        19: .line 766
      StackMap locals:
      StackMap stack:
            aload 1 /* paths */
            arraylength
            anewarray java.io.File
            astore 3 /* result */
        20: .line 767
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        21: goto 24
        22: .line 768
      StackMap locals: int
      StackMap stack:
            aload 3 /* result */
            iload 4 /* i */
            aload 0 /* basedir */
            aload 1 /* paths */
            iload 4 /* i */
            aaload
            invokestatic org.aspectj.util.FileUtil.newFile:(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
            aastore
        23: .line 767
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 4 /* i */
            aload 3 /* result */
            arraylength
            if_icmplt 22
        end local 4 // int i
        25: .line 771
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // java.io.File[] result
        end local 2 // java.lang.String[] suffixes
        end local 1 // java.lang.String[] paths
        end local 0 // java.io.File basedir
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0   basedir  Ljava/io/File;
            0   26     1     paths  [Ljava/lang/String;
            0   26     2  suffixes  [Ljava/lang/String;
            3   26     3    result  [Ljava/io/File;
            5   18     4      list  Ljava/util/ArrayList<Ljava/io/File;>;
            6   17     5         i  I
            8   15     6      path  Ljava/lang/String;
            9   15     7         j  I
           21   25     4         i  I
    MethodParameters:
          Name  Flags
      basedir   
      paths     
      suffixes  

  private static java.io.File newFile(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.io.File dir
        start local 1 // java.lang.String path
         0: .line 782
            ldc "."
            aload 1 /* path */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 783
            aload 0 /* dir */
            areturn
         2: .line 784
      StackMap locals:
      StackMap stack:
            ldc ".."
            aload 1 /* path */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         3: .line 785
            aload 0 /* dir */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 2 /* parentDir */
        start local 2 // java.io.File parentDir
         4: .line 786
            aload 2 /* parentDir */
            ifnull 6
         5: .line 787
            aload 2 /* parentDir */
            areturn
         6: .line 789
      StackMap locals: java.io.File
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* dir */
            ldc ".."
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 2 // java.io.File parentDir
         7: .line 792
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* dir */
            aload 1 /* path */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String path
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0        dir  Ljava/io/File;
            0    8     1       path  Ljava/lang/String;
            4    7     2  parentDir  Ljava/io/File;
    MethodParameters:
      Name  Flags
      dir   
      path  

  public static java.io.File[] copyFiles(java.io.File, java.lang.String[], java.io.File);
    descriptor: (Ljava/io/File;[Ljava/lang/String;Ljava/io/File;)[Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // java.io.File srcDir
        start local 1 // java.lang.String[] relativePaths
        start local 2 // java.io.File destDir
         0: .line 807
            aload 1 /* relativePaths */
            astore 3 /* paths */
        start local 3 // java.lang.String[] paths
         1: .line 808
            aload 0 /* srcDir */
            ldc "srcDir"
            invokestatic org.aspectj.util.FileUtil.throwIaxUnlessCanReadDir:(Ljava/io/File;Ljava/lang/String;)V
         2: .line 809
            aload 2 /* destDir */
            ldc "destDir"
            invokestatic org.aspectj.util.FileUtil.throwIaxUnlessCanWriteDir:(Ljava/io/File;Ljava/lang/String;)V
         3: .line 810
            aload 3 /* paths */
            ldc "relativePaths"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         4: .line 811
            aload 3 /* paths */
            arraylength
            anewarray java.io.File
            astore 4 /* result */
        start local 4 // java.io.File[] result
         5: .line 812
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 18
         7: .line 813
      StackMap locals: java.lang.String[] java.io.File[] int
      StackMap stack:
            aload 3 /* paths */
            iload 5 /* i */
            aaload
            astore 6 /* path */
        start local 6 // java.lang.String path
         8: .line 814
            aload 6 /* path */
            ldc "relativePaths-entry"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         9: .line 815
            aload 0 /* srcDir */
            aload 3 /* paths */
            iload 5 /* i */
            aaload
            invokestatic org.aspectj.util.FileUtil.newFile:(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
            astore 7 /* src */
        start local 7 // java.io.File src
        10: .line 816
            aload 2 /* destDir */
            aload 6 /* path */
            invokestatic org.aspectj.util.FileUtil.newFile:(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
            astore 8 /* dest */
        start local 8 // java.io.File dest
        11: .line 817
            aload 8 /* dest */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 9 /* destParent */
        start local 9 // java.io.File destParent
        12: .line 818
            aload 9 /* destParent */
            invokevirtual java.io.File.exists:()Z
            ifne 14
        13: .line 819
            aload 9 /* destParent */
            invokevirtual java.io.File.mkdirs:()Z
            pop
        14: .line 821
      StackMap locals: java.io.File java.lang.String[] java.io.File java.lang.String[] java.io.File[] int java.lang.String java.io.File java.io.File java.io.File
      StackMap stack:
            aload 9 /* destParent */
            invokestatic org.aspectj.util.FileUtil.canWriteDir:(Ljava/io/File;)Z
            ldc "dest-entry-parent"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfFalse:(ZLjava/lang/String;)V
        15: .line 822
            aload 7 /* src */
            aload 8 /* dest */
            invokestatic org.aspectj.util.FileUtil.copyFile:(Ljava/io/File;Ljava/io/File;)V
        16: .line 823
            aload 4 /* result */
            iload 5 /* i */
            aload 8 /* dest */
            aastore
        end local 9 // java.io.File destParent
        end local 8 // java.io.File dest
        end local 7 // java.io.File src
        end local 6 // java.lang.String path
        17: .line 812
            iinc 5 /* i */ 1
      StackMap locals: java.io.File java.lang.String[] java.io.File java.lang.String[] java.io.File[] int
      StackMap stack:
        18: iload 5 /* i */
            aload 3 /* paths */
            arraylength
            if_icmplt 7
        end local 5 // int i
        19: .line 825
            aload 4 /* result */
            areturn
        end local 4 // java.io.File[] result
        end local 3 // java.lang.String[] paths
        end local 2 // java.io.File destDir
        end local 1 // java.lang.String[] relativePaths
        end local 0 // java.io.File srcDir
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0         srcDir  Ljava/io/File;
            0   20     1  relativePaths  [Ljava/lang/String;
            0   20     2        destDir  Ljava/io/File;
            1   20     3          paths  [Ljava/lang/String;
            5   20     4         result  [Ljava/io/File;
            6   19     5              i  I
            8   17     6           path  Ljava/lang/String;
           10   17     7            src  Ljava/io/File;
           11   17     8           dest  Ljava/io/File;
           12   17     9     destParent  Ljava/io/File;
    Exceptions:
      throws java.lang.IllegalArgumentException, java.io.IOException
    MethodParameters:
               Name  Flags
      srcDir         
      relativePaths  
      destDir        

  public static void copyFile(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.io.File fromFile
        start local 1 // java.io.File toFile
         0: .line 835
            aload 0 /* fromFile */
            ldc "fromFile"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 836
            aload 1 /* toFile */
            ldc "toFile"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 837
            aload 1 /* toFile */
            aload 0 /* fromFile */
            invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: ldc "same file"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfFalse:(ZLjava/lang/String;)V
         5: .line 838
            aload 1 /* toFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 16
         6: .line 839
            aload 1 /* toFile */
            ldc "toFile"
            invokestatic org.aspectj.util.FileUtil.throwIaxUnlessCanWriteDir:(Ljava/io/File;Ljava/lang/String;)V
         7: .line 840
            aload 0 /* fromFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 11
         8: .line 841
            new java.io.File
            dup
            aload 1 /* toFile */
            aload 0 /* fromFile */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 2 /* targFile */
        start local 2 // java.io.File targFile
         9: .line 842
            aload 0 /* fromFile */
            aload 2 /* targFile */
            invokestatic org.aspectj.util.FileUtil.copyValidFiles:(Ljava/io/File;Ljava/io/File;)V
        end local 2 // java.io.File targFile
        10: .line 843
            goto 31
      StackMap locals:
      StackMap stack:
        11: aload 0 /* fromFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 14
        12: .line 844
            aload 0 /* fromFile */
            aload 1 /* toFile */
            invokestatic org.aspectj.util.FileUtil.copyDir:(Ljava/io/File;Ljava/io/File;)I
            pop
        13: .line 845
            goto 31
        14: .line 846
      StackMap locals:
      StackMap stack:
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "not dir or file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* fromFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.aspectj.util.LangUtil.throwIaxIfFalse:(ZLjava/lang/String;)V
        15: .line 848
            goto 31
      StackMap locals:
      StackMap stack:
        16: aload 1 /* toFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 21
        17: .line 849
            aload 0 /* fromFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 19
        18: .line 850
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "can't copy to file dir: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* fromFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.aspectj.util.LangUtil.throwIaxIfFalse:(ZLjava/lang/String;)V
        19: .line 852
      StackMap locals:
      StackMap stack:
            aload 0 /* fromFile */
            aload 1 /* toFile */
            invokestatic org.aspectj.util.FileUtil.copyValidFiles:(Ljava/io/File;Ljava/io/File;)V
        20: .line 853
            goto 31
        21: .line 854
      StackMap locals:
      StackMap stack:
            aload 1 /* toFile */
            invokestatic org.aspectj.util.FileUtil.ensureParentWritable:(Ljava/io/File;)Ljava/io/File;
            pop
        22: .line 855
            aload 0 /* fromFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 25
        23: .line 856
            aload 0 /* fromFile */
            aload 1 /* toFile */
            invokestatic org.aspectj.util.FileUtil.copyValidFiles:(Ljava/io/File;Ljava/io/File;)V
        24: .line 857
            goto 31
      StackMap locals:
      StackMap stack:
        25: aload 0 /* fromFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 30
        26: .line 858
            aload 1 /* toFile */
            invokevirtual java.io.File.mkdirs:()Z
            pop
        27: .line 859
            aload 1 /* toFile */
            ldc "toFile"
            invokestatic org.aspectj.util.FileUtil.throwIaxUnlessCanWriteDir:(Ljava/io/File;Ljava/lang/String;)V
        28: .line 860
            aload 0 /* fromFile */
            aload 1 /* toFile */
            invokestatic org.aspectj.util.FileUtil.copyDir:(Ljava/io/File;Ljava/io/File;)I
            pop
        29: .line 861
            goto 31
        30: .line 862
      StackMap locals:
      StackMap stack:
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "not dir or file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* fromFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.aspectj.util.LangUtil.throwIaxIfFalse:(ZLjava/lang/String;)V
        31: .line 865
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.File toFile
        end local 0 // java.io.File fromFile
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   32     0  fromFile  Ljava/io/File;
            0   32     1    toFile  Ljava/io/File;
            9   10     2  targFile  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fromFile  
      toFile    

  public static java.io.File ensureParentWritable(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.File path
         0: .line 876
            aload 0 /* path */
            ldc "path"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 877
            aload 0 /* path */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 1 /* pathParent */
        start local 1 // java.io.File pathParent
         2: .line 878
            aload 1 /* pathParent */
            ifnonnull 4
         3: .line 879
            getstatic org.aspectj.util.FileUtil.DEFAULT_PARENT:Ljava/io/File;
            astore 1 /* pathParent */
         4: .line 881
      StackMap locals: java.io.File
      StackMap stack:
            aload 1 /* pathParent */
            invokevirtual java.io.File.canWrite:()Z
            ifne 6
         5: .line 882
            aload 1 /* pathParent */
            invokevirtual java.io.File.mkdirs:()Z
            pop
         6: .line 884
      StackMap locals:
      StackMap stack:
            aload 1 /* pathParent */
            ldc "pathParent"
            invokestatic org.aspectj.util.FileUtil.throwIaxUnlessCanWriteDir:(Ljava/io/File;Ljava/lang/String;)V
         7: .line 885
            aload 1 /* pathParent */
            areturn
        end local 1 // java.io.File pathParent
        end local 0 // java.io.File path
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        path  Ljava/io/File;
            2    8     1  pathParent  Ljava/io/File;
    MethodParameters:
      Name  Flags
      path  

  public static void copyValidFiles(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.File fromFile
        start local 1 // java.io.File toFile
         0: .line 896
            aconst_null
            astore 2 /* in */
        start local 2 // java.io.FileInputStream in
         1: .line 897
            aconst_null
            astore 3 /* out */
        start local 3 // java.io.FileOutputStream out
         2: .line 899
            new java.io.FileInputStream
            dup
            aload 0 /* fromFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 2 /* in */
         3: .line 900
            new java.io.FileOutputStream
            dup
            aload 1 /* toFile */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 3 /* out */
         4: .line 901
            aload 2 /* in */
            aload 3 /* out */
            invokestatic org.aspectj.util.FileUtil.copyStream:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
         5: .line 902
            goto 12
      StackMap locals: java.io.File java.io.File java.io.FileInputStream java.io.FileOutputStream
      StackMap stack: java.lang.Throwable
         6: astore 4
         7: .line 903
            aload 3 /* out */
            ifnull 9
         8: .line 904
            aload 3 /* out */
            invokevirtual java.io.FileOutputStream.close:()V
         9: .line 906
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2 /* in */
            ifnull 11
        10: .line 907
            aload 2 /* in */
            invokevirtual java.io.FileInputStream.close:()V
        11: .line 909
      StackMap locals:
      StackMap stack:
            aload 4
            athrow
        12: .line 903
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ifnull 14
        13: .line 904
            aload 3 /* out */
            invokevirtual java.io.FileOutputStream.close:()V
        14: .line 906
      StackMap locals:
      StackMap stack:
            aload 2 /* in */
            ifnull 16
        15: .line 907
            aload 2 /* in */
            invokevirtual java.io.FileInputStream.close:()V
        16: .line 910
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.FileOutputStream out
        end local 2 // java.io.FileInputStream in
        end local 1 // java.io.File toFile
        end local 0 // java.io.File fromFile
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0  fromFile  Ljava/io/File;
            0   17     1    toFile  Ljava/io/File;
            1   17     2        in  Ljava/io/FileInputStream;
            2   17     3       out  Ljava/io/FileOutputStream;
      Exception table:
        from    to  target  type
           2     6       6  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fromFile  
      toFile    

  public static void copyStream(java.io.DataInputStream, java.io.PrintStream);
    descriptor: (Ljava/io/DataInputStream;Ljava/io/PrintStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.io.DataInputStream in
        start local 1 // java.io.PrintStream out
         0: .line 915
            aload 0 /* in */
            ldc "in"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 916
            aload 0 /* in */
            ldc "out"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 918
            goto 4
        start local 2 // java.lang.String s
         3: .line 919
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* out */
            aload 2 /* s */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 2 // java.lang.String s
         4: .line 918
      StackMap locals:
      StackMap stack:
            aload 0 /* in */
            invokevirtual java.io.DataInputStream.readLine:()Ljava/lang/String;
            dup
            astore 2 /* s */
        start local 2 // java.lang.String s
         5: ifnonnull 3
         6: .line 921
            return
        end local 2 // java.lang.String s
        end local 1 // java.io.PrintStream out
        end local 0 // java.io.DataInputStream in
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    in  Ljava/io/DataInputStream;
            0    7     1   out  Ljava/io/PrintStream;
            3    4     2     s  Ljava/lang/String;
            5    7     2     s  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    
      out   

  public static void copyStream(java.io.InputStream, java.io.OutputStream);
    descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.io.InputStream in
        start local 1 // java.io.OutputStream out
         0: .line 925
            sipush 4096
            newarray 8
            astore 2 /* buf */
        start local 2 // byte[] buf
         1: .line 926
            aload 0 /* in */
            aload 2 /* buf */
            iconst_0
            sipush 4096
            invokevirtual java.io.InputStream.read:([BII)I
            istore 3 /* bytesRead */
        start local 3 // int bytesRead
         2: goto 5
         3: .line 927
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* out */
            aload 2 /* buf */
            iconst_0
            iload 3 /* bytesRead */
            invokevirtual java.io.OutputStream.write:([BII)V
         4: .line 926
            aload 0 /* in */
            aload 2 /* buf */
            iconst_0
            sipush 4096
            invokevirtual java.io.InputStream.read:([BII)I
            istore 3 /* bytesRead */
      StackMap locals:
      StackMap stack:
         5: iload 3 /* bytesRead */
            iconst_m1
            if_icmpne 3
        end local 3 // int bytesRead
         6: .line 929
            return
        end local 2 // byte[] buf
        end local 1 // java.io.OutputStream out
        end local 0 // java.io.InputStream in
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0         in  Ljava/io/InputStream;
            0    7     1        out  Ljava/io/OutputStream;
            1    7     2        buf  [B
            2    6     3  bytesRead  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    
      out   

  public static void copyStream(java.io.Reader, java.io.Writer);
    descriptor: (Ljava/io/Reader;Ljava/io/Writer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.io.Reader in
        start local 1 // java.io.Writer out
         0: .line 933
            sipush 4096
            newarray 5
            astore 2 /* buf */
        start local 2 // char[] buf
         1: .line 934
            aload 0 /* in */
            aload 2 /* buf */
            iconst_0
            sipush 4096
            invokevirtual java.io.Reader.read:([CII)I
            istore 3 /* bytesRead */
        start local 3 // int bytesRead
         2: goto 5
         3: .line 935
      StackMap locals: char[] int
      StackMap stack:
            aload 1 /* out */
            aload 2 /* buf */
            iconst_0
            iload 3 /* bytesRead */
            invokevirtual java.io.Writer.write:([CII)V
         4: .line 934
            aload 0 /* in */
            aload 2 /* buf */
            iconst_0
            sipush 4096
            invokevirtual java.io.Reader.read:([CII)I
            istore 3 /* bytesRead */
      StackMap locals:
      StackMap stack:
         5: iload 3 /* bytesRead */
            iconst_m1
            if_icmpne 3
        end local 3 // int bytesRead
         6: .line 937
            return
        end local 2 // char[] buf
        end local 1 // java.io.Writer out
        end local 0 // java.io.Reader in
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0         in  Ljava/io/Reader;
            0    7     1        out  Ljava/io/Writer;
            1    7     2        buf  [C
            2    6     3  bytesRead  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    
      out   

  public static java.io.File makeNewChildDir(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.io.File parent
        start local 1 // java.lang.String child
         0: .line 947
            aload 0 /* parent */
            ifnull 1
            aload 0 /* parent */
            invokevirtual java.io.File.canWrite:()Z
            ifeq 1
            aload 0 /* parent */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 2
         1: .line 948
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "bad parent: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* parent */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 949
      StackMap locals:
      StackMap stack:
            aload 1 /* child */
            ifnonnull 5
         3: .line 950
            ldc "makeNewChildDir"
            astore 1 /* child */
         4: .line 951
            goto 7
      StackMap locals:
      StackMap stack:
         5: aload 1 /* child */
            invokestatic org.aspectj.util.FileUtil.isValidFileName:(Ljava/lang/String;)Z
            ifne 7
         6: .line 952
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "bad child: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* child */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 954
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* parent */
            aload 1 /* child */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 2 /* result */
        start local 2 // java.io.File result
         8: .line 955
            sipush 1000
            istore 3 /* safety */
        start local 3 // int safety
         9: .line 956
            invokestatic org.aspectj.util.FileUtil.randomFileString:()Ljava/lang/String;
            astore 4 /* suffix */
        start local 4 // java.lang.String suffix
        10: goto 13
        11: .line 957
      StackMap locals: java.io.File int java.lang.String
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* parent */
            new java.lang.StringBuilder
            dup
            aload 1 /* child */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 2 /* result */
        12: .line 956
            invokestatic org.aspectj.util.FileUtil.randomFileString:()Ljava/lang/String;
            astore 4 /* suffix */
      StackMap locals:
      StackMap stack:
        13: iinc 3 /* safety */ -1
            iload 3 /* safety */
            ifle 14
            aload 2 /* result */
            invokevirtual java.io.File.exists:()Z
            ifne 11
        end local 4 // java.lang.String suffix
        14: .line 959
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            invokevirtual java.io.File.exists:()Z
            ifeq 17
        15: .line 960
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "exhausted files for child dir in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* parent */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        16: .line 961
            aconst_null
            areturn
        17: .line 963
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            invokevirtual java.io.File.mkdirs:()Z
            ifeq 18
            aload 2 /* result */
            invokevirtual java.io.File.exists:()Z
            ifeq 18
            aload 2 /* result */
            goto 19
      StackMap locals:
      StackMap stack:
        18: aconst_null
      StackMap locals:
      StackMap stack: java.io.File
        19: areturn
        end local 3 // int safety
        end local 2 // java.io.File result
        end local 1 // java.lang.String child
        end local 0 // java.io.File parent
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0  parent  Ljava/io/File;
            0   20     1   child  Ljava/lang/String;
            8   20     2  result  Ljava/io/File;
            9   20     3  safety  I
           10   14     4  suffix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      parent  
      child   

  public static java.io.File getTempDir(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.String name
         0: .line 974
            aload 0 /* name */
            ifnonnull 3
         1: .line 975
            ldc "FileUtil_getTempDir"
            astore 0 /* name */
         2: .line 976
            goto 5
      StackMap locals:
      StackMap stack:
         3: aload 0 /* name */
            invokestatic org.aspectj.util.FileUtil.isValidFileName:(Ljava/lang/String;)Z
            ifne 5
         4: .line 977
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc " invalid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 979
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* result */
        start local 1 // java.io.File result
         6: .line 980
            aconst_null
            astore 2 /* tempFile */
        start local 2 // java.io.File tempFile
         7: .line 982
            ldc "ignoreMe"
            ldc ".txt"
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 2 /* tempFile */
         8: .line 983
            aload 2 /* tempFile */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 3 /* tempParent */
        start local 3 // java.io.File tempParent
         9: .line 984
            aload 3 /* tempParent */
            aload 0 /* name */
            invokestatic org.aspectj.util.FileUtil.makeNewChildDir:(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
            astore 1 /* result */
        end local 3 // java.io.File tempParent
        10: .line 985
            goto 19
      StackMap locals: java.lang.String java.io.File java.io.File
      StackMap stack: java.io.IOException
        11: pop
        12: .line 986
            new java.io.File
            dup
            ldc "."
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokestatic org.aspectj.util.FileUtil.makeNewChildDir:(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
            astore 1 /* result */
        13: .line 988
            aload 2 /* tempFile */
            ifnull 21
        14: .line 989
            aload 2 /* tempFile */
            invokevirtual java.io.File.delete:()Z
            pop
            goto 21
        15: .line 987
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        16: .line 988
            aload 2 /* tempFile */
            ifnull 18
        17: .line 989
            aload 2 /* tempFile */
            invokevirtual java.io.File.delete:()Z
            pop
        18: .line 991
      StackMap locals: java.lang.String java.io.File java.io.File top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        19: .line 988
      StackMap locals: java.lang.String java.io.File java.io.File
      StackMap stack:
            aload 2 /* tempFile */
            ifnull 21
        20: .line 989
            aload 2 /* tempFile */
            invokevirtual java.io.File.delete:()Z
            pop
        21: .line 992
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 2 // java.io.File tempFile
        end local 1 // java.io.File result
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        name  Ljava/lang/String;
            6   22     1      result  Ljava/io/File;
            7   22     2    tempFile  Ljava/io/File;
            9   10     3  tempParent  Ljava/io/File;
      Exception table:
        from    to  target  type
           7    10      11  Class java.io.IOException
           7    13      15  any
    MethodParameters:
      Name  Flags
      name  

  public static java.net.URL[] getFileURLs(java.io.File[]);
    descriptor: ([Ljava/io/File;)[Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.io.File[] files
         0: .line 996
            aload 0 /* files */
            ifnull 1
            aload 0 /* files */
            arraylength
            ifne 2
         1: .line 997
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.net.URL
            areturn
         2: .line 999
      StackMap locals:
      StackMap stack:
            aload 0 /* files */
            arraylength
            anewarray java.net.URL
            astore 1 /* result */
        start local 1 // java.net.URL[] result
         3: .line 1000
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 7
         5: .line 1001
      StackMap locals: java.net.URL[] int
      StackMap stack:
            aload 1 /* result */
            iload 2 /* i */
            aload 0 /* files */
            iload 2 /* i */
            aaload
            invokestatic org.aspectj.util.FileUtil.getFileURL:(Ljava/io/File;)Ljava/net/URL;
            aastore
         6: .line 1000
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 1 /* result */
            arraylength
            if_icmplt 5
        end local 2 // int i
         8: .line 1003
            aload 1 /* result */
            areturn
        end local 1 // java.net.URL[] result
        end local 0 // java.io.File[] files
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0   files  [Ljava/io/File;
            3    9     1  result  [Ljava/net/URL;
            4    8     2       i  I
    MethodParameters:
       Name  Flags
      files  

  public static java.net.URL getFileURL(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.io.File file
         0: .line 1013
            aload 0 /* file */
            ldc "file"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 1014
            aconst_null
            astore 1 /* result */
        start local 1 // java.net.URL result
         2: .line 1016
            aload 0 /* file */
            invokevirtual java.io.File.toURL:()Ljava/net/URL;
            astore 1 /* result */
         3: .line 1018
            aload 1 /* result */
            ifnull 6
         4: .line 1019
            aload 1 /* result */
         5: areturn
         6: .line 1021
      StackMap locals: java.net.URL
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "file:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            bipush 92
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* url */
        start local 2 // java.lang.String url
         7: .line 1022
            new java.net.URL
            dup
            new java.lang.StringBuilder
            dup
            aload 2 /* url */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 8
            ldc "/"
            goto 9
      StackMap locals: java.io.File java.net.URL java.lang.String
      StackMap stack: new 7 new 7 java.lang.StringBuilder
         8: ldc ""
      StackMap locals: java.io.File java.net.URL java.lang.String
      StackMap stack: new 7 new 7 java.lang.StringBuilder java.lang.String
         9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 1 /* result */
        end local 2 // java.lang.String url
        10: .line 1023
            goto 14
      StackMap locals: java.io.File java.net.URL
      StackMap stack: java.net.MalformedURLException
        11: astore 2 /* e */
        start local 2 // java.net.MalformedURLException e
        12: .line 1024
            new java.lang.StringBuilder
            dup
            ldc "Util.makeURL(\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\" MUE "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* e */
            invokevirtual java.net.MalformedURLException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* m */
        start local 3 // java.lang.String m
        13: .line 1025
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 3 /* m */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // java.lang.String m
        end local 2 // java.net.MalformedURLException e
        14: .line 1027
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.net.URL result
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    file  Ljava/io/File;
            2   15     1  result  Ljava/net/URL;
            7   10     2     url  Ljava/lang/String;
           12   14     2       e  Ljava/net/MalformedURLException;
           13   14     3       m  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     5      11  Class java.net.MalformedURLException
           6    10      11  Class java.net.MalformedURLException
    MethodParameters:
      Name  Flags
      file  

  public static java.lang.String writeAsString(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.io.File file
        start local 1 // java.lang.String contents
         0: .line 1039
            aload 0 /* file */
            ldc "file"
            invokestatic org.aspectj.util.LangUtil.throwIaxIfNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 1040
            aload 1 /* contents */
            ifnonnull 3
         2: .line 1041
            ldc ""
            astore 1 /* contents */
         3: .line 1043
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* out */
        start local 2 // java.io.Writer out
         4: .line 1045
            aload 0 /* file */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 3 /* parentDir */
        start local 3 // java.io.File parentDir
         5: .line 1046
            aload 3 /* parentDir */
            invokevirtual java.io.File.exists:()Z
            ifne 12
            aload 3 /* parentDir */
            invokevirtual java.io.File.mkdirs:()Z
            ifne 12
         6: .line 1047
            new java.lang.StringBuilder
            dup
            ldc "unable to make parent dir for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6
         7: .line 1056
            aload 2 /* out */
            ifnull 11
         8: .line 1058
            aload 2 /* out */
            invokevirtual java.io.Writer.close:()V
         9: .line 1059
            goto 11
      StackMap locals: java.io.File java.lang.String java.io.Writer java.io.File top top java.lang.String
      StackMap stack: java.io.IOException
        10: pop
        11: .line 1047
      StackMap locals:
      StackMap stack:
            aload 6
            areturn
        12: .line 1049
      StackMap locals: java.io.File java.lang.String java.io.Writer java.io.File
      StackMap stack:
            new java.io.StringReader
            dup
            aload 1 /* contents */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            astore 4 /* in */
        start local 4 // java.io.Reader in
        13: .line 1050
            new java.io.FileWriter
            dup
            aload 0 /* file */
            invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
            astore 2 /* out */
        14: .line 1051
            aload 4 /* in */
            aload 2 /* out */
            invokestatic org.aspectj.util.FileUtil.copyStream:(Ljava/io/Reader;Ljava/io/Writer;)V
        15: .line 1056
            aload 2 /* out */
            ifnull 19
        16: .line 1058
            aload 2 /* out */
            invokevirtual java.io.Writer.close:()V
        17: .line 1059
            goto 19
      StackMap locals: java.io.File java.lang.String java.io.Writer java.io.File java.io.Reader
      StackMap stack: java.io.IOException
        18: pop
        19: .line 1052
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.io.Reader in
        end local 3 // java.io.File parentDir
        20: .line 1053
      StackMap locals: java.io.File java.lang.String java.io.Writer
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        21: .line 1054
            new java.lang.StringBuilder
            dup
            aload 3 /* e */
            invokestatic org.aspectj.util.LangUtil.unqualifiedClassName:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " writing "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6
        22: .line 1056
            aload 2 /* out */
            ifnull 26
        23: .line 1058
            aload 2 /* out */
            invokevirtual java.io.Writer.close:()V
        24: .line 1059
            goto 26
      StackMap locals: java.io.File java.lang.String java.io.Writer java.io.IOException top top java.lang.String
      StackMap stack: java.io.IOException
        25: pop
        26: .line 1054
      StackMap locals:
      StackMap stack:
            aload 6
            areturn
        end local 3 // java.io.IOException e
        27: .line 1055
      StackMap locals: java.io.File java.lang.String java.io.Writer
      StackMap stack: java.lang.Throwable
            astore 5
        28: .line 1056
            aload 2 /* out */
            ifnull 32
        29: .line 1058
            aload 2 /* out */
            invokevirtual java.io.Writer.close:()V
        30: .line 1059
            goto 32
      StackMap locals: java.io.File java.lang.String java.io.Writer top top java.lang.Throwable
      StackMap stack: java.io.IOException
        31: pop
        32: .line 1062
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        end local 2 // java.io.Writer out
        end local 1 // java.lang.String contents
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       file  Ljava/io/File;
            0   33     1   contents  Ljava/lang/String;
            4   33     2        out  Ljava/io/Writer;
            5   20     3  parentDir  Ljava/io/File;
           13   20     4         in  Ljava/io/Reader;
           21   27     3          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.io.IOException
          16    17      18  Class java.io.IOException
           4     7      20  Class java.io.IOException
          12    15      20  Class java.io.IOException
          23    24      25  Class java.io.IOException
           4     7      27  any
          12    15      27  any
          20    22      27  any
          29    30      31  Class java.io.IOException
    MethodParameters:
          Name  Flags
      file      
      contents  

  public static boolean[] readBooleanArray(java.io.DataInputStream);
    descriptor: (Ljava/io/DataInputStream;)[Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.io.DataInputStream s
         0: .line 1069
            aload 0 /* s */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 1070
            iload 1 /* len */
            newarray 4
            astore 2 /* ret */
        start local 2 // boolean[] ret
         2: .line 1071
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1072
      StackMap locals: int boolean[] int
      StackMap stack:
            aload 2 /* ret */
            iload 3 /* i */
            aload 0 /* s */
            invokevirtual java.io.DataInputStream.readBoolean:()Z
            bastore
         5: .line 1071
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* len */
            if_icmplt 4
        end local 3 // int i
         7: .line 1074
            aload 2 /* ret */
            areturn
        end local 2 // boolean[] ret
        end local 1 // int len
        end local 0 // java.io.DataInputStream s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     s  Ljava/io/DataInputStream;
            1    8     1   len  I
            2    8     2   ret  [Z
            3    7     3     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  public static void writeBooleanArray(boolean[], java.io.DataOutputStream);
    descriptor: ([ZLjava/io/DataOutputStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // boolean[] a
        start local 1 // java.io.DataOutputStream s
         0: .line 1081
            aload 0 /* a */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         1: .line 1082
            aload 1 /* s */
            iload 2 /* len */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         2: .line 1083
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1084
      StackMap locals: int int
      StackMap stack:
            aload 1 /* s */
            aload 0 /* a */
            iload 3 /* i */
            baload
            invokevirtual java.io.DataOutputStream.writeBoolean:(Z)V
         5: .line 1083
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 4
        end local 3 // int i
         7: .line 1086
            return
        end local 2 // int len
        end local 1 // java.io.DataOutputStream s
        end local 0 // boolean[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     a  [Z
            0    8     1     s  Ljava/io/DataOutputStream;
            1    8     2   len  I
            3    7     3     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      a     
      s     

  public static int[] readIntArray(java.io.DataInputStream);
    descriptor: (Ljava/io/DataInputStream;)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.io.DataInputStream s
         0: .line 1092
            aload 0 /* s */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 1093
            iload 1 /* len */
            newarray 10
            astore 2 /* ret */
        start local 2 // int[] ret
         2: .line 1094
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1095
      StackMap locals: int int[] int
      StackMap stack:
            aload 2 /* ret */
            iload 3 /* i */
            aload 0 /* s */
            invokevirtual java.io.DataInputStream.readInt:()I
            iastore
         5: .line 1094
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* len */
            if_icmplt 4
        end local 3 // int i
         7: .line 1097
            aload 2 /* ret */
            areturn
        end local 2 // int[] ret
        end local 1 // int len
        end local 0 // java.io.DataInputStream s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     s  Ljava/io/DataInputStream;
            1    8     1   len  I
            2    8     2   ret  [I
            3    7     3     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  public static void writeIntArray(int[], java.io.DataOutputStream);
    descriptor: ([ILjava/io/DataOutputStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // int[] a
        start local 1 // java.io.DataOutputStream s
         0: .line 1104
            aload 0 /* a */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         1: .line 1105
            aload 1 /* s */
            iload 2 /* len */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         2: .line 1106
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1107
      StackMap locals: int int
      StackMap stack:
            aload 1 /* s */
            aload 0 /* a */
            iload 3 /* i */
            iaload
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         5: .line 1106
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 4
        end local 3 // int i
         7: .line 1109
            return
        end local 2 // int len
        end local 1 // java.io.DataOutputStream s
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     a  [I
            0    8     1     s  Ljava/io/DataOutputStream;
            1    8     2   len  I
            3    7     3     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      a     
      s     

  public static java.lang.String[] readStringArray(java.io.DataInputStream);
    descriptor: (Ljava/io/DataInputStream;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.io.DataInputStream s
         0: .line 1115
            aload 0 /* s */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 1116
            iload 1 /* len */
            anewarray java.lang.String
            astore 2 /* ret */
        start local 2 // java.lang.String[] ret
         2: .line 1117
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1118
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 2 /* ret */
            iload 3 /* i */
            aload 0 /* s */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            aastore
         5: .line 1117
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* len */
            if_icmplt 4
        end local 3 // int i
         7: .line 1120
            aload 2 /* ret */
            areturn
        end local 2 // java.lang.String[] ret
        end local 1 // int len
        end local 0 // java.io.DataInputStream s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     s  Ljava/io/DataInputStream;
            1    8     1   len  I
            2    8     2   ret  [Ljava/lang/String;
            3    7     3     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  public static void writeStringArray(java.lang.String[], java.io.DataOutputStream);
    descriptor: ([Ljava/lang/String;Ljava/io/DataOutputStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String[] a
        start local 1 // java.io.DataOutputStream s
         0: .line 1127
            aload 0 /* a */
            ifnonnull 3
         1: .line 1128
            aload 1 /* s */
            iconst_0
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         2: .line 1129
            return
         3: .line 1131
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         4: .line 1132
            aload 1 /* s */
            iload 2 /* len */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         5: .line 1133
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 9
         7: .line 1134
      StackMap locals: int int
      StackMap stack:
            aload 1 /* s */
            aload 0 /* a */
            iload 3 /* i */
            aaload
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
         8: .line 1133
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 7
        end local 3 // int i
        10: .line 1136
            return
        end local 2 // int len
        end local 1 // java.io.DataOutputStream s
        end local 0 // java.lang.String[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0     a  [Ljava/lang/String;
            0   11     1     s  Ljava/io/DataOutputStream;
            4   11     2   len  I
            6   10     3     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      a     
      s     

  public static java.lang.String readAsString(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.io.File file
         0: .line 1142
            new java.io.BufferedReader
            dup
            new java.io.FileReader
            dup
            aload 0 /* file */
            invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 1 /* r */
        start local 1 // java.io.BufferedReader r
         1: .line 1143
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuffer b
         2: .line 1145
      StackMap locals: java.io.BufferedReader java.lang.StringBuffer
      StackMap stack:
            aload 1 /* r */
            invokevirtual java.io.BufferedReader.read:()I
            istore 3 /* ch */
        start local 3 // int ch
         3: .line 1146
            iload 3 /* ch */
            iconst_m1
            if_icmpne 5
         4: .line 1147
            goto 7
         5: .line 1149
      StackMap locals: int
      StackMap stack:
            aload 2 /* b */
            iload 3 /* ch */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // int ch
         6: .line 1144
            goto 2
         7: .line 1151
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            invokevirtual java.io.BufferedReader.close:()V
         8: .line 1152
            aload 2 /* b */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuffer b
        end local 1 // java.io.BufferedReader r
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  file  Ljava/io/File;
            1    9     1     r  Ljava/io/BufferedReader;
            2    9     2     b  Ljava/lang/StringBuffer;
            3    6     3    ch  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public static byte[] readAsByteArray(java.io.File);
    descriptor: (Ljava/io/File;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.io.File file
         0: .line 1176
            new java.io.FileInputStream
            dup
            aload 0 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 1 /* in */
        start local 1 // java.io.FileInputStream in
         1: .line 1177
            aload 1 /* in */
            invokestatic org.aspectj.util.FileUtil.readAsByteArray:(Ljava/io/InputStream;)[B
            astore 2 /* ret */
        start local 2 // byte[] ret
         2: .line 1178
            aload 1 /* in */
            invokevirtual java.io.FileInputStream.close:()V
         3: .line 1179
            aload 2 /* ret */
            areturn
        end local 2 // byte[] ret
        end local 1 // java.io.FileInputStream in
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  file  Ljava/io/File;
            1    4     1    in  Ljava/io/FileInputStream;
            2    4     2   ret  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public static byte[] readAsByteArray(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // java.io.InputStream inStream
         0: .line 1186
            sipush 1024
            istore 1 /* size */
        start local 1 // int size
         1: .line 1187
            iload 1 /* size */
            newarray 8
            astore 2 /* ba */
        start local 2 // byte[] ba
         2: .line 1188
            iconst_0
            istore 3 /* readSoFar */
        start local 3 // int readSoFar
         3: .line 1191
      StackMap locals: int byte[] int
      StackMap stack:
            aload 0 /* inStream */
            aload 2 /* ba */
            iload 3 /* readSoFar */
            iload 1 /* size */
            iload 3 /* readSoFar */
            isub
            invokevirtual java.io.InputStream.read:([BII)I
            istore 4 /* nRead */
        start local 4 // int nRead
         4: .line 1192
            iload 4 /* nRead */
            iconst_m1
            if_icmpne 6
         5: .line 1193
            goto 14
         6: .line 1195
      StackMap locals: int
      StackMap stack:
            iload 3 /* readSoFar */
            iload 4 /* nRead */
            iadd
            istore 3 /* readSoFar */
         7: .line 1196
            iload 3 /* readSoFar */
            iload 1 /* size */
            if_icmpne 3
         8: .line 1197
            iload 1 /* size */
            iconst_2
            imul
            istore 5 /* newSize */
        start local 5 // int newSize
         9: .line 1198
            iload 5 /* newSize */
            newarray 8
            astore 6 /* newBa */
        start local 6 // byte[] newBa
        10: .line 1199
            aload 2 /* ba */
            iconst_0
            aload 6 /* newBa */
            iconst_0
            iload 1 /* size */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 1200
            aload 6 /* newBa */
            astore 2 /* ba */
        12: .line 1201
            iload 5 /* newSize */
            istore 1 /* size */
        end local 6 // byte[] newBa
        end local 5 // int newSize
        end local 4 // int nRead
        13: .line 1190
            goto 3
        14: .line 1205
      StackMap locals:
      StackMap stack:
            iload 3 /* readSoFar */
            newarray 8
            astore 4 /* newBa */
        start local 4 // byte[] newBa
        15: .line 1206
            aload 2 /* ba */
            iconst_0
            aload 4 /* newBa */
            iconst_0
            iload 3 /* readSoFar */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 1207
            aload 4 /* newBa */
            areturn
        end local 4 // byte[] newBa
        end local 3 // int readSoFar
        end local 2 // byte[] ba
        end local 1 // int size
        end local 0 // java.io.InputStream inStream
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0   inStream  Ljava/io/InputStream;
            1   17     1       size  I
            2   17     2         ba  [B
            3   17     3  readSoFar  I
            4   13     4      nRead  I
            9   13     5    newSize  I
           10   13     6      newBa  [B
           15   17     4      newBa  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      inStream  

  static java.lang.String randomFileString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=5, args_size=0
         0: .line 1214
            ldc "abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
            invokevirtual java.lang.String.length:()I
            i2d
            dstore 0 /* FILECHARS_length */
        start local 0 // double FILECHARS_length
         1: .line 1216
            bipush 6
            newarray 5
            astore 2 /* result */
        start local 2 // char[] result
         2: .line 1217
            invokestatic java.lang.Math.random:()D
            ldc 6.0
            dmul
            d2i
            istore 3 /* index */
        start local 3 // int index
         3: .line 1218
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 1219
      StackMap locals: double char[] int int
      StackMap stack:
            iload 3 /* index */
            bipush 6
            if_icmplt 7
         6: .line 1220
            iconst_0
            istore 3 /* index */
         7: .line 1222
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            iload 3 /* index */
            iinc 3 /* index */ 1
            ldc "abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
            invokestatic java.lang.Math.random:()D
            dload 0 /* FILECHARS_length */
            dmul
            d2i
            invokevirtual java.lang.String.charAt:(I)C
            castore
         8: .line 1218
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            bipush 6
            if_icmplt 5
        end local 4 // int i
        10: .line 1224
            new java.lang.String
            dup
            aload 2 /* result */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 3 // int index
        end local 2 // char[] result
        end local 0 // double FILECHARS_length
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            1   11     0  FILECHARS_length  D
            2   11     2            result  [C
            3   11     3             index  I
            4   10     4                 i  I

  public static java.io.InputStream getStreamFromZip(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String zipFile
        start local 1 // java.lang.String name
         0: .line 1229
            new java.util.zip.ZipFile
            dup
            aload 0 /* zipFile */
            invokespecial java.util.zip.ZipFile.<init>:(Ljava/lang/String;)V
            astore 2 /* zf */
        start local 2 // java.util.zip.ZipFile zf
         1: .line 1231
            aload 2 /* zf */
            aload 1 /* name */
            invokevirtual java.util.zip.ZipFile.getEntry:(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
            astore 3 /* entry */
        start local 3 // java.util.zip.ZipEntry entry
         2: .line 1232
            aload 2 /* zf */
            aload 3 /* entry */
            invokevirtual java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
         3: areturn
        end local 3 // java.util.zip.ZipEntry entry
        end local 2 // java.util.zip.ZipFile zf
         4: .line 1236
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1237
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.String zipFile
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  zipFile  Ljava/lang/String;
            0    6     1     name  Ljava/lang/String;
            1    4     2       zf  Ljava/util/zip/ZipFile;
            2    4     3    entry  Ljava/util/zip/ZipEntry;
      Exception table:
        from    to  target  type
           0     3       4  Class java.io.IOException
    MethodParameters:
         Name  Flags
      zipFile  
      name     

  public static java.util.List<java.lang.String> lineSeek(java.lang.String, java.util.List<java.lang.String>, boolean, java.io.PrintStream);
    descriptor: (Ljava/lang/String;Ljava/util/List;ZLjava/io/PrintStream;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // java.lang.String sought
        start local 1 // java.util.List sources
        start local 2 // boolean listAll
        start local 3 // java.io.PrintStream errorSink
         0: .line 1275
            aload 0 /* sought */
            invokestatic org.aspectj.util.LangUtil.isEmpty:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* sources */
            invokestatic org.aspectj.util.LangUtil.isEmpty:(Ljava/util/Collection;)Z
            ifeq 2
         1: .line 1276
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 1278
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.ArrayList result
         3: .line 1279
            aload 1 /* sources */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        start local 5 // java.util.Iterator iter
         4: goto 9
         5: .line 1280
      StackMap locals: java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* path */
        start local 6 // java.lang.String path
         6: .line 1281
            aload 0 /* sought */
            aload 6 /* path */
            iload 2 /* listAll */
            aload 4 /* result */
            invokestatic org.aspectj.util.FileUtil.lineSeek:(Ljava/lang/String;Ljava/lang/String;ZLjava/util/ArrayList;)Ljava/lang/String;
            astore 7 /* error */
        start local 7 // java.lang.String error
         7: .line 1282
            aload 7 /* error */
            ifnull 9
            aload 3 /* errorSink */
            ifnull 9
         8: .line 1283
            aload 3 /* errorSink */
            aload 7 /* error */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 7 // java.lang.String error
        end local 6 // java.lang.String path
         9: .line 1279
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 5 // java.util.Iterator iter
        10: .line 1286
            aload 4 /* result */
            areturn
        end local 4 // java.util.ArrayList result
        end local 3 // java.io.PrintStream errorSink
        end local 2 // boolean listAll
        end local 1 // java.util.List sources
        end local 0 // java.lang.String sought
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0     sought  Ljava/lang/String;
            0   11     1    sources  Ljava/util/List<Ljava/lang/String;>;
            0   11     2    listAll  Z
            0   11     3  errorSink  Ljava/io/PrintStream;
            3   11     4     result  Ljava/util/ArrayList<Ljava/lang/String;>;
            4   10     5       iter  Ljava/util/Iterator<Ljava/lang/String;>;
            6    9     6       path  Ljava/lang/String;
            7    9     7      error  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;ZLjava/io/PrintStream;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
           Name  Flags
      sought     
      sources    
      listAll    
      errorSink  

  public static java.lang.String lineSeek(java.lang.String, java.lang.String, boolean, java.util.ArrayList<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZLjava/util/ArrayList;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // java.lang.String sought
        start local 1 // java.lang.String sourcePath
        start local 2 // boolean listAll
        start local 3 // java.util.ArrayList sink
         0: .line 1301
            aload 0 /* sought */
            invokestatic org.aspectj.util.LangUtil.isEmpty:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* sourcePath */
            invokestatic org.aspectj.util.LangUtil.isEmpty:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1302
      StackMap locals:
      StackMap stack:
            ldc "nothing sought"
            areturn
         2: .line 1304
      StackMap locals:
      StackMap stack:
            aload 1 /* sourcePath */
            invokestatic org.aspectj.util.LangUtil.isEmpty:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1305
            ldc "no sourcePath"
            areturn
         4: .line 1307
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* sourcePath */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* file */
        start local 4 // java.io.File file
         5: .line 1308
            aload 4 /* file */
            invokevirtual java.io.File.canRead:()Z
            ifeq 6
            aload 4 /* file */
            invokevirtual java.io.File.isFile:()Z
            ifne 7
         6: .line 1309
      StackMap locals: java.io.File
      StackMap stack:
            ldc "sourcePath not a readable file"
            areturn
         7: .line 1311
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* lineNum */
        start local 5 // int lineNum
         8: .line 1312
            aconst_null
            astore 6 /* fin */
        start local 6 // java.io.FileReader fin
         9: .line 1314
            new java.io.FileReader
            dup
            aload 4 /* file */
            invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
            astore 6 /* fin */
        10: .line 1315
            new java.io.BufferedReader
            dup
            aload 6 /* fin */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 7 /* reader */
        start local 7 // java.io.BufferedReader reader
        11: .line 1317
            goto 18
        start local 8 // java.lang.String line
        12: .line 1318
      StackMap locals: java.lang.String java.lang.String int java.util.ArrayList java.io.File int java.io.FileReader java.io.BufferedReader java.lang.String
      StackMap stack:
            iinc 5 /* lineNum */ 1
        13: .line 1319
            aload 8 /* line */
            aload 0 /* sought */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 9 /* loc */
        start local 9 // int loc
        14: .line 1320
            iconst_m1
            iload 9 /* loc */
            if_icmpeq 18
        15: .line 1321
            aload 3 /* sink */
            new java.lang.StringBuilder
            dup
            aload 1 /* sourcePath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* lineNum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 9 /* loc */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1322
            iload 2 /* listAll */
            ifne 18
        17: .line 1323
            goto 34
        end local 9 // int loc
        end local 8 // java.lang.String line
        18: .line 1317
      StackMap locals:
      StackMap stack:
            aload 7 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 8 /* line */
        start local 8 // java.lang.String line
        19: ifnonnull 12
        end local 8 // java.lang.String line
        end local 7 // java.io.BufferedReader reader
        20: .line 1327
            goto 34
      StackMap locals: java.lang.String java.lang.String int java.util.ArrayList java.io.File int java.io.FileReader
      StackMap stack: java.io.IOException
        21: astore 7 /* e */
        start local 7 // java.io.IOException e
        22: .line 1328
            new java.lang.StringBuilder
            dup
            aload 7 /* e */
            invokestatic org.aspectj.util.LangUtil.unqualifiedClassName:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " reading "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* sourcePath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* lineNum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11
        23: .line 1331
            aload 6 /* fin */
            ifnull 27
        24: .line 1332
            aload 6 /* fin */
            invokevirtual java.io.FileReader.close:()V
        25: .line 1334
            goto 27
      StackMap locals: java.lang.String java.lang.String int java.util.ArrayList java.io.File int java.io.FileReader java.io.IOException top top top java.lang.String
      StackMap stack: java.io.IOException
        26: pop
        27: .line 1328
      StackMap locals:
      StackMap stack:
            aload 11
            areturn
        end local 7 // java.io.IOException e
        28: .line 1329
      StackMap locals: java.lang.String java.lang.String int java.util.ArrayList java.io.File int java.io.FileReader
      StackMap stack: java.lang.Throwable
            astore 10
        29: .line 1331
            aload 6 /* fin */
            ifnull 33
        30: .line 1332
            aload 6 /* fin */
            invokevirtual java.io.FileReader.close:()V
        31: .line 1334
            goto 33
      StackMap locals: java.lang.String java.lang.String int java.util.ArrayList java.io.File int java.io.FileReader top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        32: pop
        33: .line 1336
      StackMap locals:
      StackMap stack:
            aload 10
            athrow
        34: .line 1331
      StackMap locals: java.lang.String java.lang.String int java.util.ArrayList java.io.File int java.io.FileReader
      StackMap stack:
            aload 6 /* fin */
            ifnull 38
        35: .line 1332
            aload 6 /* fin */
            invokevirtual java.io.FileReader.close:()V
        36: .line 1334
            goto 38
      StackMap locals:
      StackMap stack: java.io.IOException
        37: pop
        38: .line 1337
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // java.io.FileReader fin
        end local 5 // int lineNum
        end local 4 // java.io.File file
        end local 3 // java.util.ArrayList sink
        end local 2 // boolean listAll
        end local 1 // java.lang.String sourcePath
        end local 0 // java.lang.String sought
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   39     0      sought  Ljava/lang/String;
            0   39     1  sourcePath  Ljava/lang/String;
            0   39     2     listAll  Z
            0   39     3        sink  Ljava/util/ArrayList<Ljava/lang/String;>;
            5   39     4        file  Ljava/io/File;
            8   39     5     lineNum  I
            9   39     6         fin  Ljava/io/FileReader;
           11   20     7      reader  Ljava/io/BufferedReader;
           12   18     8        line  Ljava/lang/String;
           19   20     8        line  Ljava/lang/String;
           14   18     9         loc  I
           22   28     7           e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    20      21  Class java.io.IOException
          23    25      26  Class java.io.IOException
           9    23      28  any
          29    31      32  Class java.io.IOException
          34    36      37  Class java.io.IOException
    Signature: (Ljava/lang/String;Ljava/lang/String;ZLjava/util/ArrayList<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
            Name  Flags
      sought      
      sourcePath  
      listAll     
      sink        

  public static java.io.BufferedOutputStream makeOutputStream(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/io/BufferedOutputStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.io.File file
         0: .line 1341
            aload 0 /* file */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 1 /* parent */
        start local 1 // java.io.File parent
         1: .line 1342
            aload 1 /* parent */
            ifnull 3
         2: .line 1343
            aload 1 /* parent */
            invokevirtual java.io.File.mkdirs:()Z
            pop
         3: .line 1345
      StackMap locals: java.io.File
      StackMap stack:
            new java.io.BufferedOutputStream
            dup
            new java.io.FileOutputStream
            dup
            aload 0 /* file */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
            areturn
        end local 1 // java.io.File parent
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    file  Ljava/io/File;
            1    4     1  parent  Ljava/io/File;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
      Name  Flags
      file  

  public static boolean sleepPastFinalModifiedTime(java.io.File[]);
    descriptor: ([Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.io.File[] files
         0: .line 1356
            aload 0 /* files */
            ifnull 1
            aload 0 /* files */
            arraylength
            ifne 2
         1: .line 1357
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1359
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 1 /* delayUntil */
        start local 1 // long delayUntil
         3: .line 1360
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 12
         5: .line 1361
      StackMap locals: long int
      StackMap stack:
            aload 0 /* files */
            iload 3 /* i */
            aaload
            astore 4 /* file */
        start local 4 // java.io.File file
         6: .line 1362
            aload 4 /* file */
            ifnull 11
            aload 4 /* file */
            invokevirtual java.io.File.exists:()Z
            ifne 8
         7: .line 1363
            goto 11
         8: .line 1365
      StackMap locals: java.io.File
      StackMap stack:
            aload 4 /* file */
            invokevirtual java.io.File.lastModified:()J
            lstore 5 /* nextModTime */
        start local 5 // long nextModTime
         9: .line 1366
            lload 5 /* nextModTime */
            lload 1 /* delayUntil */
            lcmp
            ifle 11
        10: .line 1367
            lload 5 /* nextModTime */
            lstore 1 /* delayUntil */
        end local 5 // long nextModTime
        end local 4 // java.io.File file
        11: .line 1360
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* files */
            arraylength
            if_icmplt 5
        end local 3 // int i
        13: .line 1370
            lload 1 /* delayUntil */
            lconst_1
            ladd
            dup2
            lstore 1 /* delayUntil */
            invokestatic org.aspectj.util.LangUtil.sleepUntil:(J)Z
            ireturn
        end local 1 // long delayUntil
        end local 0 // java.io.File[] files
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0        files  [Ljava/io/File;
            3   14     1   delayUntil  J
            4   13     3            i  I
            6   11     4         file  Ljava/io/File;
            9   11     5  nextModTime  J
    MethodParameters:
       Name  Flags
      files  

  private static void listClassFiles(java.io.File, java.util.ArrayList<java.io.File>);
    descriptor: (Ljava/io/File;Ljava/util/ArrayList;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.io.File baseDir
        start local 1 // java.util.ArrayList result
         0: .line 1374
            aload 0 /* baseDir */
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 2 /* files */
        start local 2 // java.io.File[] files
         1: .line 1375
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 10
         3: .line 1376
      StackMap locals: java.io.File[] int
      StackMap stack:
            aload 2 /* files */
            iload 3 /* i */
            aaload
            astore 4 /* f */
        start local 4 // java.io.File f
         4: .line 1377
            aload 4 /* f */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 7
         5: .line 1378
            aload 4 /* f */
            aload 1 /* result */
            invokestatic org.aspectj.util.FileUtil.listClassFiles:(Ljava/io/File;Ljava/util/ArrayList;)V
         6: .line 1379
            goto 9
         7: .line 1380
      StackMap locals: java.io.File
      StackMap stack:
            aload 4 /* f */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            ldc ".class"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 1381
            aload 1 /* result */
            aload 4 /* f */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.io.File f
         9: .line 1375
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 2 /* files */
            arraylength
            if_icmplt 3
        end local 3 // int i
        11: .line 1385
            return
        end local 2 // java.io.File[] files
        end local 1 // java.util.ArrayList result
        end local 0 // java.io.File baseDir
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0  baseDir  Ljava/io/File;
            0   12     1   result  Ljava/util/ArrayList<Ljava/io/File;>;
            1   12     2    files  [Ljava/io/File;
            2   11     3        i  I
            4    9     4        f  Ljava/io/File;
    Signature: (Ljava/io/File;Ljava/util/ArrayList<Ljava/io/File;>;)V
    MethodParameters:
         Name  Flags
      baseDir  final
      result   

  private static void listFiles(java.io.File, java.util.ArrayList<java.io.File>, java.io.FileFilter);
    descriptor: (Ljava/io/File;Ljava/util/ArrayList;Ljava/io/FileFilter;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.io.File baseDir
        start local 1 // java.util.ArrayList result
        start local 2 // java.io.FileFilter filter
         0: .line 1388
            aload 0 /* baseDir */
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 3 /* files */
        start local 3 // java.io.File[] files
         1: .line 1390
            getstatic org.aspectj.util.FileUtil.PERMIT_CVS:Z
            ifne 2
            aload 2 /* filter */
            getstatic org.aspectj.util.FileUtil.aspectjSourceFileFilter:Ljava/io/FileFilter;
            if_acmpne 2
            iconst_1
            goto 3
      StackMap locals: java.io.File[]
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* skipCVS */
        start local 4 // boolean skipCVS
         4: .line 1391
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 17
         6: .line 1392
      StackMap locals: int int
      StackMap stack:
            aload 3 /* files */
            iload 5 /* i */
            aaload
            astore 6 /* f */
        start local 6 // java.io.File f
         7: .line 1393
            aload 6 /* f */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 14
         8: .line 1394
            iload 4 /* skipCVS */
            ifeq 12
         9: .line 1395
            aload 6 /* f */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        10: .line 1396
            ldc "cvs"
            aload 7 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            ldc "sccs"
            aload 7 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1397
            goto 16
        end local 7 // java.lang.String name
        12: .line 1400
      StackMap locals: java.io.File
      StackMap stack:
            aload 6 /* f */
            aload 1 /* result */
            aload 2 /* filter */
            invokestatic org.aspectj.util.FileUtil.listFiles:(Ljava/io/File;Ljava/util/ArrayList;Ljava/io/FileFilter;)V
        13: .line 1401
            goto 16
        14: .line 1402
      StackMap locals:
      StackMap stack:
            aload 2 /* filter */
            aload 6 /* f */
            invokeinterface java.io.FileFilter.accept:(Ljava/io/File;)Z
            ifeq 16
        15: .line 1403
            aload 1 /* result */
            aload 6 /* f */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.io.File f
        16: .line 1391
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            aload 3 /* files */
            arraylength
            if_icmplt 6
        end local 5 // int i
        18: .line 1407
            return
        end local 4 // boolean skipCVS
        end local 3 // java.io.File[] files
        end local 2 // java.io.FileFilter filter
        end local 1 // java.util.ArrayList result
        end local 0 // java.io.File baseDir
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0  baseDir  Ljava/io/File;
            0   19     1   result  Ljava/util/ArrayList<Ljava/io/File;>;
            0   19     2   filter  Ljava/io/FileFilter;
            1   19     3    files  [Ljava/io/File;
            4   19     4  skipCVS  Z
            5   18     5        i  I
            7   16     6        f  Ljava/io/File;
           10   12     7     name  Ljava/lang/String;
    Signature: (Ljava/io/File;Ljava/util/ArrayList<Ljava/io/File;>;Ljava/io/FileFilter;)V
    MethodParameters:
         Name  Flags
      baseDir  final
      result   
      filter   

  private static boolean isValidFileName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String input
         0: .line 1411
            aload 0 /* input */
            ifnull 1
            iconst_m1
            aload 0 /* input */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  input  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      input  

  private static void listFiles(java.io.File, java.lang.String, java.util.ArrayList<java.lang.String>);
    descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/util/ArrayList;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // java.io.File baseDir
        start local 1 // java.lang.String dir
        start local 2 // java.util.ArrayList result
         0: .line 1415
            aload 1 /* dir */
            ifnonnull 1
            ldc ""
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.StringBuilder
            dup
            aload 1 /* dir */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 3 /* dirPrefix */
        start local 3 // java.lang.String dirPrefix
         3: .line 1416
            aload 1 /* dir */
            ifnonnull 4
            aload 0 /* baseDir */
            goto 5
      StackMap locals: java.lang.String
      StackMap stack:
         4: new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* baseDir */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* dir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
      StackMap locals:
      StackMap stack: java.io.File
         5: astore 4 /* dirFile */
        start local 4 // java.io.File dirFile
         6: .line 1417
            aload 4 /* dirFile */
            invokevirtual java.io.File.list:()[Ljava/lang/String;
            astore 5 /* files */
        start local 5 // java.lang.String[] files
         7: .line 1418
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 16
         9: .line 1419
      StackMap locals: java.io.File java.lang.String[] int
      StackMap stack:
            new java.io.File
            dup
            aload 4 /* dirFile */
            aload 5 /* files */
            iload 6 /* i */
            aaload
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 7 /* f */
        start local 7 // java.io.File f
        10: .line 1420
            new java.lang.StringBuilder
            dup
            aload 3 /* dirPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* files */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* path */
        start local 8 // java.lang.String path
        11: .line 1421
            aload 7 /* f */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 14
        12: .line 1422
            aload 0 /* baseDir */
            aload 8 /* path */
            aload 2 /* result */
            invokestatic org.aspectj.util.FileUtil.listFiles:(Ljava/io/File;Ljava/lang/String;Ljava/util/ArrayList;)V
        13: .line 1423
            goto 15
        14: .line 1424
      StackMap locals: java.io.File java.lang.String
      StackMap stack:
            aload 2 /* result */
            aload 8 /* path */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.String path
        end local 7 // java.io.File f
        15: .line 1418
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            aload 5 /* files */
            arraylength
            if_icmplt 9
        end local 6 // int i
        17: .line 1427
            return
        end local 5 // java.lang.String[] files
        end local 4 // java.io.File dirFile
        end local 3 // java.lang.String dirPrefix
        end local 2 // java.util.ArrayList result
        end local 1 // java.lang.String dir
        end local 0 // java.io.File baseDir
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0    baseDir  Ljava/io/File;
            0   18     1        dir  Ljava/lang/String;
            0   18     2     result  Ljava/util/ArrayList<Ljava/lang/String;>;
            3   18     3  dirPrefix  Ljava/lang/String;
            6   18     4    dirFile  Ljava/io/File;
            7   18     5      files  [Ljava/lang/String;
            8   17     6          i  I
           10   15     7          f  Ljava/io/File;
           11   15     8       path  Ljava/lang/String;
    Signature: (Ljava/io/File;Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;)V
    MethodParameters:
         Name  Flags
      baseDir  final
      dir      
      result   

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.util.FileUtil this
         0: .line 1429
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1430
            return
        end local 0 // org.aspectj.util.FileUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/util/FileUtil;

  public static java.util.List<java.lang.String> makeClasspath(java.net.URL[]);
    descriptor: ([Ljava/net/URL;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.net.URL[] urls
         0: .line 1433
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 1 /* ret */
        start local 1 // java.util.List ret
         1: .line 1434
            aload 0 /* urls */
            ifnull 7
         2: .line 1435
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 1436
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* ret */
            aload 0 /* urls */
            iload 2 /* i */
            aaload
            invokestatic org.aspectj.util.FileUtil.toPathString:(Ljava/net/URL;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1435
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* urls */
            arraylength
            if_icmplt 4
        end local 2 // int i
         7: .line 1439
      StackMap locals:
      StackMap stack:
            aload 1 /* ret */
            areturn
        end local 1 // java.util.List ret
        end local 0 // java.net.URL[] urls
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  urls  [Ljava/net/URL;
            1    8     1   ret  Ljava/util/List<Ljava/lang/String;>;
            3    7     2     i  I
    Signature: ([Ljava/net/URL;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      urls  

  private static java.lang.String toPathString(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.net.URL url
         0: .line 1444
            aload 0 /* url */
            invokevirtual java.net.URL.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
         1: areturn
         2: .line 1445
      StackMap locals:
      StackMap stack: java.net.URISyntaxException
            pop
         3: .line 1446
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Warning!! Malformed URL may cause problems: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 1450
            aload 0 /* url */
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            areturn
        end local 0 // java.net.URL url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.URISyntaxException
    MethodParameters:
      Name  Flags
      url   
}
SourceFile: "FileUtil.java"
NestMembers:
  org.aspectj.util.FileUtil$1  org.aspectj.util.FileUtil$2  org.aspectj.util.FileUtil$3  org.aspectj.util.FileUtil$4  org.aspectj.util.FileUtil$5  org.aspectj.util.FileUtil$Pipe
InnerClasses:
  org.aspectj.util.FileUtil$1
  org.aspectj.util.FileUtil$2
  org.aspectj.util.FileUtil$3
  org.aspectj.util.FileUtil$4
  org.aspectj.util.FileUtil$5
  public Pipe = org.aspectj.util.FileUtil$Pipe of org.aspectj.util.FileUtil