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