import sparkjni.jniLink.linkContainers.TypeMapper;
import sparkjni.utils.CppSyntax;
import sparkjni.utils.JniUtils;
import sparkjni.utils.cpp.fields.CppField;
import javax.annotation.Nullable;
<BUG>import java.util.List;
@Value.Immutable</BUG>
public abstract class UserNativeFunction {
public abstract FunctionSignatureMapper functionSignatureMapper();
private Optional<String> functionBodyCodeInsertion = Optional.absent();

import sparkjni.jniLink.linkContainers.TypeMapper;
import sparkjni.utils.CppSyntax;
import sparkjni.utils.JniUtils;
import sparkjni.utils.cpp.fields.CppField;
import javax.annotation.Nullable;
import java.util.List;
import static sparkjni.utils.JniUtils.PASS_BY_REFERENCE;
import static sparkjni.utils.JniUtils.PASS_BY_VALUE;
@Value.Immutable
public abstract class UserNativeFunction {
public abstract FunctionSignatureMapper functionSignatureMapper();
private Optional<String> functionBodyCodeInsertion = Optional.absent();
