static FieldInfo readFrom(ClassFile parent, DataInput din, AttributeFactory attrFactory) throws IOException { ConstantPool cp = parent.getConstantPool(); int modifier = din.readUnsignedShort(); int index = din.readUnsignedShort(); ConstantUTFInfo nameConstant = (ConstantUTFInfo)cp.getConstant(index); index = din.readUnsignedShort(); ConstantUTFInfo descConstant = (ConstantUTFInfo)cp.getConstant(index); FieldInfo info = new FieldInfo(parent, modifier, nameConstant, descConstant); // Read attributes. int size = din.readUnsignedShort(); for (int i=0; i<size; i++) { info.addAttribute(Attribute.readFrom(cp, din, attrFactory)); } return info; } }
private void disassemble(String indent, FieldInfo field) { SignatureAttr sig = field.getSignatureAttr(); if (field.isDeprecated() || field.isSynthetic() || sig != null) { println(indent, "/**"); if (field.isDeprecated()) { println(indent, " * @deprecated"); } if (field.isSynthetic()) { println(indent, " * @synthetic"); } if (sig != null) { println(indent, " * @signature " + sig.getSignature().getValue()); } println(indent, " */"); } disassemble(indent, field.getRuntimeVisibleAnnotations()); disassemble(indent, field.getRuntimeInvisibleAnnotations()); print(indent); disassemble(field.getModifiers()); disassemble(field.getType()); print(" "); print(field.getName()); ConstantInfo constant = field.getConstantValue(); if (constant != null) { print(" = "); disassemble(constant); } println(";"); }
if (fi.isSynthetic() || fi.isDeprecated() || fi.getConstantValue() != null) { if (!createdFieldVariable) { print("FieldInfo "); printModifiers(fi); print(", "); print('\"' + escape(fi.getName()) + "\", "); print(fi.getType()); println(");"); if (fi.getConstantValue() != null) { ConstantInfo constant = fi.getConstantValue(); print("fi.setConstantValue("); if (constant instanceof ConstantStringInfo) { if (fi.isSynthetic()) { println("fi.markSynthetic();"); if (fi.isDeprecated()) { println("fi.markDeprecated();");
/** * Mark this field as being synthetic by adding a special attribute. */ public void markSynthetic() { addAttribute(new SyntheticAttr(mCp)); }
private void printModifiers(FieldInfo fi) { printModifiers(fi.getModifiers()); }
/** * Add a field to this class. */ public FieldInfo addField(Modifiers modifiers, String fieldName, TypeDesc type) { FieldInfo fi = new FieldInfo(this, modifiers, fieldName, type); mFields.add(fi); return fi; }
if (fi.isSynthetic() || fi.isDeprecated() || fi.getConstantValue() != null) { if (!createdFieldVariable) { print("FieldInfo "); printModifiers(fi); print(", "); print('\"' + escape(fi.getName()) + "\", "); print(fi.getType()); println(");"); if (fi.getConstantValue() != null) { ConstantInfo constant = fi.getConstantValue(); print("fi.setConstantValue("); if (constant instanceof ConstantStringInfo) { if (fi.isSynthetic()) { println("fi.markSynthetic();"); if (fi.isDeprecated()) { println("fi.markDeprecated();");
/** * Mark this field as being deprecated by adding a special attribute. */ public void markDeprecated() { addAttribute(new DeprecatedAttr(mCp)); }
aFlags = ((FieldInfo)a).getModifiers(); } else { aFlags = ((MethodInfo)a).getModifiers(); bFlags = ((FieldInfo)b).getModifiers(); } else { bFlags = ((MethodInfo)b).getModifiers();
/** * Add a field to this class. */ public FieldInfo addField(Modifiers modifiers, String fieldName, TypeDesc type) { FieldInfo fi = new FieldInfo(this, modifiers, fieldName, type); mFields.add(fi); return fi; }
private void disassemble(String indent, FieldInfo field) { SignatureAttr sig = field.getSignatureAttr(); if (field.isDeprecated() || field.isSynthetic() || sig != null) { println(indent, "/**"); if (field.isDeprecated()) { println(indent, " * @deprecated"); } if (field.isSynthetic()) { println(indent, " * @synthetic"); } if (sig != null) { println(indent, " * @signature " + sig.getSignature().getValue()); } println(indent, " */"); } disassemble(indent, field.getRuntimeVisibleAnnotations()); disassemble(indent, field.getRuntimeInvisibleAnnotations()); print(indent); disassemble(field.getModifiers()); disassemble(field.getType()); print(" "); print(field.getName()); ConstantInfo constant = field.getConstantValue(); if (constant != null) { print(" = "); disassemble(constant); } println(";"); }
/** * Set the constant value for this field as a long. */ public void setConstantValue(long value) { addAttribute(new ConstantValueAttr(mCp, mCp.addConstantLong(value))); }
static FieldInfo readFrom(ClassFile parent, DataInput din, AttributeFactory attrFactory) throws IOException { ConstantPool cp = parent.getConstantPool(); int modifier = din.readUnsignedShort(); int index = din.readUnsignedShort(); ConstantUTFInfo nameConstant = (ConstantUTFInfo)cp.getConstant(index); index = din.readUnsignedShort(); ConstantUTFInfo descConstant = (ConstantUTFInfo)cp.getConstant(index); FieldInfo info = new FieldInfo(parent, modifier, nameConstant, descConstant); // Read attributes. int size = din.readUnsignedShort(); for (int i=0; i<size; i++) { info.addAttribute(Attribute.readFrom(cp, din, attrFactory)); } return info; } }
private void printModifiers(FieldInfo fi) { printModifiers(fi.getModifiers()); }
/** * Set the constant value for this field as an int. */ public void setConstantValue(int value) { addAttribute(new ConstantValueAttr(mCp, mCp.addConstantInteger(value))); }
aFlags = ((FieldInfo)a).getModifiers(); } else { aFlags = ((MethodInfo)a).getModifiers(); bFlags = ((FieldInfo)b).getModifiers(); } else { bFlags = ((MethodInfo)b).getModifiers();
/** * Set the constant value for this field as a float. */ public void setConstantValue(float value) { addAttribute(new ConstantValueAttr(mCp, mCp.addConstantFloat(value))); }
/** * Set the constant value for this field as a double. */ public void setConstantValue(double value) { addAttribute(new ConstantValueAttr(mCp, mCp.addConstantDouble(value))); }