public class sun.tools.native2ascii.Main
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.native2ascii.Main
super_class: java.lang.Object
{
java.lang.String inputFileName;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.lang.String outputFileName;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.io.File tempFile;
descriptor: Ljava/io/File;
flags: (0x0000)
boolean reverse;
descriptor: Z
flags: (0x0000)
static java.lang.String encodingString;
descriptor: Ljava/lang/String;
flags: (0x0008) ACC_STATIC
static java.lang.String defaultEncoding;
descriptor: Ljava/lang/String;
flags: (0x0008) ACC_STATIC
static java.nio.charset.CharsetEncoder encoder;
descriptor: Ljava/nio/charset/CharsetEncoder;
flags: (0x0008) ACC_STATIC
private static java.util.ResourceBundle rsrc;
descriptor: Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: aconst_null
putstatic sun.tools.native2ascii.Main.encodingString:Ljava/lang/String;
1: aconst_null
putstatic sun.tools.native2ascii.Main.defaultEncoding:Ljava/lang/String;
2: aconst_null
putstatic sun.tools.native2ascii.Main.encoder:Ljava/nio/charset/CharsetEncoder;
3: ldc "sun.tools.native2ascii.resources.MsgNative2ascii"
4: invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
putstatic sun.tools.native2ascii.Main.rsrc:Ljava/util/ResourceBundle;
5: goto 8
StackMap locals:
StackMap stack: java.util.MissingResourceException
6: pop
7: new java.lang.Error
dup
ldc "Missing message file."
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
3 5 6 Class java.util.MissingResourceException
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.tools.native2ascii.Main.inputFileName:Ljava/lang/String;
2: aload 0
aconst_null
putfield sun.tools.native2ascii.Main.outputFileName:Ljava/lang/String;
3: aload 0
aconst_null
putfield sun.tools.native2ascii.Main.tempFile:Ljava/io/File;
4: aload 0
iconst_0
putfield sun.tools.native2ascii.Main.reverse:Z
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/native2ascii/Main;
public synchronized boolean convert(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 20
5: StackMap locals: sun.tools.native2ascii.Main java.lang.String[] java.util.List java.io.File int int
StackMap stack:
aload 1
iload 5
aaload
ldc "-encoding"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
6: iload 5
iconst_1
iadd
aload 1
arraylength
if_icmpge 9
7: aload 1
iinc 5 1
iload 5
aaload
putstatic sun.tools.native2ascii.Main.encodingString:Ljava/lang/String;
8: goto 19
9: StackMap locals:
StackMap stack:
aload 0
aload 0
ldc "err.bad.arg"
invokevirtual sun.tools.native2ascii.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.error:(Ljava/lang/String;)V
10: aload 0
invokevirtual sun.tools.native2ascii.Main.usage:()V
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 1
iload 5
aaload
ldc "-reverse"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: aload 0
iconst_1
putfield sun.tools.native2ascii.Main.reverse:Z
14: goto 19
15: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 18
16: aload 0
invokevirtual sun.tools.native2ascii.Main.usage:()V
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 2
aload 1
iload 5
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
20: iload 5
aload 1
arraylength
if_icmplt 5
end local 5 21: getstatic sun.tools.native2ascii.Main.encodingString:Ljava/lang/String;
ifnonnull 23
22: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
putstatic sun.tools.native2ascii.Main.defaultEncoding:Ljava/lang/String;
23: StackMap locals:
StackMap stack:
ldc "line.separator"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 5
start local 5 24: invokestatic sun.tools.native2ascii.Main.initializeConverter:()V
25: aload 2
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 27
26: aload 0
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
putfield sun.tools.native2ascii.Main.inputFileName:Ljava/lang/String;
27: StackMap locals: char[]
StackMap stack:
aload 2
invokeinterface java.util.List.size:()I
iconst_2
if_icmpne 31
28: aload 0
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
putfield sun.tools.native2ascii.Main.inputFileName:Ljava/lang/String;
29: aload 0
aload 2
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
putfield sun.tools.native2ascii.Main.outputFileName:Ljava/lang/String;
30: iconst_1
istore 4
31: StackMap locals:
StackMap stack:
iload 4
ifeq 35
32: new java.io.File
dup
aload 0
getfield sun.tools.native2ascii.Main.outputFileName:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
33: aload 3
invokevirtual java.io.File.exists:()Z
ifeq 35
aload 3
invokevirtual java.io.File.canWrite:()Z
ifne 35
34: new java.lang.Exception
dup
aload 0
ldc "err.cannot.write"
aload 0
getfield sun.tools.native2ascii.Main.outputFileName:Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.native2ascii.Main.reverse:Z
ifeq 48
36: aload 0
aload 0
getfield sun.tools.native2ascii.Main.inputFileName:Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.getA2NInput:(Ljava/lang/String;)Ljava/io/BufferedReader;
astore 6
start local 6 37: aload 0
aload 0
getfield sun.tools.native2ascii.Main.outputFileName:Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.getA2NOutput:(Ljava/lang/String;)Ljava/io/Writer;
astore 7
start local 7 38: goto 43
start local 8 39: StackMap locals: java.io.BufferedReader java.io.Writer java.lang.String
StackMap stack:
aload 7
aload 8
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual java.io.Writer.write:([C)V
40: aload 7
aload 5
invokevirtual java.io.Writer.write:([C)V
41: aload 0
getfield sun.tools.native2ascii.Main.outputFileName:Ljava/lang/String;
ifnonnull 43
42: aload 7
invokevirtual java.io.Writer.flush:()V
end local 8 43: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 8
start local 8 44: ifnonnull 39
45: aload 6
invokevirtual java.io.BufferedReader.close:()V
46: aload 7
invokevirtual java.io.Writer.close:()V
end local 8 end local 7 end local 6 47: goto 58
48: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.native2ascii.Main.inputFileName:Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.getN2AInput:(Ljava/lang/String;)Ljava/io/BufferedReader;
astore 7
start local 7 49: aload 0
aload 0
getfield sun.tools.native2ascii.Main.outputFileName:Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.getN2AOutput:(Ljava/lang/String;)Ljava/io/BufferedWriter;
astore 8
start local 8 50: goto 55
start local 6 51: StackMap locals: java.lang.String java.io.BufferedReader java.io.BufferedWriter
StackMap stack:
aload 8
aload 6
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual java.io.BufferedWriter.write:([C)V
52: aload 8
aload 5
invokevirtual java.io.BufferedWriter.write:([C)V
53: aload 0
getfield sun.tools.native2ascii.Main.outputFileName:Ljava/lang/String;
ifnonnull 55
54: aload 8
invokevirtual java.io.BufferedWriter.flush:()V
end local 6 55: StackMap locals: sun.tools.native2ascii.Main java.lang.String[] java.util.List java.io.File int char[] top java.io.BufferedReader java.io.BufferedWriter
StackMap stack:
aload 7
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 6
start local 6 56: ifnonnull 51
57: aload 8
invokevirtual java.io.BufferedWriter.close:()V
end local 8 end local 7 end local 6 58: StackMap locals: sun.tools.native2ascii.Main java.lang.String[] java.util.List java.io.File int char[]
StackMap stack:
iload 4
ifeq 66
59: aload 3
invokevirtual java.io.File.exists:()Z
ifeq 61
60: aload 3
invokevirtual java.io.File.delete:()Z
pop
61: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.native2ascii.Main.tempFile:Ljava/io/File;
aload 3
invokevirtual java.io.File.renameTo:(Ljava/io/File;)Z
pop
62: goto 66
StackMap locals:
StackMap stack: java.lang.Exception
63: astore 6
start local 6 64: aload 0
aload 6
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.error:(Ljava/lang/String;)V
65: iconst_0
ireturn
end local 6 66: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 67 0 this Lsun/tools/native2ascii/Main;
0 67 1 argv [Ljava/lang/String;
1 67 2 v Ljava/util/List<Ljava/lang/String;>;
2 67 3 outputFile Ljava/io/File;
3 67 4 createOutputFile Z
4 21 5 i I
24 67 5 lineBreak [C
37 47 6 reader Ljava/io/BufferedReader;
38 47 7 osw Ljava/io/Writer;
39 43 8 line Ljava/lang/String;
44 47 8 line Ljava/lang/String;
51 55 6 inLine Ljava/lang/String;
56 58 6 inLine Ljava/lang/String;
49 58 7 in Ljava/io/BufferedReader;
50 58 8 out Ljava/io/BufferedWriter;
64 66 6 e Ljava/lang/Exception;
Exception table:
from to target type
24 62 63 Class java.lang.Exception
MethodParameters:
Name Flags
argv
private void error(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 1
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/native2ascii/Main;
0 2 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
private void usage();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
ldc "usage"
invokevirtual sun.tools.native2ascii.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/native2ascii/Main;
private java.io.BufferedReader getN2AInput(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/BufferedReader;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: getstatic java.lang.System.in:Ljava/io/InputStream;
astore 2
start local 2 2: goto 10
end local 2 3: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 4: aload 3
invokevirtual java.io.File.canRead:()Z
ifne 6
5: new java.lang.Exception
dup
aload 0
ldc "err.cannot.read"
aload 3
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: sun.tools.native2ascii.Main java.lang.String top java.io.File
StackMap stack:
new java.io.FileInputStream
dup
aload 1
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 2
start local 2 7: goto 10
end local 2 StackMap locals:
StackMap stack: java.io.IOException
8: pop
9: new java.lang.Exception
dup
aload 0
ldc "err.cannot.read"
aload 3
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 3 start local 2 10: StackMap locals: sun.tools.native2ascii.Main java.lang.String java.io.InputStream
StackMap stack:
getstatic sun.tools.native2ascii.Main.encodingString:Ljava/lang/String;
ifnull 15
11: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 2
12: getstatic sun.tools.native2ascii.Main.encodingString:Ljava/lang/String;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
13: invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
14: goto 16
15: StackMap locals:
StackMap stack:
new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 2
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
16: StackMap locals:
StackMap stack: java.io.BufferedReader
astore 3
start local 3 17: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/tools/native2ascii/Main;
0 18 1 inFile Ljava/lang/String;
2 3 2 forwardIn Ljava/io/InputStream;
7 8 2 forwardIn Ljava/io/InputStream;
10 18 2 forwardIn Ljava/io/InputStream;
4 10 3 f Ljava/io/File;
17 18 3 r Ljava/io/BufferedReader;
Exception table:
from to target type
6 7 8 Class java.io.IOException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
inFile
private java.io.BufferedWriter getN2AOutput(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/BufferedWriter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: new java.io.OutputStreamWriter
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "US-ASCII"
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
astore 2
start local 2 2: goto 16
end local 2 3: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
start local 4 4: aload 4
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
astore 5
start local 5 5: aload 5
ifnonnull 7
6: new java.io.File
dup
ldc "user.dir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 5
7: StackMap locals: sun.tools.native2ascii.Main java.lang.String top top java.io.File java.io.File
StackMap stack:
aload 0
ldc "_N2A"
8: ldc ".TMP"
9: aload 5
10: invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
putfield sun.tools.native2ascii.Main.tempFile:Ljava/io/File;
11: aload 0
getfield sun.tools.native2ascii.Main.tempFile:Ljava/io/File;
invokevirtual java.io.File.deleteOnExit:()V
12: new java.io.FileWriter
dup
aload 0
getfield sun.tools.native2ascii.Main.tempFile:Ljava/io/File;
invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
astore 2
start local 2 13: goto 16
end local 2 StackMap locals:
StackMap stack: java.io.IOException
14: pop
15: new java.lang.Exception
dup
aload 0
ldc "err.cannot.write"
aload 0
getfield sun.tools.native2ascii.Main.tempFile:Ljava/io/File;
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 start local 2 16: StackMap locals: sun.tools.native2ascii.Main java.lang.String java.io.Writer
StackMap stack:
new java.io.BufferedWriter
dup
new sun.tools.native2ascii.N2AFilter
dup
aload 2
invokespecial sun.tools.native2ascii.N2AFilter.<init>:(Ljava/io/Writer;)V
invokespecial java.io.BufferedWriter.<init>:(Ljava/io/Writer;)V
astore 3
start local 3 17: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/tools/native2ascii/Main;
0 18 1 outFile Ljava/lang/String;
2 3 2 output Ljava/io/Writer;
13 14 2 output Ljava/io/Writer;
16 18 2 output Ljava/io/Writer;
17 18 3 n2aOut Ljava/io/BufferedWriter;
4 16 4 f Ljava/io/File;
5 16 5 tempDir Ljava/io/File;
Exception table:
from to target type
12 13 14 Class java.io.IOException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
outFile
private java.io.BufferedReader getA2NInput(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/BufferedReader;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: new java.io.InputStreamReader
dup
getstatic java.lang.System.in:Ljava/io/InputStream;
ldc "US-ASCII"
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
astore 2
start local 2 2: goto 10
end local 2 3: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
start local 4 4: aload 4
invokevirtual java.io.File.canRead:()Z
ifne 6
5: new java.lang.Exception
dup
aload 0
ldc "err.cannot.read"
aload 4
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: sun.tools.native2ascii.Main java.lang.String top top java.io.File
StackMap stack:
new java.io.FileReader
dup
aload 1
invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
astore 2
start local 2 7: goto 10
end local 2 StackMap locals:
StackMap stack: java.lang.Exception
8: pop
9: new java.lang.Exception
dup
aload 0
ldc "err.cannot.read"
aload 4
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 4 start local 2 10: StackMap locals: sun.tools.native2ascii.Main java.lang.String java.io.Reader
StackMap stack:
new java.io.BufferedReader
dup
new sun.tools.native2ascii.A2NFilter
dup
aload 2
invokespecial sun.tools.native2ascii.A2NFilter.<init>:(Ljava/io/Reader;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 3
start local 3 11: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/tools/native2ascii/Main;
0 12 1 inFile Ljava/lang/String;
2 3 2 in Ljava/io/Reader;
7 8 2 in Ljava/io/Reader;
10 12 2 in Ljava/io/Reader;
11 12 3 reader Ljava/io/BufferedReader;
4 10 4 f Ljava/io/File;
Exception table:
from to target type
6 7 8 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
inFile
private java.io.Writer getA2NOutput(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/Writer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 1
ifnonnull 4
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
astore 3
goto 17
4: StackMap locals: java.io.OutputStreamWriter java.io.OutputStream
StackMap stack:
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
start local 4 5: aload 4
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
astore 5
start local 5 6: aload 5
ifnonnull 8
7: new java.io.File
dup
ldc "user.dir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 5
8: StackMap locals: java.io.File java.io.File
StackMap stack:
aload 0
ldc "_N2A"
9: ldc ".TMP"
10: aload 5
11: invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
putfield sun.tools.native2ascii.Main.tempFile:Ljava/io/File;
12: aload 0
getfield sun.tools.native2ascii.Main.tempFile:Ljava/io/File;
invokevirtual java.io.File.deleteOnExit:()V
13: new java.io.FileOutputStream
dup
aload 0
getfield sun.tools.native2ascii.Main.tempFile:Ljava/io/File;
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 3
14: goto 17
StackMap locals:
StackMap stack: java.io.IOException
15: pop
16: new java.lang.Exception
dup
aload 0
ldc "err.cannot.write"
aload 0
getfield sun.tools.native2ascii.Main.tempFile:Ljava/io/File;
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual sun.tools.native2ascii.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 17: StackMap locals:
StackMap stack:
getstatic sun.tools.native2ascii.Main.encodingString:Ljava/lang/String;
ifnull 19
18: new java.io.OutputStreamWriter
dup
aload 3
getstatic sun.tools.native2ascii.Main.encodingString:Ljava/lang/String;
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
goto 20
19: StackMap locals:
StackMap stack:
new java.io.OutputStreamWriter
dup
aload 3
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
20: StackMap locals:
StackMap stack: java.io.OutputStreamWriter
astore 2
21: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/tools/native2ascii/Main;
0 22 1 outFile Ljava/lang/String;
1 22 2 w Ljava/io/OutputStreamWriter;
2 22 3 output Ljava/io/OutputStream;
5 17 4 f Ljava/io/File;
6 17 5 tempDir Ljava/io/File;
Exception table:
from to target type
13 14 15 Class java.io.IOException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
outFile
private static java.nio.charset.Charset lookupCharset(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/nio/charset/Charset;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic java.nio.charset.Charset.isSupported:(Ljava/lang/String;)Z
ifeq 5
1: aload 0
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
2: areturn
3: StackMap locals:
StackMap stack: java.nio.charset.UnsupportedCharsetException
astore 1
start local 1 4: new java.lang.Error
dup
aload 1
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 csName Ljava/lang/String;
4 5 1 x Ljava/nio/charset/UnsupportedCharsetException;
Exception table:
from to target type
1 2 3 Class java.nio.charset.UnsupportedCharsetException
MethodParameters:
Name Flags
csName
public static boolean canConvert(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.tools.native2ascii.Main.encoder:Ljava/nio/charset/CharsetEncoder;
ifnull 1
getstatic sun.tools.native2ascii.Main.encoder:Ljava/nio/charset/CharsetEncoder;
iload 0
invokevirtual java.nio.charset.CharsetEncoder.canEncode:(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 ch C
MethodParameters:
Name Flags
ch
private static void initializeConverter();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: aconst_null
astore 0
start local 0 1: getstatic sun.tools.native2ascii.Main.encodingString:Ljava/lang/String;
ifnonnull 3
2: getstatic sun.tools.native2ascii.Main.defaultEncoding:Ljava/lang/String;
invokestatic sun.tools.native2ascii.Main.lookupCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
goto 4
3: StackMap locals: java.nio.charset.Charset
StackMap stack:
getstatic sun.tools.native2ascii.Main.encodingString:Ljava/lang/String;
invokestatic sun.tools.native2ascii.Main.lookupCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
4: StackMap locals:
StackMap stack: java.nio.charset.Charset
astore 0
5: aload 0
ifnull 7
6: aload 0
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
goto 8
7: StackMap locals:
StackMap stack:
aconst_null
8: StackMap locals:
StackMap stack: java.nio.charset.CharsetEncoder
putstatic sun.tools.native2ascii.Main.encoder:Ljava/nio/charset/CharsetEncoder;
9: goto 12
StackMap locals:
StackMap stack: java.nio.charset.IllegalCharsetNameException
10: astore 1
start local 1 11: new java.lang.Error
dup
aload 1
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 13 0 cs Ljava/nio/charset/Charset;
11 12 1 e Ljava/nio/charset/IllegalCharsetNameException;
Exception table:
from to target type
1 9 10 Class java.nio.charset.IllegalCharsetNameException
Exceptions:
throws java.io.UnsupportedEncodingException
private java.lang.String getMsg(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.tools.native2ascii.Main.rsrc:Ljava/util/ResourceBundle;
aload 1
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: java.util.MissingResourceException
pop
3: new java.lang.Error
dup
ldc "Error in message file format."
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/native2ascii/Main;
0 4 1 key Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.util.MissingResourceException
MethodParameters:
Name Flags
key
private java.lang.String formatMsg(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.tools.native2ascii.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/native2ascii/Main;
0 2 1 key Ljava/lang/String;
0 2 2 arg Ljava/lang/String;
1 2 3 msg Ljava/lang/String;
MethodParameters:
Name Flags
key
arg
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new sun.tools.native2ascii.Main
dup
invokespecial sun.tools.native2ascii.Main.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual sun.tools.native2ascii.Main.convert:([Ljava/lang/String;)Z
ifeq 2
iconst_0
goto 3
StackMap locals: sun.tools.native2ascii.Main
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: invokestatic java.lang.System.exit:(I)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 argv [Ljava/lang/String;
1 5 1 converter Lsun/tools/native2ascii/Main;
MethodParameters:
Name Flags
argv
}
SourceFile: "Main.java"