public class javax.sound.sampled.Line$Info
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.sound.sampled.Line$Info
  super_class: java.lang.Object
{
  private final java.lang.Class<?> lineClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  public void <init>(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.sound.sampled.Line$Info this
        start local 1 // java.lang.Class lineClass
         0: .line 243
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 245
            aload 1 /* lineClass */
            ifnonnull 4
         2: .line 246
            aload 0 /* this */
            ldc Ljavax/sound/sampled/Line;
            putfield javax.sound.sampled.Line$Info.lineClass:Ljava/lang/Class;
         3: .line 247
            goto 5
         4: .line 248
      StackMap locals: javax.sound.sampled.Line$Info java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lineClass */
            putfield javax.sound.sampled.Line$Info.lineClass:Ljava/lang/Class;
         5: .line 250
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Class lineClass
        end local 0 // javax.sound.sampled.Line$Info this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Ljavax/sound/sampled/Line$Info;
            0    6     1  lineClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
           Name  Flags
      lineClass  

  public java.lang.Class<?> getLineClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.sound.sampled.Line$Info this
         0: .line 258
            aload 0 /* this */
            getfield javax.sound.sampled.Line$Info.lineClass:Ljava/lang/Class;
            areturn
        end local 0 // javax.sound.sampled.Line$Info this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/sound/sampled/Line$Info;
    Signature: ()Ljava/lang/Class<*>;

  public boolean matches(javax.sound.sampled.Line$Info);
    descriptor: (Ljavax/sound/sampled/Line$Info;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.sound.sampled.Line$Info this
        start local 1 // javax.sound.sampled.Line$Info info
         0: .line 304
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* info */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 305
            iconst_0
            ireturn
         2: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.sound.sampled.Line$Info.getLineClass:()Ljava/lang/Class;
            aload 1 /* info */
            invokevirtual javax.sound.sampled.Line$Info.getLineClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 4
         3: .line 313
            iconst_0
            ireturn
         4: .line 316
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // javax.sound.sampled.Line$Info info
        end local 0 // javax.sound.sampled.Line$Info this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/sound/sampled/Line$Info;
            0    5     1  info  Ljavax/sound/sampled/Line$Info;
    MethodParameters:
      Name  Flags
      info  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // javax.sound.sampled.Line$Info this
         0: .line 327
            ldc "javax.sound.sampled."
            astore 1 /* fullPackagePath */
        start local 1 // java.lang.String fullPackagePath
         1: .line 328
            new java.lang.String
            dup
            aload 0 /* this */
            invokevirtual javax.sound.sampled.Line$Info.getLineClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.toString:()Ljava/lang/String;
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
            astore 2 /* initialString */
        start local 2 // java.lang.String initialString
         2: .line 331
            aload 2 /* initialString */
            aload 1 /* fullPackagePath */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 4 /* index */
        start local 4 // int index
         3: .line 333
            iload 4 /* index */
            iconst_m1
            if_icmpeq 6
         4: .line 334
            new java.lang.StringBuilder
            dup
            aload 2 /* initialString */
            iconst_0
            iload 4 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* initialString */
            iload 4 /* index */
            aload 1 /* fullPackagePath */
            invokevirtual java.lang.String.length:()I
            iadd
            aload 2 /* initialString */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* finalString */
        start local 3 // java.lang.String finalString
         5: .line 335
            goto 7
        end local 3 // java.lang.String finalString
         6: .line 336
      StackMap locals: javax.sound.sampled.Line$Info java.lang.String java.lang.String top int
      StackMap stack:
            aload 2 /* initialString */
            astore 3 /* finalString */
        start local 3 // java.lang.String finalString
         7: .line 339
      StackMap locals: javax.sound.sampled.Line$Info java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 3 /* finalString */
            areturn
        end local 4 // int index
        end local 3 // java.lang.String finalString
        end local 2 // java.lang.String initialString
        end local 1 // java.lang.String fullPackagePath
        end local 0 // javax.sound.sampled.Line$Info this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Ljavax/sound/sampled/Line$Info;
            1    8     1  fullPackagePath  Ljava/lang/String;
            2    8     2    initialString  Ljava/lang/String;
            5    6     3      finalString  Ljava/lang/String;
            7    8     3      finalString  Ljava/lang/String;
            3    8     4            index  I
}
SourceFile: "Line.java"
NestHost: javax.sound.sampled.Line
InnerClasses:
  public Info = javax.sound.sampled.Line$Info of javax.sound.sampled.Line