refactor(lsp/java): reorganize classes

This commit is contained in:
Akash Yadav
2024-05-27 22:27:50 +05:30
parent 25cb1da5b8
commit 74d4c1357c
27 changed files with 92 additions and 75 deletions
@@ -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
@@ -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
@@ -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
@@ -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
@@ -15,7 +15,7 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
package com.itsaky.androidide.lsp.java.indexing.models
package com.itsaky.androidide.lsp.java.indexing
/**
* Anything that can be cloned.
@@ -15,7 +15,7 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
package com.itsaky.androidide.lsp.java.indexing.models
package com.itsaky.androidide.lsp.java.indexing
import com.itsaky.androidide.indexing.IIndexable
@@ -15,7 +15,9 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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.
@@ -15,7 +15,7 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
package com.itsaky.androidide.lsp.java.indexing.models
package com.itsaky.androidide.lsp.java.indexing
import io.realm.RealmList
import io.realm.annotations.Required
@@ -15,7 +15,7 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
package com.itsaky.androidide.lsp.java.indexing.models
package com.itsaky.androidide.lsp.java.indexing
/**
* An [IJavaIndexable] model which is shared between other models.
@@ -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
@@ -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
@@ -15,9 +15,11 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
@@ -15,9 +15,10 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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 {
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
@@ -15,9 +15,10 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
@@ -15,8 +15,9 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
/**
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
@@ -15,8 +15,10 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
@@ -15,9 +15,11 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
@@ -15,11 +15,12 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
@@ -15,13 +15,13 @@
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
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
/**
@@ -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
@@ -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
@@ -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