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

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

