Skip to content
This repository was archived by the owner on Oct 18, 2024. It is now read-only.

Commit 9797417

Browse files
committed
feat: add synchronized version of UTF16String
1 parent 1bfacde commit 9797417

File tree

22 files changed

+625
-58
lines changed

22 files changed

+625
-58
lines changed

.idea/compiler.xml

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/gradle.xml

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

android-tree-sitter/build.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ android {
2828
}
2929

3030
dependencies {
31+
implementation(projects.annotations)
32+
annotationProcessor(projects.annotationProcessors)
33+
3134
testImplementation(projects.treeSitterAidl)
3235
testImplementation(projects.treeSitterJava)
3336
testImplementation(projects.treeSitterJson)

android-tree-sitter/src/main/java/com/itsaky/androidide/treesitter/DefaultObjectFactory.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
package com.itsaky.androidide.treesitter;
1919

20+
import com.itsaky.androidide.treesitter.string.SynchronizedUTF16String;
21+
import com.itsaky.androidide.treesitter.string.UTF16String;
2022
import com.itsaky.androidide.treesitter.util.TSObjectFactory;
2123

2224
/**
@@ -128,4 +130,13 @@ public TSLookaheadIterator createLookaheadIterator(long pointer) {
128130
public TSLanguage createLanguage(String name, long[] pointers) {
129131
return new TSLanguage(name, pointers);
130132
}
133+
134+
@Override
135+
public UTF16String createString(long pointer, boolean isSynchronized) {
136+
if (isSynchronized) {
137+
return new SynchronizedUTF16String(pointer);
138+
}
139+
140+
return new UTF16String(pointer);
141+
}
131142
}

android-tree-sitter/src/main/java/com/itsaky/androidide/treesitter/TSParser.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ public TSTree parseString(TSTree oldTree, UTF16String source) {
188188
setCancellationRequested(false);
189189
setParsingFlag();
190190
try {
191-
final var strPointer = source.getPointer();
191+
final var strPointer = source.getNativeObject();
192192
final var oldTreePointer = oldTree != null ? oldTree.getNativeObject() : 0;
193193
final var tree = Native.parse(this.getNativeObject(), oldTreePointer, strPointer);
194194
return createTree(tree);

0 commit comments

Comments
 (0)