[FIR] Fix all illegal usages of symbol.fir in checkers module
This commit is contained in:
committed by
teamcityserver
parent
e94d75d433
commit
22a4da024b
@@ -39,9 +39,13 @@ private object ContainingClassKey : FirDeclarationDataKey()
|
||||
var FirCallableDeclaration.containingClassAttr: ConeClassLikeLookupTag? by FirDeclarationDataRegistry.data(ContainingClassKey)
|
||||
var FirRegularClass.containingClassForLocalAttr: ConeClassLikeLookupTag? by FirDeclarationDataRegistry.data(ContainingClassKey)
|
||||
|
||||
val FirCallableDeclaration.isIntersectionOverride get() = origin == FirDeclarationOrigin.IntersectionOverride
|
||||
val FirCallableDeclaration.isSubstitutionOverride get() = origin == FirDeclarationOrigin.SubstitutionOverride
|
||||
val FirCallableDeclaration.isSubstitutionOrIntersectionOverride get() = isSubstitutionOverride || isIntersectionOverride
|
||||
val FirCallableDeclaration.isIntersectionOverride: Boolean get() = origin == FirDeclarationOrigin.IntersectionOverride
|
||||
val FirCallableDeclaration.isSubstitutionOverride: Boolean get() = origin == FirDeclarationOrigin.SubstitutionOverride
|
||||
val FirCallableDeclaration.isSubstitutionOrIntersectionOverride: Boolean get() = isSubstitutionOverride || isIntersectionOverride
|
||||
|
||||
val FirCallableSymbol<*>.isIntersectionOverride: Boolean get() = origin == FirDeclarationOrigin.IntersectionOverride
|
||||
val FirCallableSymbol<*>.isSubstitutionOverride: Boolean get() = origin == FirDeclarationOrigin.SubstitutionOverride
|
||||
val FirCallableSymbol<*>.isSubstitutionOrIntersectionOverride: Boolean get() = isSubstitutionOverride || isIntersectionOverride
|
||||
|
||||
inline val <reified D : FirCallableDeclaration> D.originalForSubstitutionOverride: D?
|
||||
get() = if (isSubstitutionOverride) originalForSubstitutionOverrideAttr else null
|
||||
|
||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.classId
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
@@ -57,6 +58,22 @@ fun FirClass.isPrimitiveNumberType(): Boolean = classId in PRIMITIVE_NUMBER_CLAS
|
||||
fun FirClass.isPrimitiveUnsignedNumberType(): Boolean = classId in PRIMITIVE_UNSIGNED_NUMBER_CLASS_IDS
|
||||
fun FirClass.isPrimitiveNumberOrUnsignedNumberType(): Boolean = isPrimitiveNumberType() || isPrimitiveUnsignedNumberType()
|
||||
|
||||
// --------------------------- symbols ---------------------------
|
||||
|
||||
fun FirClassSymbol<*>.isDouble(): Boolean = classId == StandardClassIds.Double
|
||||
fun FirClassSymbol<*>.isFloat(): Boolean = classId == StandardClassIds.Float
|
||||
fun FirClassSymbol<*>.isLong(): Boolean = classId == StandardClassIds.Long
|
||||
fun FirClassSymbol<*>.isInt(): Boolean = classId == StandardClassIds.Int
|
||||
fun FirClassSymbol<*>.isShort(): Boolean = classId == StandardClassIds.Short
|
||||
fun FirClassSymbol<*>.isByte(): Boolean = classId == StandardClassIds.Byte
|
||||
fun FirClassSymbol<*>.isBoolean(): Boolean = classId == StandardClassIds.Boolean
|
||||
fun FirClassSymbol<*>.isChar(): Boolean = classId == StandardClassIds.Char
|
||||
|
||||
fun FirClassSymbol<*>.isPrimitiveType(): Boolean = isPrimitiveNumberOrUnsignedNumberType() || isBoolean() || isByte() || isShort() || isChar()
|
||||
fun FirClassSymbol<*>.isPrimitiveNumberType(): Boolean = classId in PRIMITIVE_NUMBER_CLASS_IDS
|
||||
fun FirClassSymbol<*>.isPrimitiveUnsignedNumberType(): Boolean = classId in PRIMITIVE_UNSIGNED_NUMBER_CLASS_IDS
|
||||
fun FirClassSymbol<*>.isPrimitiveNumberOrUnsignedNumberType(): Boolean = isPrimitiveNumberType() || isPrimitiveUnsignedNumberType()
|
||||
|
||||
private val PRIMITIVE_NUMBER_CLASS_IDS: Set<ClassId> = setOf(
|
||||
StandardClassIds.Double, StandardClassIds.Float, StandardClassIds.Long, StandardClassIds.Int,
|
||||
StandardClassIds.Short, StandardClassIds.Byte
|
||||
|
||||
+1
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.fir.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
|
||||
// ---------------------- callables with status ----------------------
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.diagnostics
|
||||
|
||||
class ConeUnexpectedTypeArgumentsError(override val reason: String, val source: Any? = null) : ConeDiagnostic()
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
|
||||
class ConeUnexpectedTypeArgumentsError(override val reason: String, val source: FirSourceElement? = null) : ConeDiagnostic()
|
||||
|
||||
class ConeIntermediateDiagnostic(override val reason: String) : ConeDiagnostic()
|
||||
|
||||
@@ -20,6 +20,12 @@ sealed class FirClassLikeSymbol<D : FirClassLikeDeclaration>(
|
||||
) : FirClassifierSymbol<D>() {
|
||||
abstract override fun toLookupTag(): ConeClassLikeLookupTag
|
||||
|
||||
val deprecation: DeprecationsPerUseSite?
|
||||
get() {
|
||||
ensureResolved(FirResolvePhase.STATUS)
|
||||
return fir.deprecation
|
||||
}
|
||||
|
||||
override fun toString(): String = "${this::class.simpleName} ${classId.asString()}"
|
||||
}
|
||||
|
||||
|
||||
@@ -47,7 +47,10 @@ class FirIntersectionOverrideFunctionSymbol(
|
||||
|
||||
class FirConstructorSymbol(
|
||||
callableId: CallableId
|
||||
) : FirFunctionSymbol<FirConstructor>(callableId)
|
||||
) : FirFunctionSymbol<FirConstructor>(callableId) {
|
||||
val isPrimary: Boolean
|
||||
get() = fir.isPrimary
|
||||
}
|
||||
|
||||
open class FirAccessorSymbol(
|
||||
callableId: CallableId,
|
||||
|
||||
Reference in New Issue
Block a user