/** * Visits the end of the field. This method, which is the last one to be called, is used to inform * the visitor that all the annotations and attributes of the field have been visited. */ public void visitEnd() { if (fv != null) { fv.visitEnd(); } } }
/** * {@inheritDoc} */ public void drain(TypeInitializer.Drain drain, ClassVisitor classVisitor, AnnotationValueFilter.Factory annotationValueFilterFactory) { fieldCacheCanAppendEntries = false; TypeInitializer typeInitializer = this.typeInitializer; for (Map.Entry<FieldCacheEntry, FieldDescription.InDefinedShape> entry : registeredFieldCacheEntries.entrySet()) { FieldVisitor fieldVisitor = classVisitor.visitField(entry.getValue().getModifiers(), entry.getValue().getInternalName(), entry.getValue().getDescriptor(), entry.getValue().getGenericSignature(), FieldDescription.NO_DEFAULT_VALUE); if (fieldVisitor != null) { fieldVisitor.visitEnd(); typeInitializer = typeInitializer.expandWith(entry.getKey().storeIn(entry.getValue())); } } drain.apply(classVisitor, typeInitializer, this); for (TypeWriter.MethodPool.Record record : registeredAccessorMethods.values()) { record.apply(classVisitor, this, annotationValueFilterFactory); } for (TypeWriter.MethodPool.Record record : registeredGetters.values()) { record.apply(classVisitor, this, annotationValueFilterFactory); } for (TypeWriter.MethodPool.Record record : registeredSetters.values()) { record.apply(classVisitor, this, annotationValueFilterFactory); } }
/** * {@inheritDoc} */ public void apply(ClassVisitor classVisitor, AnnotationValueFilter.Factory annotationValueFilterFactory) { FieldVisitor fieldVisitor = classVisitor.visitField(fieldDescription.getActualModifiers(), fieldDescription.getInternalName(), fieldDescription.getDescriptor(), fieldDescription.getGenericSignature(), FieldDescription.NO_DEFAULT_VALUE); if (fieldVisitor != null) { FieldAttributeAppender.ForInstrumentedField.INSTANCE.apply(fieldVisitor, fieldDescription, annotationValueFilterFactory.on(fieldDescription)); fieldVisitor.visitEnd(); } }
/** * {@inheritDoc} */ public void apply(ClassVisitor classVisitor, AnnotationValueFilter.Factory annotationValueFilterFactory) { FieldVisitor fieldVisitor = classVisitor.visitField(fieldDescription.getActualModifiers(), fieldDescription.getInternalName(), fieldDescription.getDescriptor(), fieldDescription.getGenericSignature(), resolveDefault(FieldDescription.NO_DEFAULT_VALUE)); if (fieldVisitor != null) { attributeAppender.apply(fieldVisitor, fieldDescription, annotationValueFilterFactory.on(fieldDescription)); fieldVisitor.visitEnd(); } }
fieldVisitor.visitEnd(); return currentOffset;