FIR IDE: delegate light classes is valid to corresponding symbol validity check
This commit is contained in:
+4
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.asJava.elements.KtLightField
|
||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||
import org.jetbrains.kotlin.idea.asJava.FirLightClassForClassOrObjectSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.analyzeWithSymbolAsContext
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassKind
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassOrObjectSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtConstructorSymbol
|
||||
@@ -62,5 +63,8 @@ internal class FirLightAnnotationClassSymbol(
|
||||
|
||||
override fun hashCode(): Int = classOrObjectSymbol.hashCode()
|
||||
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && classOrObjectSymbol.isValid()
|
||||
|
||||
override fun copy(): FirLightClassForClassOrObjectSymbol = FirLightAnnotationClassSymbol(classOrObjectSymbol, manager)
|
||||
}
|
||||
+3
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.idea.asJava.FirLightClassForSymbol
|
||||
import org.jetbrains.kotlin.idea.asJava.FirLightField
|
||||
import org.jetbrains.kotlin.idea.asJava.hasJvmFieldAnnotation
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.analyzeWithSymbolAsContext
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtAnonymousObjectSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertySymbol
|
||||
import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind
|
||||
@@ -139,6 +140,8 @@ internal class FirLightAnonymousClassForSymbol(
|
||||
override fun copy() =
|
||||
FirLightAnonymousClassForSymbol(anonymousObjectSymbol, manager)
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && anonymousObjectSymbol.isValid()
|
||||
|
||||
override fun toString() =
|
||||
"${this::class.java.simpleName}:${kotlinOrigin?.getDebugText()}"
|
||||
}
|
||||
+3
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.idea.asJava.FirLightClassModifierList
|
||||
import org.jetbrains.kotlin.idea.asJava.FirLightPsiJavaCodeReferenceElementWithNoReference
|
||||
import org.jetbrains.kotlin.idea.asJava.classes.createMethods
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.analyzeWithSymbolAsContext
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtEnumEntrySymbol
|
||||
import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
@@ -134,4 +135,6 @@ internal class FirLightClassForEnumEntry(
|
||||
}
|
||||
|
||||
override fun getOwnInnerClasses(): MutableList<PsiClass> = mutableListOf()
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && enumEntrySymbol.isValid()
|
||||
}
|
||||
|
||||
+3
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.asJava.elements.KtLightField
|
||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||
import org.jetbrains.kotlin.idea.asJava.classes.*
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.analyzeWithSymbolAsContext
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.*
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolKind
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolVisibility
|
||||
@@ -218,4 +219,6 @@ internal class FirLightClassForSymbol(
|
||||
|
||||
override fun copy(): FirLightClassForSymbol =
|
||||
FirLightClassForSymbol(classOrObjectSymbol, manager)
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && classOrObjectSymbol.isValid()
|
||||
}
|
||||
+3
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.asJava.elements.KtLightField
|
||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||
import org.jetbrains.kotlin.idea.asJava.FirLightClassForClassOrObjectSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.analyzeWithSymbolAsContext
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassKind
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassOrObjectSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtFunctionSymbol
|
||||
@@ -66,4 +67,6 @@ internal class FirLightInterfaceClassSymbol(
|
||||
}
|
||||
|
||||
override fun getExtendsList(): PsiReferenceList? = _extendsList
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && classOrObjectSymbol.isValid()
|
||||
}
|
||||
+3
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.asJava.classes
|
||||
import com.intellij.psi.*
|
||||
import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||
import org.jetbrains.kotlin.idea.asJava.*
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassKind
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassOrObjectSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolKind
|
||||
@@ -49,4 +50,6 @@ internal abstract class FirLightInterfaceOrAnnotationClassSymbol(
|
||||
override fun isInterface(): Boolean = true
|
||||
|
||||
override fun isEnum(): Boolean = false
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && classOrObjectSymbol.isValid()
|
||||
}
|
||||
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||
import org.jetbrains.kotlin.asJava.classes.cannotModify
|
||||
import org.jetbrains.kotlin.asJava.elements.KtLightField
|
||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||
import javax.swing.Icon
|
||||
|
||||
|
||||
+3
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.asJava.classes.*
|
||||
import org.jetbrains.kotlin.asJava.elements.FirLightIdentifier
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.idea.asJava.*
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtEnumEntrySymbol
|
||||
import org.jetbrains.kotlin.idea.util.ifTrue
|
||||
import org.jetbrains.kotlin.psi.KtEnumEntry
|
||||
@@ -79,6 +80,8 @@ internal class FirLightFieldForEnumEntry(
|
||||
|
||||
override fun getNameIdentifier(): PsiIdentifier = _identifier
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && enumEntrySymbol.isValid()
|
||||
|
||||
|
||||
override fun equals(other: Any?): Boolean =
|
||||
other is FirLightFieldForEnumEntry &&
|
||||
|
||||
+3
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin
|
||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||
import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||
import org.jetbrains.kotlin.asJava.elements.FirLightIdentifier
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassOrObjectSymbol
|
||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||
|
||||
@@ -60,4 +61,6 @@ internal class FirLightFieldForObjectSymbol(
|
||||
objectSymbol == other.objectSymbol)
|
||||
|
||||
override fun hashCode(): Int = kotlinOrigin.hashCode()
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && objectSymbol.isValid()
|
||||
}
|
||||
+3
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||
import org.jetbrains.kotlin.asJava.elements.FirLightIdentifier
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtKotlinPropertySymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertySymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSimpleConstantValue
|
||||
@@ -113,4 +114,6 @@ internal class FirLightFieldForPropertySymbol(
|
||||
propertySymbol == other.propertySymbol)
|
||||
|
||||
override fun hashCode(): Int = kotlinOrigin.hashCode()
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && propertySymbol.isValid()
|
||||
}
|
||||
+3
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.asJava.elements.FirLightIdentifier
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.idea.asJava.parameters.FirLightSetterParameterForSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.*
|
||||
import org.jetbrains.kotlin.idea.util.ifTrue
|
||||
import org.jetbrains.kotlin.load.java.JvmAbi.getterName
|
||||
@@ -186,4 +187,6 @@ internal class FirLightAccessorMethodForSymbol(
|
||||
}
|
||||
|
||||
override fun getParameterList(): PsiParameterList = _parametersList
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && propertyAccessorSymbol.isValid()
|
||||
}
|
||||
+3
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.asJava
|
||||
import com.intellij.psi.*
|
||||
import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin
|
||||
import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtConstructorSymbol
|
||||
|
||||
internal class FirLightConstructorForSymbol(
|
||||
@@ -60,4 +61,6 @@ internal class FirLightConstructorForSymbol(
|
||||
constructorSymbol == other.constructorSymbol)
|
||||
|
||||
override fun hashCode(): Int = kotlinOrigin.hashCode()
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && constructorSymbol.isValid()
|
||||
}
|
||||
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.asJava.classes.cannotModify
|
||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||
import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtCallableSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotatedSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolVisibility
|
||||
|
||||
+3
@@ -10,6 +10,7 @@ import com.intellij.psi.impl.light.LightParameterListBuilder
|
||||
import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin
|
||||
import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||
import org.jetbrains.kotlin.asJava.elements.FirLightIdentifier
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtFunctionLikeSymbol
|
||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||
import java.util.*
|
||||
@@ -60,4 +61,6 @@ internal abstract class FirLightMethodForSymbol(
|
||||
override fun getParameterList(): PsiParameterList = _parametersList
|
||||
|
||||
override val kotlinOrigin: KtDeclaration? = functionSymbol.psi as? KtDeclaration
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && functionSymbol.isValid()
|
||||
}
|
||||
+3
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin
|
||||
import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.idea.asJava.elements.FirLightTypeParameterListForSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtFunctionSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.types.isUnit
|
||||
import org.jetbrains.kotlin.idea.util.ifTrue
|
||||
@@ -137,4 +138,6 @@ internal class FirLightSimpleMethodForSymbol(
|
||||
this === other || (other is FirLightSimpleMethodForSymbol && functionSymbol == other.functionSymbol)
|
||||
|
||||
override fun hashCode(): Int = functionSymbol.hashCode()
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && functionSymbol.isValid()
|
||||
}
|
||||
+3
@@ -12,6 +12,7 @@ import com.intellij.psi.PsiType
|
||||
import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||
import org.jetbrains.kotlin.codegen.AsmUtil
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtCallableSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations
|
||||
@@ -83,6 +84,8 @@ internal class FirLightParameterForReceiver private constructor(
|
||||
receiverTypeAndAnnotations == other.receiverTypeAndAnnotations)
|
||||
|
||||
override fun hashCode(): Int = kotlinOrigin.hashCode()
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && context.isValid()
|
||||
}
|
||||
|
||||
|
||||
|
||||
+3
@@ -9,6 +9,7 @@ import com.intellij.psi.PsiAnnotation
|
||||
import com.intellij.psi.PsiModifierList
|
||||
import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtConstructorParameterSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtParameterSymbol
|
||||
import org.jetbrains.kotlin.idea.util.ifTrue
|
||||
@@ -46,4 +47,6 @@ internal class FirLightParameterForSymbol(
|
||||
(other is FirLightParameterForSymbol && parameterSymbol == other.parameterSymbol)
|
||||
|
||||
override fun hashCode(): Int = kotlinOrigin.hashCode()
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && parameterSymbol.isValid()
|
||||
}
|
||||
+3
@@ -10,6 +10,7 @@ import com.intellij.psi.PsiModifierList
|
||||
import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.idea.asJava.*
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtParameterSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertySymbol
|
||||
|
||||
@@ -48,4 +49,6 @@ internal class FirLightSetterParameterForSymbol(
|
||||
(other is FirLightSetterParameterForSymbol && parameterSymbol == other.parameterSymbol)
|
||||
|
||||
override fun hashCode(): Int = kotlinOrigin.hashCode()
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && parameterSymbol.isValid()
|
||||
}
|
||||
+3
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||
import org.jetbrains.kotlin.idea.asJava.basicIsEquivalentTo
|
||||
import org.jetbrains.kotlin.idea.asJava.invalidAccess
|
||||
import org.jetbrains.kotlin.idea.asJava.mapSupertype
|
||||
import org.jetbrains.kotlin.idea.frontend.api.isValid
|
||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.types.KtClassType
|
||||
import org.jetbrains.kotlin.psi.KtTypeParameter
|
||||
@@ -162,4 +163,6 @@ internal class FirLightTypeParameter(
|
||||
override fun getContainingFile(): PsiFile = parent.containingFile
|
||||
override fun getTextOffset(): Int = kotlinOrigin?.startOffset ?: super.getTextOffset()
|
||||
override fun getStartOffsetInParent(): Int = kotlinOrigin?.startOffsetInParent ?: super.getStartOffsetInParent()
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && typeParameterSymbol.isValid()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user