public class org.jruby.ast.util.SexpMaker
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ast.util.SexpMaker
  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.ast.util.SexpMaker this
         0: .line 10
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.ast.util.SexpMaker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ast/util/SexpMaker;

  public static java.lang.String sha1(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.jruby.ir.IRScope scope
         0: .line 66
            ldc "SHA1"
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 1 /* sha1 */
        start local 1 // java.security.MessageDigest sha1
         1: .line 67
            goto 4
        end local 1 // java.security.MessageDigest sha1
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
         2: astore 2 /* nsae */
        start local 2 // java.security.NoSuchAlgorithmException nsae
         3: .line 68
            new java.lang.RuntimeException
            dup
            aload 2 /* nsae */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.NoSuchAlgorithmException nsae
        start local 1 // java.security.MessageDigest sha1
         4: .line 71
      StackMap locals: java.security.MessageDigest
      StackMap stack:
            new org.jruby.ast.util.SexpMaker$DigestBuilder
            dup
            aload 1 /* sha1 */
            invokespecial org.jruby.ast.util.SexpMaker$DigestBuilder.<init>:(Ljava/security/MessageDigest;)V
            astore 2 /* builder */
        start local 2 // org.jruby.ast.util.SexpMaker$DigestBuilder builder
         5: .line 72
            aload 2 /* builder */
            aload 0 /* scope */
            invokevirtual org.jruby.ir.IRScope.getId:()Ljava/lang/String;
            invokevirtual org.jruby.ast.util.SexpMaker$DigestBuilder.append:(Ljava/lang/String;)Lorg/jruby/ast/util/SexpMaker$DigestBuilder;
            bipush 10
            invokevirtual org.jruby.ast.util.SexpMaker$DigestBuilder.append:(C)Lorg/jruby/ast/util/SexpMaker$DigestBuilder;
            aload 0 /* scope */
            invokevirtual org.jruby.ir.IRScope.getScopeId:()I
            invokevirtual org.jruby.ast.util.SexpMaker$DigestBuilder.append:(I)Lorg/jruby/ast/util/SexpMaker$DigestBuilder;
            pop
         6: .line 74
            aload 2 /* builder */
            getfield org.jruby.ast.util.SexpMaker$DigestBuilder.digest:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.digest:()[B
            astore 3 /* digest */
        start local 3 // byte[] digest
         7: .line 76
            new java.lang.String
            dup
            aload 3 /* digest */
            iconst_0
            invokestatic org.jruby.util.ConvertBytes.twosComplementToHexBytes:([BZ)[B
            invokespecial java.lang.String.<init>:([B)V
            areturn
        end local 3 // byte[] digest
        end local 2 // org.jruby.ast.util.SexpMaker$DigestBuilder builder
        end local 1 // java.security.MessageDigest sha1
        end local 0 // org.jruby.ir.IRScope scope
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0    scope  Lorg/jruby/ir/IRScope;
            1    2     1     sha1  Ljava/security/MessageDigest;
            4    8     1     sha1  Ljava/security/MessageDigest;
            3    4     2     nsae  Ljava/security/NoSuchAlgorithmException;
            5    8     2  builder  Lorg/jruby/ast/util/SexpMaker$DigestBuilder;
            7    8     3   digest  [B
      Exception table:
        from    to  target  type
           0     1       2  Class java.security.NoSuchAlgorithmException
    MethodParameters:
       Name  Flags
      scope  
}
SourceFile: "SexpMaker.java"
NestMembers:
  org.jruby.ast.util.SexpMaker$DigestBuilder
InnerClasses:
  private DigestBuilder = org.jruby.ast.util.SexpMaker$DigestBuilder of org.jruby.ast.util.SexpMaker