mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] delegate read/write access state to java when unclear
- don't create java detector on each call KTIJ-30448 GitOrigin-RevId: 2e3343e0a18d96c82f78e6ab48d004b34c2ec169
This commit is contained in:
committed by
intellij-monorepo-bot
parent
d74acd35ce
commit
b821dcb2e9
+4
-2
@@ -18,7 +18,9 @@ class KotlinReadWriteAccessDetector : ReadWriteAccessDetector() {
|
||||
val INSTANCE = KotlinReadWriteAccessDetector()
|
||||
}
|
||||
|
||||
override fun isReadWriteAccessible(element: PsiElement) = element is KtVariableDeclaration || element is KtParameter || JavaReadWriteAccessDetector().isReadWriteAccessible(element)
|
||||
private val javaReadWriteAccessDetector = JavaReadWriteAccessDetector()
|
||||
|
||||
override fun isReadWriteAccessible(element: PsiElement) = element is KtVariableDeclaration || element is KtParameter || javaReadWriteAccessDetector.isReadWriteAccessible(element)
|
||||
|
||||
override fun isDeclarationWriteAccess(element: PsiElement) = isReadWriteAccessible(element)
|
||||
|
||||
@@ -47,7 +49,7 @@ class KotlinReadWriteAccessDetector : ReadWriteAccessDetector() {
|
||||
|
||||
override fun getExpressionAccess(expression: PsiElement): Access {
|
||||
if (expression !is KtExpression) { //TODO: there should be a more correct scheme of access type detection for cross-language references
|
||||
return JavaReadWriteAccessDetector().getExpressionAccess(expression)
|
||||
return javaReadWriteAccessDetector.getExpressionAccess(expression)
|
||||
}
|
||||
|
||||
return when (expression.readWriteAccess(useResolveForReadWrite = true)) {
|
||||
|
||||
Reference in New Issue
Block a user