[IR] Deprecate to use fqName in IrPackageFragment

This commit is contained in:
Ivan Kylchik
2023-06-01 12:23:47 +02:00
committed by Space Team
parent b9856320cf
commit 622aeff007
2 changed files with 23 additions and 0 deletions
@@ -26,4 +26,15 @@ abstract class IrPackageFragment : IrElementBase(), IrDeclarationContainer, IrSy
abstract val packageFragmentDescriptor: PackageFragmentDescriptor
abstract var packageFqName: FqName
@Deprecated(
message = "Please use `packageFqName` instead",
replaceWith = ReplaceWith("packageFqName"),
level = DeprecationLevel.ERROR,
)
var fqName: FqName
get() = packageFqName
set(value) {
packageFqName = value
}
}
@@ -536,6 +536,18 @@ object IrTree : AbstractTreeBuilder() {
+symbol(packageFragmentSymbolType)
+field("packageFragmentDescriptor", type(Packages.descriptors, "PackageFragmentDescriptor"), mutable = false)
+field("packageFqName", type<FqName>())
+field("fqName", type<FqName>()) {
baseGetter = code("packageFqName")
generationCallback = {
val deprecatedAnnotation = AnnotationSpec.builder(Deprecated::class)
.addMember(code("message = \"Please use `packageFqName` instead\""))
.addMember(code("replaceWith = ReplaceWith(\"packageFqName\")"))
.addMember(code("level = DeprecationLevel.ERROR"))
.build()
addAnnotation(deprecatedAnnotation)
setter(FunSpec.setterBuilder().addParameter("value", FqName::class).addCode(code("packageFqName = value")).build())
}
}
}
val externalPackageFragment: ElementConfig by element(Declaration) {
visitorParent = packageFragment