public Expression findDefine(Identifier name) { Define s = result.defines.get(name); String library = s == null ? null : result.getLibrary(s); return library == null ? null : javaStaticFieldRef(result.getLibraryClassFullName(library), name); }
public Expression findDefine(Identifier name) { Define s = result.defines.get(name); String library = s == null ? null : result.getLibrary(s); return library == null ? null : javaStaticFieldRef(result.getLibraryClassFullName(library), name); }
public void jnaerationCompleted() throws IOException { List<String> availableLibs = new ArrayList<String>(); for (Map.Entry<String, ScalaClassFile> e : outByLib.entrySet()) { ScalaClassFile f = e.getValue(); String lib = e.getKey(); f.content.close(); String s = f.content.toString().trim(); if (s.length() == 0) { continue; } availableLibs.add(lib); PrintWriter out = openFile(new File(result.config.scalaOut, f.path)); out.println("trait " + f.name + " extends " + result.getLibraryClassFullName(lib) + " {"); out.println(s); out.println("}"); out.close(); } outputSampleScalaSource(availableLibs); outputScalaRuntime(availableLibs); }
public void jnaerationCompleted() throws IOException { List<String> availableLibs = new ArrayList<String>(); for (Map.Entry<String, ScalaClassFile> e : outByLib.entrySet()) { ScalaClassFile f = e.getValue(); String lib = e.getKey(); f.content.close(); String s = f.content.toString().trim(); if (s.length() == 0) { continue; } availableLibs.add(lib); PrintWriter out = openFile(new File(result.config.scalaOut, f.path)); out.println("trait " + f.name + " extends " + result.getLibraryClassFullName(lib) + " {"); out.println(s); out.println("}"); out.close(); } outputSampleScalaSource(availableLibs); outputScalaRuntime(availableLibs); }
public Expression getLibraryInstanceReferenceExpression(String libraryName) { Identifier hub = getHubFullClassName(); Identifier classIdent; String fieldName; if (hub != null) { classIdent = hub; fieldName = libraryName; } else { classIdent = getLibraryClassFullName(libraryName); fieldName = "INSTANCE"; } return memberRef(expr(typeRef(classIdent)), MemberRefStyle.Dot, fieldName); }
public Expression getLibraryInstanceReferenceExpression(String libraryName) { Identifier hub = getHubFullClassName(); Identifier classIdent; String fieldName; if (hub != null) { classIdent = hub; fieldName = libraryName; } else { classIdent = getLibraryClassFullName(libraryName); fieldName = "INSTANCE"; } return memberRef(expr(typeRef(classIdent)), MemberRefStyle.Dot, fieldName); }
@Override public void visitEnumItem(EnumItem enumItem) { super.visitEnumItem(enumItem); enumItems.put(enumItem.getName(), enumItem); String library = getLibrary(enumItem); if (library == null) { return; } Element parent = enumItem.getParentElement(); if (parent == null || !(parent instanceof Enum)) { return; } Enum e = (Enum) parent; Identifier ident = ident(getLibraryClassFullName(library), declarationsConverter.getActualTaggedTypeName(e), ident(enumItem.getName())); enumItemsFullName.add(ident); }
@Override public void visitEnumItem(EnumItem enumItem) { super.visitEnumItem(enumItem); enumItems.put(enumItem.getName(), enumItem); String library = getLibrary(enumItem); if (library == null) { return; } Element parent = enumItem.getParentElement(); if (parent == null || !(parent instanceof Enum)) { return; } Enum e = (Enum) parent; Identifier ident = ident(getLibraryClassFullName(library), declarationsConverter.getActualTaggedTypeName(e), ident(enumItem.getName())); enumItemsFullName.add(ident); }
public SimpleTypeRef findEnum(Enum s, Identifier libraryClassName) { if (s == null) { return null; } if (result.config.runtime == JNAeratorConfig.Runtime.BridJ) { return typeRef(getTaggedTypeIdentifierInJava(s)); } Identifier name = result.declarationsConverter.getActualTaggedTypeName(s); String library = result.getLibrary(s); if (library == null) { return null; } Identifier libClass = result.getLibraryClassFullName(library); SimpleTypeRef tr = new SimpleTypeRef("int"); if (result.config.features.contains(JNAeratorConfig.GenFeatures.EnumTypeLocationComments)) { tr.setCommentBefore("@see " + (SyntaxUtils.equal(libClass, libraryClassName) ? name : libClass + "#" + name)); } return tr; }
public SimpleTypeRef findEnum(Enum s, Identifier libraryClassName) { if (s == null) { return null; } if (result.config.runtime == JNAeratorConfig.Runtime.BridJ) { return typeRef(getTaggedTypeIdentifierInJava(s)); } Identifier name = result.declarationsConverter.getActualTaggedTypeName(s); String library = result.getLibrary(s); if (library == null) { return null; } Identifier libClass = result.getLibraryClassFullName(library); SimpleTypeRef tr = new SimpleTypeRef("int"); if (result.config.features.contains(JNAeratorConfig.GenFeatures.EnumTypeLocationComments)) { tr.setCommentBefore("@see " + (SyntaxUtils.equal(libClass, libraryClassName) ? name : libClass + "#" + name)); } return tr; }
protected void fillLibraryMapping(Result result, SourceFiles sourceFiles, DeclarationsHolder declarations, DeclarationsHolder implementations, String library, Identifier javaPackage, Expression nativeLibFieldExpr) throws IOException { Identifier implementationsFullClassName = result.getLibraryClassFullName(library);//ident(javaPackage, libraryClassName); Identifier declarationsFullClassName = result.getLibraryDeclarationsClassFullName(library);
public Identifier computeCallbackIdentifierInJava(FunctionSignature fs) { Identifier name = inferCallBackName(fs, false, false, null); if (name == null) { return null; } String library = result.getLibrary(fs); if (library == null) { return null; } name = name.clone(); Struct parentStruct = fs.findParentOfType(Struct.class); //Struct parentStruct = s.findParentOfType(Struct.class); if (parentStruct != null) { return ident(getTaggedTypeIdentifierInJava(parentStruct), name); } else { return libMember(result.getLibraryClassFullName(library), null, name); } } }
public Identifier computeCallbackIdentifierInJava(FunctionSignature fs) { Identifier name = inferCallBackName(fs, false, false, null); if (name == null) { return null; } String library = result.getLibrary(fs); if (library == null) { return null; } name = name.clone(); Struct parentStruct = fs.findParentOfType(Struct.class); //Struct parentStruct = s.findParentOfType(Struct.class); if (parentStruct != null) { return ident(getTaggedTypeIdentifierInJava(parentStruct), name); } else { return libMember(result.getLibraryClassFullName(library), null, name); } } }
public Identifier findRef(Identifier name, Element e, Identifier libraryClassName, boolean inLibClass) { if (e == null || !name.isPlain()) { return null; } String library = result.getLibrary(e); if (library == null) { return null; } // e = e.getParentElement(); Struct parentStruct = e instanceof Struct ? (Struct) e : e.findParentOfType(Struct.class); if (!inLibClass && parentStruct != null) { if (parentStruct == e) { return ident(result.getLibraryPackage(library), name); } return ident(getTaggedTypeIdentifierInJava(parentStruct), name); } return libMember(result.getLibraryClassFullName(library), libraryClassName, name); }
public Identifier findRef(Identifier name, Element e, Identifier libraryClassName, boolean inLibClass) { if (e == null || !name.isPlain()) { return null; } String library = result.getLibrary(e); if (library == null) { return null; } // e = e.getParentElement(); Struct parentStruct = e instanceof Struct ? (Struct) e : e.findParentOfType(Struct.class); if (!inLibClass && parentStruct != null) { if (parentStruct == e) { return ident(result.getLibraryPackage(library), name); } return ident(getTaggedTypeIdentifierInJava(parentStruct), name); } return libMember(result.getLibraryClassFullName(library), libraryClassName, name); }
public Identifier computeTaggedTypeIdentifierInJava(TaggedTypeRef s) { Identifier name = result.declarationsConverter.getActualTaggedTypeName(s); if (name == null) { return null; } String library = result.getLibrary(s); if (library == null) { return null; } name = name.clone(); Struct parentStruct = s.findParentOfType(Struct.class); //Struct parentStruct = s.findParentOfType(Struct.class); if (parentStruct != null && parentStruct != s) { return ident(getTaggedTypeIdentifierInJava(parentStruct), name); } else if ((s instanceof Struct) && (result.config.putTopStructsInSeparateFiles)) {// || result.config.runtime == JNAeratorConfig.Runtime.BridJ)) { return packageMember(result.getLibraryPackage(library), name); //return ident(result.getLibraryPackage(library), name); } else { return libMember(result.getLibraryClassFullName(library), null, name); } }
public Identifier computeTaggedTypeIdentifierInJava(TaggedTypeRef s) { Identifier name = result.declarationsConverter.getActualTaggedTypeName(s); if (name == null) { return null; } String library = result.getLibrary(s); if (library == null) { return null; } name = name.clone(); Struct parentStruct = s.findParentOfType(Struct.class); //Struct parentStruct = s.findParentOfType(Struct.class); if (parentStruct != null && parentStruct != s) { return ident(getTaggedTypeIdentifierInJava(parentStruct), name); } else if ((s instanceof Struct) && (result.config.putTopStructsInSeparateFiles)) {// || result.config.runtime == JNAeratorConfig.Runtime.BridJ)) { return packageMember(result.getLibraryPackage(library), name); //return ident(result.getLibraryPackage(library), name); } else { return libMember(result.getLibraryClassFullName(library), null, name); } }
protected Expression findEnumItem(EnumItem enumItem) { String library = result.getLibrary(enumItem); if (library == null) { return null; } Element parent = enumItem.getParentElement(); if (parent == null || !(parent instanceof Enum)) { return null; } Enum e = (Enum) parent; Identifier enumItemName = ident(enumItem.getName()); enumItemName.resolveLastSimpleIdentifier().setJavaStaticImportable(true); Identifier ident = ident(result.getLibraryClassFullName(library), result.declarationsConverter.getActualTaggedTypeName(e), enumItemName); return expr(typeRef(ident).setMarkedAsResolved(true)); } /// @see http://java.sun.com/docs/books/tutorial/java/nutsandbolts/_keywords.html
protected Expression findEnumItem(EnumItem enumItem) { String library = result.getLibrary(enumItem); if (library == null) { return null; } Element parent = enumItem.getParentElement(); if (parent == null || !(parent instanceof Enum)) { return null; } Enum e = (Enum) parent; Identifier enumItemName = ident(enumItem.getName()); enumItemName.resolveLastSimpleIdentifier().setJavaStaticImportable(true); Identifier ident = ident(result.getLibraryClassFullName(library), result.declarationsConverter.getActualTaggedTypeName(e), enumItemName); return expr(typeRef(ident).setMarkedAsResolved(true)); } /// @see http://java.sun.com/docs/books/tutorial/java/nutsandbolts/_keywords.html
Identifier declarationsSimpleClassName = result.getLibraryDeclarationsClassSimpleName(library); Identifier implementationsFullClassName = result.getLibraryClassFullName(library);//ident(javaPackage, libraryClassName); Identifier declarationsFullClassName = result.getLibraryDeclarationsClassFullName(library);