TypeRef getWrapperType(TypeRef tr) { JavaPrim prim = result.typeConverter.getPrimitive(tr); if (prim != null) { return typeRef(prim.wrapperType); } return tr; }
TypeRef getWrapperType(TypeRef tr) { JavaPrim prim = result.typeConverter.getPrimitive(tr); if (prim != null) { return typeRef(prim.wrapperType); } return tr; }
public Expression getEnumItemValue(com.ochafik.lang.jnaerator.parser.Enum.EnumItem enumItem, boolean forceConstants) { // Enum e = (Enum)enumItem.getParentElement(); // if (forceConstants) { // Map<String, EnumItemResult> values = getEnumValuesAndCommentsByName(e, null); // EnumItemResult enumResult = values.get(enumItem.getName()); // if (enumResult != null) { // return enumResult.constantValue; // } // } return cast(typeRef(int.class), findEnumItem(enumItem)); }
public static Expression javaStaticFieldRef(Identifier javaClass, Identifier fieldName) { return memberRef( expr(typeRef(javaClass)), MemberRefStyle.Dot, fieldName); }
public static Expression javaStaticFieldRef(Identifier javaClass, Identifier fieldName) { return memberRef( expr(typeRef(javaClass)), MemberRefStyle.Dot, fieldName); }
public Expression getEnumItemValue(com.ochafik.lang.jnaerator.parser.Enum.EnumItem enumItem, boolean forceConstants) { // Enum e = (Enum)enumItem.getParentElement(); // if (forceConstants) { // Map<String, EnumItemResult> values = getEnumValuesAndCommentsByName(e, null); // EnumItemResult enumResult = values.get(enumItem.getName()); // if (enumResult != null) { // return enumResult.constantValue; // } // } return cast(typeRef(int.class), findEnumItem(enumItem)); }
public static Identifier v8Ident(String name, Identifier... args) { Expression[] exprArgs = new Expression[args.length]; for (int i = 0; i < args.length; i++) { exprArgs[i] = expr(typeRef(args[i])); } return templateIdent(ident("v8", name), exprArgs); }
public static Identifier v8Ident(String name, Identifier... args) { Expression[] exprArgs = new Expression[args.length]; for (int i = 0; i < args.length; i++) { exprArgs[i] = expr(typeRef(args[i])); } return templateIdent(ident("v8", name), exprArgs); }
public Expression typeLiteral(TypeRef c) { if (c == null) { return null; } if (c.toString().equals("?")) { return new Expression.Cast(typeRef(Type.class), Constant.newNull()); } return memberRef(expr(c), MemberRefStyle.Dot, "class"); }
public Expression typeLiteral(TypeRef c) { if (c == null) { return null; } if (c.toString().equals("?")) { return new Expression.Cast(typeRef(Type.class), Constant.newNull()); } return memberRef(expr(c), MemberRefStyle.Dot, "class"); }
@Override public Struct convertCallback(FunctionSignature functionSignature, Signatures signatures, Identifier callerLibraryName) { Struct decl = super.convertCallback(functionSignature, signatures, callerLibraryName); if (decl != null) { decl.setParents(Arrays.asList((SimpleTypeRef) (FunctionSignature.Type.ObjCBlock.equals(functionSignature.getType()) ? result.config.runtime.typeRef(JNAeratorConfig.Runtime.Ann.ObjCBlock) : (SimpleTypeRef) typeRef(ident(result.config.runtime.callbackClass, expr(typeRef(decl.getTag().clone()))))))); //addCallingConventionAnnotation(functionSignature.getFunction(), decl); } return decl; }
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()))); } } }
TypeRef pointerToTypeRef(TypeRef targetType) { Identifier id = ident(ptrClass()); id.resolveLastSimpleIdentifier().addTemplateArgument(expr(targetType)); return typeRef(id); }
TypeRef pointerToTypeRef(TypeRef targetType) { Identifier id = ident(ptrClass()); id.resolveLastSimpleIdentifier().addTemplateArgument(expr(targetType)); return typeRef(id); }
private Function newStaticInit() { Function f = new Function(Function.Type.StaticInit, null, null).setBody(block( stat(methodCall( expr(typeRef(BridJ.class)), Expression.MemberRefStyle.Dot, "register")))).addModifiers(ModifierType.Static); return f; }
@Override protected Struct createFakePointerClass(Identifier fakePointer) { Struct ptClass = result.declarationsConverter.publicStaticClass(fakePointer, ident(TypedPointer.class), Struct.Type.JavaClass, null); String addressVarName = "address"; ptClass.addDeclaration(new Function(Function.Type.JavaMethod, fakePointer, null, new Arg(addressVarName, typeRef(long.class))).addModifiers(ModifierType.Public).setBody( block(stat(methodCall("super", varRef(addressVarName)))))); ptClass.addDeclaration(new Function(Function.Type.JavaMethod, fakePointer, null, new Arg(addressVarName, typeRef(org.bridj.Pointer.class))).addModifiers(ModifierType.Public).setBody( block(stat(methodCall("super", varRef(addressVarName)))))); return ptClass; }
Statement throwIfArraySizeDifferent(String varAndFieldName) { return new Statement.If( expr( memberRef(varRef(varAndFieldName), MemberRefStyle.Dot, "length"), BinaryOperator.IsDifferent, memberRef(memberRef(thisRef(), MemberRefStyle.Dot, varAndFieldName), MemberRefStyle.Dot, "length")), new Statement.Throw(new Expression.New(typeRef(IllegalArgumentException.class), expr("Wrong array size !"))), null); }
Statement throwIfArraySizeDifferent(String varAndFieldName) { return new Statement.If( expr( memberRef(varRef(varAndFieldName), MemberRefStyle.Dot, "length"), BinaryOperator.IsDifferent, memberRef(memberRef(thisRef(), MemberRefStyle.Dot, varAndFieldName), MemberRefStyle.Dot, "length")), new Statement.Throw(new Expression.New(typeRef(IllegalArgumentException.class), expr("Wrong array size !"))), null); }