final class sun.tools.jar.Validator
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.tools.jar.Validator
super_class: java.lang.Object
{
private final java.util.Map<java.lang.String, sun.tools.jar.FingerPrint> classes;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lsun/tools/jar/FingerPrint;>;
private final sun.tools.jar.Main main;
descriptor: Lsun/tools/jar/Main;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.zip.ZipFile zf;
descriptor: Ljava/util/zip/ZipFile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean isValid;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.Set<java.lang.String> concealedPkgs;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/lang/String;>;
private java.lang.module.ModuleDescriptor md;
descriptor: Ljava/lang/module/ModuleDescriptor;
flags: (0x0002) ACC_PRIVATE
private java.lang.String mdName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private void <init>(sun.tools.jar.Main, java.util.zip.ZipFile);
descriptor: (Lsun/tools/jar/Main;Ljava/util/zip/ZipFile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, 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
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.tools.jar.Validator.classes:Ljava/util/Map;
2: aload 0
iconst_1
putfield sun.tools.jar.Validator.isValid:Z
3: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield sun.tools.jar.Validator.concealedPkgs:Ljava/util/Set;
4: aload 0
aload 1
putfield sun.tools.jar.Validator.main:Lsun/tools/jar/Main;
5: aload 0
aload 2
putfield sun.tools.jar.Validator.zf:Ljava/util/zip/ZipFile;
6: aload 0
ldc "module-info.class"
invokevirtual sun.tools.jar.Validator.checkModuleDescriptor:(Ljava/lang/String;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/tools/jar/Validator;
0 8 1 main Lsun/tools/jar/Main;
0 8 2 zf Ljava/util/zip/ZipFile;
MethodParameters:
Name Flags
main
zf
static boolean validate(sun.tools.jar.Main, java.util.zip.ZipFile);
descriptor: (Lsun/tools/jar/Main;Ljava/util/zip/ZipFile;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new sun.tools.jar.Validator
dup
aload 0
aload 1
invokespecial sun.tools.jar.Validator.<init>:(Lsun/tools/jar/Main;Ljava/util/zip/ZipFile;)V
invokevirtual sun.tools.jar.Validator.validate:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 main Lsun/tools/jar/Main;
0 1 1 zf Ljava/util/zip/ZipFile;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
main
zf
private boolean validate();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.tools.jar.Validator.zf:Ljava/util/zip/ZipFile;
invokevirtual java.util.zip.ZipFile.stream:()Ljava/util/stream/Stream;
1: invokedynamic test()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/tools/jar/Validator.lambda$0(Ljava/util/zip/ZipEntry;)Z (6)
(Ljava/util/zip/ZipEntry;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: aload 0
invokedynamic apply(Lsun/tools/jar/Validator;)Ljava/util/function/Function;
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;)Ljava/lang/Object;
sun/tools/jar/Validator.getFingerPrint(Ljava/util/zip/ZipEntry;)Lsun/tools/jar/FingerPrint; (7)
(Ljava/util/zip/ZipEntry;)Lsun/tools/jar/FingerPrint;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: invokedynamic test()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/tools/jar/FingerPrint.isClass()Z (5)
(Lsun/tools/jar/FingerPrint;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
4: invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
sun/tools/jar/FingerPrint.mrversion()I (5)
(Lsun/tools/jar/FingerPrint;)Ljava/lang/Integer;
5: invokedynamic get()Ljava/util/function/Supplier;
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;
java/util/TreeMap.<init>()V (8)
()Ljava/util/TreeMap;
6: invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
sun/tools/jar/FingerPrint.className()Ljava/lang/String; (5)
(Lsun/tools/jar/FingerPrint;)Ljava/lang/String;
7: invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
8: aload 0
invokedynamic apply(Lsun/tools/jar/Validator;)Ljava/util/function/BinaryOperator;
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;Ljava/lang/Object;)Ljava/lang/Object;
sun/tools/jar/Validator.sameNameFingerPrint(Lsun/tools/jar/FingerPrint;Lsun/tools/jar/FingerPrint;)Lsun/tools/jar/FingerPrint; (7)
(Lsun/tools/jar/FingerPrint;Lsun/tools/jar/FingerPrint;)Lsun/tools/jar/FingerPrint;
9: invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;
10: invokestatic java.util.stream.Collectors.groupingBy:(Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.TreeMap
11: aload 0
invokedynamic accept(Lsun/tools/jar/Validator;)Ljava/util/function/BiConsumer;
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;Ljava/lang/Object;)V
sun/tools/jar/Validator.lambda$7(Ljava/lang/Integer;Ljava/util/Map;)V (7)
(Ljava/lang/Integer;Ljava/util/Map;)V
invokevirtual java.util.TreeMap.forEach:(Ljava/util/function/BiConsumer;)V
12: goto 15
StackMap locals:
StackMap stack: sun.tools.jar.Validator$InvalidJarException
13: astore 1
start local 1 14: aload 0
aload 1
invokevirtual sun.tools.jar.Validator$InvalidJarException.getMessage:()Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
end local 1 15: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.jar.Validator.isValid:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/tools/jar/Validator;
14 15 1 e Lsun/tools/jar/Validator$InvalidJarException;
Exception table:
from to target type
0 12 13 Class sun.tools.jar.Validator$InvalidJarException
private sun.tools.jar.FingerPrint sameNameFingerPrint(sun.tools.jar.FingerPrint, sun.tools.jar.FingerPrint);
descriptor: (Lsun/tools/jar/FingerPrint;Lsun/tools/jar/FingerPrint;)Lsun/tools/jar/FingerPrint;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.tools.jar.Validator.checkClassName:(Lsun/tools/jar/FingerPrint;)Z
pop
1: aload 0
aload 2
invokevirtual sun.tools.jar.Validator.checkClassName:(Lsun/tools/jar/FingerPrint;)Z
pop
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/jar/Validator;
0 3 1 fp1 Lsun/tools/jar/FingerPrint;
0 3 2 fp2 Lsun/tools/jar/FingerPrint;
MethodParameters:
Name Flags
fp1
fp2
private sun.tools.jar.FingerPrint getFingerPrint(java.util.zip.ZipEntry);
descriptor: (Ljava/util/zip/ZipEntry;)Lsun/tools/jar/FingerPrint;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 2
ldc "META-INF/versions/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 20
4: aload 2
ldc "/"
getstatic sun.tools.jar.Main.VERSIONS_DIR_LENGTH:I
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 5
start local 5 5: iload 5
iconst_m1
if_icmpne 9
6: new sun.tools.jar.Validator$InvalidJarException
dup
7: ldc "error.validator.version.notnumber"
aload 2
invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
8: invokespecial sun.tools.jar.Validator$InvalidJarException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: sun.tools.jar.Validator java.util.zip.ZipEntry java.lang.String java.lang.String int int
StackMap stack:
aload 2
getstatic sun.tools.jar.Main.VERSIONS_DIR_LENGTH:I
iload 5
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
istore 4
10: goto 15
StackMap locals:
StackMap stack: java.lang.NumberFormatException
11: pop
12: new sun.tools.jar.Validator$InvalidJarException
dup
13: ldc "error.validator.version.notnumber"
aload 2
invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
14: invokespecial sun.tools.jar.Validator$InvalidJarException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
iload 5
aload 2
invokevirtual java.lang.String.length:()I
if_icmpne 19
16: new sun.tools.jar.Validator$InvalidJarException
dup
17: ldc "error.validator.entryname.tooshort"
aload 2
invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
18: invokespecial sun.tools.jar.Validator$InvalidJarException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 2
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
end local 5 20: StackMap locals:
StackMap stack:
aconst_null
astore 5
aconst_null
astore 6
21: aload 0
getfield sun.tools.jar.Validator.zf:Ljava/util/zip/ZipFile;
aload 1
invokevirtual java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
astore 7
start local 7 22: new sun.tools.jar.FingerPrint
dup
aload 3
aload 2
iload 4
aload 7
invokevirtual java.io.InputStream.readAllBytes:()[B
invokespecial sun.tools.jar.FingerPrint.<init>:(Ljava/lang/String;Ljava/lang/String;I[B)V
23: aload 7
ifnull 24
aload 7
invokevirtual java.io.InputStream.close:()V
24: StackMap locals: sun.tools.jar.Validator java.util.zip.ZipEntry java.lang.String java.lang.String int java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: sun.tools.jar.FingerPrint
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
25: astore 5
26: aload 7
ifnull 27
aload 7
invokevirtual java.io.InputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
27: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
28: astore 6
aload 5
ifnonnull 29
aload 6
astore 5
goto 30
StackMap locals:
StackMap stack:
29: aload 5
aload 6
if_acmpeq 30
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
30: aload 5
athrow
StackMap locals: sun.tools.jar.Validator java.util.zip.ZipEntry java.lang.String java.lang.String int
StackMap stack: java.io.IOException
31: astore 5
start local 5 32: new sun.tools.jar.Validator$InvalidJarException
dup
aload 5
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial sun.tools.jar.Validator$InvalidJarException.<init>:(Ljava/lang/String;)V
athrow
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 33 0 this Lsun/tools/jar/Validator;
0 33 1 ze Ljava/util/zip/ZipEntry;
1 33 2 ename Ljava/lang/String;
2 33 3 bname Ljava/lang/String;
3 33 4 version I
5 20 5 n I
22 27 7 is Ljava/io/InputStream;
32 33 5 x Ljava/io/IOException;
Exception table:
from to target type
9 10 11 Class java.lang.NumberFormatException
22 23 25 any
21 24 28 any
25 28 28 any
20 24 31 Class java.io.IOException
25 31 31 Class java.io.IOException
MethodParameters:
Name Flags
ze
public void validateBase(java.util.Map<java.lang.String, sun.tools.jar.FingerPrint>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 0
aload 1
invokedynamic accept(Lsun/tools/jar/Validator;Ljava/util/Map;)Ljava/util/function/Consumer;
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;)V
sun/tools/jar/Validator.lambda$8(Ljava/util/Map;Lsun/tools/jar/FingerPrint;)V (7)
(Lsun/tools/jar/FingerPrint;)V
invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/jar/Validator;
0 2 1 fps Ljava/util/Map<Ljava/lang/String;Lsun/tools/jar/FingerPrint;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Lsun/tools/jar/FingerPrint;>;)V
MethodParameters:
Name Flags
fps
public void validateVersioned(java.util.Map<java.lang.String, sun.tools.jar.FingerPrint>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 0
aload 1
invokedynamic accept(Lsun/tools/jar/Validator;Ljava/util/Map;)Ljava/util/function/Consumer;
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;)V
sun/tools/jar/Validator.lambda$9(Ljava/util/Map;Lsun/tools/jar/FingerPrint;)V (7)
(Lsun/tools/jar/FingerPrint;)V
invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/jar/Validator;
0 2 1 fps Ljava/util/Map<Ljava/lang/String;Lsun/tools/jar/FingerPrint;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Lsun/tools/jar/FingerPrint;>;)V
MethodParameters:
Name Flags
fps
private void checkModuleDescriptor(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=14, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.jar.Validator.zf:Ljava/util/zip/ZipFile;
aload 1
invokevirtual java.util.zip.ZipFile.getEntry:(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
astore 2
start local 2 1: aload 2
ifnull 67
2: aconst_null
astore 3
aconst_null
astore 4
3: aload 0
getfield sun.tools.jar.Validator.zf:Ljava/util/zip/ZipFile;
aload 2
invokevirtual java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
astore 5
start local 5 4: aload 5
invokestatic java.lang.module.ModuleDescriptor.read:(Ljava/io/InputStream;)Ljava/lang/module/ModuleDescriptor;
astore 6
start local 6 5: aload 0
getfield sun.tools.jar.Validator.md:Ljava/lang/module/ModuleDescriptor;
astore 7
start local 7 6: aload 7
ifnonnull 23
7: aload 0
new java.util.HashSet
dup
aload 6
invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
putfield sun.tools.jar.Validator.concealedPkgs:Ljava/util/Set;
8: aload 6
invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
java/lang/module/ModuleDescriptor$Exports.source()Ljava/lang/String; (5)
(Ljava/lang/module/ModuleDescriptor$Exports;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
aload 0
getfield sun.tools.jar.Validator.concealedPkgs:Ljava/util/Set;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
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;)V
java/util/Set.remove(Ljava/lang/Object;)Z (9 itf)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
9: aload 6
invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
java/lang/module/ModuleDescriptor$Opens.source()Ljava/lang/String; (5)
(Ljava/lang/module/ModuleDescriptor$Opens;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
aload 0
getfield sun.tools.jar.Validator.concealedPkgs:Ljava/util/Set;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
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;)V
java/util/Set.remove(Ljava/lang/Object;)Z (9 itf)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
10: aload 6
invokevirtual java.lang.module.ModuleDescriptor.provides:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
java/lang/module/ModuleDescriptor$Provides.providers()Ljava/util/List; (5)
(Ljava/lang/module/ModuleDescriptor$Provides;)Ljava/util/List;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
11: invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
java/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
(Ljava/util/List;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
12: aload 0
invokedynamic test(Lsun/tools/jar/Validator;)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/tools/jar/Validator.lambda$16(Ljava/lang/String;)Z (7)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
13: aload 0
invokedynamic accept(Lsun/tools/jar/Validator;)Ljava/util/function/Consumer;
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;)V
sun/tools/jar/Validator.lambda$17(Ljava/lang/String;)V (7)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.peek:(Ljava/util/function/Consumer;)Ljava/util/stream/Stream;
14: invokeinterface java.util.stream.Stream.count:()J
lconst_0
15: lcmp
ifeq 19
16: aload 0
iconst_0
putfield sun.tools.jar.Validator.isValid:Z
17: aload 5
ifnull 18
aload 5
invokevirtual java.io.InputStream.close:()V
18: StackMap locals: sun.tools.jar.Validator java.lang.String java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.module.ModuleDescriptor java.lang.module.ModuleDescriptor
StackMap stack:
return
19: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield sun.tools.jar.Validator.md:Ljava/lang/module/ModuleDescriptor;
20: aload 0
aload 1
putfield sun.tools.jar.Validator.mdName:Ljava/lang/String;
21: aload 5
ifnull 22
aload 5
invokevirtual java.io.InputStream.close:()V
22: StackMap locals:
StackMap stack:
return
23: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aload 6
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
24: aload 0
ldc "error.validator.info.name.notequal"
invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
aload 6
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
ifne 45
26: aload 7
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
astore 10
start local 10 27: aload 6
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 36
StackMap locals: sun.tools.jar.Validator java.lang.String java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.module.ModuleDescriptor java.lang.module.ModuleDescriptor top top java.util.Set top java.util.Iterator
StackMap stack:
28: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Requires
astore 11
start local 11 29: aload 10
aload 11
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 31
30: goto 36
31: StackMap locals: sun.tools.jar.Validator java.lang.String java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.module.ModuleDescriptor java.lang.module.ModuleDescriptor top top java.util.Set java.lang.module.ModuleDescriptor$Requires java.util.Iterator
StackMap stack:
aload 11
invokevirtual java.lang.module.ModuleDescriptor$Requires.modifiers:()Ljava/util/Set;
getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.TRANSITIVE:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 34
32: aload 0
ldc "error.validator.info.requires.transitive"
invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
33: goto 36
StackMap locals:
StackMap stack:
34: aload 11
invokevirtual java.lang.module.ModuleDescriptor$Requires.name:()Ljava/lang/String;
invokestatic sun.tools.jar.Validator.isPlatformModule:(Ljava/lang/String;)Z
ifne 36
35: aload 0
ldc "error.validator.info.requires.added"
invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
end local 11 36: StackMap locals: sun.tools.jar.Validator java.lang.String java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.module.ModuleDescriptor java.lang.module.ModuleDescriptor top top java.util.Set top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
37: aload 10
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 44
StackMap locals:
StackMap stack:
38: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Requires
astore 11
start local 11 39: aload 6
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
astore 13
start local 13 40: aload 13
aload 11
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 42
41: goto 44
42: StackMap locals: sun.tools.jar.Validator java.lang.String java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.module.ModuleDescriptor java.lang.module.ModuleDescriptor top top java.util.Set java.lang.module.ModuleDescriptor$Requires java.util.Iterator java.util.Set
StackMap stack:
aload 11
invokevirtual java.lang.module.ModuleDescriptor$Requires.name:()Ljava/lang/String;
invokestatic sun.tools.jar.Validator.isPlatformModule:(Ljava/lang/String;)Z
ifne 44
43: aload 0
ldc "error.validator.info.requires.dropped"
invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
end local 13 end local 11 44: StackMap locals: sun.tools.jar.Validator java.lang.String java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.module.ModuleDescriptor java.lang.module.ModuleDescriptor top top java.util.Set top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
end local 10 45: StackMap locals: sun.tools.jar.Validator java.lang.String java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.module.ModuleDescriptor java.lang.module.ModuleDescriptor
StackMap stack:
aload 7
invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
aload 6
invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
ifne 47
46: aload 0
ldc "error.validator.info.exports.notequal"
invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
47: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
aload 6
invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
ifne 49
48: aload 0
ldc "error.validator.info.opens.notequal"
invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
49: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.module.ModuleDescriptor.provides:()Ljava/util/Set;
aload 6
invokevirtual java.lang.module.ModuleDescriptor.provides:()Ljava/util/Set;
invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
ifne 51
50: aload 0
ldc "error.validator.info.provides.notequal"
invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
51: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.module.ModuleDescriptor.mainClass:()Ljava/util/Optional;
aload 6
invokevirtual java.lang.module.ModuleDescriptor.mainClass:()Ljava/util/Optional;
invokevirtual java.util.Optional.equals:(Ljava/lang/Object;)Z
ifne 55
52: aload 0
ldc "error.validator.info.manclass.notequal"
53: aload 2
invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
54: invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
55: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.module.ModuleDescriptor.version:()Ljava/util/Optional;
aload 6
invokevirtual java.lang.module.ModuleDescriptor.version:()Ljava/util/Optional;
invokevirtual java.util.Optional.equals:(Ljava/lang/Object;)Z
ifne 59
56: aload 0
ldc "error.validator.info.version.notequal"
57: aload 2
invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
58: invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
end local 7 end local 6 59: StackMap locals:
StackMap stack:
aload 5
ifnull 67
aload 5
invokevirtual java.io.InputStream.close:()V
goto 67
StackMap locals:
StackMap stack: java.lang.Throwable
60: astore 3
aload 5
ifnull 61
aload 5
invokevirtual java.io.InputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
61: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
62: astore 4
aload 3
ifnonnull 63
aload 4
astore 3
goto 64
StackMap locals:
StackMap stack:
63: aload 3
aload 4
if_acmpeq 64
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
64: aload 3
athrow
StackMap locals: sun.tools.jar.Validator java.lang.String java.util.zip.ZipEntry
StackMap stack: java.lang.Exception
65: astore 3
start local 3 66: aload 0
new java.lang.StringBuilder
dup
aload 3
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
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 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
end local 3 67: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lsun/tools/jar/Validator;
0 68 1 miName Ljava/lang/String;
1 68 2 ze Ljava/util/zip/ZipEntry;
4 61 5 jis Ljava/io/InputStream;
5 59 6 md Ljava/lang/module/ModuleDescriptor;
6 59 7 base Ljava/lang/module/ModuleDescriptor;
27 45 10 baseRequires Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Requires;>;
29 36 11 r Ljava/lang/module/ModuleDescriptor$Requires;
39 44 11 r Ljava/lang/module/ModuleDescriptor$Requires;
40 44 13 mdRequires Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Requires;>;
66 67 3 x Ljava/lang/Exception;
Exception table:
from to target type
4 17 60 any
19 21 60 any
23 59 60 any
3 18 62 any
19 22 62 any
23 62 62 any
2 18 65 Class java.lang.Exception
19 22 65 Class java.lang.Exception
23 65 65 Class java.lang.Exception
MethodParameters:
Name Flags
miName
private boolean checkClassName(sun.tools.jar.FingerPrint);
descriptor: (Lsun/tools/jar/FingerPrint;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.tools.jar.FingerPrint.className:()Ljava/lang/String;
aload 1
invokevirtual sun.tools.jar.FingerPrint.basename:()Ljava/lang/String;
invokestatic sun.tools.jar.Validator.className:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "error.validator.names.mismatch"
3: aload 1
invokevirtual sun.tools.jar.FingerPrint.entryName:()Ljava/lang/String;
aload 1
invokevirtual sun.tools.jar.FingerPrint.className:()Ljava/lang/String;
ldc "/"
ldc "."
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
4: invokestatic sun.tools.jar.Main.formatMsg2:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.error:(Ljava/lang/String;)V
5: aload 0
iconst_0
dup_x1
putfield sun.tools.jar.Validator.isValid:Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/jar/Validator;
0 6 1 fp Lsun/tools/jar/FingerPrint;
MethodParameters:
Name Flags
fp
private boolean checkNestedClass(sun.tools.jar.FingerPrint, java.util.Map<java.lang.String, sun.tools.jar.FingerPrint>);
descriptor: (Lsun/tools/jar/FingerPrint;Ljava/util/Map;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokevirtual sun.tools.jar.FingerPrint.outerClassName:()Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "error.validator.isolated.nested.class"
aload 1
invokevirtual sun.tools.jar.FingerPrint.entryName:()Ljava/lang/String;
invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.error:(Ljava/lang/String;)V
3: aload 0
iconst_0
dup_x1
putfield sun.tools.jar.Validator.isValid:Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/jar/Validator;
0 4 1 fp Lsun/tools/jar/FingerPrint;
0 4 2 outerClasses Ljava/util/Map<Ljava/lang/String;Lsun/tools/jar/FingerPrint;>;
Signature: (Lsun/tools/jar/FingerPrint;Ljava/util/Map<Ljava/lang/String;Lsun/tools/jar/FingerPrint;>;)Z
MethodParameters:
Name Flags
fp
outerClasses
private boolean isConcealed(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.jar.Validator.concealedPkgs:Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpeq 4
aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
goto 5
StackMap locals: int
StackMap stack:
4: ldc ""
StackMap locals:
StackMap stack: java.lang.String
5: astore 3
start local 3 6: aload 0
getfield sun.tools.jar.Validator.concealedPkgs:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/tools/jar/Validator;
0 7 1 className Ljava/lang/String;
3 7 2 idx I
6 7 3 pkgName Ljava/lang/String;
MethodParameters:
Name Flags
className
private static boolean isPlatformModule(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "java."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
aload 0
ldc "jdk."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private static java.lang.String className(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc ".class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 1
aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
bipush 6
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 entryName Ljava/lang/String;
MethodParameters:
Name Flags
entryName
private void error(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.jar.Validator.main:Lsun/tools/jar/Main;
aload 1
invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/jar/Validator;
0 2 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
private void errorAndInvalid(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.jar.Validator.main:Lsun/tools/jar/Main;
aload 1
invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
1: aload 0
iconst_0
putfield sun.tools.jar.Validator.isValid:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/jar/Validator;
0 3 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
private void warn(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.jar.Validator.main:Lsun/tools/jar/Main;
aload 1
invokevirtual sun.tools.jar.Main.warn:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/jar/Validator;
0 2 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
private static boolean lambda$0(java.util.zip.ZipEntry);
descriptor: (Ljava/util/zip/ZipEntry;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
ldc ".class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/util/zip/ZipEntry;
private void lambda$7(java.lang.Integer, java.util.Map);
descriptor: (Ljava/lang/Integer;Ljava/util/Map;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.Integer.intValue:()I
ifne 2
1: aload 0
aload 2
invokevirtual sun.tools.jar.Validator.validateBase:(Ljava/util/Map;)V
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.tools.jar.Validator.validateVersioned:(Ljava/util/Map;)V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/jar/Validator;
0 4 1 version Ljava/lang/Integer;
0 4 2 entries Ljava/util/Map<Ljava/lang/String;Lsun/tools/jar/FingerPrint;>;
private void lambda$8(java.util.Map, sun.tools.jar.FingerPrint);
descriptor: (Ljava/util/Map;Lsun/tools/jar/FingerPrint;)V
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
invokevirtual sun.tools.jar.Validator.checkClassName:(Lsun/tools/jar/FingerPrint;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.tools.jar.FingerPrint.isNestedClass:()Z
ifeq 4
3: aload 0
aload 2
aload 1
invokevirtual sun.tools.jar.Validator.checkNestedClass:(Lsun/tools/jar/FingerPrint;Ljava/util/Map;)Z
pop
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.jar.Validator.classes:Ljava/util/Map;
aload 2
invokevirtual sun.tools.jar.FingerPrint.className:()Ljava/lang/String;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/jar/Validator;
0 6 2 fp Lsun/tools/jar/FingerPrint;
private void lambda$9(java.util.Map, sun.tools.jar.FingerPrint);
descriptor: (Ljava/util/Map;Lsun/tools/jar/FingerPrint;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 2 0: ldc "module-info.class"
aload 2
invokevirtual sun.tools.jar.FingerPrint.basename:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
1: aload 0
aload 2
invokevirtual sun.tools.jar.FingerPrint.entryName:()Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.checkModuleDescriptor:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.jar.Validator.classes:Ljava/util/Map;
aload 2
invokevirtual sun.tools.jar.FingerPrint.className:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.tools.jar.FingerPrint
astore 3
start local 3 4: aload 3
ifnonnull 19
5: aload 2
invokevirtual sun.tools.jar.FingerPrint.isNestedClass:()Z
ifeq 8
6: aload 0
aload 2
aload 1
invokevirtual sun.tools.jar.Validator.checkNestedClass:(Lsun/tools/jar/FingerPrint;Ljava/util/Map;)Z
pop
7: return
8: StackMap locals: sun.tools.jar.FingerPrint
StackMap stack:
aload 2
invokevirtual sun.tools.jar.FingerPrint.isPublicClass:()Z
ifeq 17
9: aload 0
aload 2
invokevirtual sun.tools.jar.FingerPrint.className:()Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.isConcealed:(Ljava/lang/String;)Z
ifne 14
10: aload 0
ldc "error.validator.new.public.class"
11: aload 2
invokevirtual sun.tools.jar.FingerPrint.entryName:()Ljava/lang/String;
12: invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
13: return
14: StackMap locals:
StackMap stack:
aload 0
ldc "warn.validator.concealed.public.class"
15: aload 2
invokevirtual sun.tools.jar.FingerPrint.entryName:()Ljava/lang/String;
16: invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.warn:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.jar.Validator.classes:Ljava/util/Map;
aload 2
invokevirtual sun.tools.jar.FingerPrint.className:()Ljava/lang/String;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: return
19: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual sun.tools.jar.FingerPrint.isIdentical:(Lsun/tools/jar/FingerPrint;)Z
ifeq 22
20: aload 0
ldc "warn.validator.identical.entry"
aload 2
invokevirtual sun.tools.jar.FingerPrint.entryName:()Ljava/lang/String;
invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.warn:(Ljava/lang/String;)V
21: return
22: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.tools.jar.FingerPrint.isNestedClass:()Z
ifeq 25
23: aload 0
aload 2
aload 1
invokevirtual sun.tools.jar.Validator.checkNestedClass:(Lsun/tools/jar/FingerPrint;Ljava/util/Map;)Z
pop
24: return
25: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual sun.tools.jar.FingerPrint.isCompatibleVersion:(Lsun/tools/jar/FingerPrint;)Z
ifne 30
26: aload 0
ldc "error.validator.incompatible.class.version"
27: aload 2
invokevirtual sun.tools.jar.FingerPrint.entryName:()Ljava/lang/String;
28: invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
29: return
30: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual sun.tools.jar.FingerPrint.isSameAPI:(Lsun/tools/jar/FingerPrint;)Z
ifne 35
31: aload 0
ldc "error.validator.different.api"
32: aload 2
invokevirtual sun.tools.jar.FingerPrint.entryName:()Ljava/lang/String;
33: invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.errorAndInvalid:(Ljava/lang/String;)V
34: return
35: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.tools.jar.Validator.checkClassName:(Lsun/tools/jar/FingerPrint;)Z
ifne 37
36: return
37: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.jar.Validator.classes:Ljava/util/Map;
aload 2
invokevirtual sun.tools.jar.FingerPrint.className:()Ljava/lang/String;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
38: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lsun/tools/jar/Validator;
0 39 2 fp Lsun/tools/jar/FingerPrint;
4 39 3 matchFp Lsun/tools/jar/FingerPrint;
private boolean lambda$16(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.jar.Validator.zf:Ljava/util/zip/ZipFile;
aload 1
invokestatic sun.tools.jar.Main.toBinaryName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.util.zip.ZipFile.getEntry:(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
ifnonnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/jar/Validator;
0 3 1 p Ljava/lang/String;
private void lambda$17(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "error.missing.provider"
aload 1
invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.tools.jar.Validator.error:(Ljava/lang/String;)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/jar/Validator;
0 1 1 p Ljava/lang/String;
}
SourceFile: "Validator.java"
NestMembers:
sun.tools.jar.Validator$InvalidJarException
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Exports = java.lang.module.ModuleDescriptor$Exports of java.lang.module.ModuleDescriptor
public final Opens = java.lang.module.ModuleDescriptor$Opens of java.lang.module.ModuleDescriptor
public final Provides = java.lang.module.ModuleDescriptor$Provides of java.lang.module.ModuleDescriptor
public final Requires = java.lang.module.ModuleDescriptor$Requires of java.lang.module.ModuleDescriptor
public final Modifier = java.lang.module.ModuleDescriptor$Requires$Modifier of java.lang.module.ModuleDescriptor$Requires
public final Version = java.lang.module.ModuleDescriptor$Version of java.lang.module.ModuleDescriptor
InvalidJarException = sun.tools.jar.Validator$InvalidJarException of sun.tools.jar.Validator