private Expression createEnumExpression(NL4JConversion enumType, Expression value) { TypeRef tr = enumType.getTypeRef(false); return methodCall(expr(typeRef(org.bridj.FlagSet.class)), "fromValue", value, result.typeConverter.typeLiteral(getSingleTypeParameter(tr))); }
private Expression createEnumExpression(NL4JConversion enumType, Expression value) { TypeRef tr = enumType.getTypeRef(false); return methodCall(expr(typeRef(org.bridj.FlagSet.class)), "fromValue", value, result.typeConverter.typeLiteral(getSingleTypeParameter(tr))); }
private Expression createPointerToAddressExpression(NL4JConversion pointerType, Expression value) { TypeRef tr = pointerType.getTypeRef(false); if (pointerType.isTypedPointer) { return new New(tr, value); } else { Expression ptrExpr = expr(typeRef(org.bridj.Pointer.class)); Expression targetTypeExpr = result.typeConverter.typeLiteral(getSingleTypeParameter(tr)); if (targetTypeExpr == null || (pointerType.targetTypeConversion != null && pointerType.targetTypeConversion.type == ConvType.Void)) { return methodCall(ptrExpr, "pointerToAddress", value); } else { // Cast to unparameterized Pointer to avoid weird cast cases return cast(typeRef(org.bridj.Pointer.class), methodCall(ptrExpr, "pointerToAddress", value, targetTypeExpr)); } } } private Expression createEnumExpression(NL4JConversion enumType, Expression value) {
private Expression createPointerToAddressExpression(NL4JConversion pointerType, Expression value) { TypeRef tr = pointerType.getTypeRef(false); if (pointerType.isTypedPointer) { return new New(tr, value); } else { Expression ptrExpr = expr(typeRef(org.bridj.Pointer.class)); Expression targetTypeExpr = result.typeConverter.typeLiteral(getSingleTypeParameter(tr)); if (targetTypeExpr == null || (pointerType.targetTypeConversion != null && pointerType.targetTypeConversion.type == ConvType.Void)) { return methodCall(ptrExpr, "pointerToAddress", value); } else { // Cast to unparameterized Pointer to avoid weird cast cases return cast(typeRef(org.bridj.Pointer.class), methodCall(ptrExpr, "pointerToAddress", value, targetTypeExpr)); } } } private Expression createEnumExpression(NL4JConversion enumType, Expression value) {