public class net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile implements net.bytebuddy.build.Plugin$Engine$Source$Element
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile
  super_class: java.lang.Object
{
  private final java.io.File root;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.File file;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile this
        start local 1 // java.io.File root
        start local 2 // java.io.File file
         0: .line 2281
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 2282
            aload 0 /* this */
            aload 1 /* root */
            putfield net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile.root:Ljava/io/File;
         2: .line 2283
            aload 0 /* this */
            aload 2 /* file */
            putfield net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile.file:Ljava/io/File;
         3: .line 2284
            return
        end local 2 // java.io.File file
        end local 1 // java.io.File root
        end local 0 // net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lnet/bytebuddy/build/Plugin$Engine$Source$Element$ForFile;
            0    4     1  root  Ljava/io/File;
            0    4     2  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      root  
      file  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile this
         0: .line 2290
            aload 0 /* this */
            getfield net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile.root:Ljava/io/File;
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            aload 0 /* this */
            getfield net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile.file:Ljava/io/File;
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.relativize:(Ljava/net/URI;)Ljava/net/URI;
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            areturn
        end local 0 // net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/build/Plugin$Engine$Source$Element$ForFile;

  public java.io.InputStream getInputStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile this
         0: .line 2297
            new java.io.FileInputStream
            dup
            aload 0 /* this */
            getfield net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile.file:Ljava/io/File;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            areturn
        end local 0 // net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/build/Plugin$Engine$Source$Element$ForFile;
    Exceptions:
      throws java.io.IOException

  public <T> T resolveAs(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile this
        start local 1 // java.lang.Class type
         0: .line 2305
            ldc Ljava/io/File;
            aload 1 /* type */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 2
         1: .line 2306
            aload 0 /* this */
            getfield net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile.file:Ljava/io/File;
            goto 3
         2: .line 2307
      StackMap locals:
      StackMap stack:
            aconst_null
         3: .line 2305
      StackMap locals:
      StackMap stack: java.io.File
            areturn
        end local 1 // java.lang.Class type
        end local 0 // net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lnet/bytebuddy/build/Plugin$Engine$Source$Element$ForFile;
            0    4     1  type  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "Plugin.java"
NestHost: net.bytebuddy.build.Plugin
InnerClasses:
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract Engine = net.bytebuddy.build.Plugin$Engine of net.bytebuddy.build.Plugin
  public abstract Source = net.bytebuddy.build.Plugin$Engine$Source of net.bytebuddy.build.Plugin$Engine
  public abstract Element = net.bytebuddy.build.Plugin$Engine$Source$Element of net.bytebuddy.build.Plugin$Engine$Source
  public ForFile = net.bytebuddy.build.Plugin$Engine$Source$Element$ForFile of net.bytebuddy.build.Plugin$Engine$Source$Element
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()