final class org.jruby.RubySymbol$SymbolTable$SymbolEntry
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.jruby.RubySymbol$SymbolTable$SymbolEntry
super_class: java.lang.Object
{
final int hash;
descriptor: I
flags: (0x0010) ACC_FINAL
final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final org.jruby.util.ByteList bytes;
descriptor: Lorg/jruby/util/ByteList;
flags: (0x0010) ACC_FINAL
final java.lang.ref.WeakReference<org.jruby.RubySymbol> symbol;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0010) ACC_FINAL
Signature: Ljava/lang/ref/WeakReference<Lorg/jruby/RubySymbol;>;
org.jruby.RubySymbol hardReference;
descriptor: Lorg/jruby/RubySymbol;
flags: (0x0000)
org.jruby.RubySymbol$SymbolTable$SymbolEntry next;
descriptor: Lorg/jruby/RubySymbol$SymbolTable$SymbolEntry;
flags: (0x0000)
void <init>(int, java.lang.String, org.jruby.util.ByteList, org.jruby.RubySymbol, org.jruby.RubySymbol$SymbolTable$SymbolEntry, boolean);
descriptor: (ILjava/lang/String;Lorg/jruby/util/ByteList;Lorg/jruby/RubySymbol;Lorg/jruby/RubySymbol$SymbolTable$SymbolEntry;Z)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield org.jruby.RubySymbol$SymbolTable$SymbolEntry.hash:I
2: aload 0
aload 2
putfield org.jruby.RubySymbol$SymbolTable$SymbolEntry.name:Ljava/lang/String;
3: aload 0
aload 3
putfield org.jruby.RubySymbol$SymbolTable$SymbolEntry.bytes:Lorg/jruby/util/ByteList;
4: aload 0
new java.lang.ref.WeakReference
dup
aload 4
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield org.jruby.RubySymbol$SymbolTable$SymbolEntry.symbol:Ljava/lang/ref/WeakReference;
5: aload 0
aload 5
putfield org.jruby.RubySymbol$SymbolTable$SymbolEntry.next:Lorg/jruby/RubySymbol$SymbolTable$SymbolEntry;
6: iload 6
ifeq 7
aload 0
aload 4
putfield org.jruby.RubySymbol$SymbolTable$SymbolEntry.hardReference:Lorg/jruby/RubySymbol;
7: StackMap locals: org.jruby.RubySymbol$SymbolTable$SymbolEntry int java.lang.String org.jruby.util.ByteList org.jruby.RubySymbol org.jruby.RubySymbol$SymbolTable$SymbolEntry int
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/RubySymbol$SymbolTable$SymbolEntry;
0 8 1 hash I
0 8 2 name Ljava/lang/String;
0 8 3 bytes Lorg/jruby/util/ByteList;
0 8 4 symbol Lorg/jruby/RubySymbol;
0 8 5 next Lorg/jruby/RubySymbol$SymbolTable$SymbolEntry;
0 8 6 hard Z
MethodParameters:
Name Flags
hash
name
bytes
symbol
next
hard
public void setHardReference();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubySymbol$SymbolTable$SymbolEntry.hardReference:Lorg/jruby/RubySymbol;
ifnonnull 2
1: aload 0
aload 0
getfield org.jruby.RubySymbol$SymbolTable$SymbolEntry.symbol:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast org.jruby.RubySymbol
putfield org.jruby.RubySymbol$SymbolTable$SymbolEntry.hardReference:Lorg/jruby/RubySymbol;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubySymbol$SymbolTable$SymbolEntry;
}
SourceFile: "RubySymbol.java"
NestHost: org.jruby.RubySymbol
InnerClasses:
public final SymbolTable = org.jruby.RubySymbol$SymbolTable of org.jruby.RubySymbol
final SymbolEntry = org.jruby.RubySymbol$SymbolTable$SymbolEntry of org.jruby.RubySymbol$SymbolTable