public static TaggedTypeRefDeclaration decl(TaggedTypeRef tr) { return tr == null ? null : new TaggedTypeRefDeclaration(tr); } /*
public void convertCallback(FunctionSignature functionSignature, Signatures signatures, DeclarationsHolder out, Identifier libraryClass) { Struct decl = convertCallback(functionSignature, signatures, libraryClass);//out.getResolvedJavaIdentifier()); if (decl != null) { out.addDeclaration(new TaggedTypeRefDeclaration(decl)); } }
public void convertCallback(FunctionSignature functionSignature, Signatures signatures, DeclarationsHolder out, Identifier libraryClass) { Struct decl = convertCallback(functionSignature, signatures, libraryClass);//out.getResolvedJavaIdentifier()); if (decl != null) { out.addDeclaration(new TaggedTypeRefDeclaration(decl)); } }
protected Declaration decl(TaggedTypeRef type) { return mark(new TaggedTypeRefDeclaration(type), type.getElementLine()); }
@Override public void visitVariablesDeclaration(VariablesDeclaration v) { if (v.getDeclarators().isEmpty() && v.getValueType() instanceof TaggedTypeRef) { TaggedTypeRefDeclaration d = new TaggedTypeRefDeclaration((TaggedTypeRef) v.getValueType()); d.importComments(v); v.replaceBy(d); d.accept(this); } else { super.visitVariablesDeclaration(v); } }
@Override public void visitVariablesDeclaration(VariablesDeclaration v) { if (v.getDeclarators().isEmpty() && v.getValueType() instanceof TaggedTypeRef) { TaggedTypeRefDeclaration d = new TaggedTypeRefDeclaration((TaggedTypeRef) v.getValueType()); d.importComments(v); v.replaceBy(d); d.accept(this); } else { super.visitVariablesDeclaration(v); } }
private Struct parseClasse(Node classe, com.ochafik.lang.jnaerator.parser.Struct.Type type, SourceFile sf) throws XPathExpressionException { Struct cs = new Struct(); cs.setType(type); String name = XMLUtils.getAttribute(classe, "name"); if (result.config.verbose) { System.out.println("Parsing class " + name); } cs.setTag(ident(name)); for (Node method : XPathUtils.findNodesIterableByXPath("method", classe)) { // String mname = XMLUtils.getAttribute(method, "selector"); try { // if ((name.equals("NSScriptClassDescription") || name.equals("NSObject")) && mname.contains("classCode")) // name.toString(); cs.addDeclaration(parseFunction(Type.ObjCMethod, method, sf)); } catch (Exception ex) { ex.printStackTrace(); } } sf.addDeclaration(new TaggedTypeRefDeclaration(cs)); return cs; }
private Struct parseClasse(Node classe, com.ochafik.lang.jnaerator.parser.Struct.Type type, SourceFile sf) throws XPathExpressionException { Struct cs = new Struct(); cs.setType(type); String name = XMLUtils.getAttribute(classe, "name"); if (result.config.verbose) { System.out.println("Parsing class " + name); } cs.setTag(ident(name)); for (Node method : XPathUtils.findNodesIterableByXPath("method", classe)) { // String mname = XMLUtils.getAttribute(method, "selector"); try { // if ((name.equals("NSScriptClassDescription") || name.equals("NSObject")) && mname.contains("classCode")) // name.toString(); cs.addDeclaration(parseFunction(Type.ObjCMethod, method, sf)); } catch (Exception ex) { ex.printStackTrace(); } } sf.addDeclaration(new TaggedTypeRefDeclaration(cs)); return cs; }
public void convertEnum(Enum e, Signatures signatures, DeclarationsHolder out, Identifier libraryClassName) { if (e.isForwardDeclaration()) { return; } Identifier rawEnumName = getActualTaggedTypeName(e); Map<String, EnumItemResult> results = result.typeConverter.getEnumValuesAndCommentsByName(e, libraryClassName); boolean hasEnumClass = false; if (rawEnumName != null && rawEnumName.resolveLastSimpleIdentifier().getName() != null) { Identifier enumName = result.typeConverter.getValidJavaIdentifier(rawEnumName); if (!signatures.addClass(enumName)) { return; } hasEnumClass = true; Struct struct = publicStaticClass(enumName, null, Struct.Type.JavaInterface, e); out.addDeclaration(new TaggedTypeRefDeclaration(struct)); if (!result.config.noComments) { struct.addToCommentBefore("enum values"); } out = struct; signatures = new Signatures(); } outputEnumItemsAsConstants(results, out, signatures, libraryClassName, hasEnumClass); } Map<String, Pair<Function, List<Function>>> functionAlternativesByNativeSignature = new LinkedHashMap<String, Pair<Function, List<Function>>>();
public void convertEnum(Enum e, Signatures signatures, DeclarationsHolder out, Identifier libraryClassName) { if (e.isForwardDeclaration()) { return; } Identifier rawEnumName = getActualTaggedTypeName(e); Map<String, EnumItemResult> results = result.typeConverter.getEnumValuesAndCommentsByName(e, libraryClassName); boolean hasEnumClass = false; if (rawEnumName != null && rawEnumName.resolveLastSimpleIdentifier().getName() != null) { Identifier enumName = result.typeConverter.getValidJavaIdentifier(rawEnumName); if (!signatures.addClass(enumName)) { return; } hasEnumClass = true; Struct struct = publicStaticClass(enumName, null, Struct.Type.JavaInterface, e); out.addDeclaration(new TaggedTypeRefDeclaration(struct)); if (!result.config.noComments) { struct.addToCommentBefore("enum values"); } out = struct; signatures = new Signatures(); } outputEnumItemsAsConstants(results, out, signatures, libraryClassName, hasEnumClass); } Map<String, Pair<Function, List<Function>>> functionAlternativesByNativeSignature = new LinkedHashMap<String, Pair<Function, List<Function>>>();
DeclarationsHolder holder = taggedTypeRef.findParentOfType(DeclarationsHolder.class); if (holder != null && holder != taggedTypeRef.getParentElement() && !(parent instanceof DeclarationsHolder)) { TaggedTypeRefDeclaration td = new TaggedTypeRefDeclaration(); if (parent instanceof VariablesDeclaration && ((VariablesDeclaration) parent).getDeclarators().isEmpty()) { taggedTypeRef.importDetails(parent, false);
DeclarationsHolder holder = taggedTypeRef.findParentOfType(DeclarationsHolder.class); if (holder != null && holder != taggedTypeRef.getParentElement() && !(parent instanceof DeclarationsHolder)) { TaggedTypeRefDeclaration td = new TaggedTypeRefDeclaration(); if (parent instanceof VariablesDeclaration && ((VariablesDeclaration) parent).getDeclarators().isEmpty()) { taggedTypeRef.importDetails(parent, false);
instanceStruct.addDeclaration(new TaggedTypeRefDeclaration(classStruct)); instanceStruct.addDeclaration(classGetter); instanceStruct.addDeclaration(classHolder);
instanceStruct.addDeclaration(new TaggedTypeRefDeclaration(classStruct)); instanceStruct.addDeclaration(classGetter); instanceStruct.addDeclaration(classHolder);
en.setTag(enumName.clone()); en.addModifiers(ModifierType.Public); out.addDeclaration(new TaggedTypeRefDeclaration(en)); Struct body = new Struct(); en.setBody(body);
en.setTag(enumName.clone()); en.addModifiers(ModifierType.Public); out.addDeclaration(new TaggedTypeRefDeclaration(en)); Struct body = new Struct(); en.setBody(body);