22#include " ts_utils.h"
33
44JNIEXPORT jlong JNICALL
5- Java_com_itsaky_androidide_treesitter_TSParser_00024Native_newParser (JNIEnv* env, jclass self) {
5+ Java_com_itsaky_androidide_treesitter_TSParser_00024Native_newParser (
6+ JNIEnv* env, jclass self) {
67 return (jlong)ts_parser_new ();
78}
89
9- JNIEXPORT void JNICALL Java_com_itsaky_androidide_treesitter_TSParser_00024Native_delete (
10- JNIEnv* env, jclass self, jlong parser) {
10+ JNIEXPORT void JNICALL
11+ Java_com_itsaky_androidide_treesitter_TSParser_00024Native_delete (
12+ JNIEnv* env, jclass self, jlong parser) {
1113 ts_parser_delete ((TSParser*)parser);
1214}
1315
14- JNIEXPORT void JNICALL Java_com_itsaky_androidide_treesitter_TSParser_00024Native_setLanguage (
15- JNIEnv* env, jclass self, jlong parser, jlong language) {
16+ JNIEXPORT void JNICALL
17+ Java_com_itsaky_androidide_treesitter_TSParser_00024Native_setLanguage (
18+ JNIEnv* env, jclass self, jlong parser, jlong language) {
1619 ts_parser_set_language ((TSParser*)parser, (TSLanguage*)language);
1720}
1821
19- JNIEXPORT jlong JNICALL Java_com_itsaky_androidide_treesitter_TSParser_00024Native_parseBytes (
20- JNIEnv* env, jclass self, jlong parser, jbyteArray source_bytes,
21- jint length, jint encodingFlag) {
22- TSInputEncoding encoding = encodingFlag == 0 ? TSInputEncodingUTF8 : TSInputEncodingUTF16;
22+ JNIEXPORT jlong JNICALL
23+ Java_com_itsaky_androidide_treesitter_TSParser_00024Native_getLanguage (
24+ JNIEnv* env, jclass self, jlong parser) {
25+ return (jlong)ts_parser_language ((TSParser*)parser);
26+ }
27+
28+ JNIEXPORT jlong JNICALL
29+ Java_com_itsaky_androidide_treesitter_TSParser_00024Native_parseBytes (
30+ JNIEnv* env, jclass self, jlong parser, jbyteArray source_bytes,
31+ jint length, jint encodingFlag) {
32+ TSInputEncoding encoding =
33+ encodingFlag == 0 ? TSInputEncodingUTF8 : TSInputEncodingUTF16;
2334 jbyte* source = env->GetByteArrayElements (source_bytes, NULL );
2435 jlong result = (jlong)ts_parser_parse_string_encoding (
25- (TSParser*)parser, NULL , reinterpret_cast <const char *>(source), length, encoding);
36+ (TSParser*)parser, NULL , reinterpret_cast <const char *>(source), length,
37+ encoding);
2638 env->ReleaseByteArrayElements (source_bytes, source, JNI_ABORT);
2739 return result;
2840}
2941
30- JNIEXPORT jlong JNICALL Java_com_itsaky_androidide_treesitter_TSParser_00024Native_incrementalParseBytes (
31- JNIEnv* env, jclass self, jlong parser, jlong old_tree, jbyteArray source_bytes,
32- jint length, jint encodingFlag) {
33- TSInputEncoding encoding = encodingFlag == 0 ? TSInputEncodingUTF8 : TSInputEncodingUTF16;
42+ JNIEXPORT jlong JNICALL
43+ Java_com_itsaky_androidide_treesitter_TSParser_00024Native_incrementalParseBytes (
44+ JNIEnv* env, jclass self, jlong parser, jlong old_tree,
45+ jbyteArray source_bytes, jint length, jint encodingFlag) {
46+ TSInputEncoding encoding =
47+ encodingFlag == 0 ? TSInputEncodingUTF8 : TSInputEncodingUTF16;
3448 jbyte* source = env->GetByteArrayElements (source_bytes, NULL );
3549 jlong result = (jlong)ts_parser_parse_string_encoding (
36- (TSParser*)parser, (TSTree*)old_tree, reinterpret_cast <const char *>(source), length, TSInputEncodingUTF16);
50+ (TSParser*)parser, (TSTree*)old_tree,
51+ reinterpret_cast <const char *>(source), length, TSInputEncodingUTF16);
3752 env->ReleaseByteArrayElements (source_bytes, source, JNI_ABORT);
3853 return result;
3954}
0 commit comments