class sun.rmi.rmic.BatchEnvironment$Path extends java.util.LinkedHashSet<java.lang.String>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.rmi.rmic.BatchEnvironment$Path
super_class: java.util.LinkedHashSet
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean warn;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private boolean expandJarClassPaths;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String emptyPathDefault;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static boolean isZip(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.isFile:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public sun.rmi.rmic.BatchEnvironment$Path expandJarClassPaths(boolean);
descriptor: (Z)Lsun/rmi/rmic/BatchEnvironment$Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield sun.rmi.rmic.BatchEnvironment$Path.expandJarClassPaths:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/rmi/rmic/BatchEnvironment$Path;
0 2 1 x Z
MethodParameters:
Name Flags
x
public sun.rmi.rmic.BatchEnvironment$Path emptyPathDefault(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/rmi/rmic/BatchEnvironment$Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.rmi.rmic.BatchEnvironment$Path.emptyPathDefault:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/rmi/rmic/BatchEnvironment$Path;
0 2 1 x Ljava/lang/String;
MethodParameters:
Name Flags
x
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.util.LinkedHashSet.<init>:()V
1: aload 0
iconst_0
putfield sun.rmi.rmic.BatchEnvironment$Path.expandJarClassPaths:Z
2: aload 0
aconst_null
putfield sun.rmi.rmic.BatchEnvironment$Path.emptyPathDefault:Ljava/lang/String;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/rmi/rmic/BatchEnvironment$Path;
public sun.rmi.rmic.BatchEnvironment$Path addDirectories(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Lsun/rmi/rmic/BatchEnvironment$Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 5
1: new sun.rmi.rmic.BatchEnvironment$Path$PathIterator
dup
aload 1
invokespecial sun.rmi.rmic.BatchEnvironment$Path$PathIterator.<init>:(Ljava/lang/String;)V
invokevirtual sun.rmi.rmic.BatchEnvironment$Path$PathIterator.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: sun.rmi.rmic.BatchEnvironment$Path java.lang.String int top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 0
aload 3
iload 2
invokevirtual sun.rmi.rmic.BatchEnvironment$Path.addDirectory:(Ljava/lang/String;Z)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: StackMap locals: sun.rmi.rmic.BatchEnvironment$Path java.lang.String int
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/rmi/rmic/BatchEnvironment$Path;
0 6 1 dirs Ljava/lang/String;
0 6 2 warn Z
3 4 3 dir Ljava/lang/String;
MethodParameters:
Name Flags
dirs
warn
public sun.rmi.rmic.BatchEnvironment$Path addDirectories(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/rmi/rmic/BatchEnvironment$Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual sun.rmi.rmic.BatchEnvironment$Path.addDirectories:(Ljava/lang/String;Z)Lsun/rmi/rmic/BatchEnvironment$Path;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/BatchEnvironment$Path;
0 1 1 dirs Ljava/lang/String;
MethodParameters:
Name Flags
dirs
private void addDirectory(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.isDirectory:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.list:()[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: sun.rmi.rmic.BatchEnvironment$Path java.lang.String int top int int java.lang.String[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 7
start local 7 5: aload 7
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 7
6: aload 7
ldc ".zip"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 8
7: StackMap locals: sun.rmi.rmic.BatchEnvironment$Path java.lang.String int java.lang.String int int java.lang.String[] java.lang.String
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 2
invokevirtual sun.rmi.rmic.BatchEnvironment$Path.addFile:(Ljava/lang/String;Z)V
end local 7 end local 3 8: StackMap locals: sun.rmi.rmic.BatchEnvironment$Path java.lang.String int top int int java.lang.String[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 5
if_icmplt 3
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/rmi/rmic/BatchEnvironment$Path;
0 11 1 dir Ljava/lang/String;
0 11 2 warn Z
4 8 3 direntry Ljava/lang/String;
5 8 7 canonicalized Ljava/lang/String;
MethodParameters:
Name Flags
dir
warn
public sun.rmi.rmic.BatchEnvironment$Path addFiles(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Lsun/rmi/rmic/BatchEnvironment$Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 5
1: new sun.rmi.rmic.BatchEnvironment$Path$PathIterator
dup
aload 1
aload 0
getfield sun.rmi.rmic.BatchEnvironment$Path.emptyPathDefault:Ljava/lang/String;
invokespecial sun.rmi.rmic.BatchEnvironment$Path$PathIterator.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual sun.rmi.rmic.BatchEnvironment$Path$PathIterator.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: sun.rmi.rmic.BatchEnvironment$Path java.lang.String int top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 0
aload 3
iload 2
invokevirtual sun.rmi.rmic.BatchEnvironment$Path.addFile:(Ljava/lang/String;Z)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: StackMap locals: sun.rmi.rmic.BatchEnvironment$Path java.lang.String int
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/rmi/rmic/BatchEnvironment$Path;
0 6 1 files Ljava/lang/String;
0 6 2 warn Z
3 4 3 file Ljava/lang/String;
MethodParameters:
Name Flags
files
warn
public sun.rmi.rmic.BatchEnvironment$Path addFiles(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/rmi/rmic/BatchEnvironment$Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual sun.rmi.rmic.BatchEnvironment$Path.addFiles:(Ljava/lang/String;Z)Lsun/rmi/rmic/BatchEnvironment$Path;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/BatchEnvironment$Path;
0 1 1 files Ljava/lang/String;
MethodParameters:
Name Flags
files
private void addFile(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.rmi.rmic.BatchEnvironment$Path.contains:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: 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 3: aload 3
invokevirtual java.io.File.exists:()Z
ifne 6
4: iload 2
ifeq 6
5: return
6: StackMap locals: java.io.File
StackMap stack:
aload 3
invokevirtual java.io.File.isFile:()Z
ifeq 11
7: aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 4
start local 4 8: aload 4
ldc ".zip"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 11
9: aload 4
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 11
10: return
end local 4 11: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
pop
12: aload 0
getfield sun.rmi.rmic.BatchEnvironment$Path.expandJarClassPaths:Z
ifeq 14
aload 1
invokestatic sun.rmi.rmic.BatchEnvironment$Path.isZip:(Ljava/lang/String;)Z
ifeq 14
13: aload 0
aload 1
iload 2
invokevirtual sun.rmi.rmic.BatchEnvironment$Path.addJarClassPath:(Ljava/lang/String;Z)V
14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/rmi/rmic/BatchEnvironment$Path;
0 15 1 file Ljava/lang/String;
0 15 2 warn Z
3 15 3 ele Ljava/io/File;
8 11 4 arcname Ljava/lang/String;
MethodParameters:
Name Flags
file
warn
private void addJarClassPath(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getParent:()Ljava/lang/String;
astore 3
start local 3 1: new java.util.jar.JarFile
dup
aload 1
invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
astore 4
start local 4 2: aload 4
invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
astore 5
start local 5 3: aload 5
ifnonnull 6
4: aload 4
invokevirtual java.util.jar.JarFile.close:()V
5: return
6: StackMap locals: java.lang.String java.util.jar.JarFile java.util.jar.Manifest
StackMap stack:
aload 5
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
astore 6
start local 6 7: aload 6
ifnonnull 10
8: aload 4
invokevirtual java.util.jar.JarFile.close:()V
9: return
10: StackMap locals: java.util.jar.Attributes
StackMap stack:
aload 6
getstatic java.util.jar.Attributes$Name.CLASS_PATH:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 7
start local 7 11: aload 7
ifnonnull 14
12: aload 4
invokevirtual java.util.jar.JarFile.close:()V
13: return
14: StackMap locals: java.lang.String
StackMap stack:
new java.util.StringTokenizer
dup
aload 7
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
astore 8
start local 8 15: goto 20
16: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 8
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 9
start local 9 17: aload 3
ifnull 19
18: new java.io.File
dup
aload 3
aload 9
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
astore 9
19: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 9
iload 2
invokevirtual sun.rmi.rmic.BatchEnvironment$Path.addFile:(Ljava/lang/String;Z)V
end local 9 20: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 16
end local 8 end local 7 end local 6 end local 5 21: goto 25
StackMap locals: sun.rmi.rmic.BatchEnvironment$Path java.lang.String int java.lang.String java.util.jar.JarFile
StackMap stack: java.lang.Throwable
22: astore 10
23: aload 4
invokevirtual java.util.jar.JarFile.close:()V
24: aload 10
athrow
25: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.jar.JarFile.close:()V
end local 4 end local 3 26: goto 28
StackMap locals: sun.rmi.rmic.BatchEnvironment$Path java.lang.String int
StackMap stack: java.io.IOException
27: pop
28: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/rmi/rmic/BatchEnvironment$Path;
0 29 1 jarFileName Ljava/lang/String;
0 29 2 warn Z
1 26 3 jarParent Ljava/lang/String;
2 26 4 jar Ljava/util/jar/JarFile;
3 21 5 man Ljava/util/jar/Manifest;
7 21 6 attr Ljava/util/jar/Attributes;
11 21 7 path Ljava/lang/String;
15 21 8 st Ljava/util/StringTokenizer;
17 20 9 elt Ljava/lang/String;
Exception table:
from to target type
2 4 22 any
6 8 22 any
10 12 22 any
14 22 22 any
0 5 27 Class java.io.IOException
6 9 27 Class java.io.IOException
10 13 27 Class java.io.IOException
14 26 27 Class java.io.IOException
MethodParameters:
Name Flags
jarFileName
warn
}
Signature: Ljava/util/LinkedHashSet<Ljava/lang/String;>;
SourceFile: "BatchEnvironment.java"
NestHost: sun.rmi.rmic.BatchEnvironment
InnerClasses:
public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes
private Path = sun.rmi.rmic.BatchEnvironment$Path of sun.rmi.rmic.BatchEnvironment
private PathIterator = sun.rmi.rmic.BatchEnvironment$Path$PathIterator of sun.rmi.rmic.BatchEnvironment$Path