class sun.net.ftp.impl.FtpClient$DefaultParser implements sun.net.ftp.FtpDirParser
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.net.ftp.impl.FtpClient$DefaultParser
super_class: java.lang.Object
{
final sun.net.ftp.impl.FtpClient this$0;
descriptor: Lsun/net/ftp/impl/FtpClient;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(sun.net.ftp.impl.FtpClient);
descriptor: (Lsun/net/ftp/impl/FtpClient;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield sun.net.ftp.impl.FtpClient$DefaultParser.this$0:Lsun/net/ftp/impl/FtpClient;
aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/net/ftp/impl/FtpClient$DefaultParser;
MethodParameters:
Name Flags
this$0 final
public sun.net.ftp.FtpDirEntry parseLine(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/net/ftp/FtpDirEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=18, 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: aconst_null
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: aconst_null
astore 7
start local 7 6: aconst_null
astore 8
start local 8 7: iconst_0
istore 9
start local 9 8: invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
astore 10
start local 10 9: aload 10
iconst_1
invokevirtual java.util.Calendar.get:(I)I
istore 11
start local 11 10: aconst_null
astore 12
start local 12 11: iconst_0
istore 13
start local 13 12: goto 36
13: StackMap locals: sun.net.ftp.impl.FtpClient$DefaultParser java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int java.util.Calendar int java.util.regex.Matcher int
StackMap stack:
getstatic sun.net.ftp.impl.FtpClient.patterns:[Ljava/util/regex/Pattern;
iload 13
aaload
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 12
14: aload 12
invokevirtual java.util.regex.Matcher.find:()Z
ifeq 35
15: aload 12
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
iconst_0
iaload
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 5
16: aload 12
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
iconst_1
iaload
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 3
17: aload 12
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
iconst_2
iaload
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 2
18: getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
iconst_4
iaload
ifle 21
19: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
iconst_4
iaload
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
20: goto 23
StackMap locals:
StackMap stack:
21: getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
iconst_3
iaload
ifle 23
22: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 11
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
23: StackMap locals:
StackMap stack:
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
iconst_3
iaload
ifle 25
24: aload 12
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
iconst_3
iaload
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 4
25: StackMap locals:
StackMap stack:
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
iconst_5
iaload
ifle 28
26: aload 12
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
iconst_5
iaload
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 6
27: aload 6
ldc "d"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
istore 9
28: StackMap locals:
StackMap stack:
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
bipush 6
iaload
ifle 30
29: aload 12
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
bipush 6
iaload
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 7
30: StackMap locals:
StackMap stack:
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
bipush 7
iaload
ifle 32
31: aload 12
getstatic sun.net.ftp.impl.FtpClient.patternGroups:[[I
iload 13
aaload
bipush 7
iaload
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 8
32: StackMap locals:
StackMap stack:
ldc "<DIR>"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
33: iconst_1
istore 9
34: aconst_null
astore 3
35: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
36: iload 13
getstatic sun.net.ftp.impl.FtpClient.patterns:[Ljava/util/regex/Pattern;
arraylength
if_icmplt 13
end local 13 37: aload 5
ifnull 72
38: aload 0
getfield sun.net.ftp.impl.FtpClient$DefaultParser.this$0:Lsun/net/ftp/impl/FtpClient;
getfield sun.net.ftp.impl.FtpClient.df:Ljava/text/DateFormat;
aload 2
invokevirtual java.text.DateFormat.parse:(Ljava/lang/String;)Ljava/util/Date;
astore 13
start local 13 39: goto 42
end local 13 StackMap locals: sun.net.ftp.impl.FtpClient$DefaultParser java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int java.util.Calendar int java.util.regex.Matcher
StackMap stack: java.lang.Exception
40: pop
41: aconst_null
astore 13
start local 13 42: StackMap locals: java.util.Date
StackMap stack:
aload 13
ifnull 48
aload 4
ifnull 48
43: aload 4
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 14
start local 14 44: aload 10
aload 13
invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
45: aload 10
bipush 10
aload 4
iconst_0
iload 14
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
invokevirtual java.util.Calendar.set:(II)V
46: aload 10
bipush 12
aload 4
iload 14
iconst_1
iadd
aload 4
invokevirtual java.lang.String.length:()I
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
invokevirtual java.util.Calendar.set:(II)V
47: aload 10
invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
astore 13
end local 14 48: StackMap locals:
StackMap stack:
getstatic sun.net.ftp.impl.FtpClient.linkp:Ljava/util/regex/Pattern;
aload 5
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 14
start local 14 49: aload 14
invokevirtual java.util.regex.Matcher.find:()Z
ifeq 51
50: aload 14
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 5
51: StackMap locals: java.util.regex.Matcher
StackMap stack:
iconst_3
iconst_3
multianewarray [[Z 2
astore 15
start local 15 52: iconst_0
istore 16
start local 16 53: goto 62
54: StackMap locals: boolean[][] int
StackMap stack:
iconst_0
istore 17
start local 17 55: goto 60
56: StackMap locals: int
StackMap stack:
aload 15
iload 16
aaload
iload 17
aload 6
iload 16
iconst_3
imul
iload 17
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 45
if_icmpeq 57
iconst_1
goto 58
StackMap locals: sun.net.ftp.impl.FtpClient$DefaultParser java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int java.util.Calendar int java.util.regex.Matcher java.util.Date java.util.regex.Matcher boolean[][] int int
StackMap stack: boolean[] int
57: iconst_0
StackMap locals: sun.net.ftp.impl.FtpClient$DefaultParser java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int java.util.Calendar int java.util.regex.Matcher java.util.Date java.util.regex.Matcher boolean[][] int int
StackMap stack: boolean[] int int
58: bastore
59: iinc 17 1
StackMap locals:
StackMap stack:
60: iload 17
iconst_3
if_icmplt 56
end local 17 61: iinc 16 1
StackMap locals:
StackMap stack:
62: iload 16
iconst_3
if_icmplt 54
end local 16 63: new sun.net.ftp.FtpDirEntry
dup
aload 5
invokespecial sun.net.ftp.FtpDirEntry.<init>:(Ljava/lang/String;)V
astore 16
start local 16 64: aload 16
aload 7
invokevirtual sun.net.ftp.FtpDirEntry.setUser:(Ljava/lang/String;)Lsun/net/ftp/FtpDirEntry;
aload 8
invokevirtual sun.net.ftp.FtpDirEntry.setGroup:(Ljava/lang/String;)Lsun/net/ftp/FtpDirEntry;
pop
65: aload 16
aload 3
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
invokevirtual sun.net.ftp.FtpDirEntry.setSize:(J)Lsun/net/ftp/FtpDirEntry;
aload 13
invokevirtual sun.net.ftp.FtpDirEntry.setLastModified:(Ljava/util/Date;)Lsun/net/ftp/FtpDirEntry;
pop
66: aload 16
aload 15
invokevirtual sun.net.ftp.FtpDirEntry.setPermissions:([[Z)Lsun/net/ftp/FtpDirEntry;
pop
67: aload 16
iload 9
ifeq 68
getstatic sun.net.ftp.FtpDirEntry$Type.DIR:Lsun/net/ftp/FtpDirEntry$Type;
goto 70
StackMap locals: sun.net.ftp.impl.FtpClient$DefaultParser java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int java.util.Calendar int java.util.regex.Matcher java.util.Date java.util.regex.Matcher boolean[][] sun.net.ftp.FtpDirEntry
StackMap stack: sun.net.ftp.FtpDirEntry
68: aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 108
if_icmpne 69
getstatic sun.net.ftp.FtpDirEntry$Type.LINK:Lsun/net/ftp/FtpDirEntry$Type;
goto 70
StackMap locals:
StackMap stack: sun.net.ftp.FtpDirEntry
69: getstatic sun.net.ftp.FtpDirEntry$Type.FILE:Lsun/net/ftp/FtpDirEntry$Type;
StackMap locals: sun.net.ftp.impl.FtpClient$DefaultParser java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int java.util.Calendar int java.util.regex.Matcher java.util.Date java.util.regex.Matcher boolean[][] sun.net.ftp.FtpDirEntry
StackMap stack: sun.net.ftp.FtpDirEntry sun.net.ftp.FtpDirEntry$Type
70: invokevirtual sun.net.ftp.FtpDirEntry.setType:(Lsun/net/ftp/FtpDirEntry$Type;)Lsun/net/ftp/FtpDirEntry;
pop
71: aload 16
areturn
end local 16 end local 15 end local 14 end local 13 72: StackMap locals: sun.net.ftp.impl.FtpClient$DefaultParser java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int java.util.Calendar int java.util.regex.Matcher
StackMap stack:
aconst_null
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 73 0 this Lsun/net/ftp/impl/FtpClient$DefaultParser;
0 73 1 line Ljava/lang/String;
1 73 2 fdate Ljava/lang/String;
2 73 3 fsize Ljava/lang/String;
3 73 4 time Ljava/lang/String;
4 73 5 filename Ljava/lang/String;
5 73 6 permstring Ljava/lang/String;
6 73 7 username Ljava/lang/String;
7 73 8 groupname Ljava/lang/String;
8 73 9 dir Z
9 73 10 now Ljava/util/Calendar;
10 73 11 year I
11 73 12 m Ljava/util/regex/Matcher;
12 37 13 j I
39 40 13 d Ljava/util/Date;
42 72 13 d Ljava/util/Date;
44 48 14 c I
49 72 14 m2 Ljava/util/regex/Matcher;
52 72 15 perms [[Z
53 63 16 i I
55 61 17 j I
64 72 16 file Lsun/net/ftp/FtpDirEntry;
Exception table:
from to target type
38 39 40 Class java.lang.Exception
MethodParameters:
Name Flags
line
}
SourceFile: "FtpClient.java"
NestHost: sun.net.ftp.impl.FtpClient
InnerClasses:
public final Type = sun.net.ftp.FtpDirEntry$Type of sun.net.ftp.FtpDirEntry
private DefaultParser = sun.net.ftp.impl.FtpClient$DefaultParser of sun.net.ftp.impl.FtpClient