final class sun.awt.shell.Win32ShellFolderManager2 extends sun.awt.shell.ShellFolderManager
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.awt.shell.Win32ShellFolderManager2
super_class: sun.awt.shell.ShellFolderManager
{
private static final int VIEW_LIST;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int VIEW_DETAILS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int VIEW_PARENTFOLDER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int VIEW_NEWFOLDER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final java.awt.Image[] STANDARD_VIEW_BUTTONS;
descriptor: [Ljava/awt/Image;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static sun.awt.shell.Win32ShellFolder2 desktop;
descriptor: Lsun/awt/shell/Win32ShellFolder2;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.awt.shell.Win32ShellFolder2 drives;
descriptor: Lsun/awt/shell/Win32ShellFolder2;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.awt.shell.Win32ShellFolder2 recent;
descriptor: Lsun/awt/shell/Win32ShellFolder2;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.awt.shell.Win32ShellFolder2 network;
descriptor: Lsun/awt/shell/Win32ShellFolder2;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.awt.shell.Win32ShellFolder2 personal;
descriptor: Lsun/awt/shell/Win32ShellFolder2;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.io.File[] roots;
descriptor: [Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.List<sun.awt.shell.Win32ShellFolder2> topFolderList;
descriptor: Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/List<Lsun/awt/shell/Win32ShellFolder2;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic sun.awt.windows.WToolkit.loadLibraries:()V
1: bipush 12
anewarray java.awt.Image
putstatic sun.awt.shell.Win32ShellFolderManager2.STANDARD_VIEW_BUTTONS:[Ljava/awt/Image;
2: aconst_null
putstatic sun.awt.shell.Win32ShellFolderManager2.topFolderList:Ljava/util/List;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.awt.shell.ShellFolderManager.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/shell/Win32ShellFolderManager2;
public sun.awt.shell.ShellFolder createShellFolder(java.io.File);
descriptor: (Ljava/io/File;)Lsun/awt/shell/ShellFolder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic sun.awt.shell.Win32ShellFolderManager2.getDesktop:()Lsun/awt/shell/Win32ShellFolder2;
aload 1
invokestatic sun.awt.shell.Win32ShellFolderManager2.createShellFolder:(Lsun/awt/shell/Win32ShellFolder2;Ljava/io/File;)Lsun/awt/shell/Win32ShellFolder2;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
3: new java.io.FileNotFoundException
dup
ldc "Execution was interrupted"
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/shell/Win32ShellFolderManager2;
0 4 1 file Ljava/io/File;
Exception table:
from to target type
0 1 2 Class java.lang.InterruptedException
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
file
static sun.awt.shell.Win32ShellFolder2 createShellFolder(sun.awt.shell.Win32ShellFolder2, java.io.File);
descriptor: (Lsun/awt/shell/Win32ShellFolder2;Ljava/io/File;)Lsun/awt/shell/Win32ShellFolder2;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
invokevirtual sun.awt.shell.Win32ShellFolder2.parseDisplayName:(Ljava/lang/String;)J
lstore 2
start local 2 1: goto 4
end local 2 StackMap locals:
StackMap stack: java.io.IOException
2: pop
3: lconst_0
lstore 2
start local 2 4: StackMap locals: long
StackMap stack:
lload 2
lconst_0
lcmp
ifne 6
5: new java.io.FileNotFoundException
dup
new java.lang.StringBuilder
dup
ldc "File "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
lload 2
invokestatic sun.awt.shell.Win32ShellFolderManager2.createShellFolderFromRelativePIDL:(Lsun/awt/shell/Win32ShellFolder2;J)Lsun/awt/shell/Win32ShellFolder2;
astore 5
7: lload 2
invokestatic sun.awt.shell.Win32ShellFolder2.releasePIDL:(J)V
8: aload 5
areturn
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
10: lload 2
invokestatic sun.awt.shell.Win32ShellFolder2.releasePIDL:(J)V
11: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 parent Lsun/awt/shell/Win32ShellFolder2;
0 12 1 file Ljava/io/File;
1 2 2 pIDL J
4 12 2 pIDL J
Exception table:
from to target type
0 1 2 Class java.io.IOException
6 7 9 any
Exceptions:
throws java.io.FileNotFoundException, java.lang.InterruptedException
MethodParameters:
Name Flags
parent
file
static sun.awt.shell.Win32ShellFolder2 createShellFolderFromRelativePIDL(sun.awt.shell.Win32ShellFolder2, long);
descriptor: (Lsun/awt/shell/Win32ShellFolder2;J)Lsun/awt/shell/Win32ShellFolder2;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: goto 5
1: StackMap locals:
StackMap stack:
lload 1
invokestatic sun.awt.shell.Win32ShellFolder2.copyFirstPIDLEntry:(J)J
lstore 3
start local 3 2: lload 3
lconst_0
lcmp
ifeq 6
3: aload 0
lload 3
invokestatic sun.awt.shell.Win32ShellFolder2.createShellFolder:(Lsun/awt/shell/Win32ShellFolder2;J)Lsun/awt/shell/Win32ShellFolder2;
astore 0
4: lload 1
invokestatic sun.awt.shell.Win32ShellFolder2.getNextPIDLEntry:(J)J
lstore 1
end local 3 5: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifne 1
6: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 parent Lsun/awt/shell/Win32ShellFolder2;
0 7 1 pIDL J
2 5 3 curPIDL J
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
parent
pIDL
private static java.awt.Image getStandardViewButton(int);
descriptor: (I)Ljava/awt/Image;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=5, args_size=1
start local 0 0: getstatic sun.awt.shell.Win32ShellFolderManager2.STANDARD_VIEW_BUTTONS:[Ljava/awt/Image;
iload 0
aaload
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.awt.Image
StackMap stack:
iload 0
iconst_1
invokestatic sun.awt.shell.Win32ShellFolder2.getStandardViewButton0:(IZ)[I
4: astore 2
start local 2 5: aload 2
ifnull 14
6: aload 2
arraylength
i2d
invokestatic java.lang.Math.sqrt:(D)D
d2i
istore 3
start local 3 7: new java.awt.image.BufferedImage
dup
iload 3
iload 3
iconst_2
invokespecial java.awt.image.BufferedImage.<init>:(III)V
8: astore 4
start local 4 9: aload 4
iconst_0
iconst_0
iload 3
iload 3
aload 2
iconst_0
iload 3
invokevirtual java.awt.image.BufferedImage.setRGB:(IIII[III)V
10: getstatic sun.awt.shell.Win32ShellFolderManager2.STANDARD_VIEW_BUTTONS:[Ljava/awt/Image;
iload 0
iload 3
bipush 16
if_icmpne 12
11: aload 4
goto 13
12: StackMap locals: int java.awt.Image int[] int java.awt.image.BufferedImage
StackMap stack: java.awt.Image[] int
new sun.awt.shell.Win32ShellFolder2$MultiResolutionIconImage
dup
bipush 16
aload 4
invokespecial sun.awt.shell.Win32ShellFolder2$MultiResolutionIconImage.<init>:(ILjava/awt/Image;)V
13: StackMap locals: int java.awt.Image int[] int java.awt.image.BufferedImage
StackMap stack: java.awt.Image[] int java.awt.Image
aastore
end local 4 end local 3 14: StackMap locals:
StackMap stack:
getstatic sun.awt.shell.Win32ShellFolderManager2.STANDARD_VIEW_BUTTONS:[Ljava/awt/Image;
iload 0
aaload
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 iconIndex I
1 15 1 result Ljava/awt/Image;
5 15 2 iconBits [I
7 14 3 size I
9 14 4 img Ljava/awt/image/BufferedImage;
MethodParameters:
Name Flags
iconIndex
static sun.awt.shell.Win32ShellFolder2 getDesktop();
descriptor: ()Lsun/awt/shell/Win32ShellFolder2;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic sun.awt.shell.Win32ShellFolderManager2.desktop:Lsun/awt/shell/Win32ShellFolder2;
ifnonnull 6
1: new sun.awt.shell.Win32ShellFolder2
dup
iconst_0
invokespecial sun.awt.shell.Win32ShellFolder2.<init>:(I)V
putstatic sun.awt.shell.Win32ShellFolderManager2.desktop:Lsun/awt/shell/Win32ShellFolder2;
2: goto 6
StackMap locals:
StackMap stack: java.lang.SecurityException
3: pop
goto 6
4: StackMap locals:
StackMap stack: java.io.IOException
pop
goto 6
5: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
6: StackMap locals:
StackMap stack:
getstatic sun.awt.shell.Win32ShellFolderManager2.desktop:Lsun/awt/shell/Win32ShellFolder2;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 2 3 Class java.lang.SecurityException
1 2 4 Class java.io.IOException
1 2 5 Class java.lang.InterruptedException
static sun.awt.shell.Win32ShellFolder2 getDrives();
descriptor: ()Lsun/awt/shell/Win32ShellFolder2;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic sun.awt.shell.Win32ShellFolderManager2.drives:Lsun/awt/shell/Win32ShellFolder2;
ifnonnull 6
1: new sun.awt.shell.Win32ShellFolder2
dup
bipush 17
invokespecial sun.awt.shell.Win32ShellFolder2.<init>:(I)V
putstatic sun.awt.shell.Win32ShellFolderManager2.drives:Lsun/awt/shell/Win32ShellFolder2;
2: goto 6
StackMap locals:
StackMap stack: java.lang.SecurityException
3: pop
goto 6
4: StackMap locals:
StackMap stack: java.io.IOException
pop
goto 6
5: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
6: StackMap locals:
StackMap stack:
getstatic sun.awt.shell.Win32ShellFolderManager2.drives:Lsun/awt/shell/Win32ShellFolder2;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 2 3 Class java.lang.SecurityException
1 2 4 Class java.io.IOException
1 2 5 Class java.lang.InterruptedException
static sun.awt.shell.Win32ShellFolder2 getRecent();
descriptor: ()Lsun/awt/shell/Win32ShellFolder2;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: getstatic sun.awt.shell.Win32ShellFolderManager2.recent:Lsun/awt/shell/Win32ShellFolder2;
ifnonnull 8
1: bipush 8
invokestatic sun.awt.shell.Win32ShellFolder2.getFileSystemPath:(I)Ljava/lang/String;
astore 0
start local 0 2: aload 0
ifnull 8
3: invokestatic sun.awt.shell.Win32ShellFolderManager2.getDesktop:()Lsun/awt/shell/Win32ShellFolder2;
new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic sun.awt.shell.Win32ShellFolderManager2.createShellFolder:(Lsun/awt/shell/Win32ShellFolder2;Ljava/io/File;)Lsun/awt/shell/Win32ShellFolder2;
putstatic sun.awt.shell.Win32ShellFolderManager2.recent:Lsun/awt/shell/Win32ShellFolder2;
end local 0 4: goto 8
StackMap locals:
StackMap stack: java.lang.SecurityException
5: pop
goto 8
6: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
goto 8
7: StackMap locals:
StackMap stack: java.io.IOException
pop
8: StackMap locals:
StackMap stack:
getstatic sun.awt.shell.Win32ShellFolderManager2.recent:Lsun/awt/shell/Win32ShellFolder2;
areturn
LocalVariableTable:
Start End Slot Name Signature
2 4 0 path Ljava/lang/String;
Exception table:
from to target type
1 4 5 Class java.lang.SecurityException
1 4 6 Class java.lang.InterruptedException
1 4 7 Class java.io.IOException
static sun.awt.shell.Win32ShellFolder2 getNetwork();
descriptor: ()Lsun/awt/shell/Win32ShellFolder2;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic sun.awt.shell.Win32ShellFolderManager2.network:Lsun/awt/shell/Win32ShellFolder2;
ifnonnull 6
1: new sun.awt.shell.Win32ShellFolder2
dup
bipush 18
invokespecial sun.awt.shell.Win32ShellFolder2.<init>:(I)V
putstatic sun.awt.shell.Win32ShellFolderManager2.network:Lsun/awt/shell/Win32ShellFolder2;
2: goto 6
StackMap locals:
StackMap stack: java.lang.SecurityException
3: pop
goto 6
4: StackMap locals:
StackMap stack: java.io.IOException
pop
goto 6
5: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
6: StackMap locals:
StackMap stack:
getstatic sun.awt.shell.Win32ShellFolderManager2.network:Lsun/awt/shell/Win32ShellFolder2;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 2 3 Class java.lang.SecurityException
1 2 4 Class java.io.IOException
1 2 5 Class java.lang.InterruptedException
static sun.awt.shell.Win32ShellFolder2 getPersonal();
descriptor: ()Lsun/awt/shell/Win32ShellFolder2;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: getstatic sun.awt.shell.Win32ShellFolderManager2.personal:Lsun/awt/shell/Win32ShellFolder2;
ifnonnull 13
1: iconst_5
invokestatic sun.awt.shell.Win32ShellFolder2.getFileSystemPath:(I)Ljava/lang/String;
astore 0
start local 0 2: aload 0
ifnull 13
3: invokestatic sun.awt.shell.Win32ShellFolderManager2.getDesktop:()Lsun/awt/shell/Win32ShellFolder2;
astore 1
start local 1 4: aload 1
aload 0
invokevirtual sun.awt.shell.Win32ShellFolder2.getChildByPath:(Ljava/lang/String;)Lsun/awt/shell/Win32ShellFolder2;
putstatic sun.awt.shell.Win32ShellFolderManager2.personal:Lsun/awt/shell/Win32ShellFolder2;
5: getstatic sun.awt.shell.Win32ShellFolderManager2.personal:Lsun/awt/shell/Win32ShellFolder2;
ifnonnull 7
6: invokestatic sun.awt.shell.Win32ShellFolderManager2.getDesktop:()Lsun/awt/shell/Win32ShellFolder2;
new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic sun.awt.shell.Win32ShellFolderManager2.createShellFolder:(Lsun/awt/shell/Win32ShellFolder2;Ljava/io/File;)Lsun/awt/shell/Win32ShellFolder2;
putstatic sun.awt.shell.Win32ShellFolderManager2.personal:Lsun/awt/shell/Win32ShellFolder2;
7: StackMap locals: java.lang.String sun.awt.shell.Win32ShellFolder2
StackMap stack:
getstatic sun.awt.shell.Win32ShellFolderManager2.personal:Lsun/awt/shell/Win32ShellFolder2;
ifnull 13
8: getstatic sun.awt.shell.Win32ShellFolderManager2.personal:Lsun/awt/shell/Win32ShellFolder2;
invokevirtual sun.awt.shell.Win32ShellFolder2.setIsPersonal:()V
end local 1 end local 0 9: goto 13
StackMap locals:
StackMap stack: java.lang.SecurityException
10: pop
goto 13
11: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
goto 13
12: StackMap locals:
StackMap stack: java.io.IOException
pop
13: StackMap locals:
StackMap stack:
getstatic sun.awt.shell.Win32ShellFolderManager2.personal:Lsun/awt/shell/Win32ShellFolder2;
areturn
LocalVariableTable:
Start End Slot Name Signature
2 9 0 path Ljava/lang/String;
4 9 1 desktop Lsun/awt/shell/Win32ShellFolder2;
Exception table:
from to target type
1 9 10 Class java.lang.SecurityException
1 9 11 Class java.lang.InterruptedException
1 9 12 Class java.io.IOException
public java.lang.Object get(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=2
start local 0 start local 1 0: aload 1
ldc "fileChooserDefaultFolder"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
1: invokestatic sun.awt.shell.Win32ShellFolderManager2.getPersonal:()Lsun/awt/shell/Win32ShellFolder2;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: invokestatic sun.awt.shell.Win32ShellFolderManager2.getDesktop:()Lsun/awt/shell/Win32ShellFolder2;
astore 2
4: StackMap locals: java.io.File
StackMap stack:
aload 0
aload 2
invokevirtual sun.awt.shell.Win32ShellFolderManager2.checkFile:(Ljava/io/File;)Ljava/io/File;
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
ldc "roots"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
6: getstatic sun.awt.shell.Win32ShellFolderManager2.roots:[Ljava/io/File;
ifnonnull 12
7: invokestatic sun.awt.shell.Win32ShellFolderManager2.getDesktop:()Lsun/awt/shell/Win32ShellFolder2;
astore 2
start local 2 8: aload 2
ifnull 11
9: iconst_1
anewarray java.io.File
dup
iconst_0
aload 2
aastore
putstatic sun.awt.shell.Win32ShellFolderManager2.roots:[Ljava/io/File;
10: goto 12
11: StackMap locals: java.io.File
StackMap stack:
aload 0
aload 1
invokespecial sun.awt.shell.ShellFolderManager.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.io.File[]
putstatic sun.awt.shell.Win32ShellFolderManager2.roots:[Ljava/io/File;
end local 2 12: StackMap locals:
StackMap stack:
aload 0
getstatic sun.awt.shell.Win32ShellFolderManager2.roots:[Ljava/io/File;
invokevirtual sun.awt.shell.Win32ShellFolderManager2.checkFiles:([Ljava/io/File;)[Ljava/io/File;
areturn
13: StackMap locals:
StackMap stack:
aload 1
ldc "fileChooserComboBoxFolders"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 39
14: invokestatic sun.awt.shell.Win32ShellFolderManager2.getDesktop:()Lsun/awt/shell/Win32ShellFolder2;
astore 2
start local 2 15: aload 2
ifnull 38
aload 0
aload 2
invokevirtual sun.awt.shell.Win32ShellFolderManager2.checkFile:(Ljava/io/File;)Ljava/io/File;
ifnull 38
16: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 17: invokestatic sun.awt.shell.Win32ShellFolderManager2.getDrives:()Lsun/awt/shell/Win32ShellFolder2;
astore 4
start local 4 18: invokestatic sun.awt.shell.Win32ShellFolderManager2.getRecent:()Lsun/awt/shell/Win32ShellFolder2;
astore 5
start local 5 19: aload 5
ifnull 21
invokestatic sun.awt.OSInfo.getWindowsVersion:()Lsun/awt/OSInfo$WindowsVersion;
getstatic sun.awt.OSInfo.WINDOWS_2000:Lsun/awt/OSInfo$WindowsVersion;
invokevirtual sun.awt.OSInfo$WindowsVersion.compareTo:(Lsun/awt/OSInfo$WindowsVersion;)I
iflt 21
20: aload 3
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
21: StackMap locals: sun.awt.shell.Win32ShellFolderManager2 java.lang.String sun.awt.shell.Win32ShellFolder2 java.util.ArrayList sun.awt.shell.Win32ShellFolder2 sun.awt.shell.Win32ShellFolder2
StackMap stack:
aload 3
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
22: aload 0
aload 2
invokevirtual sun.awt.shell.Win32ShellFolder2.listFiles:()[Ljava/io/File;
invokevirtual sun.awt.shell.Win32ShellFolderManager2.checkFiles:([Ljava/io/File;)[Ljava/io/File;
astore 6
start local 6 23: aload 6
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
24: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 36
StackMap locals: sun.awt.shell.Win32ShellFolderManager2 java.lang.String sun.awt.shell.Win32ShellFolder2 java.util.ArrayList sun.awt.shell.Win32ShellFolder2 sun.awt.shell.Win32ShellFolder2 java.io.File[] top int int java.io.File[]
StackMap stack:
25: aload 10
iload 8
aaload
astore 7
start local 7 26: aload 7
checkcast sun.awt.shell.Win32ShellFolder2
astore 11
start local 11 27: aload 11
invokevirtual sun.awt.shell.Win32ShellFolder2.isFileSystem:()Z
ifeq 28
aload 11
invokevirtual sun.awt.shell.Win32ShellFolder2.isDirectory:()Z
ifeq 35
aload 11
invokevirtual sun.awt.shell.Win32ShellFolder2.isLink:()Z
ifne 35
28: StackMap locals: sun.awt.shell.Win32ShellFolderManager2 java.lang.String sun.awt.shell.Win32ShellFolder2 java.util.ArrayList sun.awt.shell.Win32ShellFolder2 sun.awt.shell.Win32ShellFolder2 java.io.File[] java.io.File int int java.io.File[] sun.awt.shell.Win32ShellFolder2
StackMap stack:
aload 3
aload 11
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
29: aload 11
aload 4
invokevirtual sun.awt.shell.Win32ShellFolder2.equals:(Ljava/lang/Object;)Z
ifeq 35
30: aload 0
aload 11
invokevirtual sun.awt.shell.Win32ShellFolder2.listFiles:()[Ljava/io/File;
invokevirtual sun.awt.shell.Win32ShellFolderManager2.checkFiles:([Ljava/io/File;)[Ljava/io/File;
astore 12
start local 12 31: aload 12
ifnull 35
aload 12
arraylength
ifle 35
32: aload 12
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 13
start local 13 33: aload 11
aload 13
invokevirtual sun.awt.shell.Win32ShellFolder2.sortChildren:(Ljava/util/List;)V
34: aload 3
aload 13
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
end local 13 end local 12 end local 11 end local 7 35: StackMap locals: sun.awt.shell.Win32ShellFolderManager2 java.lang.String sun.awt.shell.Win32ShellFolder2 java.util.ArrayList sun.awt.shell.Win32ShellFolder2 sun.awt.shell.Win32ShellFolder2 java.io.File[] top int int java.io.File[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
36: iload 8
iload 9
if_icmplt 25
37: aload 0
aload 3
invokevirtual sun.awt.shell.Win32ShellFolderManager2.checkFiles:(Ljava/util/List;)[Ljava/io/File;
areturn
end local 6 end local 5 end local 4 end local 3 38: StackMap locals: sun.awt.shell.Win32ShellFolderManager2 java.lang.String sun.awt.shell.Win32ShellFolder2
StackMap stack:
aload 0
aload 1
invokespecial sun.awt.shell.ShellFolderManager.get:(Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 2 39: StackMap locals:
StackMap stack:
aload 1
ldc "fileChooserShortcutPanelFolders"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 63
40: invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
astore 2
start local 2 41: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 42: iconst_0
istore 4
start local 4 43: StackMap locals: java.awt.Toolkit java.util.ArrayList int
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "win.comdlg.placesBarPlace"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
iinc 4 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.awt.Toolkit.getDesktopProperty:(Ljava/lang/String;)Ljava/lang/Object;
astore 5
start local 5 44: aload 5
instanceof java.lang.Integer
ifeq 47
45: aload 3
new sun.awt.shell.Win32ShellFolder2
dup
aload 5
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokespecial sun.awt.shell.Win32ShellFolder2.<init>:(I)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
46: goto 53
StackMap locals: java.lang.Object
StackMap stack:
47: aload 5
instanceof java.lang.String
ifeq 53
48: aload 3
aload 0
new java.io.File
dup
aload 5
checkcast java.lang.String
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual sun.awt.shell.Win32ShellFolderManager2.createShellFolder:(Ljava/io/File;)Lsun/awt/shell/ShellFolder;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
49: goto 53
StackMap locals:
StackMap stack: java.io.IOException
50: pop
goto 53
51: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
52: iconst_0
anewarray java.io.File
areturn
53: StackMap locals:
StackMap stack:
aload 5
ifnonnull 43
54: aload 3
invokevirtual java.util.ArrayList.size:()I
ifne 62
55: iconst_5
anewarray java.io.File
dup
iconst_0
56: invokestatic sun.awt.shell.Win32ShellFolderManager2.getRecent:()Lsun/awt/shell/Win32ShellFolder2;
aastore
dup
iconst_1
invokestatic sun.awt.shell.Win32ShellFolderManager2.getDesktop:()Lsun/awt/shell/Win32ShellFolder2;
aastore
dup
iconst_2
invokestatic sun.awt.shell.Win32ShellFolderManager2.getPersonal:()Lsun/awt/shell/Win32ShellFolder2;
aastore
dup
iconst_3
invokestatic sun.awt.shell.Win32ShellFolderManager2.getDrives:()Lsun/awt/shell/Win32ShellFolder2;
aastore
dup
iconst_4
invokestatic sun.awt.shell.Win32ShellFolderManager2.getNetwork:()Lsun/awt/shell/Win32ShellFolder2;
aastore
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 61
StackMap locals: sun.awt.shell.Win32ShellFolderManager2 java.lang.String java.awt.Toolkit java.util.ArrayList int java.lang.Object top int int java.io.File[]
StackMap stack:
57: aload 9
iload 7
aaload
astore 6
start local 6 58: aload 6
ifnull 60
59: aload 3
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 60: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
61: iload 7
iload 8
if_icmplt 57
62: StackMap locals: sun.awt.shell.Win32ShellFolderManager2 java.lang.String java.awt.Toolkit java.util.ArrayList int java.lang.Object
StackMap stack:
aload 0
aload 3
invokevirtual sun.awt.shell.Win32ShellFolderManager2.checkFiles:(Ljava/util/List;)[Ljava/io/File;
areturn
end local 5 end local 4 end local 3 end local 2 63: StackMap locals: sun.awt.shell.Win32ShellFolderManager2 java.lang.String
StackMap stack:
aload 1
ldc "fileChooserIcon "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 79
64: aload 1
aload 1
ldc " "
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
start local 2 65: aload 2
ldc "ListView"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 66
aload 2
ldc "ViewMenu"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 68
66: StackMap locals: java.lang.String
StackMap stack:
iconst_2
istore 3
start local 3 67: goto 78
end local 3 StackMap locals:
StackMap stack:
68: aload 2
ldc "DetailsView"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 71
69: iconst_3
istore 3
start local 3 70: goto 78
end local 3 StackMap locals:
StackMap stack:
71: aload 2
ldc "UpFolder"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 74
72: bipush 8
istore 3
start local 3 73: goto 78
end local 3 StackMap locals:
StackMap stack:
74: aload 2
ldc "NewFolder"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 77
75: bipush 11
istore 3
start local 3 76: goto 78
end local 3 77: StackMap locals:
StackMap stack:
aconst_null
areturn
start local 3 78: StackMap locals: int
StackMap stack:
iload 3
invokestatic sun.awt.shell.Win32ShellFolderManager2.getStandardViewButton:(I)Ljava/awt/Image;
areturn
end local 3 end local 2 79: StackMap locals:
StackMap stack:
aload 1
ldc "optionPaneIcon "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 94
80: aload 1
ldc "optionPaneIcon Error"
if_acmpne 83
81: getstatic sun.awt.shell.Win32ShellFolder2$SystemIcon.IDI_ERROR:Lsun/awt/shell/Win32ShellFolder2$SystemIcon;
astore 2
start local 2 82: goto 93
end local 2 StackMap locals:
StackMap stack:
83: aload 1
ldc "optionPaneIcon Information"
if_acmpne 86
84: getstatic sun.awt.shell.Win32ShellFolder2$SystemIcon.IDI_INFORMATION:Lsun/awt/shell/Win32ShellFolder2$SystemIcon;
astore 2
start local 2 85: goto 93
end local 2 StackMap locals:
StackMap stack:
86: aload 1
ldc "optionPaneIcon Question"
if_acmpne 89
87: getstatic sun.awt.shell.Win32ShellFolder2$SystemIcon.IDI_QUESTION:Lsun/awt/shell/Win32ShellFolder2$SystemIcon;
astore 2
start local 2 88: goto 93
end local 2 StackMap locals:
StackMap stack:
89: aload 1
ldc "optionPaneIcon Warning"
if_acmpne 92
90: getstatic sun.awt.shell.Win32ShellFolder2$SystemIcon.IDI_EXCLAMATION:Lsun/awt/shell/Win32ShellFolder2$SystemIcon;
astore 2
start local 2 91: goto 93
end local 2 92: StackMap locals:
StackMap stack:
aconst_null
areturn
start local 2 93: StackMap locals: sun.awt.shell.Win32ShellFolder2$SystemIcon
StackMap stack:
aload 2
invokestatic sun.awt.shell.Win32ShellFolder2.getSystemIcon:(Lsun/awt/shell/Win32ShellFolder2$SystemIcon;)Ljava/awt/Image;
areturn
end local 2 94: StackMap locals:
StackMap stack:
aload 1
ldc "shell32Icon "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 95
aload 1
ldc "shell32LargeIcon "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 101
95: StackMap locals:
StackMap stack:
aload 1
aload 1
ldc " "
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
start local 2 96: aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 3
start local 3 97: iload 3
iflt 101
98: iload 3
aload 1
ldc "shell32LargeIcon "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
invokestatic sun.awt.shell.Win32ShellFolder2.getShell32Icon:(IZ)Ljava/awt/Image;
99: areturn
end local 3 100: StackMap locals: sun.awt.shell.Win32ShellFolderManager2 java.lang.String java.lang.String
StackMap stack: java.lang.NumberFormatException
pop
end local 2 101: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 102 0 this Lsun/awt/shell/Win32ShellFolderManager2;
0 102 1 key Ljava/lang/String;
2 5 2 file Ljava/io/File;
8 12 2 desktop Ljava/io/File;
15 39 2 desktop Lsun/awt/shell/Win32ShellFolder2;
17 38 3 folders Ljava/util/ArrayList<Ljava/io/File;>;
18 38 4 drives Lsun/awt/shell/Win32ShellFolder2;
19 38 5 recentFolder Lsun/awt/shell/Win32ShellFolder2;
23 38 6 secondLevelFolders [Ljava/io/File;
26 35 7 secondLevelFolder Ljava/io/File;
27 35 11 folder Lsun/awt/shell/Win32ShellFolder2;
31 35 12 thirdLevelFolders [Ljava/io/File;
33 35 13 thirdLevelFoldersList Ljava/util/List<Ljava/io/File;>;
41 63 2 toolkit Ljava/awt/Toolkit;
42 63 3 folders Ljava/util/ArrayList<Ljava/io/File;>;
43 63 4 i I
44 63 5 value Ljava/lang/Object;
58 60 6 f Ljava/io/File;
65 79 2 name Ljava/lang/String;
67 68 3 iconIndex I
70 71 3 iconIndex I
73 74 3 iconIndex I
76 77 3 iconIndex I
78 79 3 iconIndex I
82 83 2 iconType Lsun/awt/shell/Win32ShellFolder2$SystemIcon;
85 86 2 iconType Lsun/awt/shell/Win32ShellFolder2$SystemIcon;
88 89 2 iconType Lsun/awt/shell/Win32ShellFolder2$SystemIcon;
91 92 2 iconType Lsun/awt/shell/Win32ShellFolder2$SystemIcon;
93 94 2 iconType Lsun/awt/shell/Win32ShellFolder2$SystemIcon;
96 101 2 name Ljava/lang/String;
97 100 3 i I
Exception table:
from to target type
44 49 50 Class java.io.IOException
44 49 51 Class java.lang.InterruptedException
96 99 100 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
key
private java.io.File checkFile(java.io.File);
descriptor: (Ljava/io/File;)Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnull 2
aload 1
ifnonnull 3
StackMap locals: java.lang.SecurityManager
StackMap stack:
2: aload 1
goto 4
StackMap locals:
StackMap stack:
3: aload 0
aload 1
aload 2
invokevirtual sun.awt.shell.Win32ShellFolderManager2.checkFile:(Ljava/io/File;Ljava/lang/SecurityManager;)Ljava/io/File;
StackMap locals:
StackMap stack: java.io.File
4: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/shell/Win32ShellFolderManager2;
0 5 1 file Ljava/io/File;
1 5 2 sm Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
file
private java.io.File checkFile(java.io.File, java.lang.SecurityManager);
descriptor: (Ljava/io/File;Ljava/lang/SecurityManager;)Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokevirtual java.lang.SecurityManager.checkRead:(Ljava/lang/String;)V
1: aload 1
2: areturn
3: StackMap locals:
StackMap stack: java.lang.SecurityException
pop
4: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/shell/Win32ShellFolderManager2;
0 5 1 file Ljava/io/File;
0 5 2 sm Ljava/lang/SecurityManager;
Exception table:
from to target type
0 2 3 Class java.lang.SecurityException
MethodParameters:
Name Flags
file
sm
private java.io.File[] checkFiles(java.io.File[]);
descriptor: ([Ljava/io/File;)[Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnull 2
aload 1
ifnull 2
aload 1
arraylength
ifne 3
2: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 1
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
aload 2
invokevirtual sun.awt.shell.Win32ShellFolderManager2.checkFiles:(Ljava/util/stream/Stream;Ljava/lang/SecurityManager;)[Ljava/io/File;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/shell/Win32ShellFolderManager2;
0 4 1 files [Ljava/io/File;
1 4 2 sm Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
files
private java.io.File[] checkFiles(java.util.List<java.io.File>);
descriptor: (Ljava/util/List;)[Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnull 2
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
2: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 1
aload 1
invokeinterface java.util.List.size:()I
anewarray java.io.File
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.io.File[]
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
aload 2
invokevirtual sun.awt.shell.Win32ShellFolderManager2.checkFiles:(Ljava/util/stream/Stream;Ljava/lang/SecurityManager;)[Ljava/io/File;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/shell/Win32ShellFolderManager2;
0 4 1 files Ljava/util/List<Ljava/io/File;>;
1 4 2 sm Ljava/lang/SecurityManager;
Signature: (Ljava/util/List<Ljava/io/File;>;)[Ljava/io/File;
MethodParameters:
Name Flags
files
private java.io.File[] checkFiles(java.util.stream.Stream<java.io.File>, java.lang.SecurityManager);
descriptor: (Ljava/util/stream/Stream;Ljava/lang/SecurityManager;)[Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 2
invokedynamic test(Lsun/awt/shell/Win32ShellFolderManager2;Ljava/lang/SecurityManager;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
sun/awt/shell/Win32ShellFolderManager2.lambda$0(Ljava/lang/SecurityManager;Ljava/io/File;)Z (7)
(Ljava/io/File;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
sun/awt/shell/Win32ShellFolderManager2.lambda$1(I)[Ljava/io/File; (6)
(I)[Ljava/io/File;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.io.File[]
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/awt/shell/Win32ShellFolderManager2;
0 3 1 filesStream Ljava/util/stream/Stream<Ljava/io/File;>;
0 3 2 sm Ljava/lang/SecurityManager;
Signature: (Ljava/util/stream/Stream<Ljava/io/File;>;Ljava/lang/SecurityManager;)[Ljava/io/File;
MethodParameters:
Name Flags
filesStream
sm
public boolean isComputerNode(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
invokestatic sun.awt.shell.Win32ShellFolderManager2.getDrives:()Lsun/awt/shell/Win32ShellFolder2;
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
new sun.awt.shell.Win32ShellFolderManager2$1
dup
aload 0
aload 1
invokespecial sun.awt.shell.Win32ShellFolderManager2$1.<init>:(Lsun/awt/shell/Win32ShellFolderManager2;Ljava/io/File;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 3: aload 2
ldc "\\\\"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
aload 2
ldc "\\"
iconst_2
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
ifge 4
iconst_1
ireturn
StackMap locals: java.lang.String
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/shell/Win32ShellFolderManager2;
0 5 1 dir Ljava/io/File;
3 5 2 path Ljava/lang/String;
MethodParameters:
Name Flags
dir final
public boolean isFileSystemRoot(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnull 13
1: aload 1
instanceof sun.awt.shell.Win32ShellFolder2
ifeq 7
2: aload 1
checkcast sun.awt.shell.Win32ShellFolder2
astore 2
start local 2 3: aload 2
invokevirtual sun.awt.shell.Win32ShellFolder2.isFileSystem:()Z
ifeq 6
aload 2
getfield sun.awt.shell.Win32ShellFolder2.parent:Lsun/awt/shell/ShellFolder;
ifnull 6
4: aload 2
getfield sun.awt.shell.Win32ShellFolder2.parent:Lsun/awt/shell/ShellFolder;
invokestatic sun.awt.shell.Win32ShellFolderManager2.getDrives:()Lsun/awt/shell/Win32ShellFolder2;
invokevirtual sun.awt.shell.ShellFolder.equals:(Ljava/lang/Object;)Z
ifeq 6
5: iconst_1
ireturn
StackMap locals: sun.awt.shell.Win32ShellFolder2
StackMap stack:
6: iconst_0
ireturn
end local 2 7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
astore 2
start local 2 8: aload 2
invokevirtual java.lang.String.length:()I
iconst_3
if_icmpne 9
aload 2
iconst_1
invokevirtual java.lang.String.charAt:(I)C
bipush 58
if_icmpeq 10
9: StackMap locals: java.lang.String
StackMap stack:
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
invokestatic sun.awt.shell.Win32ShellFolder2.listRoots:()[Ljava/io/File;
astore 3
start local 3 11: aload 3
ifnull 12
aload 3
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 12
iconst_1
ireturn
StackMap locals: java.io.File[]
StackMap stack:
12: iconst_0
ireturn
end local 3 end local 2 13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/awt/shell/Win32ShellFolderManager2;
0 14 1 dir Ljava/io/File;
3 7 2 sf Lsun/awt/shell/Win32ShellFolder2;
8 13 2 path Ljava/lang/String;
11 13 3 roots [Ljava/io/File;
MethodParameters:
Name Flags
dir
static int compareShellFolders(sun.awt.shell.Win32ShellFolder2, sun.awt.shell.Win32ShellFolder2);
descriptor: (Lsun/awt/shell/Win32ShellFolder2;Lsun/awt/shell/Win32ShellFolder2;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.awt.shell.Win32ShellFolder2.isSpecial:()Z
istore 2
start local 2 1: aload 1
invokevirtual sun.awt.shell.Win32ShellFolder2.isSpecial:()Z
istore 3
start local 3 2: iload 2
ifne 3
iload 3
ifeq 18
3: StackMap locals: int int
StackMap stack:
getstatic sun.awt.shell.Win32ShellFolderManager2.topFolderList:Ljava/util/List;
ifnonnull 10
4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 5: aload 4
invokestatic sun.awt.shell.Win32ShellFolderManager2.getPersonal:()Lsun/awt/shell/Win32ShellFolder2;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
6: aload 4
invokestatic sun.awt.shell.Win32ShellFolderManager2.getDesktop:()Lsun/awt/shell/Win32ShellFolder2;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: aload 4
invokestatic sun.awt.shell.Win32ShellFolderManager2.getDrives:()Lsun/awt/shell/Win32ShellFolder2;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: aload 4
invokestatic sun.awt.shell.Win32ShellFolderManager2.getNetwork:()Lsun/awt/shell/Win32ShellFolder2;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
9: aload 4
putstatic sun.awt.shell.Win32ShellFolderManager2.topFolderList:Ljava/util/List;
end local 4 10: StackMap locals:
StackMap stack:
getstatic sun.awt.shell.Win32ShellFolderManager2.topFolderList:Ljava/util/List;
aload 0
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 4
start local 4 11: getstatic sun.awt.shell.Win32ShellFolderManager2.topFolderList:Ljava/util/List;
aload 1
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 5
start local 5 12: iload 4
iflt 14
iload 5
iflt 14
13: iload 4
iload 5
isub
ireturn
14: StackMap locals: int int
StackMap stack:
iload 4
iflt 16
15: iconst_m1
ireturn
16: StackMap locals:
StackMap stack:
iload 5
iflt 18
17: iconst_1
ireturn
end local 5 end local 4 18: StackMap locals:
StackMap stack:
iload 2
ifeq 20
iload 3
ifne 20
19: iconst_m1
ireturn
20: StackMap locals:
StackMap stack:
iload 3
ifeq 22
iload 2
ifne 22
21: iconst_1
ireturn
22: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.awt.shell.Win32ShellFolder2.getAbsolutePath:()Ljava/lang/String;
aload 1
invokevirtual sun.awt.shell.Win32ShellFolder2.getAbsolutePath:()Ljava/lang/String;
invokestatic sun.awt.shell.Win32ShellFolderManager2.compareNames:(Ljava/lang/String;Ljava/lang/String;)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 sf1 Lsun/awt/shell/Win32ShellFolder2;
0 23 1 sf2 Lsun/awt/shell/Win32ShellFolder2;
1 23 2 special1 Z
2 23 3 special2 Z
5 10 4 tmpTopFolderList Ljava/util/ArrayList<Lsun/awt/shell/Win32ShellFolder2;>;
11 18 4 i1 I
12 18 5 i2 I
MethodParameters:
Name Flags
sf1
sf2
static int compareNames(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
istore 2
start local 2 1: iload 2
ifeq 3
2: iload 2
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name1 Ljava/lang/String;
0 4 1 name2 Ljava/lang/String;
1 4 2 diff I
MethodParameters:
Name Flags
name1
name2
protected sun.awt.shell.ShellFolder$Invoker createInvoker();
descriptor: ()Lsun/awt/shell/ShellFolder$Invoker;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new sun.awt.shell.Win32ShellFolderManager2$ComInvoker
dup
invokespecial sun.awt.shell.Win32ShellFolderManager2$ComInvoker.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/shell/Win32ShellFolderManager2;
static native void initializeCom();
descriptor: ()V
flags: (0x0108) ACC_STATIC, ACC_NATIVE
static native void uninitializeCom();
descriptor: ()V
flags: (0x0108) ACC_STATIC, ACC_NATIVE
private boolean lambda$0(java.lang.SecurityManager, java.io.File);
descriptor: (Ljava/lang/SecurityManager;Ljava/io/File;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 2
aload 1
invokevirtual sun.awt.shell.Win32ShellFolderManager2.checkFile:(Ljava/io/File;Ljava/lang/SecurityManager;)Ljava/io/File;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/awt/shell/Win32ShellFolderManager2;
0 3 2 file Ljava/io/File;
private static java.io.File[] lambda$1(int);
descriptor: (I)[Ljava/io/File;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray java.io.File
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Win32ShellFolderManager2.java"
NestMembers:
sun.awt.shell.Win32ShellFolderManager2$1 sun.awt.shell.Win32ShellFolderManager2$ComInvoker sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1 sun.awt.shell.Win32ShellFolderManager2$ComInvoker$2
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public WindowsVersion = sun.awt.OSInfo$WindowsVersion of sun.awt.OSInfo
public abstract Invoker = sun.awt.shell.ShellFolder$Invoker of sun.awt.shell.ShellFolder
MultiResolutionIconImage = sun.awt.shell.Win32ShellFolder2$MultiResolutionIconImage of sun.awt.shell.Win32ShellFolder2
public final SystemIcon = sun.awt.shell.Win32ShellFolder2$SystemIcon of sun.awt.shell.Win32ShellFolder2
sun.awt.shell.Win32ShellFolderManager2$1
private ComInvoker = sun.awt.shell.Win32ShellFolderManager2$ComInvoker of sun.awt.shell.Win32ShellFolderManager2