protected void writeLibraryInterface(Result result, SourceFiles sourceFiles, DeclarationsHolder interf, String library, Identifier javaPackage) throws IOException { Identifier fullLibraryClassName = interf.getResolvedJavaIdentifier(); Signatures signatures = result.getSignaturesForOutputClass(fullLibraryClassName); if (interf instanceof Struct) { interf = result.notifyBeforeWritingClass(fullLibraryClassName, (Struct) interf, signatures, library); if (interf != null) { final PrintWriter out = result.classOutputter.getClassSourceWriter(fullLibraryClassName.toString()); //out.println("///\n/// This file was autogenerated by JNAerator (http://jnaerator.googlecode.com/), \n/// a tool written by Olivier Chafik (http://ochafik.com/).\n///"); result.printJavaClass(javaPackage, (Struct) interf, out); out.close(); } } else if (interf instanceof SourceFile) { SourceFile sourceFile = (SourceFile) interf; String sourcePath = sourceFile.getElementFile(); assert sourcePath != null; final PrintWriter out = result.classOutputter.getSourceWriter(sourcePath); //out.println("///\n/// This file was autogenerated by JNAerator (http://jnaerator.googlecode.com/), \n/// a tool written by Olivier Chafik (http://ochafik.com/).\n///"); out.print(sourceFile); out.close(); } } }
protected void writeLibraryInterface(Result result, SourceFiles sourceFiles, DeclarationsHolder interf, String library, Identifier javaPackage) throws IOException { Identifier fullLibraryClassName = interf.getResolvedJavaIdentifier(); Signatures signatures = result.getSignaturesForOutputClass(fullLibraryClassName); if (interf instanceof Struct) { interf = result.notifyBeforeWritingClass(fullLibraryClassName, (Struct) interf, signatures, library); if (interf != null) { final PrintWriter out = result.classOutputter.getClassSourceWriter(fullLibraryClassName.toString()); //out.println("///\n/// This file was autogenerated by JNAerator (http://jnaerator.googlecode.com/), \n/// a tool written by Olivier Chafik (http://ochafik.com/).\n///"); result.printJavaClass(javaPackage, (Struct) interf, out); out.close(); } } else if (interf instanceof SourceFile) { SourceFile sourceFile = (SourceFile) interf; String sourcePath = sourceFile.getElementFile(); assert sourcePath != null; final PrintWriter out = result.classOutputter.getSourceWriter(sourcePath); //out.println("///\n/// This file was autogenerated by JNAerator (http://jnaerator.googlecode.com/), \n/// a tool written by Olivier Chafik (http://ochafik.com/).\n///"); out.print(sourceFile); out.close(); } } }
public void outputObjectiveCClass(Struct in) throws IOException { Identifier fullClassName = getFullClassName(in); Signatures signatures = new Signatures(); Struct s = generateObjectiveCClass(in, signatures); result.notifyBeforeWritingClass(fullClassName, s, signatures, result.getLibrary(in)); PrintWriter out = result.classOutputter.getClassSourceWriter(fullClassName.toString()); result.printJavaClass(getPackageName(in), s, out); out.close(); } static Identifier NSObjectIdent = ident(NSObject.class),
public void outputObjectiveCClass(Struct in) throws IOException { Identifier fullClassName = getFullClassName(in); Signatures signatures = new Signatures(); Struct s = generateObjectiveCClass(in, signatures); result.notifyBeforeWritingClass(fullClassName, s, signatures, result.getLibrary(in)); PrintWriter out = result.classOutputter.getClassSourceWriter(fullClassName.toString()); result.printJavaClass(getPackageName(in), s, out); out.close(); } static Identifier NSObjectIdent = ident(NSObject.class),
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)); } }