public final void convertStructs(List<Struct> structs, Signatures signatures, DeclarationsHolder out, String library) throws IOException { if (structs != null) { for (Struct struct : structs) { if (struct.findParentOfType(Struct.class) != null) continue; if (!result.config.genCPlusPlus && struct.getType().isCpp()) continue; if (skip(struct.getTag() + "", result.config.skippedStructNames)) continue; outputConvertedStruct(struct, signatures, out, library, false); } } }
public final void convertStructs(List<Struct> structs, Signatures signatures, DeclarationsHolder out, String library) throws IOException { if (structs != null) { for (Struct struct : structs) { if (struct.findParentOfType(Struct.class) != null) continue; if (!result.config.genCPlusPlus && struct.getType().isCpp()) continue; if (skip(struct.getTag() + "", result.config.skippedStructNames)) continue; outputConvertedStruct(struct, signatures, out, library, false); } } }
struct.setResolvedJavaIdentifier(resolvedJavaIdentifier); if (struct.findParentOfType(Struct.class) == null) { getList(structsByLibrary, getLibrary(struct)).add(struct);
struct.setResolvedJavaIdentifier(resolvedJavaIdentifier); if (struct.findParentOfType(Struct.class) == null) { getList(structsByLibrary, getLibrary(struct)).add(struct);
protected void outputConvertedStruct(Struct struct, Signatures signatures, DeclarationsHolder out, String callerLibrary, boolean onlyFields) throws IOException { Struct structJavaClass = convertStruct(struct, signatures, out.getResolvedJavaIdentifier(), callerLibrary, onlyFields); if (structJavaClass == null) { return; } if (result.config.putTopStructsInSeparateFiles && struct.findParentOfType(Struct.class) == null) { String library = result.getLibrary(struct); Identifier javaPackage = result.getLibraryPackage(library); Identifier fullClassName = ident(javaPackage, structJavaClass.getTag().clone()); if (result.config.runtime == JNAeratorConfig.Runtime.BridJ) { structJavaClass.addAnnotation(new Annotation(typeRef(org.bridj.ann.Library.class), expr(library))); } structJavaClass.removeModifiers(ModifierType.Static); structJavaClass = result.notifyBeforeWritingClass(fullClassName, structJavaClass, signatures, library); if (structJavaClass != null) { PrintWriter pout = result.classOutputter.getClassSourceWriter(fullClassName.toString()); result.printJavaClass(javaPackage, structJavaClass, pout); pout.close(); } } else { out.addDeclaration(decl(structJavaClass)); } }
protected void outputConvertedStruct(Struct struct, Signatures signatures, DeclarationsHolder out, String callerLibrary, boolean onlyFields) throws IOException { Struct structJavaClass = convertStruct(struct, signatures, out.getResolvedJavaIdentifier(), callerLibrary, onlyFields); if (structJavaClass == null) { return; } if (result.config.putTopStructsInSeparateFiles && struct.findParentOfType(Struct.class) == null) { String library = result.getLibrary(struct); Identifier javaPackage = result.getLibraryPackage(library); Identifier fullClassName = ident(javaPackage, structJavaClass.getTag().clone()); if (result.config.runtime == JNAeratorConfig.Runtime.BridJ) { structJavaClass.addAnnotation(new Annotation(typeRef(org.bridj.ann.Library.class), expr(library))); } structJavaClass.removeModifiers(ModifierType.Static); structJavaClass = result.notifyBeforeWritingClass(fullClassName, structJavaClass, signatures, library); if (structJavaClass != null) { PrintWriter pout = result.classOutputter.getClassSourceWriter(fullClassName.toString()); result.printJavaClass(javaPackage, structJavaClass, pout); pout.close(); } } else { out.addDeclaration(decl(structJavaClass)); } }