// 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__Try__1init(JNIEnv *env, jclass _unused) {
    jclass clazz;
}

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

