public class org.jruby.runtime.opto.ConstantCache
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.runtime.opto.ConstantCache
  super_class: java.lang.Object
{
  public final org.jruby.runtime.builtin.IRubyObject value;
    descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final java.lang.Object generation;
    descriptor: Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.jruby.runtime.opto.Invalidator invalidator;
    descriptor: Lorg/jruby/runtime/opto/Invalidator;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int id;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public void <init>(org.jruby.runtime.builtin.IRubyObject, java.lang.Object, org.jruby.runtime.opto.Invalidator, int);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/Object;Lorg/jruby/runtime/opto/Invalidator;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.jruby.runtime.opto.ConstantCache this
        start local 1 // org.jruby.runtime.builtin.IRubyObject value
        start local 2 // java.lang.Object generation
        start local 3 // org.jruby.runtime.opto.Invalidator invalidator
        start local 4 // int targetHash
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            aload 1 /* value */
            putfield org.jruby.runtime.opto.ConstantCache.value:Lorg/jruby/runtime/builtin/IRubyObject;
         2: .line 56
            aload 0 /* this */
            aload 2 /* generation */
            putfield org.jruby.runtime.opto.ConstantCache.generation:Ljava/lang/Object;
         3: .line 57
            aload 0 /* this */
            aload 3 /* invalidator */
            putfield org.jruby.runtime.opto.ConstantCache.invalidator:Lorg/jruby/runtime/opto/Invalidator;
         4: .line 58
            aload 0 /* this */
            iload 4 /* targetHash */
            putfield org.jruby.runtime.opto.ConstantCache.id:I
         5: .line 59
            return
        end local 4 // int targetHash
        end local 3 // org.jruby.runtime.opto.Invalidator invalidator
        end local 2 // java.lang.Object generation
        end local 1 // org.jruby.runtime.builtin.IRubyObject value
        end local 0 // org.jruby.runtime.opto.ConstantCache this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/jruby/runtime/opto/ConstantCache;
            0    6     1        value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     2   generation  Ljava/lang/Object;
            0    6     3  invalidator  Lorg/jruby/runtime/opto/Invalidator;
            0    6     4   targetHash  I
    MethodParameters:
             Name  Flags
      value        
      generation   
      invalidator  
      targetHash   

  public void <init>(org.jruby.runtime.builtin.IRubyObject, java.lang.Object, org.jruby.runtime.opto.Invalidator);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/Object;Lorg/jruby/runtime/opto/Invalidator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.runtime.opto.ConstantCache this
        start local 1 // org.jruby.runtime.builtin.IRubyObject value
        start local 2 // java.lang.Object generation
        start local 3 // org.jruby.runtime.opto.Invalidator invalidator
         0: .line 69
            aload 0 /* this */
            aload 1 /* value */
            aload 2 /* generation */
            aload 3 /* invalidator */
            iconst_m1
            invokespecial org.jruby.runtime.opto.ConstantCache.<init>:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/Object;Lorg/jruby/runtime/opto/Invalidator;I)V
         1: .line 70
            return
        end local 3 // org.jruby.runtime.opto.Invalidator invalidator
        end local 2 // java.lang.Object generation
        end local 1 // org.jruby.runtime.builtin.IRubyObject value
        end local 0 // org.jruby.runtime.opto.ConstantCache this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jruby/runtime/opto/ConstantCache;
            0    2     1        value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2   generation  Ljava/lang/Object;
            0    2     3  invalidator  Lorg/jruby/runtime/opto/Invalidator;
    MethodParameters:
             Name  Flags
      value        
      generation   
      invalidator  

  public static boolean isCachedFrom(org.jruby.RubyModule, org.jruby.runtime.opto.ConstantCache);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/runtime/opto/ConstantCache;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyModule target
        start local 1 // org.jruby.runtime.opto.ConstantCache cache
         0: .line 78
            aload 1 /* cache */
            ifnull 5
         1: .line 79
            aload 1 /* cache */
            getfield org.jruby.runtime.opto.ConstantCache.value:Lorg/jruby/runtime/builtin/IRubyObject;
            ifnull 5
         2: .line 80
            aload 1 /* cache */
            getfield org.jruby.runtime.opto.ConstantCache.generation:Ljava/lang/Object;
            aload 1 /* cache */
            getfield org.jruby.runtime.opto.ConstantCache.invalidator:Lorg/jruby/runtime/opto/Invalidator;
            invokeinterface org.jruby.runtime.opto.Invalidator.getData:()Ljava/lang/Object;
            if_acmpne 5
         3: .line 81
            aload 1 /* cache */
            getfield org.jruby.runtime.opto.ConstantCache.id:I
            aload 0 /* target */
            getfield org.jruby.RubyModule.id:I
            if_icmpne 5
         4: .line 78
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // org.jruby.runtime.opto.ConstantCache cache
        end local 0 // org.jruby.RubyModule target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  target  Lorg/jruby/RubyModule;
            0    6     1   cache  Lorg/jruby/runtime/opto/ConstantCache;
    MethodParameters:
        Name  Flags
      target  
      cache   

  public static boolean isCached(org.jruby.runtime.opto.ConstantCache);
    descriptor: (Lorg/jruby/runtime/opto/ConstantCache;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.opto.ConstantCache cache
         0: .line 90
            aload 0 /* cache */
            ifnull 4
         1: .line 91
            aload 0 /* cache */
            getfield org.jruby.runtime.opto.ConstantCache.value:Lorg/jruby/runtime/builtin/IRubyObject;
            ifnull 4
         2: .line 92
            aload 0 /* cache */
            getfield org.jruby.runtime.opto.ConstantCache.generation:Ljava/lang/Object;
            aload 0 /* cache */
            getfield org.jruby.runtime.opto.ConstantCache.invalidator:Lorg/jruby/runtime/opto/Invalidator;
            invokeinterface org.jruby.runtime.opto.Invalidator.getData:()Ljava/lang/Object;
            if_acmpne 4
         3: .line 90
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // org.jruby.runtime.opto.ConstantCache cache
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  cache  Lorg/jruby/runtime/opto/ConstantCache;
    MethodParameters:
       Name  Flags
      cache  
}
SourceFile: "ConstantCache.java"