public class com.sun.tools.sjavac.CopyFile implements com.sun.tools.sjavac.Transformer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.sjavac.CopyFile
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.sjavac.CopyFile this
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.tools.sjavac.CopyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/sjavac/CopyFile;

  public void setExtra(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // com.sun.tools.sjavac.CopyFile this
        start local 1 // java.lang.String e
         0: .line 56
            return
        end local 1 // java.lang.String e
        end local 0 // com.sun.tools.sjavac.CopyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/sjavac/CopyFile;
            0    1     1     e  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      e     

  public void setExtra(com.sun.tools.sjavac.options.Options);
    descriptor: (Lcom/sun/tools/sjavac/options/Options;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // com.sun.tools.sjavac.CopyFile this
        start local 1 // com.sun.tools.sjavac.options.Options a
         0: .line 59
            return
        end local 1 // com.sun.tools.sjavac.options.Options a
        end local 0 // com.sun.tools.sjavac.CopyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/sjavac/CopyFile;
            0    1     1     a  Lcom/sun/tools/sjavac/options/Options;
    MethodParameters:
      Name  Flags
      a     

  public boolean transform(com.sun.tools.sjavac.comp.CompilationService, java.util.Map<java.lang.String, java.util.Set<java.net.URI>>, java.util.Set<java.net.URI>, java.util.Map<java.lang.String, java.util.Set<java.lang.String>>, java.net.URI, java.util.Map<java.lang.String, java.util.Set<java.net.URI>>, java.util.Map<java.lang.String, java.util.Map<java.lang.String, java.util.Set<java.lang.String>>>, java.util.Map<java.lang.String, java.util.Map<java.lang.String, java.util.Set<java.lang.String>>>, java.util.Map<java.lang.String, com.sun.tools.sjavac.pubapi.PubApi>, java.util.Map<java.lang.String, com.sun.tools.sjavac.pubapi.PubApi>, int, boolean, );
    descriptor: (Lcom/sun/tools/sjavac/comp/CompilationService;Ljava/util/Map;Ljava/util/Set;Ljava/util/Map;Ljava/net/URI;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;IZI)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=31, args_size=14
        start local 0 // com.sun.tools.sjavac.CopyFile this
        start local 1 // com.sun.tools.sjavac.comp.CompilationService compilationService
        start local 2 // java.util.Map pkgSrcs
        start local 3 // java.util.Set visibleSrcs
        start local 4 // java.util.Map oldPackageDependents
        start local 5 // java.net.URI destRoot
        start local 6 // java.util.Map packageArtifacts
        start local 7 // java.util.Map packageDependencies
        start local 8 // java.util.Map packageCpDependencies
        start local 9 // java.util.Map packagePubapis
        start local 10 // java.util.Map dependencyPubapis
        start local 11 // int debugLevel
        start local 12 // boolean incremental
        start local 13 // int numCores
         0: .line 75
            iconst_1
            istore 14 /* rc */
        start local 14 // boolean rc
         1: .line 79
            aload 2 /* pkgSrcs */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 18
            goto 47
      StackMap locals: com.sun.tools.sjavac.CopyFile com.sun.tools.sjavac.comp.CompilationService java.util.Map java.util.Set java.util.Map java.net.URI java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map int int int int top top top java.util.Iterator
      StackMap stack:
         2: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 17 /* pkgName */
        start local 17 // java.lang.String pkgName
         3: .line 80
            aload 17 /* pkgName */
            invokestatic com.sun.tools.sjavac.Util.toFileSystemPath:(Ljava/lang/String;)Ljava/lang/String;
            astore 19 /* pkgNameF */
        start local 19 // java.lang.String pkgNameF
         4: .line 81
            aload 2 /* pkgSrcs */
            aload 17 /* pkgName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 21
            goto 46
      StackMap locals: com.sun.tools.sjavac.CopyFile com.sun.tools.sjavac.comp.CompilationService java.util.Map java.util.Set java.util.Map java.net.URI java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map int int int int top top java.lang.String java.util.Iterator java.lang.String top java.util.Iterator
      StackMap stack:
         5: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.URI
            astore 20 /* u */
        start local 20 // java.net.URI u
         6: .line 82
            new java.io.File
            dup
            aload 20 /* u */
            invokespecial java.io.File.<init>:(Ljava/net/URI;)V
            astore 22 /* src */
        start local 22 // java.io.File src
         7: .line 84
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            aload 5 /* destRoot */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 19 /* pkgNameF */
            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
            astore 23 /* destDir */
        start local 23 // java.io.File destDir
         8: .line 85
            new java.lang.StringBuilder
            dup
            aload 5 /* destRoot */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 19 /* pkgNameF */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 22 /* src */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* dest_filename */
        start local 15 // java.lang.String dest_filename
         9: .line 86
            new java.io.File
            dup
            aload 15 /* dest_filename */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 16 /* dest */
        start local 16 // java.io.File dest
        10: .line 88
            aload 23 /* destDir */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 16
        11: .line 89
            aload 23 /* destDir */
            invokevirtual java.io.File.mkdirs:()Z
            ifne 16
        12: .line 90
            new java.lang.StringBuilder
            dup
            ldc "Error: The copier could not create the directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 91
            aload 23 /* destDir */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 90
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/String;)V
        15: .line 92
            iconst_0
            ireturn
        16: .line 96
      StackMap locals: com.sun.tools.sjavac.CopyFile com.sun.tools.sjavac.comp.CompilationService java.util.Map java.util.Set java.util.Map java.net.URI java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map int int int int java.lang.String java.io.File java.lang.String java.util.Iterator java.lang.String java.net.URI java.util.Iterator java.io.File java.io.File
      StackMap stack:
            aload 6 /* packageArtifacts */
            aload 17 /* pkgName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 24 /* as */
        start local 24 // java.util.Set as
        17: .line 97
            aload 24 /* as */
            ifnonnull 20
        18: .line 98
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 24 /* as */
        19: .line 99
            aload 6 /* packageArtifacts */
            aload 17 /* pkgName */
            aload 24 /* as */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 101
      StackMap locals: java.util.Set
      StackMap stack:
            aload 24 /* as */
            aload 16 /* dest */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        21: .line 103
            aload 16 /* dest */
            invokevirtual java.io.File.exists:()Z
            ifeq 23
            aload 16 /* dest */
            invokevirtual java.io.File.lastModified:()J
            aload 22 /* src */
            invokevirtual java.io.File.lastModified:()J
            lcmp
            ifle 23
        22: .line 105
            goto 46
        23: .line 108
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Copying "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* pkgNameF */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 22 /* src */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.tools.sjavac.Log.info:(Ljava/lang/String;)V
        24: .line 110
            aconst_null
            astore 25
            aconst_null
            astore 26
        25: new java.io.FileInputStream
            dup
            aload 22 /* src */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 27 /* fin */
        start local 27 // java.io.InputStream fin
        26: .line 111
            new java.io.FileOutputStream
            dup
            aload 16 /* dest */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 28 /* fout */
        start local 28 // java.io.OutputStream fout
        27: .line 112
            sipush 1024
            newarray 8
            astore 29 /* buf */
        start local 29 // byte[] buf
        28: .line 114
            goto 30
        start local 30 // int len
        29: .line 115
      StackMap locals: com.sun.tools.sjavac.CopyFile com.sun.tools.sjavac.comp.CompilationService java.util.Map java.util.Set java.util.Map java.net.URI java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map int int int int java.lang.String java.io.File java.lang.String java.util.Iterator java.lang.String java.net.URI java.util.Iterator java.io.File java.io.File java.util.Set java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.OutputStream byte[] int
      StackMap stack:
            aload 28 /* fout */
            aload 29 /* buf */
            iconst_0
            iload 30 /* len */
            invokevirtual java.io.OutputStream.write:([BII)V
        end local 30 // int len
        30: .line 114
      StackMap locals:
      StackMap stack:
            aload 27 /* fin */
            aload 29 /* buf */
            invokevirtual java.io.InputStream.read:([B)I
            dup
            istore 30 /* len */
        start local 30 // int len
        31: ifgt 29
        end local 30 // int len
        end local 29 // byte[] buf
        32: .line 117
            aload 28 /* fout */
            ifnull 35
            aload 28 /* fout */
            invokevirtual java.io.OutputStream.close:()V
            goto 35
      StackMap locals: com.sun.tools.sjavac.CopyFile com.sun.tools.sjavac.comp.CompilationService java.util.Map java.util.Set java.util.Map java.net.URI java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map int int int int java.lang.String java.io.File java.lang.String java.util.Iterator java.lang.String java.net.URI java.util.Iterator java.io.File java.io.File java.util.Set java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.OutputStream
      StackMap stack: java.lang.Throwable
        33: astore 25
            aload 28 /* fout */
            ifnull 34
            aload 28 /* fout */
            invokevirtual java.io.OutputStream.close:()V
        end local 28 // java.io.OutputStream fout
      StackMap locals:
      StackMap stack:
        34: aload 25
            athrow
      StackMap locals:
      StackMap stack:
        35: aload 27 /* fin */
            ifnull 46
            aload 27 /* fin */
            invokevirtual java.io.InputStream.close:()V
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        36: astore 26
            aload 25
            ifnonnull 37
            aload 26
            astore 25
            goto 38
      StackMap locals:
      StackMap stack:
        37: aload 25
            aload 26
            if_acmpeq 38
            aload 25
            aload 26
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        38: aload 27 /* fin */
            ifnull 39
            aload 27 /* fin */
            invokevirtual java.io.InputStream.close:()V
        end local 27 // java.io.InputStream fin
      StackMap locals:
      StackMap stack:
        39: aload 25
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: astore 26
            aload 25
            ifnonnull 41
            aload 26
            astore 25
            goto 42
      StackMap locals:
      StackMap stack:
        41: aload 25
            aload 26
            if_acmpeq 42
            aload 25
            aload 26
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        42: aload 25
            athrow
        43: .line 118
      StackMap locals: com.sun.tools.sjavac.CopyFile com.sun.tools.sjavac.comp.CompilationService java.util.Map java.util.Set java.util.Map java.net.URI java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map int int int int java.lang.String java.io.File java.lang.String java.util.Iterator java.lang.String java.net.URI java.util.Iterator java.io.File java.io.File java.util.Set
      StackMap stack: java.io.IOException
            pop
        44: .line 119
            new java.lang.StringBuilder
            dup
            ldc "Could not copy the file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 22 /* src */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* dest */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/String;)V
        45: .line 120
            iconst_0
            istore 14 /* rc */
        end local 24 // java.util.Set as
        end local 23 // java.io.File destDir
        end local 22 // java.io.File src
        end local 20 // java.net.URI u
        end local 16 // java.io.File dest
        end local 15 // java.lang.String dest_filename
        46: .line 81
      StackMap locals: com.sun.tools.sjavac.CopyFile com.sun.tools.sjavac.comp.CompilationService java.util.Map java.util.Set java.util.Map java.net.URI java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map int int int int top top java.lang.String java.util.Iterator java.lang.String top java.util.Iterator
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 19 // java.lang.String pkgNameF
        end local 17 // java.lang.String pkgName
        47: .line 79
      StackMap locals: com.sun.tools.sjavac.CopyFile com.sun.tools.sjavac.comp.CompilationService java.util.Map java.util.Set java.util.Map java.net.URI java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map int int int int top top top java.util.Iterator
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        48: .line 124
            iload 14 /* rc */
            ireturn
        end local 14 // boolean rc
        end local 13 // int numCores
        end local 12 // boolean incremental
        end local 11 // int debugLevel
        end local 10 // java.util.Map dependencyPubapis
        end local 9 // java.util.Map packagePubapis
        end local 8 // java.util.Map packageCpDependencies
        end local 7 // java.util.Map packageDependencies
        end local 6 // java.util.Map packageArtifacts
        end local 5 // java.net.URI destRoot
        end local 4 // java.util.Map oldPackageDependents
        end local 3 // java.util.Set visibleSrcs
        end local 2 // java.util.Map pkgSrcs
        end local 1 // com.sun.tools.sjavac.comp.CompilationService compilationService
        end local 0 // com.sun.tools.sjavac.CopyFile this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   49     0                   this  Lcom/sun/tools/sjavac/CopyFile;
            0   49     1     compilationService  Lcom/sun/tools/sjavac/comp/CompilationService;
            0   49     2                pkgSrcs  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/net/URI;>;>;
            0   49     3            visibleSrcs  Ljava/util/Set<Ljava/net/URI;>;
            0   49     4   oldPackageDependents  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
            0   49     5               destRoot  Ljava/net/URI;
            0   49     6       packageArtifacts  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/net/URI;>;>;
            0   49     7    packageDependencies  Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;>;
            0   49     8  packageCpDependencies  Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;>;
            0   49     9         packagePubapis  Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/pubapi/PubApi;>;
            0   49    10      dependencyPubapis  Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/pubapi/PubApi;>;
            0   49    11             debugLevel  I
            0   49    12            incremental  Z
            0   49    13               numCores  I
            1   49    14                     rc  Z
            9   46    15          dest_filename  Ljava/lang/String;
           10   46    16                   dest  Ljava/io/File;
            3   47    17                pkgName  Ljava/lang/String;
            4   47    19               pkgNameF  Ljava/lang/String;
            6   46    20                      u  Ljava/net/URI;
            7   46    22                    src  Ljava/io/File;
            8   46    23                destDir  Ljava/io/File;
           17   46    24                     as  Ljava/util/Set<Ljava/net/URI;>;
           26   39    27                    fin  Ljava/io/InputStream;
           27   34    28                   fout  Ljava/io/OutputStream;
           28   32    29                    buf  [B
           29   30    30                    len  I
           31   32    30                    len  I
      Exception table:
        from    to  target  type
          27    32      33  any
          26    35      36  any
          25    40      40  any
          24    43      43  Class java.io.IOException
    Signature: (Lcom/sun/tools/sjavac/comp/CompilationService;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/net/URI;>;>;Ljava/util/Set<Ljava/net/URI;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;Ljava/net/URI;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/net/URI;>;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;>;Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/pubapi/PubApi;>;Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/pubapi/PubApi;>;IZI)Z
    MethodParameters:
                       Name  Flags
      compilationService     
      pkgSrcs                
      visibleSrcs            
      oldPackageDependents   
      destRoot               
      packageArtifacts       
      packageDependencies    
      packageCpDependencies  
      packagePubapis         
      dependencyPubapis      
      debugLevel             
      incremental            
      numCores               
}
SourceFile: "CopyFile.java"