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 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)); }
private Expression createGetEnumValueExpression(Expression value) { return cast(typeRef(int.class), methodCall(value, "value")); } private Expression createGetIntegralValueExpression(Expression value) {
private Expression createGetEnumValueExpression(Expression value) { return cast(typeRef(int.class), methodCall(value, "value")); } private Expression createGetIntegralValueExpression(Expression value) {
@Override public Expression getEnumItemValue(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; } } Expression enumValue = findEnumItem(enumItem); if (e.getTag() != null) { enumValue = methodCall(enumValue, "value"); } return cast(typeRef(int.class), enumValue.setParenthesis(true)); }
@Override public Expression getEnumItemValue(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; } } Expression enumValue = findEnumItem(enumItem); if (e.getTag() != null) { enumValue = methodCall(enumValue, "value"); } return cast(typeRef(int.class), enumValue.setParenthesis(true)); }
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) {
if (isConstructor) { superConstructorArgs = new ArrayList<Expression>(); superConstructorArgs.add(cast(typeRef(Void.class), nullExpr())); superConstructorArgs.add(expr(iConstructor));
if (isConstructor) { superConstructorArgs = new ArrayList<Expression>(); superConstructorArgs.add(cast(typeRef(Void.class), nullExpr())); superConstructorArgs.add(expr(iConstructor));
VariablesDeclaration instanceDecl = new VariablesDeclaration(libTypeRef, new Declarator.DirectDeclarator( librariesHub == null ? "INSTANCE" : library, cast( libTypeRef, methodCall(
VariablesDeclaration instanceDecl = new VariablesDeclaration(libTypeRef, new Declarator.DirectDeclarator( librariesHub == null ? "INSTANCE" : library, cast( libTypeRef, methodCall(
if (isGlobal) { getter.setBody(block( tryRethrow(new Statement.Return(cast(javaType.clone(), methodCall(getGlobalPointerExpr, getterName)))))); } else { getter.setBody(block(
if (isGlobal) { getter.setBody(block( tryRethrow(new Statement.Return(cast(javaType.clone(), methodCall(getGlobalPointerExpr, getterName)))))); } else { getter.setBody(block(
argDeclExpr = arrowMethodCall(argExpr.clone(), "ToString"); argType = typeRef(v8Ident("Handle", v8Ident("String"))); argUsageExpr = cast(transformTypeForCast(arg.getValueType()), expr(UnaryOperator.Dereference, methodCall(ident("v8", "String", "AsciiValue"), methodCall(argExpr.clone(), Expression.MemberRefStyle.Dot, templateIdent(ident("As"), varRef(v8Ident("Object")))))); argType = new TypeRef.Pointer(typeRef(ident("char")), Declarator.PointerStyle.Pointer); argUsageExpr = cast(transformTypeForCast(arg.getValueType()), varRef(arg.getName())); break; case Boolean: argDeclExpr = arrowMethodCall(argExpr.clone(), "To" + t); argType = typeRef(v8Ident("Handle", v8Ident(t))); argUsageExpr = cast(arg.getValueType().clone(), arrowMethodCall(expr(UnaryOperator.Dereference, varRef(arg.getName())), "Value")); break; case VAList: memberRef( methodCall(ident("node", "Buffer", "New"), cast(new TypeRef.Pointer(typeRef("char"), Declarator.PointerStyle.Pointer), varRef(returnValueName)), expr(1), varRef(dummyNodeBufferFreeCallbackName),
argDeclExpr = arrowMethodCall(argExpr.clone(), "ToString"); argType = typeRef(v8Ident("Handle", v8Ident("String"))); argUsageExpr = cast(transformTypeForCast(arg.getValueType()), expr(UnaryOperator.Dereference, methodCall(ident("v8", "String", "AsciiValue"), methodCall(argExpr.clone(), Expression.MemberRefStyle.Dot, templateIdent(ident("As"), varRef(v8Ident("Object")))))); argType = new TypeRef.Pointer(typeRef(ident("char")), Declarator.PointerStyle.Pointer); argUsageExpr = cast(transformTypeForCast(arg.getValueType()), varRef(arg.getName())); break; case Boolean: argDeclExpr = arrowMethodCall(argExpr.clone(), "To" + t); argType = typeRef(v8Ident("Handle", v8Ident(t))); argUsageExpr = cast(arg.getValueType().clone(), arrowMethodCall(expr(UnaryOperator.Dereference, varRef(arg.getName())), "Value")); break; case VAList: memberRef( methodCall(ident("node", "Buffer", "New"), cast(new TypeRef.Pointer(typeRef("char"), Declarator.PointerStyle.Pointer), varRef(returnValueName)), expr(1), varRef(dummyNodeBufferFreeCallbackName),