Skip to content

Commit efc9579

Browse files
committed
Add Self annotation baseId
1 parent e48bffc commit efc9579

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ open class FirTypeResolveTransformer(
247247
withScopeCleanup {
248248
firClass.transformAnnotations(this, null)
249249

250-
val isSelf = firClass.annotations.any { it.fqName(session)?.asString() == "kotlin.Self" }
250+
val isSelf = firClass.annotations.any { it.classId == StandardClassIds.Annotations.Self }
251251

252252
val params = firClass.typeParameters
253253
if (params is MutableList && isSelf) {

compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.declarations.utils.isCompanion
1515
import org.jetbrains.kotlin.fir.declarations.utils.isInner
1616
import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess
1717
import org.jetbrains.kotlin.fir.expressions.FirWhenExpression
18+
import org.jetbrains.kotlin.fir.expressions.classId
1819
import org.jetbrains.kotlin.fir.resolve.*
1920
import org.jetbrains.kotlin.fir.resolve.calls.ImplicitExtensionReceiverValue
2021
import org.jetbrains.kotlin.fir.resolve.calls.ImplicitReceiverValue
@@ -40,6 +41,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
4041
import org.jetbrains.kotlin.fir.types.*
4142
import org.jetbrains.kotlin.name.Name
4243
import org.jetbrains.kotlin.name.SpecialNames.UNDERSCORE_FOR_UNUSED_VAR
44+
import org.jetbrains.kotlin.name.StandardClassIds
4345

4446
class BodyResolveContext(
4547
val returnTypeCalculator: ReturnTypeCalculator,
@@ -447,7 +449,7 @@ class BodyResolveContext(
447449

448450
val typeParameterScope = (owner as? FirRegularClass)?.typeParameterScope()
449451
val selfTypeScope: FirSelfTypeScope? =
450-
owner.annotations.find { it.fqName(holder.session)?.asString() == "kotlin.Self" }?.let { FirSelfTypeScope(owner) }
452+
owner.annotations.find { it.classId == StandardClassIds.Annotations.Self }?.let { FirSelfTypeScope(owner) }
451453

452454
val forMembersResolution =
453455
staticsAndCompanion

core/compiler.common/src/org/jetbrains/kotlin/name/StandardClassIds.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,8 @@ object StandardClassIds {
163163

164164
val WasExperimental = "WasExperimental".baseId()
165165

166+
val Self = "Self".baseId()
167+
166168
object Java {
167169
val Deprecated = "Deprecated".javaLangId()
168170
val Repeatable = "Repeatable".javaAnnotationId()
@@ -204,7 +206,9 @@ object StandardClassIds {
204206
private fun String.baseId() = ClassId(StandardClassIds.BASE_KOTLIN_PACKAGE, Name.identifier(this))
205207
private fun ClassId.unsignedId() = ClassId(StandardClassIds.BASE_KOTLIN_PACKAGE, Name.identifier("U" + shortClassName.identifier))
206208
private fun String.reflectId() = ClassId(StandardClassIds.BASE_REFLECT_PACKAGE, Name.identifier(this))
207-
private fun Name.primitiveArrayId() = ClassId(StandardClassIds.Array.packageFqName, Name.identifier(identifier + StandardClassIds.Array.shortClassName.identifier))
209+
private fun Name.primitiveArrayId() =
210+
ClassId(StandardClassIds.Array.packageFqName, Name.identifier(identifier + StandardClassIds.Array.shortClassName.identifier))
211+
208212
private fun String.collectionsId() = ClassId(StandardClassIds.BASE_COLLECTIONS_PACKAGE, Name.identifier(this))
209213
private fun String.rangesId() = ClassId(StandardClassIds.BASE_RANGES_PACKAGE, Name.identifier(this))
210214
private fun String.annotationId() = ClassId(StandardClassIds.BASE_ANNOTATION_PACKAGE, Name.identifier(this))

0 commit comments

Comments
 (0)