@Override public final int hashCode() { return toString().hashCode(); } public abstract Identifier resolveAllButLastIdentifier();
public final int compareTo(Object o) { String s = toString(); if (s == null) { return o == null ? 0 : -1; } String os = o == null ? null : String.valueOf(o); return os == null ? -1 : s.compareTo(os); } @Override
public String getValidJavaIdentifierString(Identifier name) { if (name == null) { return null; } if (isJavaKeyword(name.toString())) { return name + "$"; } else { String newName = name.toString().replace('-', '_').replaceAll("[^\\w]", "\\$"); // if (result.config.beautifyNames) { // newName = beautify(newName); // } return newName; } }
protected boolean next(Identifier id) { if (id == null) return false; return next(id.toString()); }
public static List<String> getShortNames(Struct type) { String name = type.getTag().toString(); List<String> shortNames = new ArrayList<String>(); String base = name.startsWith("NS") ? name.substring(2) : name; Matcher matcher = shortNamesPattern.matcher(base); int i = 0; while (matcher.find(i)) { String n = matcher.group(1); shortNames.add(base.substring(matcher.start())); i = matcher.start() + n.length(); } return shortNames; }
public static List<String> getShortNames(Struct type) { String name = type.getTag().toString(); List<String> shortNames = new ArrayList<String>(); String base = name.startsWith("NS") ? name.substring(2) : name; Matcher matcher = shortNamesPattern.matcher(base); int i = 0; while (matcher.find(i)) { String n = matcher.group(1); shortNames.add(base.substring(matcher.start())); i = matcher.start() + n.length(); } return shortNames; }
private boolean isJNAPointer(TypeRef tr) { if (!(tr instanceof SimpleTypeRef)) return false; SimpleTypeRef str = (SimpleTypeRef) tr; Identifier name = str.getName().eraseTemplateArguments(); return name.toString().equals(com.sun.jna.Pointer.class.getName()); } @SuppressWarnings("unchecked")
private boolean isJNAPointer(TypeRef tr) { if (!(tr instanceof SimpleTypeRef)) return false; SimpleTypeRef str = (SimpleTypeRef) tr; Identifier name = str.getName().eraseTemplateArguments(); return name.toString().equals(com.sun.jna.Pointer.class.getName()); } @SuppressWarnings("unchecked")
public Struct resolveObjCClass(Identifier name) { if (name == null) { return null; } Struct s = getMap(classes, Struct.Type.ObjCClass).get(name); if (s == null) { s = getMap(classes, Struct.Type.ObjCProtocol).get(name); } if (s == null) { s = objCCategoriesByName.get(name.toString()); } return s; } Class<?>[] overwrittenClassesThatNeedToKeepAllTheirMethods = new Class[]{
public Identifier findUndefinedType(Identifier name) { name = getUndefinedTypeName(name); if (name == null) { return null; } String s = name.toString(); for (Map.Entry<String, Set<String>> e : undefinedTypesByLibrary.entrySet()) { if (e.getValue().contains(s)) { return ident(ident(e.getKey()), name); } } return null; }
public Identifier findFakePointer(Identifier name) { name = getFakePointerName(name); if (name == null) { return null; } String s = name.toString(); for (Map.Entry<String, Set<String>> e : fakePointersByLibrary.entrySet()) { if (e.getValue().contains(s)) { return ident(ident(e.getKey()), name); } } return null; }
public Identifier findFakePointer(Identifier name) { name = getFakePointerName(name); if (name == null) { return null; } String s = name.toString(); for (Map.Entry<String, Set<String>> e : fakePointersByLibrary.entrySet()) { if (e.getValue().contains(s)) { return ident(ident(e.getKey()), name); } } return null; }
public Identifier findUndefinedType(Identifier name) { name = getUndefinedTypeName(name); if (name == null) { return null; } String s = name.toString(); for (Map.Entry<String, Set<String>> e : undefinedTypesByLibrary.entrySet()) { if (e.getValue().contains(s)) { return ident(ident(e.getKey()), name); } } return null; }
void defineTypeIdentifierInParentScope(Identifier i) { if (i != null && i.isPlain()) defineTypeIdentifierInParentScope(i.toString()); } void defineTypeIdentifierInParentScope(String name) {
private void addParentNamespaceAnnotation(ModifiableElement dest, Identifier parentNamespace) { if (parentNamespace != null) { dest.addAnnotation(new Annotation(typeRef(org.bridj.ann.Namespace.class), expr(parentNamespace.toString()))); } } }
private void addParentNamespaceAnnotation(ModifiableElement dest, Identifier parentNamespace) { if (parentNamespace != null) { dest.addAnnotation(new Annotation(typeRef(org.bridj.ann.Namespace.class), expr(parentNamespace.toString()))); } } }
private void annotateActualName(ModifiableElement e, Identifier name) { e.addAnnotation(new Annotation(result.config.runtime.typeRef(JNAeratorConfig.Runtime.Ann.Name), expr(name.toString()))); }
public void annotateActualName(ModifiableElement e, Identifier name) { e.addAnnotation(new Annotation(typeRef(org.bridj.ann.Name.class), expr(name.toString()))); }
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),