class org.apache.tools.zip.NioZipEncoding implements org.apache.tools.zip.ZipEncoding
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.tools.zip.NioZipEncoding
super_class: java.lang.Object
{
private final java.nio.charset.Charset charset;
descriptor: Ljava/nio/charset/Charset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.apache.tools.zip.NioZipEncoding this
start local 1 // java.nio.charset.Charset charset
0: .line 50
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 51
aload 0 /* this */
aload 1 /* charset */
putfield org.apache.tools.zip.NioZipEncoding.charset:Ljava/nio/charset/Charset;
2: .line 52
return
end local 1 // java.nio.charset.Charset charset
end local 0 // org.apache.tools.zip.NioZipEncoding this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tools/zip/NioZipEncoding;
0 3 1 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
charset final
public boolean canEncode(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 // org.apache.tools.zip.NioZipEncoding this
start local 1 // java.lang.String name
0: .line 58
aload 0 /* this */
getfield org.apache.tools.zip.NioZipEncoding.charset:Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
astore 2 /* enc */
start local 2 // java.nio.charset.CharsetEncoder enc
1: .line 59
aload 2 /* enc */
getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
pop
2: .line 60
aload 2 /* enc */
getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
pop
3: .line 62
aload 2 /* enc */
aload 1 /* name */
invokevirtual java.nio.charset.CharsetEncoder.canEncode:(Ljava/lang/CharSequence;)Z
ireturn
end local 2 // java.nio.charset.CharsetEncoder enc
end local 1 // java.lang.String name
end local 0 // org.apache.tools.zip.NioZipEncoding this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tools/zip/NioZipEncoding;
0 4 1 name Ljava/lang/String;
1 4 2 enc Ljava/nio/charset/CharsetEncoder;
MethodParameters:
Name Flags
name final
public java.nio.ByteBuffer encode(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 // org.apache.tools.zip.NioZipEncoding this
start local 1 // java.lang.String name
0: .line 69
aload 0 /* this */
getfield org.apache.tools.zip.NioZipEncoding.charset:Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
astore 2 /* enc */
start local 2 // java.nio.charset.CharsetEncoder enc
1: .line 71
aload 2 /* enc */
getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
pop
2: .line 72
aload 2 /* enc */
getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
pop
3: .line 74
aload 1 /* name */
invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
astore 3 /* cb */
start local 3 // java.nio.CharBuffer cb
4: .line 75
aload 1 /* name */
invokevirtual java.lang.String.length:()I
5: .line 76
aload 1 /* name */
invokevirtual java.lang.String.length:()I
iconst_1
iadd
iconst_2
idiv
6: .line 75
iadd
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 4 /* out */
start local 4 // java.nio.ByteBuffer out
7: .line 78
goto 26
8: .line 79
StackMap locals: java.nio.charset.CharsetEncoder java.nio.CharBuffer java.nio.ByteBuffer
StackMap stack:
aload 2 /* enc */
aload 3 /* cb */
aload 4 /* out */
iconst_1
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 5 /* res */
start local 5 // java.nio.charset.CoderResult res
9: .line 81
aload 5 /* res */
invokevirtual java.nio.charset.CoderResult.isUnmappable:()Z
ifne 10
aload 5 /* res */
invokevirtual java.nio.charset.CoderResult.isMalformed:()Z
ifeq 20
10: .line 85
StackMap locals: java.nio.charset.CoderResult
StackMap stack:
aload 5 /* res */
invokevirtual java.nio.charset.CoderResult.length:()I
bipush 6
imul
aload 4 /* out */
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 14
11: .line 86
aload 4 /* out */
aload 4 /* out */
invokevirtual java.nio.ByteBuffer.position:()I
12: .line 87
aload 5 /* res */
invokevirtual java.nio.charset.CoderResult.length:()I
bipush 6
imul
iadd
13: .line 86
invokestatic org.apache.tools.zip.ZipEncodingHelper.growBuffer:(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
astore 4 /* out */
14: .line 90
StackMap locals:
StackMap stack:
iconst_0
istore 6 /* i */
start local 6 // int i
15: goto 18
16: .line 91
StackMap locals: int
StackMap stack:
aload 4 /* out */
aload 3 /* cb */
invokevirtual java.nio.CharBuffer.get:()C
invokestatic org.apache.tools.zip.ZipEncodingHelper.appendSurrogate:(Ljava/nio/ByteBuffer;C)V
17: .line 90
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 6 /* i */
aload 5 /* res */
invokevirtual java.nio.charset.CoderResult.length:()I
if_icmplt 16
end local 6 // int i
19: .line 94
goto 26
StackMap locals:
StackMap stack:
20: aload 5 /* res */
invokevirtual java.nio.charset.CoderResult.isOverflow:()Z
ifeq 23
21: .line 96
aload 4 /* out */
iconst_0
invokestatic org.apache.tools.zip.ZipEncodingHelper.growBuffer:(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
astore 4 /* out */
22: .line 98
goto 26
StackMap locals:
StackMap stack:
23: aload 5 /* res */
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifeq 26
24: .line 100
aload 2 /* enc */
aload 4 /* out */
invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
pop
25: .line 101
goto 27
end local 5 // java.nio.charset.CoderResult res
26: .line 78
StackMap locals:
StackMap stack:
aload 3 /* cb */
invokevirtual java.nio.CharBuffer.remaining:()I
ifgt 8
27: .line 106
StackMap locals:
StackMap stack:
aload 4 /* out */
invokestatic org.apache.tools.zip.ZipEncodingHelper.prepareBufferForRead:(Ljava/nio/Buffer;)V
28: .line 108
aload 4 /* out */
areturn
end local 4 // java.nio.ByteBuffer out
end local 3 // java.nio.CharBuffer cb
end local 2 // java.nio.charset.CharsetEncoder enc
end local 1 // java.lang.String name
end local 0 // org.apache.tools.zip.NioZipEncoding this
LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/apache/tools/zip/NioZipEncoding;
0 29 1 name Ljava/lang/String;
1 29 2 enc Ljava/nio/charset/CharsetEncoder;
4 29 3 cb Ljava/nio/CharBuffer;
7 29 4 out Ljava/nio/ByteBuffer;
9 26 5 res Ljava/nio/charset/CoderResult;
15 19 6 i I
MethodParameters:
Name Flags
name final
public java.lang.String decode(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.apache.tools.zip.NioZipEncoding this
start local 1 // byte[] data
0: .line 115
aload 0 /* this */
getfield org.apache.tools.zip.NioZipEncoding.charset:Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
1: .line 116
getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetDecoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
2: .line 117
getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetDecoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
3: .line 118
aload 1 /* data */
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.toString:()Ljava/lang/String;
4: .line 115
areturn
end local 1 // byte[] data
end local 0 // org.apache.tools.zip.NioZipEncoding this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tools/zip/NioZipEncoding;
0 5 1 data [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data final
}
SourceFile: "NioZipEncoding.java"