[FIR] Remove some rare used utilities
This commit is contained in:
committed by
Space Team
parent
b53c4a6353
commit
7334694fd9
+2
-2
@@ -15,13 +15,13 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isConst
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isFinal
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.referredVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.buildConstExpression
|
||||
import org.jetbrains.kotlin.fir.psi
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.toResolvedPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.references.toResolvedVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
@@ -48,7 +48,7 @@ internal object FirCompileTimeConstantEvaluator {
|
||||
): FirConstExpression<*>? =
|
||||
when (fir) {
|
||||
is FirPropertyAccessExpression -> {
|
||||
when (val referredVariable = fir.referredVariableSymbol) {
|
||||
when (val referredVariable = fir.calleeReference.toResolvedVariableSymbol()) {
|
||||
is FirPropertySymbol -> {
|
||||
if (referredVariable.callableId.isStringLength) {
|
||||
evaluate(fir.explicitReceiver, mode)?.evaluateStringLength()
|
||||
|
||||
+2
-2
@@ -15,10 +15,10 @@ import org.jetbrains.kotlin.fir.analysis.cfa.util.traverse
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isLateInit
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.referredPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.isCatchParameter
|
||||
import org.jetbrains.kotlin.fir.references.toResolvedPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.resolve.dfa.cfg.*
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
@@ -61,7 +61,7 @@ object FirPropertyInitializationAnalyzer : AbstractFirPropertyInitializationChec
|
||||
}
|
||||
|
||||
private val CFGNode<*>.propertySymbol: FirPropertySymbol?
|
||||
get() = (fir as? FirQualifiedAccess)?.referredPropertySymbol
|
||||
get() = (fir as? FirQualifiedAccess)?.calleeReference?.toResolvedPropertySymbol()
|
||||
|
||||
override fun visitVariableAssignmentNode(node: VariableAssignmentNode) {
|
||||
val symbol = node.propertySymbol ?: return
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@ package org.jetbrains.kotlin.fir.analysis.cfa.util
|
||||
import org.jetbrains.kotlin.contracts.description.isInPlace
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.referredPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.references.toResolvedPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.resolve.dfa.cfg.*
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirSyntheticPropertySymbol
|
||||
@@ -56,7 +56,7 @@ class LocalPropertyAndCapturedWriteCollector private constructor() : ControlFlow
|
||||
}
|
||||
|
||||
override fun visitVariableAssignmentNode(node: VariableAssignmentNode) {
|
||||
val symbol = node.fir.referredPropertySymbol ?: return
|
||||
val symbol = node.fir.calleeReference.toResolvedPropertySymbol() ?: return
|
||||
if (symbol is FirSyntheticPropertySymbol) {
|
||||
symbols[symbol] = true
|
||||
return
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@ package org.jetbrains.kotlin.fir.analysis.cfa.util
|
||||
import kotlinx.collections.immutable.PersistentMap
|
||||
import kotlinx.collections.immutable.persistentMapOf
|
||||
import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.referredPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||
import org.jetbrains.kotlin.fir.references.toResolvedPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.resolve.dfa.cfg.*
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
|
||||
@@ -25,7 +25,7 @@ class PropertyInitializationInfoCollector(
|
||||
data: Collection<Pair<EdgeLabel, PathAwarePropertyInitializationInfo>>
|
||||
): PathAwarePropertyInitializationInfo {
|
||||
val dataForNode = visitNode(node, data)
|
||||
val symbol = node.fir.referredPropertySymbol ?: return dataForNode
|
||||
val symbol = node.fir.calleeReference.toResolvedPropertySymbol() ?: return dataForNode
|
||||
return if (symbol !in localProperties) {
|
||||
dataForNode
|
||||
} else {
|
||||
|
||||
+2
-2
@@ -8,10 +8,10 @@ package org.jetbrains.kotlin.fir.resolve.dfa
|
||||
import org.jetbrains.kotlin.contracts.description.isInPlace
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.referredPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
import org.jetbrains.kotlin.fir.references.toResolvedPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -55,7 +55,7 @@ internal class FirLocalVariableAssignmentAnalyzer {
|
||||
if (assignedLocalVariablesByFunction == null) return false
|
||||
|
||||
val realFir = fir.unwrapElement() as? FirQualifiedAccessExpression ?: return false
|
||||
val property = realFir.referredPropertySymbol?.fir ?: return false
|
||||
val property = realFir.calleeReference.toResolvedPropertySymbol()?.fir ?: return false
|
||||
// Have data => have a root function => functionScopes is not empty.
|
||||
return property in functionScopes.top().second || postponedLambdas.all().any { lambdas ->
|
||||
// Control-flow-postponed lambdas' assignments should be in `functionScopes.top()`.
|
||||
|
||||
+2
-16
@@ -6,22 +6,14 @@
|
||||
package org.jetbrains.kotlin.fir.declarations.utils
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||
import org.jetbrains.kotlin.fir.references.toResolvedVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.types.coneTypeSafe
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
|
||||
val FirTypeAlias.expandedConeType: ConeClassLikeType? get() = expandedTypeRef.coneTypeSafe()
|
||||
|
||||
val FirClassLikeDeclaration.classId
|
||||
get() = when (this) {
|
||||
is FirClass -> symbol.classId
|
||||
is FirTypeAlias -> symbol.classId
|
||||
}
|
||||
|
||||
val FirClass.classId: ClassId get() = symbol.classId
|
||||
val FirClassLikeDeclaration.classId: ClassId
|
||||
get() = symbol.classId
|
||||
|
||||
val FirClass.superConeTypes: List<ConeClassLikeType> get() = superTypeRefs.mapNotNull { it.coneTypeSafe() }
|
||||
|
||||
@@ -31,12 +23,6 @@ val FirClass.anonymousInitializers: List<FirAnonymousInitializer>
|
||||
val FirClass.delegateFields: List<FirField>
|
||||
get() = declarations.filterIsInstance<FirField>().filter { it.isSynthetic }
|
||||
|
||||
val FirQualifiedAccess.referredVariableSymbol: FirVariableSymbol<*>?
|
||||
get() = calleeReference.toResolvedVariableSymbol()
|
||||
|
||||
val FirQualifiedAccess.referredPropertySymbol: FirPropertySymbol?
|
||||
get() = referredVariableSymbol as? FirPropertySymbol
|
||||
|
||||
inline val FirDeclaration.isJava: Boolean
|
||||
get() = origin is FirDeclarationOrigin.Java
|
||||
inline val FirDeclaration.isJavaSource: Boolean
|
||||
|
||||
Reference in New Issue
Block a user