public FieldVisitor visitField( final int access, final String name, final String desc, final String signature, final Object value) { return cv.visitField(access, name, desc, signature, value); }
/** * Visits a field of the class. * * @param access the field's access flags (see {@link Opcodes}). This parameter also indicates if * the field is synthetic and/or deprecated. * @param name the field's name. * @param descriptor the field's descriptor (see {@link Type}). * @param signature the field's signature. May be {@literal null} if the field's type does not use * generic types. * @param value the field's initial value. This parameter, which may be {@literal null} if the * field does not have an initial value, must be an {@link Integer}, a {@link Float}, a {@link * Long}, a {@link Double} or a {@link String} (for {@code int}, {@code float}, {@code long} * or {@code String} fields respectively). <i>This parameter is only used for static * fields</i>. Its value is ignored for non static fields, which must be initialized through * bytecode instructions in constructors or methods. * @return a visitor to visit field annotations and attributes, or {@literal null} if this class * visitor is not interested in visiting these annotations and attributes. */ public FieldVisitor visitField( final int access, final String name, final String descriptor, final String signature, final Object value) { if (cv != null) { return cv.visitField(access, name, descriptor, signature, value); } return null; }
String signature, Object value) { if (cv != null) { return cv.visitField(access, name, desc, signature, value);
protected void addSVUID(long svuid) { FieldVisitor fv = super.visitField(Opcodes.ACC_FINAL + Opcodes.ACC_STATIC, "serialVersionUID", "J", null, svuid); if (fv != null) { fv.visitEnd(); } }
@Override public final void begin(final String element, final Attributes attrs) throws SAXException { int access = getAccess(attrs.getValue("access")); String name = attrs.getValue("name"); String signature = attrs.getValue("signature"); String desc = attrs.getValue("desc"); Object value = getValue(desc, attrs.getValue("value")); push(cv.visitField(access, name, desc, signature, value)); }
@Override public FieldVisitor visitField(final int access, final String name, final String desc, final String signature, final Object value) { Printer p = this.p.visitField(access, name, desc, signature, value); FieldVisitor fv = cv == null ? null : cv.visitField(access, name, desc, signature, value); return new TraceFieldVisitor(fv, p); }
@Override public FieldVisitor visitField(final int access, final String name, final String desc, final String signature, final Object value) { if (computeSVUID) { if ("serialVersionUID".equals(name)) { // since the class already has SVUID, we won't be computing it. computeSVUID = false; hasSVUID = true; } /* * Remember field for SVUID computation For field modifiers, only * the ACC_PUBLIC, ACC_PRIVATE, ACC_PROTECTED, ACC_STATIC, * ACC_FINAL, ACC_VOLATILE, and ACC_TRANSIENT flags are used when * computing serialVersionUID values. */ if ((access & Opcodes.ACC_PRIVATE) == 0 || (access & (Opcodes.ACC_STATIC | Opcodes.ACC_TRANSIENT)) == 0) { int mods = access & (Opcodes.ACC_PUBLIC | Opcodes.ACC_PRIVATE | Opcodes.ACC_PROTECTED | Opcodes.ACC_STATIC | Opcodes.ACC_FINAL | Opcodes.ACC_VOLATILE | Opcodes.ACC_TRANSIENT); svuidFields.add(new Item(name, mods, desc)); } } return super.visitField(access, name, desc, signature, value); }
tav.fv = cv.visitField(access, name, desc, signature, value);
FieldVisitor fv = cv.visitField(access, name, desc, signature, value); if (fv == null) { return;
@Override public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { FieldVisitor fv = super.visitField(access, remapper.mapFieldName(className, name, desc), remapper.mapDesc(desc), remapper.mapSignature(signature, true), remapper.mapValue(value)); return fv == null ? null : createFieldRemapper(fv); }
@Override public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { FieldVisitor fv = super.visitField(access, remapper.mapFieldName(className, name, desc), remapper.mapDesc(desc), remapper.mapSignature(signature, true), remapper.mapValue(value)); return fv == null ? null : createRemappingFieldAdapter(fv); }
/** * Creates the field defined by the given FieldDefinition * * @param cw * @param fieldDef */ protected void buildField(ClassVisitor cw, FieldDefinition fieldDef) { FieldVisitor fv = cw.visitField( Opcodes.ACC_PRIVATE, fieldDef.getName(), BuildUtils.getTypeDescriptor( fieldDef.getTypeName() ), null, null ); buildFieldAnnotations( fieldDef, fv ); fv.visitEnd(); }
@Override public FieldVisitor visitField(final int access, final String name, final String desc, final String signature, final Object value) { checkState(); checkAccess(access, Opcodes.ACC_PUBLIC + Opcodes.ACC_PRIVATE + Opcodes.ACC_PROTECTED + Opcodes.ACC_STATIC + Opcodes.ACC_FINAL + Opcodes.ACC_VOLATILE + Opcodes.ACC_TRANSIENT + Opcodes.ACC_SYNTHETIC + Opcodes.ACC_ENUM + Opcodes.ACC_DEPRECATED + 0x40000); // ClassWriter.ACC_SYNTHETIC_ATTRIBUTE CheckMethodAdapter.checkUnqualifiedName(version, name, "field name"); CheckMethodAdapter.checkDesc(desc, false); if (signature != null) { checkFieldSignature(signature); } if (value != null) { CheckMethodAdapter.checkConstant(value); } FieldVisitor av = super .visitField(access, name, desc, signature, value); return new CheckFieldAdapter(av); }
FieldVisitor fv = classVisitor.visitField(access, name, desc, signature, value); if (fv == null) {
classVisitor.visitField(accessFlags, name, descriptor, signature, constantValue); if (fieldVisitor == null) { return currentOffset;
FieldVisitor fv = classVisitor.visitField(access, name, desc,