public abstract class org.jruby.ir.IRTranslator<R, S>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jruby.ir.IRTranslator
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRTranslator this
         0: .line 20
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.ir.IRTranslator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRTranslator<TR;TS;>;

  public R execute(org.jruby.Ruby, org.jruby.ParseResult, );
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/ParseResult;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.jruby.ir.IRTranslator this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.ParseResult result
        start local 3 // java.lang.Object specificObject
         0: .line 22
            aconst_null
            astore 4 /* scope */
        start local 4 // org.jruby.ir.IRScriptBody scope
         1: .line 24
            aload 2 /* result */
            instanceof org.jruby.ir.IRScriptBody
            ifeq 4
         2: .line 25
            aload 2 /* result */
            checkcast org.jruby.ir.IRScriptBody
            astore 4 /* scope */
         3: .line 26
            goto 14
      StackMap locals: org.jruby.ir.IRScriptBody
      StackMap stack:
         4: aload 2 /* result */
            instanceof org.jruby.ast.RootNode
            ifeq 14
         5: .line 28
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getIRManager:()Lorg/jruby/ir/IRManager;
            aload 2 /* result */
            checkcast org.jruby.ast.RootNode
            invokestatic org.jruby.ir.IRBuilder.buildRoot:(Lorg/jruby/ir/IRManager;Lorg/jruby/ast/RootNode;)Lorg/jruby/ir/interpreter/InterpreterContext;
            astore 5 /* ic */
        start local 5 // org.jruby.ir.interpreter.InterpreterContext ic
         6: .line 29
            aload 5 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            checkcast org.jruby.ir.IRScriptBody
            astore 4 /* scope */
         7: .line 30
            aload 4 /* scope */
            aload 2 /* result */
            checkcast org.jruby.ast.RootNode
            invokevirtual org.jruby.ast.RootNode.getScope:()Lorg/jruby/runtime/DynamicScope;
            invokevirtual org.jruby.ir.IRScriptBody.setScriptDynamicScope:(Lorg/jruby/runtime/DynamicScope;)V
         8: .line 32
            getstatic org.jruby.RubyInstanceConfig.IR_WRITING:Z
            ifeq 14
         9: .line 34
            new org.jruby.ir.persistence.IRWriterStream
            dup
            aload 4 /* scope */
            invokevirtual org.jruby.ir.IRScriptBody.getFileName:()Ljava/lang/String;
            invokestatic org.jruby.ir.persistence.util.IRFileExpert.getIRPersistedFile:(Ljava/lang/String;)Ljava/io/File;
            invokespecial org.jruby.ir.persistence.IRWriterStream.<init>:(Ljava/io/File;)V
            aload 4 /* scope */
            invokestatic org.jruby.ir.persistence.IRWriter.persist:(Lorg/jruby/ir/persistence/IRWriterEncoder;Lorg/jruby/ir/IRScope;)V
        10: .line 35
            goto 14
      StackMap locals: org.jruby.ir.IRTranslator org.jruby.Ruby org.jruby.ParseResult java.lang.Object org.jruby.ir.IRScriptBody org.jruby.ir.interpreter.InterpreterContext
      StackMap stack: java.io.IOException
        11: astore 6 /* ex */
        start local 6 // java.io.IOException ex
        12: .line 36
            aload 6 /* ex */
            invokevirtual java.io.IOException.printStackTrace:()V
        13: .line 37
            aconst_null
            areturn
        end local 6 // java.io.IOException ex
        end local 5 // org.jruby.ir.interpreter.InterpreterContext ic
        14: .line 42
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            aload 4 /* scope */
            aload 3 /* specificObject */
            invokevirtual org.jruby.ir.IRTranslator.execute:(Lorg/jruby/Ruby;Lorg/jruby/ir/IRScriptBody;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // org.jruby.ir.IRScriptBody scope
        end local 3 // java.lang.Object specificObject
        end local 2 // org.jruby.ParseResult result
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ir.IRTranslator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lorg/jruby/ir/IRTranslator<TR;TS;>;
            0   15     1         runtime  Lorg/jruby/Ruby;
            0   15     2          result  Lorg/jruby/ParseResult;
            0   15     3  specificObject  TS;
            1   15     4           scope  Lorg/jruby/ir/IRScriptBody;
            6   14     5              ic  Lorg/jruby/ir/interpreter/InterpreterContext;
           12   14     6              ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    10      11  Class java.io.IOException
    Signature: (Lorg/jruby/Ruby;Lorg/jruby/ParseResult;TS;)TR;
    MethodParameters:
                Name  Flags
      runtime         
      result          
      specificObject  

  protected abstract R execute(org.jruby.Ruby, org.jruby.ir.IRScriptBody, );
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/ir/IRScriptBody;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lorg/jruby/Ruby;Lorg/jruby/ir/IRScriptBody;TS;)TR;
    MethodParameters:
                 Name  Flags
      runtime          
      producedIrScope  
      specificObject   
}
Signature: <R:Ljava/lang/Object;S:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "IRTranslator.java"