public class com.sun.tools.extcheck.ExtCheck
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.extcheck.ExtCheck
super_class: java.lang.Object
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private java.lang.String targetSpecTitle;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String targetSpecVersion;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String targetSpecVendor;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String targetImplTitle;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String targetImplVersion;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String targetImplVendor;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String targetsealed;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean verboseFlag;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static com.sun.tools.extcheck.ExtCheck create(java.io.File, boolean);
descriptor: (Ljava/io/File;Z)Lcom/sun/tools/extcheck/ExtCheck;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.tools.extcheck.ExtCheck
dup
aload 0
iload 1
invokespecial com.sun.tools.extcheck.ExtCheck.<init>:(Ljava/io/File;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 targetFile Ljava/io/File;
0 1 1 verbose Z
MethodParameters:
Name Flags
targetFile
verbose
private void <init>(java.io.File, boolean);
descriptor: (Ljava/io/File;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 2
putfield com.sun.tools.extcheck.ExtCheck.verboseFlag:Z
2: aload 0
aload 1
invokevirtual com.sun.tools.extcheck.ExtCheck.investigateTarget:(Ljava/io/File;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/extcheck/ExtCheck;
0 4 1 targetFile Ljava/io/File;
0 4 2 verbose Z
MethodParameters:
Name Flags
targetFile
verbose
private void investigateTarget(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
new java.lang.StringBuilder
dup
ldc "Target file:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
1: aconst_null
astore 2
start local 2 2: new java.io.File
dup
aload 1
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 3: aload 3
invokestatic sun.net.www.ParseUtil.fileToEncodedURL:(Ljava/io/File;)Ljava/net/URL;
astore 4
start local 4 4: aload 4
ifnull 13
5: new com.sun.tools.extcheck.ExtCheck$JarLoader
dup
aload 4
invokespecial com.sun.tools.extcheck.ExtCheck$JarLoader.<init>:(Ljava/net/URL;)V
astore 5
start local 5 6: aload 5
invokevirtual com.sun.tools.extcheck.ExtCheck$JarLoader.getJarFile:()Ljava/util/jar/JarFile;
astore 6
start local 6 7: aload 6
invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
astore 2
end local 6 end local 5 end local 4 end local 3 8: goto 13
StackMap locals: com.sun.tools.extcheck.ExtCheck java.io.File java.util.jar.Manifest
StackMap stack: java.net.MalformedURLException
9: pop
10: ldc "Malformed URL "
invokestatic com.sun.tools.extcheck.ExtCheck.error:(Ljava/lang/String;)V
goto 13
11: StackMap locals:
StackMap stack: java.io.IOException
pop
12: ldc "IO Exception "
invokestatic com.sun.tools.extcheck.ExtCheck.error:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
aload 2
ifnonnull 15
14: new java.lang.StringBuilder
dup
ldc "No manifest available in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.extcheck.ExtCheck.error:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
astore 3
start local 3 16: aload 3
ifnull 25
17: aload 0
aload 3
getstatic java.util.jar.Attributes$Name.SPECIFICATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
putfield com.sun.tools.extcheck.ExtCheck.targetSpecTitle:Ljava/lang/String;
18: aload 0
aload 3
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
putfield com.sun.tools.extcheck.ExtCheck.targetSpecVersion:Ljava/lang/String;
19: aload 0
aload 3
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
putfield com.sun.tools.extcheck.ExtCheck.targetSpecVendor:Ljava/lang/String;
20: aload 0
aload 3
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
putfield com.sun.tools.extcheck.ExtCheck.targetImplTitle:Ljava/lang/String;
21: aload 0
aload 3
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
putfield com.sun.tools.extcheck.ExtCheck.targetImplVersion:Ljava/lang/String;
22: aload 0
aload 3
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
putfield com.sun.tools.extcheck.ExtCheck.targetImplVendor:Ljava/lang/String;
23: aload 0
aload 3
getstatic java.util.jar.Attributes$Name.SEALED:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
putfield com.sun.tools.extcheck.ExtCheck.targetsealed:Ljava/lang/String;
24: goto 26
25: StackMap locals: java.util.jar.Attributes
StackMap stack:
ldc "No attributes available in the manifest"
invokestatic com.sun.tools.extcheck.ExtCheck.error:(Ljava/lang/String;)V
26: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetSpecTitle:Ljava/lang/String;
ifnonnull 28
27: ldc "The target file does not have a specification title"
invokestatic com.sun.tools.extcheck.ExtCheck.error:(Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetSpecVersion:Ljava/lang/String;
ifnonnull 30
29: ldc "The target file does not have a specification version"
invokestatic com.sun.tools.extcheck.ExtCheck.error:(Ljava/lang/String;)V
30: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Specification title:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetSpecTitle:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
31: aload 0
new java.lang.StringBuilder
dup
ldc "Specification version:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetSpecVersion:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
32: aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetSpecVendor:Ljava/lang/String;
ifnull 34
33: aload 0
new java.lang.StringBuilder
dup
ldc "Specification vendor:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetSpecVendor:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
34: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetImplVersion:Ljava/lang/String;
ifnull 36
35: aload 0
new java.lang.StringBuilder
dup
ldc "Implementation version:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetImplVersion:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
36: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetImplVendor:Ljava/lang/String;
ifnull 38
37: aload 0
new java.lang.StringBuilder
dup
ldc "Implementation vendor:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetImplVendor:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
38: StackMap locals:
StackMap stack:
aload 0
ldc ""
invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
39: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lcom/sun/tools/extcheck/ExtCheck;
0 40 1 targetFile Ljava/io/File;
2 40 2 targetManifest Ljava/util/jar/Manifest;
3 8 3 canon Ljava/io/File;
4 8 4 url Ljava/net/URL;
6 8 5 loader Lcom/sun/tools/extcheck/ExtCheck$JarLoader;
7 8 6 jarFile Ljava/util/jar/JarFile;
16 40 3 attr Ljava/util/jar/Attributes;
Exception table:
from to target type
2 8 9 Class java.net.MalformedURLException
2 8 11 Class java.io.IOException
MethodParameters:
Name Flags
targetFile
boolean checkInstalledAgainstTarget();
descriptor: ()Z
flags: (0x0000)
Code:
stack=5, locals=10, args_size=1
start local 0 0: ldc "java.ext.dirs"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnull 12
2: new java.util.StringTokenizer
dup
aload 1
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
3: astore 3
start local 3 4: aload 3
invokevirtual java.util.StringTokenizer.countTokens:()I
istore 4
start local 4 5: iload 4
anewarray java.io.File
astore 2
start local 2 6: iconst_0
istore 5
start local 5 7: goto 10
8: StackMap locals: com.sun.tools.extcheck.ExtCheck java.lang.String java.io.File[] java.util.StringTokenizer int int
StackMap stack:
aload 2
iload 5
new java.io.File
dup
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
aastore
9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 4
if_icmplt 8
end local 5 end local 4 end local 3 11: goto 13
end local 2 12: StackMap locals: com.sun.tools.extcheck.ExtCheck java.lang.String
StackMap stack:
iconst_0
anewarray java.io.File
astore 2
start local 2 13: StackMap locals: java.io.File[]
StackMap stack:
iconst_1
istore 3
start local 3 14: iconst_0
istore 4
start local 4 15: goto 35
16: StackMap locals: int int
StackMap stack:
aload 2
iload 4
aaload
invokevirtual java.io.File.list:()[Ljava/lang/String;
astore 5
start local 5 17: aload 5
ifnull 34
18: iconst_0
istore 6
start local 6 19: goto 33
20: StackMap locals: java.lang.String[] int
StackMap stack:
new java.io.File
dup
aload 2
iload 4
aaload
aload 5
iload 6
aaload
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 7
start local 7 21: new java.io.File
dup
aload 7
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 8
start local 8 22: aload 8
invokestatic sun.net.www.ParseUtil.fileToEncodedURL:(Ljava/io/File;)Ljava/net/URL;
astore 9
start local 9 23: aload 9
ifnull 32
24: iload 3
ifeq 25
aload 0
iconst_1
aload 9
invokevirtual com.sun.tools.extcheck.ExtCheck.checkURLRecursively:(ILjava/net/URL;)Z
ifeq 25
iconst_1
goto 26
StackMap locals: java.io.File java.io.File java.net.URL
StackMap stack:
25: iconst_0
StackMap locals:
StackMap stack: int
26: istore 3
end local 9 end local 8 end local 7 27: goto 32
StackMap locals: com.sun.tools.extcheck.ExtCheck java.lang.String java.io.File[] int int java.lang.String[] int
StackMap stack: java.net.MalformedURLException
28: pop
29: ldc "Malformed URL"
invokestatic com.sun.tools.extcheck.ExtCheck.error:(Ljava/lang/String;)V
goto 32
30: StackMap locals:
StackMap stack: java.io.IOException
pop
31: ldc "IO Exception"
invokestatic com.sun.tools.extcheck.ExtCheck.error:(Ljava/lang/String;)V
32: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
33: iload 6
aload 5
arraylength
if_icmplt 20
end local 6 end local 5 34: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
35: iload 4
aload 2
arraylength
if_icmplt 16
end local 4 36: iload 3
ifeq 39
37: aload 0
ldc "No conflicting installed jar found."
invokevirtual com.sun.tools.extcheck.ExtCheck.generalMessage:(Ljava/lang/String;)V
38: goto 40
39: StackMap locals:
StackMap stack:
aload 0
ldc "Conflicting installed jar found. Use -verbose for more information."
invokevirtual com.sun.tools.extcheck.ExtCheck.generalMessage:(Ljava/lang/String;)V
40: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lcom/sun/tools/extcheck/ExtCheck;
1 41 1 s Ljava/lang/String;
6 12 2 dirs [Ljava/io/File;
13 41 2 dirs [Ljava/io/File;
4 11 3 st Ljava/util/StringTokenizer;
5 11 4 count I
7 11 5 i I
14 41 3 result Z
15 36 4 i I
17 34 5 files [Ljava/lang/String;
19 34 6 j I
21 27 7 f Ljava/io/File;
22 27 8 canon Ljava/io/File;
23 27 9 url Ljava/net/URL;
Exception table:
from to target type
20 27 28 Class java.net.MalformedURLException
20 27 30 Class java.io.IOException
private boolean checkURLRecursively(int, java.net.URL);
descriptor: (ILjava/net/URL;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new java.lang.StringBuilder
dup
ldc "Comparing with "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
1: new com.sun.tools.extcheck.ExtCheck$JarLoader
dup
aload 2
invokespecial com.sun.tools.extcheck.ExtCheck$JarLoader.<init>:(Ljava/net/URL;)V
astore 3
start local 3 2: aload 3
invokevirtual com.sun.tools.extcheck.ExtCheck$JarLoader.getJarFile:()Ljava/util/jar/JarFile;
astore 4
start local 4 3: aload 4
invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
astore 5
start local 5 4: aload 5
ifnull 39
5: aload 5
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
astore 6
start local 6 6: aload 6
ifnull 39
7: aload 6
getstatic java.util.jar.Attributes$Name.SPECIFICATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 7
start local 7 8: aload 6
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 8
start local 8 9: aload 6
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
pop
10: aload 6
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 9
start local 9 11: aload 6
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
12: astore 10
start local 10 13: aload 6
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 11
start local 11 14: aload 6
getstatic java.util.jar.Attributes$Name.SEALED:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
pop
15: aload 7
ifnull 39
16: aload 7
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetSpecTitle:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 39
17: aload 8
ifnull 39
18: aload 8
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetSpecVersion:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
19: aload 0
aload 8
aload 0
getfield com.sun.tools.extcheck.ExtCheck.targetSpecVersion:Ljava/lang/String;
invokevirtual com.sun.tools.extcheck.ExtCheck.isNotOlderThan:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 39
20: StackMap locals: com.sun.tools.extcheck.ExtCheck int java.net.URL com.sun.tools.extcheck.ExtCheck$JarLoader java.util.jar.JarFile java.util.jar.Manifest java.util.jar.Attributes java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 0
ldc ""
invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
21: aload 0
ldc "CONFLICT DETECTED "
invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
22: aload 0
new java.lang.StringBuilder
dup
ldc "Conflicting file:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
23: aload 0
new java.lang.StringBuilder
dup
ldc "Installed Version:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
26: aload 9
ifnull 30
27: aload 0
new java.lang.StringBuilder
dup
ldc "Implementation Title:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
28: aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
30: StackMap locals:
StackMap stack:
aload 10
ifnull 34
31: aload 0
new java.lang.StringBuilder
dup
ldc "Implementation Version:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
32: aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
34: StackMap locals:
StackMap stack:
aload 11
ifnull 38
35: aload 0
new java.lang.StringBuilder
dup
ldc "Implementation Vendor:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
36: aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: invokevirtual com.sun.tools.extcheck.ExtCheck.verboseMessage:(Ljava/lang/String;)V
38: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 39: StackMap locals: com.sun.tools.extcheck.ExtCheck int java.net.URL com.sun.tools.extcheck.ExtCheck$JarLoader java.util.jar.JarFile java.util.jar.Manifest
StackMap stack:
iconst_1
istore 6
start local 6 40: aload 3
invokevirtual com.sun.tools.extcheck.ExtCheck$JarLoader.getClassPath:()[Ljava/net/URL;
astore 7
start local 7 41: aload 7
ifnull 51
42: iconst_0
istore 8
start local 8 43: goto 50
44: StackMap locals: int java.net.URL[] int
StackMap stack:
aload 2
ifnull 49
45: aload 0
iload 1
iconst_1
iadd
aload 7
iload 8
aaload
invokevirtual com.sun.tools.extcheck.ExtCheck.checkURLRecursively:(ILjava/net/URL;)Z
istore 9
start local 9 46: iload 9
ifeq 47
iload 6
ifeq 47
iconst_1
goto 48
StackMap locals: int
StackMap stack:
47: iconst_0
StackMap locals:
StackMap stack: int
48: istore 6
end local 9 49: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
50: iload 8
aload 7
arraylength
if_icmplt 44
end local 8 51: StackMap locals:
StackMap stack:
iload 6
ireturn
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 52 0 this Lcom/sun/tools/extcheck/ExtCheck;
0 52 1 indent I
0 52 2 url Ljava/net/URL;
2 52 3 jarloader Lcom/sun/tools/extcheck/ExtCheck$JarLoader;
3 52 4 j Ljava/util/jar/JarFile;
4 52 5 man Ljava/util/jar/Manifest;
6 39 6 attr Ljava/util/jar/Attributes;
8 39 7 title Ljava/lang/String;
9 39 8 version Ljava/lang/String;
11 39 9 implTitle Ljava/lang/String;
13 39 10 implVersion Ljava/lang/String;
14 39 11 implVendor Ljava/lang/String;
40 52 6 result Z
41 52 7 loaderList [Ljava/net/URL;
43 51 8 i I
46 49 9 res Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
indent
url
private boolean isNotOlderThan(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpge 2
1: StackMap locals:
StackMap stack:
new java.lang.NumberFormatException
dup
ldc "Empty version string"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new java.util.StringTokenizer
dup
aload 2
ldc "."
iconst_1
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
astore 3
start local 3 3: new java.util.StringTokenizer
dup
aload 1
ldc "."
iconst_1
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
astore 4
start local 4 4: goto 21
5: StackMap locals: java.util.StringTokenizer java.util.StringTokenizer
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 8
6: aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 5
start local 5 7: goto 9
end local 5 8: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 9: StackMap locals: int
StackMap stack:
aload 4
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 12
10: aload 4
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 6
start local 6 11: goto 13
end local 6 12: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 13: StackMap locals: int
StackMap stack:
iload 6
iload 5
if_icmpge 15
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmple 17
16: iconst_1
ireturn
17: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 19
18: aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
pop
19: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 21
20: aload 4
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
pop
end local 6 end local 5 21: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 5
aload 4
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 5
22: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/tools/extcheck/ExtCheck;
0 23 1 already Ljava/lang/String;
0 23 2 target Ljava/lang/String;
3 23 3 dtok Ljava/util/StringTokenizer;
4 23 4 stok Ljava/util/StringTokenizer;
7 8 5 dver I
9 21 5 dver I
11 12 6 sver I
13 21 6 sver I
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
already
target
void verboseMessage(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.extcheck.ExtCheck.verboseFlag:Z
ifeq 2
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 1
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/extcheck/ExtCheck;
0 3 1 message Ljava/lang/String;
MethodParameters:
Name Flags
message
void generalMessage(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.err: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 Lcom/sun/tools/extcheck/ExtCheck;
0 2 1 message Ljava/lang/String;
MethodParameters:
Name Flags
message
static void error(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.RuntimeException
dup
aload 0
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 message Ljava/lang/String;
Exceptions:
throws java.lang.RuntimeException
MethodParameters:
Name Flags
message
}
SourceFile: "ExtCheck.java"
NestMembers:
com.sun.tools.extcheck.ExtCheck$JarLoader
InnerClasses:
private JarLoader = com.sun.tools.extcheck.ExtCheck$JarLoader of com.sun.tools.extcheck.ExtCheck
public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes