public final class jdk.internal.jimage.decompressor.Decompressor
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.internal.jimage.decompressor.Decompressor
super_class: java.lang.Object
{
private final java.util.Map<java.lang.Integer, jdk.internal.jimage.decompressor.ResourceDecompressor> pluginsCache;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljdk/internal/jimage/decompressor/ResourceDecompressor;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.internal.jimage.decompressor.Decompressor.pluginsCache:Ljava/util/Map;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/jimage/decompressor/Decompressor;
public byte[] decompressResource(java.nio.ByteOrder, jdk.internal.jimage.decompressor.ResourceDecompressor$StringsProvider, byte[]);
descriptor: (Ljava/nio/ByteOrder;Ljdk/internal/jimage/decompressor/ResourceDecompressor$StringsProvider;[B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: StackMap locals:
StackMap stack:
aload 1
aload 3
invokestatic jdk.internal.jimage.decompressor.CompressedResourceHeader.readFromResource:(Ljava/nio/ByteOrder;[B)Ljdk/internal/jimage/decompressor/CompressedResourceHeader;
astore 4
start local 4 4: aload 4
ifnull 38
5: aload 0
getfield jdk.internal.jimage.decompressor.Decompressor.pluginsCache:Ljava/util/Map;
aload 4
invokevirtual jdk.internal.jimage.decompressor.CompressedResourceHeader.getDecompressorNameOffset:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.internal.jimage.decompressor.ResourceDecompressor
6: astore 5
start local 5 7: aload 5
ifnonnull 32
8: aload 2
aload 4
invokevirtual jdk.internal.jimage.decompressor.CompressedResourceHeader.getDecompressorNameOffset:()I
invokeinterface jdk.internal.jimage.decompressor.ResourceDecompressor$StringsProvider.getString:(I)Ljava/lang/String;
9: astore 6
start local 6 10: aload 6
ifnonnull 12
11: new java.io.IOException
dup
ldc "Plugin name not found"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: jdk.internal.jimage.decompressor.CompressedResourceHeader jdk.internal.jimage.decompressor.ResourceDecompressor java.lang.String
StackMap stack:
aload 4
aload 2
invokevirtual jdk.internal.jimage.decompressor.CompressedResourceHeader.getStoredContent:(Ljdk/internal/jimage/decompressor/ResourceDecompressor$StringsProvider;)Ljava/lang/String;
astore 7
start local 7 13: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 8
start local 8 14: aload 7
ifnull 27
15: aconst_null
astore 9
aconst_null
astore 10
16: new java.io.ByteArrayInputStream
dup
aload 7
17: getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
18: invokespecial java.io.ByteArrayInputStream.<init>:([B)V
19: astore 11
start local 11 20: aload 8
aload 11
invokevirtual java.util.Properties.loadFromXML:(Ljava/io/InputStream;)V
21: aload 11
ifnull 27
aload 11
invokevirtual java.io.ByteArrayInputStream.close:()V
goto 27
StackMap locals: jdk.internal.jimage.decompressor.Decompressor java.nio.ByteOrder jdk.internal.jimage.decompressor.ResourceDecompressor$StringsProvider byte[] jdk.internal.jimage.decompressor.CompressedResourceHeader jdk.internal.jimage.decompressor.ResourceDecompressor java.lang.String java.lang.String java.util.Properties java.lang.Throwable java.lang.Throwable java.io.ByteArrayInputStream
StackMap stack: java.lang.Throwable
22: astore 9
aload 11
ifnull 23
aload 11
invokevirtual java.io.ByteArrayInputStream.close:()V
end local 11 StackMap locals:
StackMap stack:
23: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 10
aload 9
ifnonnull 25
aload 10
astore 9
goto 26
StackMap locals:
StackMap stack:
25: aload 9
aload 10
if_acmpeq 26
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 9
athrow
27: StackMap locals:
StackMap stack:
aload 8
aload 6
invokestatic jdk.internal.jimage.decompressor.ResourceDecompressorRepository.newResourceDecompressor:(Ljava/util/Properties;Ljava/lang/String;)Ljdk/internal/jimage/decompressor/ResourceDecompressor;
28: astore 5
29: aload 5
ifnonnull 31
30: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Plugin not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.jimage.decompressor.Decompressor.pluginsCache:Ljava/util/Map;
aload 4
invokevirtual jdk.internal.jimage.decompressor.CompressedResourceHeader.getDecompressorNameOffset:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 end local 6 32: StackMap locals:
StackMap stack:
aload 5
aload 2
aload 3
33: invokestatic jdk.internal.jimage.decompressor.CompressedResourceHeader.getSize:()I
aload 4
invokevirtual jdk.internal.jimage.decompressor.CompressedResourceHeader.getUncompressedSize:()J
34: invokeinterface jdk.internal.jimage.decompressor.ResourceDecompressor.decompress:(Ljdk/internal/jimage/decompressor/ResourceDecompressor$StringsProvider;[BIJ)[B
astore 3
35: goto 38
StackMap locals:
StackMap stack: java.lang.Exception
36: astore 6
start local 6 37: new java.io.IOException
dup
aload 6
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 38: StackMap locals:
StackMap stack:
aload 4
ifnonnull 3
39: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljdk/internal/jimage/decompressor/Decompressor;
0 40 1 order Ljava/nio/ByteOrder;
0 40 2 provider Ljdk/internal/jimage/decompressor/ResourceDecompressor$StringsProvider;
0 40 3 content [B
4 40 4 header Ljdk/internal/jimage/decompressor/CompressedResourceHeader;
7 38 5 decompressor Ljdk/internal/jimage/decompressor/ResourceDecompressor;
10 32 6 pluginName Ljava/lang/String;
13 32 7 storedContent Ljava/lang/String;
14 32 8 props Ljava/util/Properties;
20 23 11 stream Ljava/io/ByteArrayInputStream;
37 38 6 ex Ljava/lang/Exception;
Exception table:
from to target type
20 21 22 any
16 24 24 any
32 35 36 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
order
provider
content
}
SourceFile: "Decompressor.java"
InnerClasses:
public abstract StringsProvider = jdk.internal.jimage.decompressor.ResourceDecompressor$StringsProvider of jdk.internal.jimage.decompressor.ResourceDecompressor