public String chooseNameSuffix(Element e) { if (e instanceof Struct) { Struct struct = (Struct) e; if (struct.getType() == Struct.Type.CStruct) { return "struct"; } else if (struct.getType() == Struct.Type.CUnion) { return "union"; } } else if (e instanceof Enum) { return "enum"; } else if (e instanceof FunctionSignature) { return "callback"; } return null; }
public String chooseNameSuffix(Element e) { if (e instanceof Struct) { Struct struct = (Struct) e; if (struct.getType() == Struct.Type.CStruct) { return "struct"; } else if (struct.getType() == Struct.Type.CUnion) { return "union"; } } else if (e instanceof Enum) { return "enum"; } else if (e instanceof FunctionSignature) { return "callback"; } return null; }
public SimpleTypeRef findStructRef(Struct s, Identifier libraryClassName) { if (s == null) { return null; } switch (s.getType()) { case ObjCClass: case ObjCProtocol: return typeRef(result.objectiveCGenerator.getFullClassName(s)); default: return findStructRef(s, result.declarationsConverter.getActualTaggedTypeName(s), libraryClassName); } } // public String find(String name, Element e, String callerLibraryClass) {
public SimpleTypeRef findStructRef(Struct s, Identifier libraryClassName) { if (s == null) { return null; } switch (s.getType()) { case ObjCClass: case ObjCProtocol: return typeRef(result.objectiveCGenerator.getFullClassName(s)); default: return findStructRef(s, result.declarationsConverter.getActualTaggedTypeName(s), libraryClassName); } } // public String find(String name, Element e, String callerLibraryClass) {
@Override public void visitFunction(Function function) { super.visitFunction(function); Element parent = function.getParentElement(); if (parent != null) { if (parent instanceof FunctionSignature) { return; } if (parent instanceof Struct) { Struct parentStruct = (Struct) parent; switch (parentStruct.getType()) { case CPPClass: // if (config.genCPlusPlus) // break; case JavaClass: case JavaInterface: case ObjCClass: case ObjCProtocol: case CStruct: return; } } } getList(functionsByLibrary, getLibrary(function)).add(function); }
@Override public void visitFunction(Function function) { super.visitFunction(function); Element parent = function.getParentElement(); if (parent != null) { if (parent instanceof FunctionSignature) { return; } if (parent instanceof Struct) { Struct parentStruct = (Struct) parent; switch (parentStruct.getType()) { case CPPClass: // if (config.genCPlusPlus) // break; case JavaClass: case JavaInterface: case ObjCClass: case ObjCProtocol: case CStruct: return; } } } getList(functionsByLibrary, getLibrary(function)).add(function); }
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); } } }
public void visitStruct(Struct struct) { if (struct.getType() != null) { switch (struct.getType()) { case CPPClass: visitCPPClass(struct); break; case CStruct: visitCStruct(struct); break; case ObjCClass: visitObjCClass(struct); break; case ObjCProtocol: visitObjCProtocol(struct); break; case JavaClass: visitJavaClass(struct); break; case JavaInterface: visitJavaInterface(struct); break; default: doVisitStruct(struct); } } else { doVisitStruct(struct); } }
Identifier name = struct.getTag(); if (name != null) { switch (struct.getType()) { case CPPClass: if (!config.runtime.equals(JNAeratorConfig.Runtime.BridJ) && !config.genCPlusPlus) { if (struct.getType() == Struct.Type.CUnion) { unionsFullNames.add(identifier); objCCategoriesByName.put(struct.getCategoryName(), struct); } else { getMap(classes, struct.getType()).put(struct.getTag(), struct);
public Identifier getPackageName(Struct struct) { if (struct == null) { return null; } String library = result.getLibrary(struct); Identifier javaPackage = result.getLibraryPackage(library); //if (struct.getType() == Struct.Type.ObjCClass) { // String name = String.valueOf(struct.getTag()); //if (name.equals("NSObject")) // javaPackage = ident(NSObject.class.getPackage().getName().split("\\.")); //else if (name.equals("NSClass")) // javaPackage = ident(NSClass.class.getPackage().getName().split("\\.")); //else if (name.equals("NSString")) // javaPackage = ident(NSString.class.getPackage().getName().split("\\.")); //} if (struct.getType() == Type.ObjCProtocol) { javaPackage = ident(javaPackage, "protocols"); } else if (struct.getCategoryName() != null) { javaPackage = ident(javaPackage, "categories"); } return javaPackage; }
Identifier name = struct.getTag(); if (name != null) { switch (struct.getType()) { case CPPClass: if (!config.runtime.equals(JNAeratorConfig.Runtime.BridJ) && !config.genCPlusPlus) { if (struct.getType() == Struct.Type.CUnion) { unionsFullNames.add(identifier); objCCategoriesByName.put(struct.getCategoryName(), struct); } else { getMap(classes, struct.getType()).put(struct.getTag(), struct);
public Identifier getPackageName(Struct struct) { if (struct == null) { return null; } String library = result.getLibrary(struct); Identifier javaPackage = result.getLibraryPackage(library); //if (struct.getType() == Struct.Type.ObjCClass) { // String name = String.valueOf(struct.getTag()); //if (name.equals("NSObject")) // javaPackage = ident(NSObject.class.getPackage().getName().split("\\.")); //else if (name.equals("NSClass")) // javaPackage = ident(NSClass.class.getPackage().getName().split("\\.")); //else if (name.equals("NSString")) // javaPackage = ident(NSString.class.getPackage().getName().split("\\.")); //} if (struct.getType() == Type.ObjCProtocol) { javaPackage = ident(javaPackage, "protocols"); } else if (struct.getCategoryName() != null) { javaPackage = ident(javaPackage, "categories"); } return javaPackage; }
private void fixUnNamedChildren(Struct struct) { List<TaggedTypeRefDeclaration> trs = getUnnamedTaggedTypeRefs(struct.getDeclarations()); if (trs.isEmpty()) { return; } Set<Identifier> ids = listChildIdentifiers(struct); for (TaggedTypeRefDeclaration td : trs) { TaggedTypeRef tr = td.getTaggedTypeRef(); if (!(tr instanceof Struct)) { continue; } Struct s = (Struct) tr; switch (s.getType()) { case CStruct: case CUnion: String n = chooseNameSuffix(tr); int i = 1; Identifier fieldName; while (!ids.add(fieldName = ident("field" + i))) { i++; } //tr.setTag(idTag); td.replaceBy(new VariablesDeclaration(tr, new Declarator.DirectDeclarator(fieldName.toString()))); break; } } }
private void fixUnNamedChildren(Struct struct) { List<TaggedTypeRefDeclaration> trs = getUnnamedTaggedTypeRefs(struct.getDeclarations()); if (trs.isEmpty()) { return; } Set<Identifier> ids = listChildIdentifiers(struct); for (TaggedTypeRefDeclaration td : trs) { TaggedTypeRef tr = td.getTaggedTypeRef(); if (!(tr instanceof Struct)) { continue; } Struct s = (Struct) tr; switch (s.getType()) { case CStruct: case CUnion: String n = chooseNameSuffix(tr); int i = 1; Identifier fieldName; while (!ids.add(fieldName = ident("field" + i))) { i++; } //tr.setTag(idTag); td.replaceBy(new VariablesDeclaration(tr, new Declarator.DirectDeclarator(fieldName.toString()))); break; } } }
if (classStruct.getType() == Type.JavaClass) { decl.addModifiers(ModifierType.Public, ModifierType.Abstract); decl.reorganizeModifiers(); instanceStruct.addDeclaration(addedF); if (instanceStruct.getType() == Type.JavaClass) { decl.addModifiers(ModifierType.Public, ModifierType.Abstract); decl.reorganizeModifiers();
if (classStruct.getType() == Type.JavaClass) { decl.addModifiers(ModifierType.Public, ModifierType.Abstract); decl.reorganizeModifiers(); instanceStruct.addDeclaration(addedF); if (instanceStruct.getType() == Type.JavaClass) { decl.addModifiers(ModifierType.Public, ModifierType.Abstract); decl.reorganizeModifiers();
if (e.getType() != null) { switch (e.getType()) { case CPPClass: modifiersStringPrefix(e); case JavaInterface: modifiersStringPrefix(e); append(e.getType() == Struct.Type.JavaClass ? "class " : "interface ", e.getTag()); if (!e.getParents().isEmpty()) { append(" extends ").implode(e.getParents(), ", ");
if (parent instanceof Struct) { Struct parentStruct = (Struct) parent; switch (parentStruct.getType()) { case CPPClass: case CStruct:
if (parent instanceof Struct) { Struct parentStruct = (Struct) parent; switch (parentStruct.getType()) { case CPPClass: case CStruct: