class javax.imageio.ImageTypeSpecifier$Grayscale extends javax.imageio.ImageTypeSpecifier
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.imageio.ImageTypeSpecifier$Grayscale
  super_class: javax.imageio.ImageTypeSpecifier
{
  int bits;
    descriptor: I
    flags: (0x0000) 

  int dataType;
    descriptor: I
    flags: (0x0000) 

  boolean isSigned;
    descriptor: Z
    flags: (0x0000) 

  boolean hasAlpha;
    descriptor: Z
    flags: (0x0000) 

  boolean isAlphaPremultiplied;
    descriptor: Z
    flags: (0x0000) 

  public void <init>(int, int, boolean, boolean, boolean);
    descriptor: (IIZZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=13, args_size=6
        start local 0 // javax.imageio.ImageTypeSpecifier$Grayscale this
        start local 1 // int bits
        start local 2 // int dataType
        start local 3 // boolean isSigned
        start local 4 // boolean hasAlpha
        start local 5 // boolean isAlphaPremultiplied
         0: .line 575
            aload 0 /* this */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:()V
         1: .line 581
            iload 1 /* bits */
            iconst_1
            if_icmpeq 4
            iload 1 /* bits */
            iconst_2
            if_icmpeq 4
            iload 1 /* bits */
            iconst_4
            if_icmpeq 4
         2: .line 582
            iload 1 /* bits */
            bipush 8
            if_icmpeq 4
            iload 1 /* bits */
            bipush 16
            if_icmpeq 4
         3: .line 584
            new java.lang.IllegalArgumentException
            dup
            ldc "Bad value for bits!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 586
      StackMap locals: javax.imageio.ImageTypeSpecifier$Grayscale int int int int int
      StackMap stack:
            iload 2 /* dataType */
            ifeq 10
         5: .line 587
            iload 2 /* dataType */
            iconst_2
            if_icmpeq 10
         6: .line 588
            iload 2 /* dataType */
            iconst_1
            if_icmpeq 10
         7: .line 590
            new java.lang.IllegalArgumentException
            dup
         8: .line 591
            ldc "Bad value for dataType!"
         9: .line 590
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 593
      StackMap locals:
      StackMap stack:
            iload 1 /* bits */
            bipush 8
            if_icmple 14
            iload 2 /* dataType */
            ifne 14
        11: .line 594
            new java.lang.IllegalArgumentException
            dup
        12: .line 595
            ldc "Too many bits for dataType!"
        13: .line 594
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* bits */
            putfield javax.imageio.ImageTypeSpecifier$Grayscale.bits:I
        15: .line 599
            aload 0 /* this */
            iload 2 /* dataType */
            putfield javax.imageio.ImageTypeSpecifier$Grayscale.dataType:I
        16: .line 600
            aload 0 /* this */
            iload 3 /* isSigned */
            putfield javax.imageio.ImageTypeSpecifier$Grayscale.isSigned:Z
        17: .line 601
            aload 0 /* this */
            iload 4 /* hasAlpha */
            putfield javax.imageio.ImageTypeSpecifier$Grayscale.hasAlpha:Z
        18: .line 602
            aload 0 /* this */
            iload 5 /* isAlphaPremultiplied */
            putfield javax.imageio.ImageTypeSpecifier$Grayscale.isAlphaPremultiplied:Z
        19: .line 604
            sipush 1003
            invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
            astore 6 /* colorSpace */
        start local 6 // java.awt.color.ColorSpace colorSpace
        20: .line 606
            iload 1 /* bits */
            bipush 8
            if_icmpne 21
            iload 2 /* dataType */
            ifeq 24
        21: .line 607
      StackMap locals: java.awt.color.ColorSpace
      StackMap stack:
            iload 1 /* bits */
            bipush 16
            if_icmpne 57
        22: .line 608
            iload 2 /* dataType */
            iconst_2
            if_icmpeq 24
        23: .line 609
            iload 2 /* dataType */
            iconst_1
            if_icmpne 57
        24: .line 612
      StackMap locals:
      StackMap stack:
            iload 4 /* hasAlpha */
            ifeq 25
            iconst_2
            goto 26
      StackMap locals:
      StackMap stack:
        25: iconst_1
      StackMap locals:
      StackMap stack: int
        26: istore 7 /* numBands */
        start local 7 // int numBands
        27: .line 614
            iload 4 /* hasAlpha */
            ifeq 28
            iconst_3
            goto 29
      StackMap locals: int
      StackMap stack:
        28: iconst_1
        29: .line 613
      StackMap locals:
      StackMap stack: int
            istore 8 /* transparency */
        start local 8 // int transparency
        30: .line 617
            iload 7 /* numBands */
            newarray 10
            astore 9 /* nBits */
        start local 9 // int[] nBits
        31: .line 618
            aload 9 /* nBits */
            iconst_0
            iload 1 /* bits */
            iastore
        32: .line 619
            iload 7 /* numBands */
            iconst_2
            if_icmpne 34
        33: .line 620
            aload 9 /* nBits */
            iconst_1
            iload 1 /* bits */
            iastore
        34: .line 622
      StackMap locals: int int[]
      StackMap stack:
            aload 0 /* this */
        35: .line 623
            new java.awt.image.ComponentColorModel
            dup
            aload 6 /* colorSpace */
        36: .line 624
            aload 9 /* nBits */
        37: .line 625
            iload 4 /* hasAlpha */
        38: .line 626
            iload 5 /* isAlphaPremultiplied */
        39: .line 627
            iload 8 /* transparency */
        40: .line 628
            iload 2 /* dataType */
        41: .line 623
            invokespecial java.awt.image.ComponentColorModel.<init>:(Ljava/awt/color/ColorSpace;[IZZII)V
        42: .line 622
            putfield javax.imageio.ImageTypeSpecifier$Grayscale.colorModel:Ljava/awt/image/ColorModel;
        43: .line 630
            iload 7 /* numBands */
            newarray 10
            astore 10 /* bandOffsets */
        start local 10 // int[] bandOffsets
        44: .line 631
            aload 10 /* bandOffsets */
            iconst_0
            iconst_0
            iastore
        45: .line 632
            iload 7 /* numBands */
            iconst_2
            if_icmpne 47
        46: .line 633
            aload 10 /* bandOffsets */
            iconst_1
            iconst_1
            iastore
        47: .line 636
      StackMap locals: int[]
      StackMap stack:
            iconst_1
            istore 11 /* w */
        start local 11 // int w
        48: .line 637
            iconst_1
            istore 12 /* h */
        start local 12 // int h
        49: .line 638
            aload 0 /* this */
        50: .line 639
            new java.awt.image.PixelInterleavedSampleModel
            dup
            iload 2 /* dataType */
        51: .line 640
            iload 11 /* w */
            iload 12 /* h */
        52: .line 641
            iload 7 /* numBands */
            iload 11 /* w */
            iload 7 /* numBands */
            imul
        53: .line 642
            aload 10 /* bandOffsets */
        54: .line 639
            invokespecial java.awt.image.PixelInterleavedSampleModel.<init>:(IIIII[I)V
        55: .line 638
            putfield javax.imageio.ImageTypeSpecifier$Grayscale.sampleModel:Ljava/awt/image/SampleModel;
        end local 12 // int h
        end local 11 // int w
        end local 10 // int[] bandOffsets
        end local 9 // int[] nBits
        end local 8 // int transparency
        end local 7 // int numBands
        56: .line 643
            goto 70
        57: .line 644
      StackMap locals: javax.imageio.ImageTypeSpecifier$Grayscale int int int int int java.awt.color.ColorSpace
      StackMap stack:
            iconst_1
            iload 1 /* bits */
            ishl
            istore 7 /* numEntries */
        start local 7 // int numEntries
        58: .line 645
            iload 7 /* numEntries */
            newarray 8
            astore 8 /* arr */
        start local 8 // byte[] arr
        59: .line 646
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        60: goto 63
        61: .line 647
      StackMap locals: int byte[] int
      StackMap stack:
            aload 8 /* arr */
            iload 9 /* i */
            iload 9 /* i */
            sipush 255
            imul
            iload 7 /* numEntries */
            iconst_1
            isub
            idiv
            i2b
            bastore
        62: .line 646
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        63: iload 9 /* i */
            iload 7 /* numEntries */
            if_icmplt 61
        end local 9 // int i
        64: .line 649
            aload 0 /* this */
        65: .line 650
            new java.awt.image.IndexColorModel
            dup
            iload 1 /* bits */
            iload 7 /* numEntries */
            aload 8 /* arr */
            aload 8 /* arr */
            aload 8 /* arr */
            invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[B)V
        66: .line 649
            putfield javax.imageio.ImageTypeSpecifier$Grayscale.colorModel:Ljava/awt/image/ColorModel;
        67: .line 652
            aload 0 /* this */
        68: .line 653
            new java.awt.image.MultiPixelPackedSampleModel
            dup
            iload 2 /* dataType */
            iconst_1
            iconst_1
            iload 1 /* bits */
            invokespecial java.awt.image.MultiPixelPackedSampleModel.<init>:(IIII)V
        69: .line 652
            putfield javax.imageio.ImageTypeSpecifier$Grayscale.sampleModel:Ljava/awt/image/SampleModel;
        end local 8 // byte[] arr
        end local 7 // int numEntries
        70: .line 655
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.awt.color.ColorSpace colorSpace
        end local 5 // boolean isAlphaPremultiplied
        end local 4 // boolean hasAlpha
        end local 3 // boolean isSigned
        end local 2 // int dataType
        end local 1 // int bits
        end local 0 // javax.imageio.ImageTypeSpecifier$Grayscale this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   71     0                  this  Ljavax/imageio/ImageTypeSpecifier$Grayscale;
            0   71     1                  bits  I
            0   71     2              dataType  I
            0   71     3              isSigned  Z
            0   71     4              hasAlpha  Z
            0   71     5  isAlphaPremultiplied  Z
           20   71     6            colorSpace  Ljava/awt/color/ColorSpace;
           27   56     7              numBands  I
           30   56     8          transparency  I
           31   56     9                 nBits  [I
           44   56    10           bandOffsets  [I
           48   56    11                     w  I
           49   56    12                     h  I
           58   70     7            numEntries  I
           59   70     8                   arr  [B
           60   64     9                     i  I
    MethodParameters:
                      Name  Flags
      bits                  
      dataType              
      isSigned              
      hasAlpha              
      isAlphaPremultiplied  
}
SourceFile: "ImageTypeSpecifier.java"
NestHost: javax.imageio.ImageTypeSpecifier
InnerClasses:
  Grayscale = javax.imageio.ImageTypeSpecifier$Grayscale of javax.imageio.ImageTypeSpecifier