public class org.jruby.ir.IRModuleBody extends org.jruby.ir.IRScope
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ir.IRModuleBody
  super_class: org.jruby.ir.IRScope
{
  private boolean executesOnce;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.jruby.ir.IRManager, org.jruby.ir.IRScope, org.jruby.util.ByteList, int, org.jruby.parser.StaticScope, boolean);
    descriptor: (Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/util/ByteList;ILorg/jruby/parser/StaticScope;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // org.jruby.ir.IRModuleBody this
        start local 1 // org.jruby.ir.IRManager manager
        start local 2 // org.jruby.ir.IRScope lexicalParent
        start local 3 // org.jruby.util.ByteList name
        start local 4 // int lineNumber
        start local 5 // org.jruby.parser.StaticScope staticScope
        start local 6 // boolean executesOnce
         0: .line 11
            aload 0 /* this */
            aload 1 /* manager */
            aload 2 /* lexicalParent */
            aload 3 /* name */
            iload 4 /* lineNumber */
            aload 5 /* staticScope */
            invokespecial org.jruby.ir.IRScope.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/util/ByteList;ILorg/jruby/parser/StaticScope;)V
         1: .line 13
            aload 0 /* this */
            iload 6 /* executesOnce */
            putfield org.jruby.ir.IRModuleBody.executesOnce:Z
         2: .line 15
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRModuleBody.getManager:()Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.isDryRun:()Z
            ifne 4
         3: .line 16
            aload 5 /* staticScope */
            ifnull 4
            aload 5 /* staticScope */
            aload 0 /* this */
            invokevirtual org.jruby.parser.StaticScope.setIRScope:(Lorg/jruby/ir/IRScope;)V
         4: .line 18
      StackMap locals: org.jruby.ir.IRModuleBody org.jruby.ir.IRManager org.jruby.ir.IRScope org.jruby.util.ByteList int org.jruby.parser.StaticScope int
      StackMap stack:
            return
        end local 6 // boolean executesOnce
        end local 5 // org.jruby.parser.StaticScope staticScope
        end local 4 // int lineNumber
        end local 3 // org.jruby.util.ByteList name
        end local 2 // org.jruby.ir.IRScope lexicalParent
        end local 1 // org.jruby.ir.IRManager manager
        end local 0 // org.jruby.ir.IRModuleBody this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/jruby/ir/IRModuleBody;
            0    5     1        manager  Lorg/jruby/ir/IRManager;
            0    5     2  lexicalParent  Lorg/jruby/ir/IRScope;
            0    5     3           name  Lorg/jruby/util/ByteList;
            0    5     4     lineNumber  I
            0    5     5    staticScope  Lorg/jruby/parser/StaticScope;
            0    5     6   executesOnce  Z
    MethodParameters:
               Name  Flags
      manager        
      lexicalParent  
      name           
      lineNumber     
      staticScope    
      executesOnce   

  public int getNearestModuleReferencingScopeDepth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRModuleBody this
         0: .line 22
            iconst_0
            ireturn
        end local 0 // org.jruby.ir.IRModuleBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRModuleBody;

  public org.jruby.ir.IRScopeType getScopeType();
    descriptor: ()Lorg/jruby/ir/IRScopeType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRModuleBody this
         0: .line 27
            getstatic org.jruby.ir.IRScopeType.MODULE_BODY:Lorg/jruby/ir/IRScopeType;
            areturn
        end local 0 // org.jruby.ir.IRModuleBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRModuleBody;

  public boolean isModuleBody();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRModuleBody this
         0: .line 32
            iconst_1
            ireturn
        end local 0 // org.jruby.ir.IRModuleBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRModuleBody;

  public void cleanupAfterExecution();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRModuleBody this
         0: .line 37
            aload 0 /* this */
            getfield org.jruby.ir.IRModuleBody.executesOnce:Z
            ifeq 4
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRModuleBody.getClosures:()Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 4
         1: .line 38
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ir.IRModuleBody.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
         2: .line 39
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ir.IRModuleBody.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
         3: .line 40
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ir.IRModuleBody.localVars:Ljava/util/Map;
         4: .line 42
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.ir.IRModuleBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/ir/IRModuleBody;

  public boolean executesOnce();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRModuleBody this
         0: .line 45
            aload 0 /* this */
            getfield org.jruby.ir.IRModuleBody.executesOnce:Z
            ireturn
        end local 0 // org.jruby.ir.IRModuleBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRModuleBody;
}
SourceFile: "IRModuleBody.java"