@Override
  public FieldVisitor visitField(final int access, final String name, final String desc, final String signature, final Object value) {
    processSignature(signature);

    return new FieldVisitor(ASM_API_VERSION) {
      final Set<ElementAnnotation> annotations = new HashSet<>();

      @Override
      public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
        return new AnnotationCrawler((TypeRepr.ClassType)TypeRepr.getType(desc), ElemType.FIELD, res -> annotations.add(res));
      }

      @Override
      public void visitEnd() {
        try {
          super.visitEnd();
        }
        finally {
          if ((access & Opcodes.ACC_SYNTHETIC) == 0) {
            myFields.add(new JvmField(new JVMFlags(access), signature, name, desc, annotations, value));
          }
        }
      }
    };
  }
@Override
  public FieldVisitor visitField(final int access, final String name, final String desc, final String signature, final Object value)