public final class java.net.IDN
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.net.IDN
super_class: java.lang.Object
{
public static final int ALLOW_UNASSIGNED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int USE_STD3_ASCII_RULES;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final java.lang.String ACE_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "xn--"
private static final int ACE_PREFIX_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MAX_LABEL_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 63
private static sun.net.idn.StringPrep namePrep;
descriptor: Lsun/net/idn/StringPrep;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: ldc Ljava/net/IDN;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.net.IDN.$assertionsDisabled:Z
3: ldc "xn--"
invokevirtual java.lang.String.length:()I
putstatic java.net.IDN.ACE_PREFIX_LENGTH:I
4: aconst_null
putstatic java.net.IDN.namePrep:Lsun/net/idn/StringPrep;
5: aconst_null
astore 0
start local 0 6: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 9
7: new java.net.IDN$1
dup
invokespecial java.net.IDN$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.io.InputStream
astore 0
8: goto 10
9: StackMap locals: java.io.InputStream
StackMap stack:
ldc Lsun/net/idn/StringPrep;
ldc "uidna.spp"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 0
10: StackMap locals:
StackMap stack:
new sun.net.idn.StringPrep
dup
aload 0
invokespecial sun.net.idn.StringPrep.<init>:(Ljava/io/InputStream;)V
putstatic java.net.IDN.namePrep:Lsun/net/idn/StringPrep;
11: aload 0
invokevirtual java.io.InputStream.close:()V
12: goto 15
StackMap locals:
StackMap stack: java.io.IOException
13: pop
14: getstatic java.net.IDN.$assertionsDisabled:Z
ifne 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 0 15: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
6 15 0 stream Ljava/io/InputStream;
Exception table:
from to target type
6 12 13 Class java.io.IOException
public static java.lang.String toASCII(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 3: aload 0
invokestatic java.net.IDN.isRootLabel:(Ljava/lang/String;)Z
ifeq 10
4: ldc "."
areturn
5: StackMap locals: int int java.lang.StringBuilder
StackMap stack:
aload 0
iload 2
invokestatic java.net.IDN.searchDots:(Ljava/lang/String;I)I
istore 3
6: aload 4
aload 0
iload 2
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
iload 1
invokestatic java.net.IDN.toASCIIInternal:(Ljava/lang/String;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: iload 3
aload 0
invokevirtual java.lang.String.length:()I
if_icmpeq 9
8: aload 4
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
iload 3
iconst_1
iadd
istore 2
10: StackMap locals:
StackMap stack:
iload 2
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 5
11: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 input Ljava/lang/String;
0 12 1 flag I
1 12 2 p I
2 12 3 q I
3 12 4 out Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
input
flag
public static java.lang.String toASCII(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic java.net.IDN.toASCII:(Ljava/lang/String;I)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 input Ljava/lang/String;
MethodParameters:
Name Flags
input
public static java.lang.String toUnicode(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 3: aload 0
invokestatic java.net.IDN.isRootLabel:(Ljava/lang/String;)Z
ifeq 10
4: ldc "."
areturn
5: StackMap locals: int int java.lang.StringBuilder
StackMap stack:
aload 0
iload 2
invokestatic java.net.IDN.searchDots:(Ljava/lang/String;I)I
istore 3
6: aload 4
aload 0
iload 2
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
iload 1
invokestatic java.net.IDN.toUnicodeInternal:(Ljava/lang/String;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: iload 3
aload 0
invokevirtual java.lang.String.length:()I
if_icmpeq 9
8: aload 4
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
iload 3
iconst_1
iadd
istore 2
10: StackMap locals:
StackMap stack:
iload 2
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 5
11: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 input Ljava/lang/String;
0 12 1 flag I
1 12 2 p I
2 12 3 q I
3 12 4 out Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
input
flag
public static java.lang.String toUnicode(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic java.net.IDN.toUnicode:(Ljava/lang/String;I)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 input Ljava/lang/String;
MethodParameters:
Name Flags
input
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 Ljava/net/IDN;
private static java.lang.String toASCIIInternal(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.net.IDN.isAllASCII:(Ljava/lang/String;)Z
istore 2
start local 2 1: iload 2
ifne 7
2: aload 0
invokestatic sun.text.normalizer.UCharacterIterator.getInstance:(Ljava/lang/String;)Lsun/text/normalizer/UCharacterIterator;
astore 4
start local 4 3: getstatic java.net.IDN.namePrep:Lsun/net/idn/StringPrep;
aload 4
iload 1
invokevirtual sun.net.idn.StringPrep.prepare:(Lsun/text/normalizer/UCharacterIterator;I)Ljava/lang/StringBuffer;
astore 3
start local 3 4: goto 8
end local 3 StackMap locals: java.lang.String int int top sun.text.normalizer.UCharacterIterator
StackMap stack: java.text.ParseException
5: astore 5
start local 5 6: new java.lang.IllegalArgumentException
dup
aload 5
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 end local 4 7: StackMap locals: java.lang.String int int
StackMap stack:
new java.lang.StringBuffer
dup
aload 0
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 3
start local 3 8: StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 3
invokevirtual java.lang.StringBuffer.length:()I
ifne 12
9: new java.lang.IllegalArgumentException
dup
10: ldc "Empty label is not a legal name"
11: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
iload 1
iconst_2
iand
ifeq 13
iconst_1
goto 14
StackMap locals:
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 4
start local 4 15: iload 4
ifeq 30
16: iconst_0
istore 5
start local 5 17: goto 24
18: StackMap locals: int int
StackMap stack:
aload 3
iload 5
invokevirtual java.lang.StringBuffer.charAt:(I)C
istore 6
start local 6 19: iload 6
invokestatic java.net.IDN.isNonLDHAsciiCodePoint:(I)Z
ifeq 23
20: new java.lang.IllegalArgumentException
dup
21: ldc "Contains non-LDH ASCII characters"
22: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 6 23: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
24: iload 5
aload 3
invokevirtual java.lang.StringBuffer.length:()I
if_icmplt 18
end local 5 25: aload 3
iconst_0
invokevirtual java.lang.StringBuffer.charAt:(I)C
bipush 45
if_icmpeq 27
26: aload 3
aload 3
invokevirtual java.lang.StringBuffer.length:()I
iconst_1
isub
invokevirtual java.lang.StringBuffer.charAt:(I)C
bipush 45
if_icmpne 30
27: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
28: ldc "Has leading or trailing hyphen"
29: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
iload 2
ifne 41
31: aload 3
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokestatic java.net.IDN.isAllASCII:(Ljava/lang/String;)Z
ifne 41
32: aload 3
invokestatic java.net.IDN.startsWithACEPrefix:(Ljava/lang/StringBuffer;)Z
ifne 40
33: aload 3
aconst_null
invokestatic sun.net.idn.Punycode.encode:(Ljava/lang/StringBuffer;[Z)Ljava/lang/StringBuffer;
astore 3
34: goto 37
StackMap locals:
StackMap stack: java.text.ParseException
35: astore 5
start local 5 36: new java.lang.IllegalArgumentException
dup
aload 5
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 37: StackMap locals:
StackMap stack:
aload 3
invokestatic java.net.IDN.toASCIILower:(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
astore 3
38: aload 3
iconst_0
ldc "xn--"
invokevirtual java.lang.StringBuffer.insert:(ILjava/lang/String;)Ljava/lang/StringBuffer;
pop
39: goto 41
40: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "The input starts with the ACE Prefix"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuffer.length:()I
bipush 63
if_icmple 43
42: new java.lang.IllegalArgumentException
dup
ldc "The label in the input is too long"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 label Ljava/lang/String;
0 44 1 flag I
1 44 2 isASCII Z
4 5 3 dest Ljava/lang/StringBuffer;
8 44 3 dest Ljava/lang/StringBuffer;
3 7 4 iter Lsun/text/normalizer/UCharacterIterator;
6 7 5 e Ljava/text/ParseException;
15 44 4 useSTD3ASCIIRules Z
17 25 5 i I
19 23 6 c I
36 37 5 e Ljava/text/ParseException;
Exception table:
from to target type
3 4 5 Class java.text.ParseException
33 34 35 Class java.text.ParseException
MethodParameters:
Name Flags
label
flag
private static java.lang.String toUnicodeInternal(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.net.IDN.isAllASCII:(Ljava/lang/String;)Z
istore 3
start local 3 1: iload 3
ifne 7
2: aload 0
invokestatic sun.text.normalizer.UCharacterIterator.getInstance:(Ljava/lang/String;)Lsun/text/normalizer/UCharacterIterator;
astore 4
start local 4 3: getstatic java.net.IDN.namePrep:Lsun/net/idn/StringPrep;
aload 4
iload 1
invokevirtual sun.net.idn.StringPrep.prepare:(Lsun/text/normalizer/UCharacterIterator;I)Ljava/lang/StringBuffer;
astore 2
end local 4 start local 2 4: goto 8
end local 2 StackMap locals: java.lang.String int top int
StackMap stack: java.lang.Exception
5: pop
6: aload 0
areturn
7: StackMap locals:
StackMap stack:
new java.lang.StringBuffer
dup
aload 0
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 2
start local 2 8: StackMap locals: java.lang.String int java.lang.StringBuffer int
StackMap stack:
aload 2
invokestatic java.net.IDN.startsWithACEPrefix:(Ljava/lang/StringBuffer;)Z
ifeq 16
9: aload 2
getstatic java.net.IDN.ACE_PREFIX_LENGTH:I
aload 2
invokevirtual java.lang.StringBuffer.length:()I
invokevirtual java.lang.StringBuffer.substring:(II)Ljava/lang/String;
astore 4
start local 4 10: new java.lang.StringBuffer
dup
aload 4
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
aconst_null
invokestatic sun.net.idn.Punycode.decode:(Ljava/lang/StringBuffer;[Z)Ljava/lang/StringBuffer;
astore 5
start local 5 11: aload 5
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
iload 1
invokestatic java.net.IDN.toASCII:(Ljava/lang/String;I)Ljava/lang/String;
astore 6
start local 6 12: aload 6
aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 16
13: aload 5
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
14: areturn
end local 6 end local 5 15: StackMap locals: java.lang.String int java.lang.StringBuffer int java.lang.String
StackMap stack: java.lang.Exception
pop
end local 4 16: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 label Ljava/lang/String;
0 17 1 flag I
4 5 2 dest Ljava/lang/StringBuffer;
8 17 2 dest Ljava/lang/StringBuffer;
1 17 3 isASCII Z
3 4 4 iter Lsun/text/normalizer/UCharacterIterator;
10 16 4 temp Ljava/lang/String;
11 15 5 decodeOut Ljava/lang/StringBuffer;
12 15 6 toASCIIOut Ljava/lang/String;
Exception table:
from to target type
2 4 5 Class java.lang.Exception
10 14 15 Class java.lang.Exception
MethodParameters:
Name Flags
label
flag
private static boolean isNonLDHAsciiCodePoint(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iflt 1
iload 0
bipush 44
if_icmple 7
1: StackMap locals:
StackMap stack:
bipush 46
iload 0
if_icmpgt 2
iload 0
bipush 47
if_icmple 7
2: StackMap locals:
StackMap stack:
bipush 58
iload 0
if_icmpgt 3
iload 0
bipush 64
if_icmple 7
3: StackMap locals:
StackMap stack:
bipush 91
iload 0
if_icmpgt 4
iload 0
bipush 96
if_icmple 7
4: StackMap locals:
StackMap stack:
bipush 123
iload 0
if_icmpgt 6
iload 0
bipush 127
5: if_icmple 7
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
StackMap locals:
StackMap stack:
7: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ch I
MethodParameters:
Name Flags
ch
private static int searchDots(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.net.IDN.isLabelSeparator:(C)Z
ifeq 4
3: goto 6
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 2
6: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 s Ljava/lang/String;
0 7 1 start I
1 7 2 i I
MethodParameters:
Name Flags
s
start
private static boolean isRootLabel(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 1
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.net.IDN.isLabelSeparator:(C)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private static boolean isLabelSeparator(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 46
if_icmpeq 1
iload 0
sipush 12290
if_icmpeq 1
iload 0
ldc 65294
if_icmpeq 1
iload 0
ldc 65377
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
private static boolean isAllASCII(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 8
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 4: iload 3
bipush 127
if_icmple 7
5: iconst_0
istore 1
6: goto 9
end local 3 7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 3
end local 2 9: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 input Ljava/lang/String;
1 10 1 isASCII Z
2 9 2 i I
4 7 3 c I
MethodParameters:
Name Flags
input
private static boolean startsWithACEPrefix(java.lang.StringBuffer);
descriptor: (Ljava/lang/StringBuffer;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: aload 0
invokevirtual java.lang.StringBuffer.length:()I
getstatic java.net.IDN.ACE_PREFIX_LENGTH:I
if_icmpge 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 8
5: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.StringBuffer.charAt:(I)C
invokestatic java.net.IDN.toASCIILower:(C)C
ldc "xn--"
iload 2
invokevirtual java.lang.String.charAt:(I)C
if_icmpeq 7
6: iconst_0
istore 1
7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
getstatic java.net.IDN.ACE_PREFIX_LENGTH:I
if_icmplt 5
end local 2 9: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 input Ljava/lang/StringBuffer;
1 10 1 startsWithPrefix Z
4 9 2 i I
MethodParameters:
Name Flags
input
private static char toASCIILower(char);
descriptor: (C)C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush 65
iload 0
if_icmpgt 2
iload 0
bipush 90
if_icmpgt 2
1: iload 0
bipush 97
iadd
bipush 65
isub
i2c
ireturn
2: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ch C
MethodParameters:
Name Flags
ch
private static java.lang.StringBuffer toASCIILower(java.lang.StringBuffer);
descriptor: (Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 1
aload 0
iload 2
invokevirtual java.lang.StringBuffer.charAt:(I)C
invokestatic java.net.IDN.toASCIILower:(C)C
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
invokevirtual java.lang.StringBuffer.length:()I
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 input Ljava/lang/StringBuffer;
1 7 1 dest Ljava/lang/StringBuffer;
2 6 2 i I
MethodParameters:
Name Flags
input
}
SourceFile: "IDN.java"
NestMembers:
java.net.IDN$1
InnerClasses:
java.net.IDN$1