diff --git a/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/JavaClassCRUDTest.kt b/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/JavaClassCRUDTest.kt
index 9c4b8e2d5..5ede3c0c6 100644
--- a/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/JavaClassCRUDTest.kt
+++ b/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/JavaClassCRUDTest.kt
@@ -19,9 +19,9 @@ package com.itsaky.androidide.lsp.java.indexing
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.google.common.truth.Truth.assertThat
-import com.itsaky.androidide.lsp.java.indexing.models.JavaClass
-import com.itsaky.androidide.lsp.java.indexing.models.JavaIndexingRealmModule
-import com.itsaky.androidide.lsp.java.indexing.models.JavaType
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaClass
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaIndexingRealmModule
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaType
import com.itsaky.androidide.testing.android.rules.RealmDBTestRule
import io.realm.RealmList
import io.realm.RealmObject
diff --git a/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexerTest.kt b/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexerTest.kt
index ead2695ff..32c1a3333 100644
--- a/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexerTest.kt
+++ b/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexerTest.kt
@@ -22,7 +22,7 @@ import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.blankj.utilcode.util.ConvertUtils
import com.google.common.truth.Truth
-import com.itsaky.androidide.lsp.java.indexing.models.JavaIndexingRealmModule
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaIndexingRealmModule
import com.itsaky.androidide.testing.android.rules.RealmDBTestRule
import io.realm.RealmModel
import org.junit.Rule
diff --git a/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/ModelBuilder.kt b/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/ModelBuilder.kt
index 1f1c65953..be74fe1ff 100644
--- a/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/ModelBuilder.kt
+++ b/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/ModelBuilder.kt
@@ -17,10 +17,10 @@
package com.itsaky.androidide.lsp.java.indexing
-import com.itsaky.androidide.lsp.java.indexing.models.JavaClass
-import com.itsaky.androidide.lsp.java.indexing.models.JavaField
-import com.itsaky.androidide.lsp.java.indexing.models.JavaMethod
-import com.itsaky.androidide.lsp.java.indexing.models.JavaType
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaClass
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaField
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaMethod
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaType
import io.realm.RealmList
import openjdk.tools.classfile.AccessFlags
diff --git a/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/SharedModelCRUDTest.kt b/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/SharedModelCRUDTest.kt
index 4b12169cf..c87955129 100644
--- a/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/SharedModelCRUDTest.kt
+++ b/lsp/java/src/androidTest/java/com/itsaky/androidide/lsp/java/indexing/SharedModelCRUDTest.kt
@@ -19,19 +19,17 @@ package com.itsaky.androidide.lsp.java.indexing
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.google.common.truth.Truth.assertThat
-import com.itsaky.androidide.lsp.java.indexing.models.AnnotationAnnotationElementValue
-import com.itsaky.androidide.lsp.java.indexing.models.ApiInfo
-import com.itsaky.androidide.lsp.java.indexing.models.ArrayAnnotationElementValue
-import com.itsaky.androidide.lsp.java.indexing.models.ClassAnnotationElementValue
-import com.itsaky.androidide.lsp.java.indexing.models.EnumAnnotationElementValue
-import com.itsaky.androidide.lsp.java.indexing.models.IAnnotationElementValue
-import com.itsaky.androidide.lsp.java.indexing.models.JavaConstant
-import com.itsaky.androidide.lsp.java.indexing.models.JavaIndexingRealmModule
-import com.itsaky.androidide.lsp.java.indexing.models.JavaType
-import com.itsaky.androidide.lsp.java.indexing.models.PrimitiveAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.apiinfo.ApiInfo
+import com.itsaky.androidide.lsp.java.indexing.classfile.ArrayAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.ClassAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.EnumAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.IAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaConstant
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaIndexingRealmModule
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaType
+import com.itsaky.androidide.lsp.java.indexing.classfile.PrimitiveAnnotationElementValue
import com.itsaky.androidide.testing.android.rules.RealmDBTestRule
import io.realm.RealmAny
-import io.realm.RealmDictionary
import io.realm.RealmList
import io.realm.exceptions.RealmPrimaryKeyConstraintException
import org.junit.Rule
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/ICloneable.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/ICloneable.kt
similarity index 93%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/ICloneable.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/ICloneable.kt
index 19b64f1ea..d3ad0e584 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/ICloneable.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/ICloneable.kt
@@ -15,7 +15,7 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing
/**
* Anything that can be cloned.
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/IJavaIndexable.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/IJavaIndexable.kt
similarity index 93%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/IJavaIndexable.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/IJavaIndexable.kt
index bced5daeb..30b0dbef5 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/IJavaIndexable.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/IJavaIndexable.kt
@@ -15,7 +15,7 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing
import com.itsaky.androidide.indexing.IIndexable
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/IJavaSymbol.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/IJavaSymbol.kt
similarity index 89%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/IJavaSymbol.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/IJavaSymbol.kt
index d6e93b484..457665f37 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/IJavaSymbol.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/IJavaSymbol.kt
@@ -15,7 +15,9 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing
+
+import com.itsaky.androidide.lsp.java.indexing.apiinfo.ApiInfo
/**
* A java symbol.
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/IJavaType.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/IJavaType.kt
similarity index 97%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/IJavaType.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/IJavaType.kt
index 80cd5580b..fccc6db64 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/IJavaType.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/IJavaType.kt
@@ -15,7 +15,7 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing
import io.realm.RealmList
import io.realm.annotations.Required
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/ISharedJavaIndexable.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/ISharedJavaIndexable.kt
similarity index 94%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/ISharedJavaIndexable.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/ISharedJavaIndexable.kt
index ec5d37652..fd89363a5 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/ISharedJavaIndexable.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/ISharedJavaIndexable.kt
@@ -15,7 +15,7 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing
/**
* An [IJavaIndexable] model which is shared between other models.
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexer.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexer.kt
index 09d8f7fef..8e1d8d3e3 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexer.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexer.kt
@@ -20,7 +20,6 @@ package com.itsaky.androidide.lsp.java.indexing
import com.itsaky.androidide.indexing.IIndex
import com.itsaky.androidide.indexing.IIndexer
import com.itsaky.androidide.indexing.IIndexer.Params
-import com.itsaky.androidide.lsp.java.indexing.models.IJavaIndexable
import com.itsaky.androidide.tasks.cancelIfActive
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Deferred
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/JavaJarModelBuilder.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/JavaJarModelBuilder.kt
index f5afd5f98..20284ba91 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/JavaJarModelBuilder.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/JavaJarModelBuilder.kt
@@ -17,23 +17,23 @@
package com.itsaky.androidide.lsp.java.indexing
-import com.itsaky.androidide.lsp.java.indexing.models.AnnotationAnnotationElementValue
-import com.itsaky.androidide.lsp.java.indexing.models.AnnotationElement
-import com.itsaky.androidide.lsp.java.indexing.models.AnnotationElement.Companion.newAnnotationElement
-import com.itsaky.androidide.lsp.java.indexing.models.ArrayAnnotationElementValue
-import com.itsaky.androidide.lsp.java.indexing.models.ClassAnnotationElementValue
-import com.itsaky.androidide.lsp.java.indexing.models.EnumAnnotationElementValue
-import com.itsaky.androidide.lsp.java.indexing.models.IAnnotationElementValue
-import com.itsaky.androidide.lsp.java.indexing.models.IJavaType
-import com.itsaky.androidide.lsp.java.indexing.models.JavaAnnotation
-import com.itsaky.androidide.lsp.java.indexing.models.JavaClass
-import com.itsaky.androidide.lsp.java.indexing.models.JavaConstant
-import com.itsaky.androidide.lsp.java.indexing.models.JavaEnum
-import com.itsaky.androidide.lsp.java.indexing.models.JavaField
-import com.itsaky.androidide.lsp.java.indexing.models.JavaInterface
-import com.itsaky.androidide.lsp.java.indexing.models.JavaMethod
-import com.itsaky.androidide.lsp.java.indexing.models.JavaType
-import com.itsaky.androidide.lsp.java.indexing.models.PrimitiveAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.AnnotationAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.AnnotationElement
+import com.itsaky.androidide.lsp.java.indexing.classfile.AnnotationElement.Companion.newAnnotationElement
+import com.itsaky.androidide.lsp.java.indexing.classfile.ArrayAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.ClassAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.EnumAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.IAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaAnnotation
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaClass
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaConstant
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaEnum
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaField
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaInterface
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaMethod
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaType
+import com.itsaky.androidide.lsp.java.indexing.classfile.PrimitiveAnnotationElementValue
+import com.itsaky.androidide.lsp.java.utils.DescriptorUtils
import io.realm.RealmAny
import io.realm.RealmDictionary
import io.realm.RealmList
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/ApiInfo.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/apiinfo/ApiInfo.kt
similarity index 94%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/ApiInfo.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/apiinfo/ApiInfo.kt
index 855f0e2a3..737bc860c 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/ApiInfo.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/apiinfo/ApiInfo.kt
@@ -15,9 +15,11 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.apiinfo
import com.google.common.base.Objects
+import com.itsaky.androidide.lsp.java.indexing.ICloneable
+import com.itsaky.androidide.lsp.java.indexing.ISharedJavaIndexable
import io.realm.annotations.PrimaryKey
import io.realm.annotations.RealmClass
import io.realm.annotations.RealmField
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/AnnotationElement.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/AnnotationElement.kt
similarity index 93%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/AnnotationElement.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/AnnotationElement.kt
index 109b6c1f9..5c542769c 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/AnnotationElement.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/AnnotationElement.kt
@@ -15,9 +15,10 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.classfile
-import com.itsaky.androidide.lsp.java.indexing.DescriptorUtils
+import com.itsaky.androidide.lsp.java.indexing.IJavaSymbol
+import com.itsaky.androidide.lsp.java.indexing.apiinfo.ApiInfo
import io.realm.RealmAny
import io.realm.RealmResults
import io.realm.annotations.Index
@@ -32,7 +33,6 @@ import io.realm.annotations.Required
* @property defaultValue The default value of the annotation element.
* @author Akash Yadav
*/
-
@RealmClass(embedded = true)
open class AnnotationElement : IJavaSymbol {
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaAnnotation.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaAnnotation.kt
similarity index 94%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaAnnotation.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaAnnotation.kt
index 1b44a1656..a997d04af 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaAnnotation.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaAnnotation.kt
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.classfile
+import com.itsaky.androidide.lsp.java.indexing.IJavaType
+import com.itsaky.androidide.lsp.java.indexing.apiinfo.ApiInfo
import io.realm.RealmList
import io.realm.annotations.Index
import io.realm.annotations.PrimaryKey
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaClass.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaClass.kt
similarity index 93%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaClass.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaClass.kt
index f980624f6..80e1e138d 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaClass.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaClass.kt
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.classfile
+import com.itsaky.androidide.lsp.java.indexing.IJavaType
+import com.itsaky.androidide.lsp.java.indexing.apiinfo.ApiInfo
import io.realm.RealmList
import io.realm.annotations.Index
import io.realm.annotations.PrimaryKey
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaConstant.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaConstant.kt
similarity index 96%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaConstant.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaConstant.kt
index 835be3950..7a042f55a 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaConstant.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaConstant.kt
@@ -15,9 +15,10 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.classfile
import com.google.common.base.Objects
+import com.itsaky.androidide.lsp.java.indexing.ISharedJavaIndexable
import io.realm.RealmAny
import io.realm.annotations.PrimaryKey
import io.realm.annotations.RealmClass
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaEnum.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaEnum.kt
similarity index 93%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaEnum.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaEnum.kt
index 7bac5af11..0d654f392 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaEnum.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaEnum.kt
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.classfile
+import com.itsaky.androidide.lsp.java.indexing.IJavaType
+import com.itsaky.androidide.lsp.java.indexing.apiinfo.ApiInfo
import io.realm.RealmList
import io.realm.annotations.Index
import io.realm.annotations.PrimaryKey
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaField.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaField.kt
similarity index 90%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaField.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaField.kt
index dc4068f7f..9bce4e299 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaField.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaField.kt
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.classfile
+import com.itsaky.androidide.lsp.java.indexing.IJavaSymbol
+import com.itsaky.androidide.lsp.java.indexing.apiinfo.ApiInfo
import io.realm.RealmResults
import io.realm.annotations.Index
import io.realm.annotations.LinkingObjects
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaIndexingRealmModule.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaIndexingRealmModule.kt
similarity index 91%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaIndexingRealmModule.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaIndexingRealmModule.kt
index 755affc93..dffd0a4c7 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaIndexingRealmModule.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaIndexingRealmModule.kt
@@ -15,8 +15,9 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.classfile
+import com.itsaky.androidide.lsp.java.indexing.apiinfo.ApiInfo
import io.realm.annotations.RealmModule
/**
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaInterface.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaInterface.kt
similarity index 93%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaInterface.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaInterface.kt
index 50d3b2500..c7185778c 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaInterface.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaInterface.kt
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.classfile
+import com.itsaky.androidide.lsp.java.indexing.IJavaType
+import com.itsaky.androidide.lsp.java.indexing.apiinfo.ApiInfo
import io.realm.RealmList
import io.realm.annotations.Index
import io.realm.annotations.PrimaryKey
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaMethod.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaMethod.kt
similarity index 92%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaMethod.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaMethod.kt
index 117743b50..c5542ba6c 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaMethod.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaMethod.kt
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.classfile
+import com.itsaky.androidide.lsp.java.indexing.IJavaSymbol
+import com.itsaky.androidide.lsp.java.indexing.apiinfo.ApiInfo
import io.realm.RealmList
import io.realm.RealmResults
import io.realm.annotations.Index
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaType.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaType.kt
similarity index 97%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaType.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaType.kt
index 048ce448e..bb1290bf4 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/JavaType.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/JavaType.kt
@@ -15,9 +15,11 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.classfile
import com.google.common.base.Objects
+import com.itsaky.androidide.lsp.java.indexing.ICloneable
+import com.itsaky.androidide.lsp.java.indexing.ISharedJavaIndexable
import io.realm.annotations.Index
import io.realm.annotations.PrimaryKey
import io.realm.annotations.RealmClass
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/annotationElementValues.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/annotationElementValues.kt
similarity index 98%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/annotationElementValues.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/annotationElementValues.kt
index 9195726e3..ac30e1706 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/models/annotationElementValues.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/classfile/annotationElementValues.kt
@@ -15,11 +15,12 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing.models
+package com.itsaky.androidide.lsp.java.indexing.classfile
import com.google.common.base.Objects
import com.itsaky.androidide.db.utils.isEqualTo
import com.itsaky.androidide.db.utils.hash
+import com.itsaky.androidide.lsp.java.indexing.ISharedJavaIndexable
import io.realm.RealmAny
import io.realm.RealmDictionary
import io.realm.RealmList
diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/DescriptorUtils.kt b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/utils/DescriptorUtils.kt
similarity index 94%
rename from lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/DescriptorUtils.kt
rename to lsp/java/src/main/java/com/itsaky/androidide/lsp/java/utils/DescriptorUtils.kt
index e51bd33b4..f6f2e8781 100644
--- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/indexing/DescriptorUtils.kt
+++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/utils/DescriptorUtils.kt
@@ -15,13 +15,13 @@
* along with AndroidIDE. If not, see .
*/
-package com.itsaky.androidide.lsp.java.indexing
+package com.itsaky.androidide.lsp.java.utils
-import com.itsaky.androidide.lsp.java.indexing.models.AnnotationElement
-import com.itsaky.androidide.lsp.java.indexing.models.IJavaType
-import com.itsaky.androidide.lsp.java.indexing.models.JavaField
-import com.itsaky.androidide.lsp.java.indexing.models.JavaMethod
-import com.itsaky.androidide.lsp.java.indexing.models.JavaType
+import com.itsaky.androidide.lsp.java.indexing.IJavaType
+import com.itsaky.androidide.lsp.java.indexing.classfile.AnnotationElement
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaField
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaMethod
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaType
import java.util.Objects
/**
diff --git a/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/AndroidJarModelingRule.kt b/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/AndroidJarModelingRule.kt
index a0517cbf2..8f7f8e407 100644
--- a/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/AndroidJarModelingRule.kt
+++ b/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/AndroidJarModelingRule.kt
@@ -18,7 +18,6 @@
package com.itsaky.androidide.lsp.java.indexing
import com.google.common.truth.Truth.assertThat
-import com.itsaky.androidide.lsp.java.indexing.models.IJavaType
import com.itsaky.androidide.utils.FileProvider
import org.junit.rules.TestRule
import org.junit.runner.Description
diff --git a/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/DescriptorUtilsTest.kt b/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/DescriptorUtilsTest.kt
index 447061466..55de3e392 100644
--- a/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/DescriptorUtilsTest.kt
+++ b/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/DescriptorUtilsTest.kt
@@ -17,7 +17,8 @@
package com.itsaky.androidide.lsp.java.indexing
-import com.itsaky.androidide.lsp.java.indexing.models.JavaType
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaType
+import com.itsaky.androidide.lsp.java.utils.DescriptorUtils
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
diff --git a/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexWorkerText.kt b/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexWorkerText.kt
index 22d550569..8b770846a 100644
--- a/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexWorkerText.kt
+++ b/lsp/java/src/test/java/com/itsaky/androidide/lsp/java/indexing/JavaIndexWorkerText.kt
@@ -19,17 +19,16 @@ package com.itsaky.androidide.lsp.java.indexing
import android.view.View
import com.google.common.truth.Truth.assertThat
-import com.itsaky.androidide.lsp.java.indexing.models.AnnotationElement
-import com.itsaky.androidide.lsp.java.indexing.models.IAnnotationElementValue
-import com.itsaky.androidide.lsp.java.indexing.models.IJavaType
-import com.itsaky.androidide.lsp.java.indexing.models.JavaAnnotation
-import com.itsaky.androidide.lsp.java.indexing.models.JavaClass
-import com.itsaky.androidide.lsp.java.indexing.models.JavaEnum
-import com.itsaky.androidide.lsp.java.indexing.models.JavaField
-import com.itsaky.androidide.lsp.java.indexing.models.JavaInterface
-import com.itsaky.androidide.lsp.java.indexing.models.JavaMethod
-import com.itsaky.androidide.lsp.java.indexing.models.JavaType
-import com.itsaky.androidide.lsp.java.indexing.models.PrimitiveAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.AnnotationElement
+import com.itsaky.androidide.lsp.java.indexing.classfile.IAnnotationElementValue
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaAnnotation
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaClass
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaEnum
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaField
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaInterface
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaMethod
+import com.itsaky.androidide.lsp.java.indexing.classfile.JavaType
+import com.itsaky.androidide.lsp.java.indexing.classfile.PrimitiveAnnotationElementValue
import io.realm.RealmAny
import openjdk.tools.classfile.AccessFlags
import org.junit.Rule