// JNI functions for the Go <=> Java bridge.
//   gobind -lang=java try
//
// File is generated by gobind. Do not edit.

#include <android/log.h>
#include <stdint.h>
#include "seq.h"
#include "_cgo_export.h"
#include "try.h"


JNIEXPORT void JNICALL
Java_try_1_Try__1init(JNIEnv *env, jclass _unused) {
    jclass clazz;
}

JNIEXPORT jstring JNICALL
Java_try_1_Try_this_1(JNIEnv* env, jclass _clazz) {
    nstring r0 = proxytry__This();
    jstring _r0 = go_seq_to_java_string(env, r0);
    return _r0;
}

