public class test.TestStreamCopier
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: test.TestStreamCopier
super_class: java.lang.Object
{
static final boolean ENABLE_DTD_VALIDATION;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ltest/TestStreamCopier;
protected org.codehaus.stax2.XMLInputFactory2 getFactory();
descriptor: ()Lorg/codehaus/stax2/XMLInputFactory2;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic javax.xml.stream.XMLInputFactory.newInstance:()Ljavax/xml/stream/XMLInputFactory;
astore 1
start local 1 1: aload 1
ldc "javax.xml.stream.isCoalescing"
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual javax.xml.stream.XMLInputFactory.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
2: aload 1
ldc "javax.xml.stream.isNamespaceAware"
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual javax.xml.stream.XMLInputFactory.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 1
ldc "javax.xml.stream.supportDTD"
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual javax.xml.stream.XMLInputFactory.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
4: aload 1
ldc "javax.xml.stream.isValidating"
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual javax.xml.stream.XMLInputFactory.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
5: aload 1
checkcast org.codehaus.stax2.XMLInputFactory2
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ltest/TestStreamCopier;
1 6 1 f Ljavax/xml/stream/XMLInputFactory;
protected org.codehaus.stax2.XMLOutputFactory2 getOutputFactory();
descriptor: ()Lorg/codehaus/stax2/XMLOutputFactory2;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic javax.xml.stream.XMLOutputFactory.newInstance:()Ljavax/xml/stream/XMLOutputFactory;
astore 1
start local 1 1: aload 1
ldc "javax.xml.stream.isRepairingNamespaces"
2: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
3: invokevirtual javax.xml.stream.XMLOutputFactory.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
4: aload 1
checkcast org.codehaus.stax2.XMLOutputFactory2
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ltest/TestStreamCopier;
1 5 1 f Ljavax/xml/stream/XMLOutputFactory;
protected void test(java.lang.String, java.io.OutputStream);
descriptor: (Ljava/lang/String;Ljava/io/OutputStream;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual test.TestStreamCopier.getFactory:()Lorg/codehaus/stax2/XMLInputFactory2;
astore 3
start local 3 1: aload 0
invokevirtual test.TestStreamCopier.getOutputFactory:()Lorg/codehaus/stax2/XMLOutputFactory2;
astore 4
start local 4 2: aload 1
ldc ".gz"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 6
3: new java.util.zip.GZIPInputStream
dup
new java.io.FileInputStream
dup
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
invokespecial java.util.zip.GZIPInputStream.<init>:(Ljava/io/InputStream;)V
astore 6
start local 6 4: aload 3
aload 6
invokevirtual org.codehaus.stax2.XMLInputFactory2.createXMLStreamReader:(Ljava/io/InputStream;)Ljavax/xml/stream/XMLStreamReader;
checkcast org.codehaus.stax2.XMLStreamReader2
astore 5
end local 6 start local 5 5: goto 7
end local 5 6: StackMap locals: org.codehaus.stax2.XMLInputFactory2 org.codehaus.stax2.XMLOutputFactory2
StackMap stack:
aload 3
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual org.codehaus.stax2.XMLInputFactory2.createXMLStreamReader:(Ljava/io/File;)Lorg/codehaus/stax2/XMLStreamReader2;
astore 5
start local 5 7: StackMap locals: org.codehaus.stax2.XMLStreamReader2
StackMap stack:
aload 4
aload 2
ldc "ISO-8859-1"
invokevirtual org.codehaus.stax2.XMLOutputFactory2.createXMLStreamWriter:(Ljava/io/OutputStream;Ljava/lang/String;)Ljavax/xml/stream/XMLStreamWriter;
checkcast org.codehaus.stax2.XMLStreamWriter2
astore 6
start local 6 8: aload 5
invokeinterface org.codehaus.stax2.XMLStreamReader2.getEventType:()I
istore 7
start local 7 9: goto 22
10: StackMap locals: org.codehaus.stax2.XMLStreamWriter2 int
StackMap stack:
iload 7
bipush 11
if_icmpne 11
11: StackMap locals:
StackMap stack:
iload 7
iconst_4
if_icmpne 14
12: aload 6
aload 5
iconst_0
invokeinterface org.codehaus.stax2.XMLStreamWriter2.copyEventFromReader:(Lorg/codehaus/stax2/XMLStreamReader2;Z)V
13: goto 21
StackMap locals:
StackMap stack:
14: iload 7
bipush 12
if_icmpne 17
15: aload 6
aload 5
invokeinterface org.codehaus.stax2.XMLStreamReader2.getText:()Ljava/lang/String;
invokeinterface org.codehaus.stax2.XMLStreamWriter2.writeCharacters:(Ljava/lang/String;)V
16: goto 21
StackMap locals:
StackMap stack:
17: iload 7
iconst_2
if_icmpne 20
18: aload 6
invokeinterface org.codehaus.stax2.XMLStreamWriter2.writeEndElement:()V
19: goto 21
20: StackMap locals:
StackMap stack:
aload 6
aload 5
iconst_0
invokeinterface org.codehaus.stax2.XMLStreamWriter2.copyEventFromReader:(Lorg/codehaus/stax2/XMLStreamReader2;Z)V
21: StackMap locals:
StackMap stack:
aload 5
invokeinterface org.codehaus.stax2.XMLStreamReader2.next:()I
istore 7
StackMap locals:
StackMap stack:
22: iload 7
bipush 8
if_icmpne 10
end local 7 23: aload 5
invokeinterface org.codehaus.stax2.XMLStreamReader2.close:()V
24: aload 6
invokeinterface org.codehaus.stax2.XMLStreamWriter2.close:()V
25: return
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 26 0 this Ltest/TestStreamCopier;
0 26 1 input Ljava/lang/String;
0 26 2 out Ljava/io/OutputStream;
1 26 3 ifact Lorg/codehaus/stax2/XMLInputFactory2;
2 26 4 of Lorg/codehaus/stax2/XMLOutputFactory2;
5 6 5 sr Lorg/codehaus/stax2/XMLStreamReader2;
7 26 5 sr Lorg/codehaus/stax2/XMLStreamReader2;
4 5 6 in Ljava/io/InputStream;
8 26 6 sw Lorg/codehaus/stax2/XMLStreamWriter2;
9 23 7 type I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
input
out
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpeq 3
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Usage: java ... "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Ltest/TestStreamCopier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " [file]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: iconst_1
invokestatic java.lang.System.exit:(I)V
3: StackMap locals:
StackMap stack:
new test.TestStreamCopier
dup
invokespecial test.TestStreamCopier.<init>:()V
aload 0
iconst_0
aaload
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual test.TestStreamCopier.test:(Ljava/lang/String;Ljava/io/OutputStream;)V
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 1
start local 1 7: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Error: "
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 java.io.PrintStream.println:(Ljava/lang/String;)V
8: aload 1
invokevirtual java.lang.Throwable.printStackTrace:()V
end local 1 9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 args [Ljava/lang/String;
7 9 1 t Ljava/lang/Throwable;
Exception table:
from to target type
3 5 6 Class java.lang.Throwable
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
}
SourceFile: "TestStreamCopier.java"