protected static List<StructFieldDeclaration> listFields(Class<?> structClass){
  List<StructFieldDeclaration> list=new ArrayList<StructFieldDeclaration>();
  for (  Method method : structClass.getMethods()) {
    if (acceptFieldGetter(method,true)) {
      StructFieldDeclaration io=fromGetter(method);
      try {
        Method setter=structClass.getMethod(method.getName(),io.valueClass);
        if (acceptFieldGetter(setter,false)) {
          io.setter=setter;
        }
      }
 catch (      Exception ex) {
      }
      if (io != null) {
        list.add(io);
      }
    }
  }
  int nFieldFields=0;
  for (  java.lang.reflect.Field field : structClass.getFields()) {
    if (acceptFieldGetter(field,true)) {
      StructFieldDeclaration io=StructFieldDeclaration.fromField(field);
      if (io != null) {
        list.add(io);
        nFieldFields++;
      }
    }
  }
  if (nFieldFields > 0 && BridJ.warnStructFields) {
    BridJ.warning("Struct " + structClass.getName() + " has "+ nFieldFields+ " struct fields implemented as Java fields, which won't give the best performance and might require counter-intuitive calls to BridJ.readFromNative / .writeToNative. Please consider using JNAerator to generate your struct instead, or use BRIDJ_WARN_STRUCT_FIELDS=0 or -Dbridj.warnStructFields=false to mute this warning.");
  }
  return list;
}

protected static List < StructFieldDeclaration > listFields ( Class < ? > structClass ) { List < StructFieldDeclaration > list = new ArrayList < StructFieldDeclaration > ( ) ; for ( Method method : structClass . getMethods ( ) ) { if ( acceptFieldGetter ( method , true ) ) { StructFieldDeclaration io = fromGetter ( method ) ; try { Method setter = structClass . getMethod ( method . getName ( ) , io . valueClass ) ; if ( acceptFieldGetter ( setter , false ) ) { io . setter = setter ; } } catch ( Exception ex ) { } if ( io != null ) { list . add ( io ) ; } } } int nFieldFields = 0 ; for ( java . lang . reflect . Field field : structClass . getFields ( ) ) { if ( acceptFieldGetter ( field , true ) ) { StructFieldDeclaration io = StructFieldDeclaration . fromField ( field ) ; if ( io != null ) { list . add ( io ) ; nFieldFields ++ ; } } } if ( nFieldFields > 0 && BridJ . warnStructFields ) { BridJ . warning ( "Struct " + structClass . getName ( ) + " has " + nFieldFields + " struct fields implemented as Java fields, which won't give the best performance and might require counter-intuitive calls to BridJ.readFromNative / .writeToNative. Please consider using JNAerator to generate your struct instead, or use BRIDJ_WARN_STRUCT_FIELDS=0 or -Dbridj.warnStructFields=false to mute this warning." ) ; } return list ; }
creates a list of structure fields
