62 sourceWriter = SourceWriter.instance(context); |
62 sourceWriter = SourceWriter.instance(context); |
63 tryBlockWriter = TryBlockWriter.instance(context); |
63 tryBlockWriter = TryBlockWriter.instance(context); |
64 stackMapWriter = StackMapWriter.instance(context); |
64 stackMapWriter = StackMapWriter.instance(context); |
65 localVariableTableWriter = LocalVariableTableWriter.instance(context); |
65 localVariableTableWriter = LocalVariableTableWriter.instance(context); |
66 localVariableTypeTableWriter = LocalVariableTypeTableWriter.instance(context); |
66 localVariableTypeTableWriter = LocalVariableTypeTableWriter.instance(context); |
|
67 typeAnnotationWriter = TypeAnnotationWriter.instance(context); |
67 options = Options.instance(context); |
68 options = Options.instance(context); |
68 } |
69 } |
69 |
70 |
70 void write(Code_attribute attr, ConstantPool constant_pool) { |
71 void write(Code_attribute attr, ConstantPool constant_pool) { |
71 println(" Code:"); |
72 println(" Code:"); |
251 if (options.details.contains(InstructionDetailWriter.Kind.TRY_BLOCKS)) { |
252 if (options.details.contains(InstructionDetailWriter.Kind.TRY_BLOCKS)) { |
252 tryBlockWriter.reset(attr); |
253 tryBlockWriter.reset(attr); |
253 detailWriters.add(tryBlockWriter); |
254 detailWriters.add(tryBlockWriter); |
254 } |
255 } |
255 |
256 |
|
257 if (options.details.contains(InstructionDetailWriter.Kind.TYPE_ANNOS)) { |
|
258 typeAnnotationWriter.reset(attr); |
|
259 detailWriters.add(typeAnnotationWriter); |
|
260 } |
|
261 |
256 return detailWriters; |
262 return detailWriters; |
257 } |
263 } |
258 |
264 |
259 private AttributeWriter attrWriter; |
265 private AttributeWriter attrWriter; |
260 private ClassWriter classWriter; |
266 private ClassWriter classWriter; |
261 private ConstantWriter constantWriter; |
267 private ConstantWriter constantWriter; |
262 private LocalVariableTableWriter localVariableTableWriter; |
268 private LocalVariableTableWriter localVariableTableWriter; |
263 private LocalVariableTypeTableWriter localVariableTypeTableWriter; |
269 private LocalVariableTypeTableWriter localVariableTypeTableWriter; |
|
270 private TypeAnnotationWriter typeAnnotationWriter; |
264 private SourceWriter sourceWriter; |
271 private SourceWriter sourceWriter; |
265 private StackMapWriter stackMapWriter; |
272 private StackMapWriter stackMapWriter; |
266 private TryBlockWriter tryBlockWriter; |
273 private TryBlockWriter tryBlockWriter; |
267 private Options options; |
274 private Options options; |
268 } |
275 } |