1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.jdo.impl.enhancer.classfile;
19
20 import java.io.*;
21
22
23
24
25 /***
26 * A SyntheticAttribute is a fixed-length attribute in the attributes table
27 * of ClassFile, ClassField, and ClassMethod structures. A class member
28 * that does not appear in the source code must be marked using a
29 * SyntheticAttribute.
30 */
31 public class SyntheticAttribute extends ClassAttribute {
32
33 public static final String expectedAttrName = "Synthetic";
34
35 /***
36 * Construct a constant value attribute
37 */
38 public SyntheticAttribute(ConstUtf8 attrName) {
39 super(attrName);
40
41 }
42
43 /* package local methods *//package-summary/html">class="comment"> package local methods *//package-summary.html">
44
45 static SyntheticAttribute read(ConstUtf8 attrName,
46 DataInputStream data,
47 ConstantPool pool)
48 throws IOException {
49 return new SyntheticAttribute(attrName);
50 }
51
52 void write(DataOutputStream out) throws IOException {
53 out.writeShort(attrName().getIndex());
54 final int attributeBytesLength = 0;
55 out.writeInt(attributeBytesLength);
56 }
57
58 void print(PrintStream out, int indent) {
59 ClassPrint.spaces(out, indent);
60 out.println(expectedAttrName);
61 }
62 }