public class org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
super_class: java.lang.Object
{
private static final int N_SHORTS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private long highBits;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long lowBits;
descriptor: J
flags: (0x0002) ACC_PRIVATE
void <init>(long, long);
descriptor: (JJ)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
lload 1
putfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
2: aload 0
lload 3
putfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
3: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 4 1 highBits J
0 4 3 lowBits J
MethodParameters:
Name Flags
highBits
lowBits
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
public org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address fromString(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "can not parse [null]"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.removeScope:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 3: aload 0
aload 2
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.rewriteIPv4MappedNotation:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 4: aload 0
aload 3
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.expandShortNotation:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 5: aload 0
aload 1
aload 4
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.tryParseStringArrayIntoLongArray:(Ljava/lang/String;Ljava/lang/String;)[J
astore 5
start local 5 6: aload 0
aload 5
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.mergeLongArrayIntoIPv6Address:([J)Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
areturn
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 7 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 7 1 string Ljava/lang/String;
3 7 2 withoutScope Ljava/lang/String;
4 7 3 withoutIPv4MappedNotation Ljava/lang/String;
5 7 4 longNotation Ljava/lang/String;
6 7 5 longs [J
MethodParameters:
Name Flags
string
public java.net.InetAddress toInetAddress();
descriptor: ()Ljava/net/InetAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.toString:()Ljava/lang/String;
invokestatic java.net.Inet6Address.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
Exceptions:
throws java.net.UnknownHostException
private org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address mergeLongArrayIntoIPv6Address(long[]);
descriptor: ([J)Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: lconst_0
lstore 4
start local 4 2: iconst_0
istore 6
start local 6 3: goto 9
4: StackMap locals: long long int
StackMap stack:
aload 0
iload 6
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.inHighRange:(I)Z
ifeq 7
5: lload 2
aload 1
iload 6
laload
aload 1
arraylength
iload 6
isub
iconst_1
isub
bipush 16
imul
lshl
lor
lstore 2
6: goto 8
7: StackMap locals:
StackMap stack:
lload 4
aload 1
iload 6
laload
aload 1
arraylength
iload 6
isub
iconst_1
isub
bipush 16
imul
lshl
lor
lstore 4
8: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
aload 1
arraylength
if_icmplt 4
end local 6 10: new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
lload 2
lload 4
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 11 1 longs [J
1 11 2 high J
2 11 4 low J
3 10 6 i I
MethodParameters:
Name Flags
longs
private java.lang.String rewriteIPv4MappedNotation(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: aload 1
ldc "."
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc ":"
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
istore 2
start local 2 3: aload 1
iconst_0
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 4: aload 1
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
start local 4 5: aload 4
ldc "."
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 21
6: ldc "\\."
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
aload 4
invokevirtual java.util.regex.Pattern.split:(Ljava/lang/CharSequence;)[Ljava/lang/String;
astore 5
start local 5 7: aload 5
arraylength
iconst_4
if_icmpeq 9
8: new java.lang.IllegalArgumentException
dup
ldc "can not parse [%s]"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address java.lang.String int java.lang.String java.lang.String java.lang.String[]
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 10: aload 6
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: aload 5
iconst_0
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 7
start local 7 12: aload 5
iconst_1
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 8
start local 8 13: aload 5
iconst_2
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 9
start local 9 14: aload 5
iconst_3
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 10
start local 10 15: aload 6
ldc "%02x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 6
ldc "%02x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 8
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: aload 6
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: aload 6
ldc "%02x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: aload 6
ldc "%02x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 21: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "can not parse [%s]"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 22 1 string Ljava/lang/String;
3 22 2 lastColon I
4 22 3 firstPart Ljava/lang/String;
5 22 4 mappedIPv4Part Ljava/lang/String;
7 21 5 dotSplits [Ljava/lang/String;
10 21 6 rewrittenString Ljava/lang/StringBuilder;
12 21 7 byteZero I
13 21 8 byteOne I
14 21 9 byteTwo I
15 21 10 byteThree I
MethodParameters:
Name Flags
string
private long[] tryParseStringArrayIntoLongArray(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)[J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.parseStringArrayIntoLongArray:([Ljava/lang/String;)[J
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "can not parse ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 4 1 string Ljava/lang/String;
0 4 2 longNotation Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
string
longNotation
private long[] parseStringArrayIntoLongArray(java.lang.String[]);
descriptor: ([Ljava/lang/String;)[J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
arraylength
newarray 11
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: long[] int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
aaload
bipush 16
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;I)J
lastore
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 7 1 strings [Ljava/lang/String;
1 7 2 longs [J
2 6 3 i I
MethodParameters:
Name Flags
strings
private java.lang.String expandShortNotation(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "::"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc "::"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
bipush 8
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.generateZeroes:(I)Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
bipush 58
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.countOccurrences:(Ljava/lang/String;C)I
istore 2
start local 2 5: aload 1
ldc "::"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 7
6: aload 1
ldc "::"
aload 0
bipush 9
iload 2
isub
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.generateZeroes:(I)Ljava/lang/String;
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
areturn
7: StackMap locals: int
StackMap stack:
aload 1
ldc "::"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 9
8: aload 1
ldc "::"
new java.lang.StringBuilder
dup
ldc ":"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
bipush 9
iload 2
isub
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.generateZeroes:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
areturn
9: StackMap locals:
StackMap stack:
aload 1
ldc "::"
new java.lang.StringBuilder
dup
ldc ":"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
bipush 8
iload 2
isub
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.generateZeroes:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 10 1 string Ljava/lang/String;
5 10 2 numberOfColons I
MethodParameters:
Name Flags
string
private int countOccurrences(java.lang.String, char);
descriptor: (Ljava/lang/String;C)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
iload 2
if_icmpne 5
4: iinc 3 1
5: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 3
end local 4 7: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 8 1 haystack Ljava/lang/String;
0 8 2 needle C
1 8 3 count I
2 7 4 i I
MethodParameters:
Name Flags
haystack
needle
private java.lang.String generateZeroes(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 2
ldc "0:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 1
if_icmplt 3
end local 3 6: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 7 1 number I
1 7 2 builder Ljava/lang/StringBuilder;
2 6 3 i I
MethodParameters:
Name Flags
number
private java.lang.String removeScope(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
bipush 37
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpeq 3
2: aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
3: StackMap locals: int
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 4 1 string Ljava/lang/String;
1 4 2 hasScope I
MethodParameters:
Name Flags
string
public org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address add(int);
descriptor: (I)Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
iload 1
i2l
ladd
lstore 2
start local 2 1: iload 1
iflt 5
2: aload 0
lload 2
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.isLessThanUnsigned:(JJ)Z
ifeq 4
3: new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lconst_1
ladd
lload 2
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
4: StackMap locals: long
StackMap stack:
new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lload 2
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
lload 2
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.isLessThanUnsigned:(JJ)Z
ifeq 7
6: new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lconst_1
lsub
lload 2
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
7: StackMap locals:
StackMap stack:
new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lload 2
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 8 1 value I
1 8 2 newLowBits J
MethodParameters:
Name Flags
value
public org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address subtract(int);
descriptor: (I)Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
iload 1
i2l
lsub
lstore 2
start local 2 1: iload 1
iflt 5
2: aload 0
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
lload 2
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.isLessThanUnsigned:(JJ)Z
ifeq 4
3: new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lconst_1
lsub
lload 2
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
4: StackMap locals: long
StackMap stack:
new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lload 2
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
5: StackMap locals:
StackMap stack:
aload 0
lload 2
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.isLessThanUnsigned:(JJ)Z
ifeq 7
6: new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lconst_1
ladd
lload 2
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
7: StackMap locals:
StackMap stack:
new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lload 2
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 8 1 value I
1 8 2 newLowBits J
MethodParameters:
Name Flags
value
private boolean isLessThanUnsigned(long, long);
descriptor: (JJ)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
lcmp
ifge 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: lload 1
lconst_0
lcmp
ifge 3
iconst_1
goto 4
StackMap locals:
StackMap stack: int
3: iconst_0
StackMap locals: org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address long long
StackMap stack: int int
4: lload 3
lconst_0
lcmp
ifge 5
iconst_1
goto 6
StackMap locals: org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address long long
StackMap stack: int int
5: iconst_0
StackMap locals: org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address long long
StackMap stack: int int int
6: ixor
ixor
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 7 1 a J
0 7 3 b J
MethodParameters:
Name Flags
a
b
public org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address maskWithNetworkMask(org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask);
descriptor: (Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6NetworkMask;)Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask.asPrefixLength:()I
sipush 128
if_icmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask.asPrefixLength:()I
bipush 64
if_icmpne 4
3: new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lconst_0
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask.asPrefixLength:()I
ifne 6
5: new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
lconst_0
lconst_0
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask.asPrefixLength:()I
bipush 64
if_icmple 9
7: aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask.asPrefixLength:()I
bipush 64
isub
istore 2
start local 2 8: new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
ldc -1
bipush 64
iload 2
isub
lshl
land
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
end local 2 9: StackMap locals:
StackMap stack:
new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
ldc -1
bipush 64
aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask.asPrefixLength:()I
isub
lshl
land
lconst_0
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 10 1 networkMask Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6NetworkMask;
8 9 2 remainingPrefixLength I
MethodParameters:
Name Flags
networkMask final
public org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address maximumAddressWithNetworkMask(org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask);
descriptor: (Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6NetworkMask;)Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask.asPrefixLength:()I
sipush 128
if_icmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask.asPrefixLength:()I
bipush 64
if_icmpne 4
3: new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
ldc -1
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask.asPrefixLength:()I
bipush 64
if_icmple 7
5: aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask.asPrefixLength:()I
bipush 64
isub
istore 2
start local 2 6: new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
ldc -1
iload 2
lushr
lor
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
end local 2 7: StackMap locals:
StackMap stack:
new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
ldc -1
aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask.asPrefixLength:()I
lushr
lor
ldc -1
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 8 1 networkMask Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6NetworkMask;
6 7 2 remainingPrefixLength I
MethodParameters:
Name Flags
networkMask final
public boolean isIPv4Mapped();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lconst_0
lcmp
ifne 4
1: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
ldc -281474976710656
land
lconst_0
lcmp
ifne 4
2: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
ldc 281470681743360
land
ldc 281470681743360
lcmp
ifne 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.isIPv4Mapped:()Z
ifeq 2
1: aload 0
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.toIPv4MappedAddressString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.toShortHandNotationString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
private java.lang.String toIPv4MappedAddressString();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
ldc 4278190080
land
bipush 24
lshr
l2i
istore 1
start local 1 1: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
ldc 16711680
land
bipush 16
lshr
l2i
istore 2
start local 2 2: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
ldc 65280
land
bipush 8
lshr
l2i
istore 3
start local 3 3: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
ldc 255
land
l2i
istore 4
start local 4 4: new java.lang.StringBuilder
dup
ldc "::ffff:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 5
start local 5 5: aload 5
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
6: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 7 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
1 7 1 byteZero I
2 7 2 byteOne I
3 7 3 byteTwo I
4 7 4 byteThree I
5 7 5 result Ljava/lang/StringBuilder;
private java.lang.String toShortHandNotationString();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.toArrayOfShortStrings:()[Ljava/lang/String;
astore 1
start local 1 1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 2: aload 0
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.startAndLengthOfLongestRunOfZeroes:()[I
astore 3
start local 3 3: aload 3
iconst_0
iaload
istore 4
start local 4 4: aload 3
iconst_1
iaload
istore 5
start local 5 5: iload 5
iconst_1
if_icmple 6
iconst_1
goto 7
StackMap locals: org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address java.lang.String[] java.lang.StringBuilder int[] int int
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 6
start local 6 8: iconst_0
istore 7
start local 7 9: goto 21
10: StackMap locals: int int
StackMap stack:
iload 6
ifeq 16
iload 7
iload 4
if_icmpne 16
11: iload 7
ifne 14
12: aload 2
ldc "::"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: goto 20
14: StackMap locals:
StackMap stack:
aload 2
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: goto 20
StackMap locals:
StackMap stack:
16: iload 7
iload 4
if_icmple 17
iload 7
iload 4
iload 5
iadd
if_icmplt 20
17: StackMap locals:
StackMap stack:
aload 2
aload 1
iload 7
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: iload 7
bipush 7
if_icmpge 20
19: aload 2
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
21: iload 7
aload 1
arraylength
if_icmplt 10
end local 7 22: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
areturn
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 23 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
1 23 1 strings [Ljava/lang/String;
2 23 2 result Ljava/lang/StringBuilder;
3 23 3 shortHandNotationPositionAndLength [I
4 23 4 shortHandNotationPosition I
5 23 5 shortHandNotationLength I
8 23 6 useShortHandNotation Z
9 22 7 i I
private java.lang.String[] toArrayOfShortStrings();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.toShortArray:()[S
astore 1
start local 1 1: aload 1
arraylength
anewarray java.lang.String
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: short[] java.lang.String[] int
StackMap stack:
aload 2
iload 3
ldc "%x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
iload 3
saload
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
1 8 1 shorts [S
2 8 2 strings [Ljava/lang/String;
3 7 3 i I
private short[] toShortArray();
descriptor: ()[S
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: bipush 8
newarray 9
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 8
3: StackMap locals: short[] int
StackMap stack:
aload 0
iload 2
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.inHighRange:(I)Z
ifeq 6
4: aload 1
iload 2
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
iload 2
bipush 16
imul
lshl
bipush 112
lushr
ldc 65535
land
l2i
i2s
sastore
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
iload 2
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
iload 2
bipush 16
imul
lshl
bipush 112
lushr
ldc 65535
land
l2i
i2s
sastore
7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
bipush 8
if_icmplt 3
end local 2 9: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
1 10 1 shorts [S
2 9 2 i I
private boolean inHighRange(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
iconst_4
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 2 1 shortNumber I
MethodParameters:
Name Flags
shortNumber
int[] startAndLengthOfLongestRunOfZeroes();
descriptor: ()[I
flags: (0x0000)
Code:
stack=4, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_m1
istore 2
start local 2 2: aload 0
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.toShortArray:()[S
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 10
5: StackMap locals: org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address int int short[] int
StackMap stack:
aload 0
aload 3
iload 4
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.countConsecutiveZeroes:([SI)I
istore 5
start local 5 6: iload 5
iload 1
if_icmple 9
7: iload 5
istore 1
8: iload 4
istore 2
end local 5 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 3
arraylength
if_icmplt 5
end local 4 11: iconst_2
newarray 10
dup
iconst_0
iload 2
iastore
dup
iconst_1
iload 1
iastore
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
1 12 1 longestConsecutiveZeroes I
2 12 2 longestConsecutiveZeroesPos I
3 12 3 shorts [S
4 11 4 pos I
6 9 5 consecutiveZeroesAtCurrentPos I
private int countConsecutiveZeroes(short[], int);
descriptor: ([SI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iload 2
istore 4
start local 4 2: goto 5
3: StackMap locals: int int
StackMap stack:
iinc 3 1
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
aload 1
arraylength
if_icmpge 6
aload 1
iload 4
saload
ifeq 3
end local 4 6: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
0 7 1 shorts [S
0 7 2 offset I
1 7 3 count I
2 6 4 i I
MethodParameters:
Name Flags
shorts
offset
public long getHighBits();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
public long getLowBits();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
public int numberOfTrailingZeroes();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
lconst_0
lcmp
ifne 2
1: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
bipush 64
iadd
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
3: StackMap locals:
StackMap stack: int
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
public int numberOfTrailingOnes();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.add:(I)Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
astore 1
start local 1 1: aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.getLowBits:()J
lconst_0
lcmp
ifne 3
2: aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.getHighBits:()J
invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
bipush 64
iadd
goto 4
3: StackMap locals: org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
StackMap stack:
aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.getLowBits:()J
invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
4: StackMap locals:
StackMap stack: int
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
1 5 1 plusOne Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
public int numberOfLeadingZeroes();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
lconst_0
lcmp
ifne 2
1: aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
bipush 64
iadd
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
3: StackMap locals:
StackMap stack: int
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
public int numberOfLeadingOnes();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: new org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address
dup
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.highBits:J
ldc -1
lxor
aload 0
getfield org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.lowBits:J
ldc -1
lxor
invokespecial org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.<init>:(JJ)V
astore 1
start local 1 1: aload 1
invokevirtual org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address.numberOfLeadingZeroes:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
1 2 1 flipped Lorg/jruby/ext/socket/SocketUtilsIPV6$IPv6Address;
}
SourceFile: "SocketUtilsIPV6.java"
NestHost: org.jruby.ext.socket.SocketUtilsIPV6
InnerClasses:
public IPv6Address = org.jruby.ext.socket.SocketUtilsIPV6$IPv6Address of org.jruby.ext.socket.SocketUtilsIPV6
public IPv6NetworkMask = org.jruby.ext.socket.SocketUtilsIPV6$IPv6NetworkMask of org.jruby.ext.socket.SocketUtilsIPV6