class com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord implements com.sun.prism.impl.Disposer$Record
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord
  super_class: java.lang.Object
{
  private final com.sun.prism.es2.ES2Context context;
    descriptor: Lcom/sun/prism/es2/ES2Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int vertexShaderID;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int[] fragmentShaderID;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int programID;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private void <init>(com.sun.prism.es2.ES2Context, int, int[], int);
    descriptor: (Lcom/sun/prism/es2/ES2Context;I[II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord this
        start local 1 // com.sun.prism.es2.ES2Context context
        start local 2 // int vertexShaderID
        start local 3 // int[] fragmentShaderID
        start local 4 // int programID
         0: .line 591
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 595
            aload 0 /* this */
            aload 1 /* context */
            putfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.context:Lcom/sun/prism/es2/ES2Context;
         2: .line 596
            aload 0 /* this */
            iload 2 /* vertexShaderID */
            putfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.vertexShaderID:I
         3: .line 597
            aload 0 /* this */
            aload 3 /* fragmentShaderID */
            putfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.fragmentShaderID:[I
         4: .line 598
            aload 0 /* this */
            iload 4 /* programID */
            putfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.programID:I
         5: .line 599
            return
        end local 4 // int programID
        end local 3 // int[] fragmentShaderID
        end local 2 // int vertexShaderID
        end local 1 // com.sun.prism.es2.ES2Context context
        end local 0 // com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lcom/sun/prism/es2/ES2Shader$ES2ShaderDisposerRecord;
            0    6     1           context  Lcom/sun/prism/es2/ES2Context;
            0    6     2    vertexShaderID  I
            0    6     3  fragmentShaderID  [I
            0    6     4         programID  I
    MethodParameters:
                  Name  Flags
      context           
      vertexShaderID    
      fragmentShaderID  
      programID         

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord this
         0: .line 603
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.programID:I
            ifeq 6
         1: .line 604
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.context:Lcom/sun/prism/es2/ES2Context;
            invokevirtual com.sun.prism.es2.ES2Context.getGLContext:()Lcom/sun/prism/es2/GLContext;
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.programID:I
         2: .line 605
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.vertexShaderID:I
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.fragmentShaderID:[I
         3: .line 604
            invokevirtual com.sun.prism.es2.GLContext.disposeShaders:(II[I)V
         4: .line 606
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            dup_x1
            putfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.vertexShaderID:I
            putfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.programID:I
         5: .line 607
            aload 0 /* this */
            aconst_null
            putfield com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord.fragmentShaderID:[I
         6: .line 609
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/prism/es2/ES2Shader$ES2ShaderDisposerRecord;
}
SourceFile: "ES2Shader.java"
NestHost: com.sun.prism.es2.ES2Shader
InnerClasses:
  private ES2ShaderDisposerRecord = com.sun.prism.es2.ES2Shader$ES2ShaderDisposerRecord of com.sun.prism.es2.ES2Shader
  public abstract Record = com.sun.prism.impl.Disposer$Record of com.sun.prism.impl.Disposer