int i = 0; for (Class<?> c : m.getParameterTypes()) { f.addArg(new Arg("arg" + (i++), typeRef(c)));
private void fillIn(Signatures signatures, Identifier functionName, Function nativeMethod, NL4JConversion returnType, List<NL4JConversion> paramTypes, List<String> paramNames, Identifier varArgType, String varArgName, boolean isCallback, boolean useRawTypes) { for (int i = 0, n = paramTypes.size(); i < n; i++) { NL4JConversion paramType = paramTypes.get(i); String paramName = paramNames.get(i); nativeMethod.addArg(paramType.annotateTypedType(new Arg(paramName, paramType.getTypeRef(useRawTypes)), useRawTypes));//.getTypedTypeRef()))); } if (varArgType != null) { nativeMethod.addArg(new Arg(varArgName, typeRef(varArgType.clone()))).setVarArg(true); } if (returnType != null) { returnType.annotateTypedType(nativeMethod, useRawTypes); nativeMethod.setValueType(returnType.getTypeRef(useRawTypes)); } String natSig = nativeMethod.computeSignature(SignatureType.JavaStyle); Identifier javaMethodName = signatures == null ? functionName : signatures.findNextMethodName(natSig, functionName); if (!javaMethodName.equals(functionName)) { nativeMethod.setName(javaMethodName); } }
private void fillIn(Signatures signatures, Identifier functionName, Function nativeMethod, NL4JConversion returnType, List<NL4JConversion> paramTypes, List<String> paramNames, Identifier varArgType, String varArgName, boolean isCallback, boolean useRawTypes) { for (int i = 0, n = paramTypes.size(); i < n; i++) { NL4JConversion paramType = paramTypes.get(i); String paramName = paramNames.get(i); nativeMethod.addArg(paramType.annotateTypedType(new Arg(paramName, paramType.getTypeRef(useRawTypes)), useRawTypes));//.getTypedTypeRef()))); } if (varArgType != null) { nativeMethod.addArg(new Arg(varArgName, typeRef(varArgType.clone()))).setVarArg(true); } if (returnType != null) { returnType.annotateTypedType(nativeMethod, useRawTypes); nativeMethod.setValueType(returnType.getTypeRef(useRawTypes)); } String natSig = nativeMethod.computeSignature(SignatureType.JavaStyle); Identifier javaMethodName = signatures == null ? functionName : signatures.findNextMethodName(natSig, functionName); if (!javaMethodName.equals(functionName)) { nativeMethod.setName(javaMethodName); } }
initMethod.addArg(new Arg(initTarget, typeRef(v8Ident("Handle", v8Ident("Object"))))); initMethod.setBody(new Block());
initMethod.addArg(new Arg(initTarget, typeRef(v8Ident("Handle", v8Ident("Object"))))); initMethod.setBody(new Block());
Function macroDef = new Function(Function.Type.JavaMethod, ident(functionName), typeRef("void")); String valueName = "value"; macroDef.addArg(new Arg(valueName, typeRef(String.class))); macroDef.setBody(block(stat(methodCall("defineMacro", expr(Expression.Constant.Type.String, macroName), varRef(valueName))))); interf.addDeclaration(macroDef);
a.setValueType(at); a.setSelector(splitSelector == null || iArg >= splitSelector.length ? null : splitSelector[iArg]); f.addArg(a); iArg++;
a.setValueType(at); a.setSelector(splitSelector == null || iArg >= splitSelector.length ? null : splitSelector[iArg]); f.addArg(a); iArg++;
natFunc.addArg(new Arg(argName, typeRef(vaType.clone()))).setVarArg(true); if (alternativeOutputs) { primOrBufFunc.addArg(new Arg(argName, typeRef(vaType.clone()))).setVarArg(true); natStructFunc.addArg(new Arg(argName, typeRef(vaType.clone()))).setVarArg(true); natFunc.addArg(new Arg(argName, typeConverter().convertTypeToJNA(mutType, TypeConversionMode.NativeParameter, libraryClassName))); if (alternativeOutputs) { primOrBufFunc.addArg(new Arg(argName, typeConverter().convertTypeToJNA(mutType, TypeConversionMode.PrimitiveOrBufferParameter, libraryClassName))); natStructFunc.addArg(new Arg(argName, typeConverter().convertTypeToJNA(mutType, TypeConversionMode.NativeParameterWithStructsPtrPtrs, libraryClassName)));
Arg arg = new Arg((argName1!=null?argName1.getText():null), argType1); arg.setSelector((methodName!=null?methodName.getText():null)); function.addArg(arg); Arg arg = new Arg((argName!=null?argName.getText():null), argType); arg.setSelector((sel!=null?sel.getText():null)); function.addArg(arg); function.addArg(Arg.createVarArgs());
natFunc.addArg(new Arg(argName, typeRef(vaType.clone()))).setVarArg(true); if (alternativeOutputs) { primOrBufFunc.addArg(new Arg(argName, typeRef(vaType.clone()))).setVarArg(true); natStructFunc.addArg(new Arg(argName, typeRef(vaType.clone()))).setVarArg(true); natFunc.addArg(new Arg(argName, typeConverter().convertTypeToJNA(mutType, TypeConversionMode.NativeParameter, libraryClassName))); if (alternativeOutputs) { primOrBufFunc.addArg(new Arg(argName, typeConverter().convertTypeToJNA(mutType, TypeConversionMode.PrimitiveOrBufferParameter, libraryClassName))); natStructFunc.addArg(new Arg(argName, typeConverter().convertTypeToJNA(mutType, TypeConversionMode.NativeParameterWithStructsPtrPtrs, libraryClassName)));
method.addArg(new Arg(null, at));
String name = chooseJavaArgName(vd.getDeclarators().get(0).resolveName(), iArg, names); namesById.put(vd.getId(), name); fieldsConstr.addArg(new Arg(name, vd.getValueType().clone())); iArg++; Function addressConstructor = new Function(Function.Type.JavaMethod, structName.clone(), null).addModifiers(ModifierType.Public); String pointerVarName = "peer"; addressConstructor.addArg(new Arg(pointerVarName, typeRef(com.sun.jna.Pointer.class))); FunctionCall superPointerCall = methodCall("super"); superPointerCall.addArgument(varRef(pointerVarName));
String name = chooseJavaArgName(vd.getDeclarators().get(0).resolveName(), iArg, names); namesById.put(vd.getId(), name); fieldsConstr.addArg(new Arg(name, vd.getValueType().clone())); iArg++; Function addressConstructor = new Function(Function.Type.JavaMethod, structName.clone(), null).addModifiers(ModifierType.Public); String pointerVarName = "peer"; addressConstructor.addArg(new Arg(pointerVarName, typeRef(com.sun.jna.Pointer.class))); FunctionCall superPointerCall = methodCall("super"); superPointerCall.addArgument(varRef(pointerVarName));
String methodName = library + "_" + (function.getParentElement() instanceof Struct ? ((Struct) function.getParentElement()).getTag() + "_" : "") + function.getName(); Function method = new Function(Function.Type.CppMethod, ident(methodName), typeRef(v8Ident("Handle", v8Ident("Value")))); method.addArg(new Arg(argsName, new TypeRef.Pointer(typeRef(v8Ident("Arguments")), Declarator.PointerStyle.Reference).addModifiers(ModifierType.Const))); Block body = new Block();
String methodName = library + "_" + (function.getParentElement() instanceof Struct ? ((Struct) function.getParentElement()).getTag() + "_" : "") + function.getName(); Function method = new Function(Function.Type.CppMethod, ident(methodName), typeRef(v8Ident("Handle", v8Ident("Value")))); method.addArg(new Arg(argsName, new TypeRef.Pointer(typeRef(v8Ident("Arguments")), Declarator.PointerStyle.Reference).addModifiers(ModifierType.Const))); Block body = new Block();