public class java.beans.XMLEncoder extends java.beans.Encoder implements java.lang.AutoCloseable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.beans.XMLEncoder
super_class: java.beans.Encoder
{
private final java.nio.charset.CharsetEncoder encoder;
descriptor: Ljava/nio/charset/CharsetEncoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String charset;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean declaration;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.io.OutputStreamWriter out;
descriptor: Ljava/io/OutputStreamWriter;
flags: (0x0002) ACC_PRIVATE
private java.lang.Object owner;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private int indentation;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean internal;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.Object, java.beans.XMLEncoder$ValueData> valueToExpression;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/beans/XMLEncoder$ValueData;>;
private java.util.Map<java.lang.Object, java.util.List<java.beans.Statement>> targetToStatementList;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/util/List<Ljava/beans/Statement;>;>;
private boolean preambleWritten;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.beans.NameGenerator nameGenerator;
descriptor: Ljava/beans/NameGenerator;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "UTF-8"
iconst_1
iconst_0
invokespecial java.beans.XMLEncoder.<init>:(Ljava/io/OutputStream;Ljava/lang/String;ZI)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/beans/XMLEncoder;
0 2 1 out Ljava/io/OutputStream;
MethodParameters:
Name Flags
out
public void <init>(java.io.OutputStream, java.lang.String, boolean, int);
descriptor: (Ljava/io/OutputStream;Ljava/lang/String;ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.beans.Encoder.<init>:()V
1: aload 0
iconst_0
putfield java.beans.XMLEncoder.indentation:I
2: aload 0
iconst_0
putfield java.beans.XMLEncoder.internal:Z
3: aload 0
iconst_0
putfield java.beans.XMLEncoder.preambleWritten:Z
4: aload 1
ifnonnull 6
5: new java.lang.IllegalArgumentException
dup
ldc "the output stream cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.beans.XMLEncoder java.io.OutputStream java.lang.String int int
StackMap stack:
iload 4
ifge 8
7: new java.lang.IllegalArgumentException
dup
ldc "the indentation must be >= 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 2
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 5
start local 5 9: aload 0
aload 5
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
putfield java.beans.XMLEncoder.encoder:Ljava/nio/charset/CharsetEncoder;
10: aload 0
aload 2
putfield java.beans.XMLEncoder.charset:Ljava/lang/String;
11: aload 0
iload 3
putfield java.beans.XMLEncoder.declaration:Z
12: aload 0
iload 4
putfield java.beans.XMLEncoder.indentation:I
13: aload 0
new java.io.OutputStreamWriter
dup
aload 1
aload 5
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/CharsetEncoder;)V
putfield java.beans.XMLEncoder.out:Ljava/io/OutputStreamWriter;
14: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield java.beans.XMLEncoder.valueToExpression:Ljava/util/Map;
15: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield java.beans.XMLEncoder.targetToStatementList:Ljava/util/Map;
16: aload 0
new java.beans.NameGenerator
dup
invokespecial java.beans.NameGenerator.<init>:()V
putfield java.beans.XMLEncoder.nameGenerator:Ljava/beans/NameGenerator;
17: return
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 18 0 this Ljava/beans/XMLEncoder;
0 18 1 out Ljava/io/OutputStream;
0 18 2 charset Ljava/lang/String;
0 18 3 declaration Z
0 18 4 indentation I
9 18 5 cs Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
out
charset
declaration
indentation
public void setOwner(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.beans.XMLEncoder.owner:Ljava/lang/Object;
1: aload 0
new java.beans.Expression
dup
aload 0
ldc "getOwner"
iconst_0
anewarray java.lang.Object
invokespecial java.beans.Expression.<init>:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
invokevirtual java.beans.XMLEncoder.writeExpression:(Ljava/beans/Expression;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/beans/XMLEncoder;
0 3 1 owner Ljava/lang/Object;
MethodParameters:
Name Flags
owner
public java.lang.Object getOwner();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.beans.XMLEncoder.owner:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/beans/XMLEncoder;
public void writeObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.beans.XMLEncoder.internal:Z
ifeq 3
1: aload 0
aload 1
invokespecial java.beans.Encoder.writeObject:(Ljava/lang/Object;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
new java.beans.Statement
dup
aload 0
ldc "writeObject"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokespecial java.beans.Statement.<init>:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
invokevirtual java.beans.XMLEncoder.writeStatement:(Ljava/beans/Statement;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/beans/XMLEncoder;
0 5 1 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
private java.util.List<java.beans.Statement> statementList();
descriptor: (Ljava/lang/Object;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.beans.XMLEncoder.targetToStatementList:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 1: aload 2
ifnonnull 4
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
3: aload 0
getfield java.beans.XMLEncoder.targetToStatementList:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.util.List
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/beans/XMLEncoder;
0 5 1 target Ljava/lang/Object;
1 5 2 list Ljava/util/List<Ljava/beans/Statement;>;
Signature: (Ljava/lang/Object;)Ljava/util/List<Ljava/beans/Statement;>;
MethodParameters:
Name Flags
target
private void mark(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 1
aload 0
if_acmpne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.beans.XMLEncoder.getValueData:(Ljava/lang/Object;)Ljava/beans/XMLEncoder$ValueData;
astore 3
start local 3 3: aload 3
getfield java.beans.XMLEncoder$ValueData.exp:Ljava/beans/Expression;
astore 4
start local 4 4: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/String;
if_acmpne 6
aload 4
ifnonnull 6
5: return
6: StackMap locals: java.beans.XMLEncoder$ValueData java.beans.Expression
StackMap stack:
iload 2
ifeq 8
7: aload 3
dup
getfield java.beans.XMLEncoder$ValueData.refs:I
iconst_1
iadd
putfield java.beans.XMLEncoder$ValueData.refs:I
8: StackMap locals:
StackMap stack:
aload 3
getfield java.beans.XMLEncoder$ValueData.marked:Z
ifeq 10
9: return
10: StackMap locals:
StackMap stack:
aload 3
iconst_1
putfield java.beans.XMLEncoder$ValueData.marked:Z
11: aload 4
invokevirtual java.beans.Expression.getTarget:()Ljava/lang/Object;
astore 5
start local 5 12: aload 0
aload 4
invokevirtual java.beans.XMLEncoder.mark:(Ljava/beans/Statement;)V
13: aload 5
instanceof java.lang.Class
ifne 16
14: aload 0
aload 5
invokevirtual java.beans.XMLEncoder.statementList:(Ljava/lang/Object;)Ljava/util/List;
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 3
dup
getfield java.beans.XMLEncoder$ValueData.refs:I
iconst_1
iadd
putfield java.beans.XMLEncoder$ValueData.refs:I
16: StackMap locals: java.lang.Object
StackMap stack:
return
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 17 0 this Ljava/beans/XMLEncoder;
0 17 1 o Ljava/lang/Object;
0 17 2 isArgument Z
3 17 3 d Ljava/beans/XMLEncoder$ValueData;
4 17 4 exp Ljava/beans/Expression;
12 17 5 target Ljava/lang/Object;
MethodParameters:
Name Flags
o
isArgument
private void mark(java.beans.Statement);
descriptor: (Ljava/beans/Statement;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.beans.Statement.getArguments:()[Ljava/lang/Object;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 2
iload 3
aaload
astore 4
start local 4 4: aload 0
aload 4
iconst_1
invokevirtual java.beans.XMLEncoder.mark:(Ljava/lang/Object;Z)V
end local 4 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 2
arraylength
if_icmplt 3
end local 3 7: aload 0
aload 1
invokevirtual java.beans.Statement.getTarget:()Ljava/lang/Object;
aload 1
instanceof java.beans.Expression
invokevirtual java.beans.XMLEncoder.mark:(Ljava/lang/Object;Z)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/beans/XMLEncoder;
0 9 1 stm Ljava/beans/Statement;
1 9 2 args [Ljava/lang/Object;
2 7 3 i I
4 5 4 arg Ljava/lang/Object;
MethodParameters:
Name Flags
stm
public void writeStatement(java.beans.Statement);
descriptor: (Ljava/beans/Statement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield java.beans.XMLEncoder.internal:Z
istore 2
start local 2 1: aload 0
iconst_1
putfield java.beans.XMLEncoder.internal:Z
2: aload 0
aload 1
invokespecial java.beans.Encoder.writeStatement:(Ljava/beans/Statement;)V
3: aload 0
aload 1
invokevirtual java.beans.XMLEncoder.mark:(Ljava/beans/Statement;)V
4: aload 1
invokevirtual java.beans.Statement.getTarget:()Ljava/lang/Object;
astore 3
start local 3 5: aload 3
instanceof java.lang.reflect.Field
ifeq 14
6: aload 1
invokevirtual java.beans.Statement.getMethodName:()Ljava/lang/String;
astore 4
start local 4 7: aload 1
invokevirtual java.beans.Statement.getArguments:()[Ljava/lang/Object;
astore 5
start local 5 8: aload 4
ifnull 14
aload 5
ifnull 14
9: aload 4
ldc "get"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
aload 5
arraylength
iconst_1
if_icmpne 12
10: aload 5
iconst_0
aaload
astore 3
11: goto 14
12: StackMap locals: java.beans.XMLEncoder java.beans.Statement int java.lang.Object java.lang.String java.lang.Object[]
StackMap stack:
aload 4
ldc "set"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 5
arraylength
iconst_2
if_icmpne 14
13: aload 5
iconst_0
aaload
astore 3
end local 5 end local 4 14: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual java.beans.XMLEncoder.statementList:(Ljava/lang/Object;)Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 15: goto 18
16: StackMap locals: java.beans.XMLEncoder java.beans.Statement int
StackMap stack: java.lang.Exception
astore 3
start local 3 17: aload 0
invokevirtual java.beans.XMLEncoder.getExceptionListener:()Ljava/beans/ExceptionListener;
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
ldc "XMLEncoder: discarding statement "
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;
aload 3
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
invokeinterface java.beans.ExceptionListener.exceptionThrown:(Ljava/lang/Exception;)V
end local 3 18: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield java.beans.XMLEncoder.internal:Z
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/beans/XMLEncoder;
0 20 1 oldStm Ljava/beans/Statement;
1 20 2 internal Z
5 15 3 target Ljava/lang/Object;
7 14 4 method Ljava/lang/String;
8 14 5 args [Ljava/lang/Object;
17 18 3 e Ljava/lang/Exception;
Exception table:
from to target type
2 15 16 Class java.lang.Exception
MethodParameters:
Name Flags
oldStm
public void writeExpression(java.beans.Expression);
descriptor: (Ljava/beans/Expression;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield java.beans.XMLEncoder.internal:Z
istore 2
start local 2 1: aload 0
iconst_1
putfield java.beans.XMLEncoder.internal:Z
2: aload 0
aload 1
invokevirtual java.beans.XMLEncoder.getValue:(Ljava/beans/Expression;)Ljava/lang/Object;
astore 3
start local 3 3: aload 0
aload 3
invokevirtual java.beans.XMLEncoder.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 4
aload 3
instanceof java.lang.String
ifeq 6
iload 2
ifne 6
4: StackMap locals: int java.lang.Object
StackMap stack:
aload 0
aload 3
invokevirtual java.beans.XMLEncoder.getValueData:(Ljava/lang/Object;)Ljava/beans/XMLEncoder$ValueData;
aload 1
putfield java.beans.XMLEncoder$ValueData.exp:Ljava/beans/Expression;
5: aload 0
aload 1
invokespecial java.beans.Encoder.writeExpression:(Ljava/beans/Expression;)V
6: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield java.beans.XMLEncoder.internal:Z
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/beans/XMLEncoder;
0 8 1 oldExp Ljava/beans/Expression;
1 8 2 internal Z
3 8 3 oldValue Ljava/lang/Object;
MethodParameters:
Name Flags
oldExp
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield java.beans.XMLEncoder.preambleWritten:Z
ifne 9
1: aload 0
getfield java.beans.XMLEncoder.declaration:Z
ifeq 5
2: aload 0
new java.lang.StringBuilder
dup
ldc "<?xml version="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
ldc "1.0"
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " encoding="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 0
getfield java.beans.XMLEncoder.charset:Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "?>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "<java version="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
ldc "java.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc " class="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
ldc Ljava/beans/XMLDecoder;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
8: aload 0
iconst_1
putfield java.beans.XMLEncoder.preambleWritten:Z
9: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.beans.XMLEncoder.indentation:I
iconst_1
iadd
putfield java.beans.XMLEncoder.indentation:I
10: aload 0
aload 0
invokevirtual java.beans.XMLEncoder.statementList:(Ljava/lang/Object;)Ljava/util/List;
astore 1
start local 1 11: goto 17
12: StackMap locals: java.util.List
StackMap stack:
aload 1
iconst_0
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
checkcast java.beans.Statement
astore 2
start local 2 13: ldc "writeObject"
aload 2
invokevirtual java.beans.Statement.getMethodName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
14: aload 0
aload 2
invokevirtual java.beans.Statement.getArguments:()[Ljava/lang/Object;
iconst_0
aaload
aload 0
iconst_1
invokevirtual java.beans.XMLEncoder.outputValue:(Ljava/lang/Object;Ljava/lang/Object;Z)V
15: goto 17
16: StackMap locals: java.beans.Statement
StackMap stack:
aload 0
aload 2
aload 0
iconst_0
invokevirtual java.beans.XMLEncoder.outputStatement:(Ljava/beans/Statement;Ljava/lang/Object;Z)V
end local 2 17: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 12
18: aload 0
dup
getfield java.beans.XMLEncoder.indentation:I
iconst_1
isub
putfield java.beans.XMLEncoder.indentation:I
19: aload 0
invokevirtual java.beans.XMLEncoder.getMissedStatement:()Ljava/beans/Statement;
astore 2
start local 2 20: goto 23
21: StackMap locals: java.beans.Statement
StackMap stack:
aload 0
aload 2
aload 0
iconst_0
invokevirtual java.beans.XMLEncoder.outputStatement:(Ljava/beans/Statement;Ljava/lang/Object;Z)V
22: aload 0
invokevirtual java.beans.XMLEncoder.getMissedStatement:()Ljava/beans/Statement;
astore 2
23: StackMap locals:
StackMap stack:
aload 2
ifnonnull 21
24: aload 0
getfield java.beans.XMLEncoder.out:Ljava/io/OutputStreamWriter;
invokevirtual java.io.OutputStreamWriter.flush:()V
25: goto 28
26: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 27: aload 0
invokevirtual java.beans.XMLEncoder.getExceptionListener:()Ljava/beans/ExceptionListener;
aload 3
invokeinterface java.beans.ExceptionListener.exceptionThrown:(Ljava/lang/Exception;)V
end local 3 28: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.beans.XMLEncoder.clear:()V
29: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Ljava/beans/XMLEncoder;
11 30 1 statements Ljava/util/List<Ljava/beans/Statement;>;
13 17 2 s Ljava/beans/Statement;
20 30 2 statement Ljava/beans/Statement;
27 28 3 e Ljava/io/IOException;
Exception table:
from to target type
24 25 26 Class java.io.IOException
void clear();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.beans.Encoder.clear:()V
1: aload 0
getfield java.beans.XMLEncoder.nameGenerator:Ljava/beans/NameGenerator;
invokevirtual java.beans.NameGenerator.clear:()V
2: aload 0
getfield java.beans.XMLEncoder.valueToExpression:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
3: aload 0
getfield java.beans.XMLEncoder.targetToStatementList:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/beans/XMLEncoder;
java.beans.Statement getMissedStatement();
descriptor: ()Ljava/beans/Statement;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield java.beans.XMLEncoder.targetToStatementList:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 8
StackMap locals: java.beans.XMLEncoder top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 1
start local 1 2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: java.beans.XMLEncoder java.util.List java.util.Iterator int
StackMap stack:
ldc Ljava/beans/Statement;
aload 1
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.beans.Statement
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpne 6
5: aload 1
iload 3
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
checkcast java.beans.Statement
areturn
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 1
invokeinterface java.util.List.size:()I
if_icmplt 4
end local 3 end local 1 8: StackMap locals: java.beans.XMLEncoder top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
9: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/beans/XMLEncoder;
2 8 1 statements Ljava/util/List<Ljava/beans/Statement;>;
3 8 3 i I
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.beans.XMLEncoder.flush:()V
1: aload 0
ldc "</java>"
invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
2: aload 0
getfield java.beans.XMLEncoder.out:Ljava/io/OutputStreamWriter;
invokevirtual java.io.OutputStreamWriter.close:()V
3: goto 6
4: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 5: aload 0
invokevirtual java.beans.XMLEncoder.getExceptionListener:()Ljava/beans/ExceptionListener;
aload 1
invokeinterface java.beans.ExceptionListener.exceptionThrown:(Ljava/lang/Exception;)V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/beans/XMLEncoder;
5 6 1 e Ljava/io/IOException;
Exception table:
from to target type
2 3 4 Class java.io.IOException
private java.lang.String quote(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/beans/XMLEncoder;
0 1 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private java.beans.XMLEncoder$ValueData getValueData(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/beans/XMLEncoder$ValueData;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.beans.XMLEncoder.valueToExpression:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.beans.XMLEncoder$ValueData
astore 2
start local 2 1: aload 2
ifnonnull 4
2: new java.beans.XMLEncoder$ValueData
dup
aload 0
invokespecial java.beans.XMLEncoder$ValueData.<init>:(Ljava/beans/XMLEncoder;)V
astore 2
3: aload 0
getfield java.beans.XMLEncoder.valueToExpression:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.beans.XMLEncoder$ValueData
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/beans/XMLEncoder;
0 5 1 o Ljava/lang/Object;
1 5 2 d Ljava/beans/XMLEncoder$ValueData;
MethodParameters:
Name Flags
o
private static boolean isValidCharCode(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush 32
iload 0
if_icmpgt 1
iload 0
ldc 55295
if_icmple 8
1: StackMap locals:
StackMap stack:
bipush 10
iload 0
if_icmpeq 8
2: bipush 9
iload 0
if_icmpeq 8
3: bipush 13
iload 0
if_icmpeq 8
4: ldc 57344
iload 0
if_icmpgt 5
iload 0
ldc 65533
if_icmple 8
5: StackMap locals:
StackMap stack:
ldc 65536
iload 0
if_icmpgt 7
iload 0
ldc 1114111
6: if_icmple 8
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
StackMap locals:
StackMap stack:
8: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 code I
MethodParameters:
Name Flags
code
private void writeln(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 2
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
getfield java.beans.XMLEncoder.indentation:I
if_icmplt 3
end local 3 6: aload 2
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 2
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: aload 0
getfield java.beans.XMLEncoder.out:Ljava/io/OutputStreamWriter;
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.OutputStreamWriter.write:(Ljava/lang/String;)V
end local 2 9: goto 12
10: StackMap locals: java.beans.XMLEncoder java.lang.String
StackMap stack: java.io.IOException
astore 2
start local 2 11: aload 0
invokevirtual java.beans.XMLEncoder.getExceptionListener:()Ljava/beans/ExceptionListener;
aload 2
invokeinterface java.beans.ExceptionListener.exceptionThrown:(Ljava/lang/Exception;)V
end local 2 12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/beans/XMLEncoder;
0 13 1 exp Ljava/lang/String;
1 9 2 sb Ljava/lang/StringBuilder;
2 6 3 i I
11 12 2 e Ljava/io/IOException;
Exception table:
from to target type
0 9 10 Class java.io.IOException
MethodParameters:
Name Flags
exp
private void outputValue(java.lang.Object, java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 3
1: aload 0
ldc "<null/>"
invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Class
ifeq 6
4: aload 0
new java.lang.StringBuilder
dup
ldc "<class>"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
checkcast java.lang.Class
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "</class>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
5: return
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.beans.XMLEncoder.getValueData:(Ljava/lang/Object;)Ljava/beans/XMLEncoder$ValueData;
astore 4
start local 4 7: aload 4
getfield java.beans.XMLEncoder$ValueData.exp:Ljava/beans/Expression;
ifnull 38
8: aload 4
getfield java.beans.XMLEncoder$ValueData.exp:Ljava/beans/Expression;
invokevirtual java.beans.Expression.getTarget:()Ljava/lang/Object;
astore 5
start local 5 9: aload 4
getfield java.beans.XMLEncoder$ValueData.exp:Ljava/beans/Expression;
invokevirtual java.beans.Expression.getMethodName:()Ljava/lang/String;
astore 6
start local 6 10: aload 5
ifnull 11
aload 6
ifnonnull 16
11: StackMap locals: java.beans.XMLEncoder$ValueData java.lang.Object java.lang.String
StackMap stack:
new java.lang.NullPointerException
dup
12: new java.lang.StringBuilder
dup
aload 5
ifnonnull 13
ldc "target"
goto 14
13: StackMap locals: java.beans.XMLEncoder java.lang.Object java.lang.Object int java.beans.XMLEncoder$ValueData java.lang.Object java.lang.String
StackMap stack: new 11 new 11 new 12 new 12
ldc "methodName"
StackMap locals: java.beans.XMLEncoder java.lang.Object java.lang.Object int java.beans.XMLEncoder$ValueData java.lang.Object java.lang.String
StackMap stack: new 11 new 11 new 12 new 12 java.lang.String
14: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " should not be null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
iload 3
ifeq 22
aload 5
instanceof java.lang.reflect.Field
ifeq 22
aload 6
ldc "get"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
17: aload 5
checkcast java.lang.reflect.Field
astore 7
start local 7 18: aload 0
new java.lang.StringBuilder
dup
ldc "<object class="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 7
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: ldc " field="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 7
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
21: return
end local 7 22: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic java.beans.XMLEncoder.primitiveTypeFor:(Ljava/lang/Class;)Ljava/lang/Class;
astore 7
start local 7 23: aload 7
ifnull 41
aload 5
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpne 41
24: aload 6
ldc "new"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
25: aload 7
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 8
start local 8 26: aload 7
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 34
27: aload 1
checkcast java.lang.Character
invokevirtual java.lang.Character.charValue:()C
istore 9
start local 9 28: iload 9
invokestatic java.beans.XMLEncoder.isValidCharCode:(I)Z
ifne 31
29: aload 0
iload 9
invokestatic java.beans.XMLEncoder.createString:(I)Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
30: return
31: StackMap locals: java.lang.Class java.lang.String int
StackMap stack:
iload 9
invokestatic java.beans.XMLEncoder.quoteCharCode:(I)Ljava/lang/String;
astore 1
32: aload 1
ifnonnull 34
33: iload 9
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
astore 1
end local 9 34: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "</"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
37: return
end local 8 end local 7 end local 6 end local 5 38: StackMap locals: java.beans.XMLEncoder java.lang.Object java.lang.Object int java.beans.XMLEncoder$ValueData
StackMap stack:
aload 1
instanceof java.lang.String
ifeq 41
39: aload 0
aload 0
aload 1
checkcast java.lang.String
invokevirtual java.beans.XMLEncoder.createString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
40: return
41: StackMap locals:
StackMap stack:
aload 4
getfield java.beans.XMLEncoder$ValueData.name:Ljava/lang/String;
ifnull 47
42: iload 3
ifeq 45
43: aload 0
new java.lang.StringBuilder
dup
ldc "<object idref="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 4
getfield java.beans.XMLEncoder$ValueData.name:Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
44: goto 49
45: StackMap locals:
StackMap stack:
aload 0
ldc "void"
new java.lang.StringBuilder
dup
ldc " idref="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 4
getfield java.beans.XMLEncoder$ValueData.name:Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
iconst_0
anewarray java.lang.Object
invokevirtual java.beans.XMLEncoder.outputXML:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
46: goto 49
47: StackMap locals:
StackMap stack:
aload 4
getfield java.beans.XMLEncoder$ValueData.exp:Ljava/beans/Expression;
ifnull 49
48: aload 0
aload 4
getfield java.beans.XMLEncoder$ValueData.exp:Ljava/beans/Expression;
aload 2
iload 3
invokevirtual java.beans.XMLEncoder.outputStatement:(Ljava/beans/Statement;Ljava/lang/Object;Z)V
49: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Ljava/beans/XMLEncoder;
0 50 1 value Ljava/lang/Object;
0 50 2 outer Ljava/lang/Object;
0 50 3 isArgument Z
7 50 4 d Ljava/beans/XMLEncoder$ValueData;
9 38 5 target Ljava/lang/Object;
10 38 6 methodName Ljava/lang/String;
18 22 7 f Ljava/lang/reflect/Field;
23 38 7 primitiveType Ljava/lang/Class<*>;
26 38 8 primitiveTypeName Ljava/lang/String;
28 34 9 code C
MethodParameters:
Name Flags
value
outer
isArgument
private static java.lang.String quoteCharCode(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
lookupswitch { // 6
13: 6
34: 4
38: 1
39: 5
60: 2
62: 3
default: 7
}
1: StackMap locals:
StackMap stack:
ldc "&"
areturn
2: StackMap locals:
StackMap stack:
ldc "<"
areturn
3: StackMap locals:
StackMap stack:
ldc ">"
areturn
4: StackMap locals:
StackMap stack:
ldc """
areturn
5: StackMap locals:
StackMap stack:
ldc "'"
areturn
6: StackMap locals:
StackMap stack:
ldc " "
areturn
7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 code I
MethodParameters:
Name Flags
code
private static java.lang.String createString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "<char code=\"#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
bipush 16
invokestatic java.lang.Integer.toString:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\"/>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 code I
MethodParameters:
Name Flags
code
private java.lang.String createString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
ldc "<string>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: iconst_0
istore 3
start local 3 3: goto 16
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.codePointAt:(I)I
istore 4
start local 4 5: iload 4
invokestatic java.lang.Character.charCount:(I)I
istore 5
start local 5 6: iload 4
invokestatic java.beans.XMLEncoder.isValidCharCode:(I)Z
ifeq 14
aload 0
getfield java.beans.XMLEncoder.encoder:Ljava/nio/charset/CharsetEncoder;
aload 1
iload 3
iload 3
iload 5
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.nio.charset.CharsetEncoder.canEncode:(Ljava/lang/CharSequence;)Z
ifeq 14
7: iload 4
invokestatic java.beans.XMLEncoder.quoteCharCode:(I)Ljava/lang/String;
astore 6
start local 6 8: aload 6
ifnull 11
9: aload 2
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: goto 12
11: StackMap locals: int int java.lang.String
StackMap stack:
aload 2
iload 4
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
12: StackMap locals:
StackMap stack:
iload 3
iload 5
iadd
istore 3
end local 6 13: goto 16
14: StackMap locals:
StackMap stack:
aload 2
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.beans.XMLEncoder.createString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: iinc 3 1
end local 5 end local 4 16: StackMap locals:
StackMap stack:
iload 3
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 4
17: aload 2
ldc "</string>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/beans/XMLEncoder;
0 19 1 string Ljava/lang/String;
1 19 2 sb Ljava/lang/StringBuilder;
3 19 3 index I
5 16 4 point I
6 16 5 count I
8 13 6 value Ljava/lang/String;
MethodParameters:
Name Flags
string
private void outputStatement(java.beans.Statement, java.lang.Object, boolean);
descriptor: (Ljava/beans/Statement;Ljava/lang/Object;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.beans.Statement.getTarget:()Ljava/lang/Object;
astore 4
start local 4 1: aload 1
invokevirtual java.beans.Statement.getMethodName:()Ljava/lang/String;
astore 5
start local 5 2: aload 4
ifnull 3
aload 5
ifnonnull 8
3: StackMap locals: java.lang.Object java.lang.String
StackMap stack:
new java.lang.NullPointerException
dup
4: new java.lang.StringBuilder
dup
aload 4
ifnonnull 5
ldc "target"
goto 6
5: StackMap locals: java.beans.XMLEncoder java.beans.Statement java.lang.Object int java.lang.Object java.lang.String
StackMap stack: new 3 new 3 new 4 new 4
ldc "methodName"
StackMap locals: java.beans.XMLEncoder java.beans.Statement java.lang.Object int java.lang.Object java.lang.String
StackMap stack: new 3 new 3 new 4 new 4 java.lang.String
6: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " should not be null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.beans.Statement.getArguments:()[Ljava/lang/Object;
astore 6
start local 6 9: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/beans/Expression;
if_acmpne 10
iconst_1
goto 11
StackMap locals: java.lang.Object[]
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 7
start local 7 12: iload 7
ifeq 13
aload 0
aload 1
checkcast java.beans.Expression
invokevirtual java.beans.XMLEncoder.getValue:(Ljava/beans/Expression;)Ljava/lang/Object;
goto 14
StackMap locals: int
StackMap stack:
13: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
14: astore 8
start local 8 15: iload 7
ifeq 16
iload 3
ifeq 16
ldc "object"
goto 17
StackMap locals: java.lang.Object
StackMap stack:
16: ldc "void"
StackMap locals:
StackMap stack: java.lang.String
17: astore 9
start local 9 18: ldc ""
astore 10
start local 10 19: aload 0
aload 8
invokevirtual java.beans.XMLEncoder.getValueData:(Ljava/lang/Object;)Ljava/beans/XMLEncoder$ValueData;
astore 11
start local 11 20: aload 4
aload 2
if_acmpeq 40
21: aload 4
ldc Ljava/lang/reflect/Array;
if_acmpne 27
aload 5
ldc "newInstance"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
22: ldc "array"
astore 9
23: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " class="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 6
iconst_0
aaload
checkcast java.lang.Class
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
24: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " length="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 6
iconst_1
aaload
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
25: iconst_0
anewarray java.lang.Object
astore 6
26: goto 40
27: StackMap locals: java.lang.String java.lang.String java.beans.XMLEncoder$ValueData
StackMap stack:
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/Class;
if_acmpne 30
28: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " class="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 4
checkcast java.lang.Class
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
29: goto 40
30: StackMap locals:
StackMap stack:
aload 11
iconst_2
putfield java.beans.XMLEncoder$ValueData.refs:I
31: aload 11
getfield java.beans.XMLEncoder$ValueData.name:Ljava/lang/String;
ifnonnull 37
32: aload 0
aload 4
invokevirtual java.beans.XMLEncoder.getValueData:(Ljava/lang/Object;)Ljava/beans/XMLEncoder$ValueData;
dup
getfield java.beans.XMLEncoder$ValueData.refs:I
iconst_1
iadd
putfield java.beans.XMLEncoder$ValueData.refs:I
33: aload 0
aload 4
invokevirtual java.beans.XMLEncoder.statementList:(Ljava/lang/Object;)Ljava/util/List;
astore 12
start local 12 34: aload 12
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 36
35: aload 12
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
36: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 4
aload 2
iconst_0
invokevirtual java.beans.XMLEncoder.outputValue:(Ljava/lang/Object;Ljava/lang/Object;Z)V
end local 12 37: StackMap locals:
StackMap stack:
iload 7
ifeq 39
38: aload 0
aload 8
aload 2
iload 3
invokevirtual java.beans.XMLEncoder.outputValue:(Ljava/lang/Object;Ljava/lang/Object;Z)V
39: StackMap locals:
StackMap stack:
return
40: StackMap locals:
StackMap stack:
iload 7
ifeq 44
aload 11
getfield java.beans.XMLEncoder$ValueData.refs:I
iconst_1
if_icmple 44
41: aload 0
getfield java.beans.XMLEncoder.nameGenerator:Ljava/beans/NameGenerator;
aload 8
invokevirtual java.beans.NameGenerator.instanceName:(Ljava/lang/Object;)Ljava/lang/String;
astore 12
start local 12 42: aload 11
aload 12
putfield java.beans.XMLEncoder$ValueData.name:Ljava/lang/String;
43: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " id="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 12
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
end local 12 44: StackMap locals:
StackMap stack:
iload 7
ifne 46
aload 5
ldc "set"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 46
aload 6
arraylength
iconst_2
if_icmpne 46
45: aload 6
iconst_0
aaload
instanceof java.lang.Integer
ifne 48
46: StackMap locals:
StackMap stack:
iload 7
ifeq 53
aload 5
ldc "get"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 53
aload 6
arraylength
iconst_1
if_icmpne 53
47: aload 6
iconst_0
aaload
instanceof java.lang.Integer
ifeq 53
48: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " index="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 6
iconst_0
aaload
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
49: aload 6
arraylength
iconst_1
if_icmpne 50
iconst_0
anewarray java.lang.Object
goto 51
StackMap locals:
StackMap stack:
50: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
iconst_1
aaload
aastore
StackMap locals:
StackMap stack: java.lang.Object[]
51: astore 6
52: goto 62
53: StackMap locals:
StackMap stack:
iload 7
ifne 54
aload 5
ldc "set"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 54
aload 6
arraylength
iconst_1
if_icmpeq 55
54: StackMap locals:
StackMap stack:
iload 7
ifeq 60
aload 5
ldc "get"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 60
aload 6
arraylength
ifne 60
55: StackMap locals:
StackMap stack:
iconst_3
aload 5
invokevirtual java.lang.String.length:()I
if_icmpge 62
56: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " property="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
57: aload 0
aload 5
iconst_3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.beans.Introspector.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
58: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
59: goto 62
60: StackMap locals:
StackMap stack:
aload 5
ldc "new"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 62
aload 5
ldc "newInstance"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 62
61: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " method="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 5
invokevirtual java.beans.XMLEncoder.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
62: StackMap locals:
StackMap stack:
aload 0
aload 9
aload 10
aload 8
aload 6
invokevirtual java.beans.XMLEncoder.outputXML:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
63: return
end local 11 end local 10 end local 9 end local 8 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 64 0 this Ljava/beans/XMLEncoder;
0 64 1 exp Ljava/beans/Statement;
0 64 2 outer Ljava/lang/Object;
0 64 3 isArgument Z
1 64 4 target Ljava/lang/Object;
2 64 5 methodName Ljava/lang/String;
9 64 6 args [Ljava/lang/Object;
12 64 7 expression Z
15 64 8 value Ljava/lang/Object;
18 64 9 tag Ljava/lang/String;
19 64 10 attributes Ljava/lang/String;
20 64 11 d Ljava/beans/XMLEncoder$ValueData;
34 37 12 statements Ljava/util/List<Ljava/beans/Statement;>;
42 44 12 instanceName Ljava/lang/String;
MethodParameters:
Name Flags
exp
outer
isArgument
private void outputXML(java.lang.String, java.lang.String, java.lang.Object, java.lang.Object[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 3
invokevirtual java.beans.XMLEncoder.statementList:(Ljava/lang/Object;)Ljava/util/List;
astore 5
start local 5 1: aload 4
arraylength
ifne 4
aload 5
invokeinterface java.util.List.size:()I
ifne 4
2: aload 0
new java.lang.StringBuilder
dup
ldc "<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
3: return
4: StackMap locals: java.util.List
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
5: aload 0
dup
getfield java.beans.XMLEncoder.indentation:I
iconst_1
iadd
putfield java.beans.XMLEncoder.indentation:I
6: iconst_0
istore 6
start local 6 7: goto 10
8: StackMap locals: int
StackMap stack:
aload 0
aload 4
iload 6
aaload
aconst_null
iconst_1
invokevirtual java.beans.XMLEncoder.outputValue:(Ljava/lang/Object;Ljava/lang/Object;Z)V
9: iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
aload 4
arraylength
if_icmplt 8
end local 6 11: goto 14
12: StackMap locals:
StackMap stack:
aload 5
iconst_0
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
checkcast java.beans.Statement
astore 6
start local 6 13: aload 0
aload 6
aload 3
iconst_0
invokevirtual java.beans.XMLEncoder.outputStatement:(Ljava/beans/Statement;Ljava/lang/Object;Z)V
end local 6 14: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.List.isEmpty:()Z
ifeq 12
15: aload 0
dup
getfield java.beans.XMLEncoder.indentation:I
iconst_1
isub
putfield java.beans.XMLEncoder.indentation:I
16: aload 0
new java.lang.StringBuilder
dup
ldc "</"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.beans.XMLEncoder.writeln:(Ljava/lang/String;)V
17: return
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 18 0 this Ljava/beans/XMLEncoder;
0 18 1 tag Ljava/lang/String;
0 18 2 attributes Ljava/lang/String;
0 18 3 value Ljava/lang/Object;
0 18 4 args [Ljava/lang/Object;
1 18 5 statements Ljava/util/List<Ljava/beans/Statement;>;
7 11 6 i I
13 14 6 s Ljava/beans/Statement;
MethodParameters:
Name Flags
tag
attributes
value
args
static java.lang.Class primitiveTypeFor(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/Boolean;
if_acmpne 1
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
areturn
1: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Byte;
if_acmpne 2
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Character;
if_acmpne 3
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
areturn
3: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Short;
if_acmpne 4
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
areturn
4: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Integer;
if_acmpne 5
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
areturn
5: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Long;
if_acmpne 6
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
areturn
6: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Float;
if_acmpne 7
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
areturn
7: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Double;
if_acmpne 8
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
areturn
8: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/Void;
if_acmpne 9
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
areturn
9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 wrapper Ljava/lang/Class;
MethodParameters:
Name Flags
wrapper
}
SourceFile: "XMLEncoder.java"
NestMembers:
java.beans.XMLEncoder$ValueData
InnerClasses:
private ValueData = java.beans.XMLEncoder$ValueData of java.beans.XMLEncoder