Rename: DescriptorBasedIr -> ObsoleteDescriptorBasedAPI

This commit is contained in:
Mikhail Glukhikh
2020-06-09 17:04:30 +03:00
parent cbbb497edf
commit ab5cb13dae
121 changed files with 320 additions and 334 deletions
@@ -17,7 +17,7 @@
package org.jetbrains.kotlin.backend.common
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.ir.declarations.IrFunction
@@ -31,7 +31,7 @@ import java.util.*
class Closure(val capturedValues: List<ValueDescriptor>)
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
abstract class AbstractClosureAnnotator : IrElementVisitorVoid {
protected abstract fun recordFunctionClosure(functionDescriptor: FunctionDescriptor, closure: Closure)
protected abstract fun recordClassClosure(classDescriptor: ClassDescriptor, closure: Closure)
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.backend.common
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.isEffectivelyExternal
typealias ReportError = (element: IrElement, message: String) -> Unit
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
class CheckIrElementVisitor(
val irBuiltIns: IrBuiltIns,
val reportError: ReportError,
@@ -17,8 +17,7 @@
package org.jetbrains.kotlin.backend.common
import org.jetbrains.kotlin.descriptors.VariableDescriptor
import org.jetbrains.kotlin.descriptors.impl.LocalVariableDescriptor
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.IrVariable
import org.jetbrains.kotlin.ir.descriptors.WrappedVariableDescriptor
@@ -30,7 +29,7 @@ import org.jetbrains.kotlin.ir.util.DescriptorsRemapper
import org.jetbrains.kotlin.ir.visitors.acceptVoid
@Suppress("UNCHECKED_CAST")
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
fun <T : IrElement> T.deepCopyWithVariables(): T {
val descriptorsRemapper = object : DescriptorsRemapper {
override fun remapDeclaredVariable(descriptor: VariableDescriptor) = WrappedVariableDescriptor()
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.backend.common
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.descriptors.*
@@ -51,7 +51,7 @@ object DescriptorsToIrRemapper : DescriptorsRemapper {
WrappedValueParameterDescriptor(descriptor.annotations, descriptor.source)
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
object WrappedDescriptorPatcher : IrElementVisitorVoid {
override fun visitElement(element: IrElement) {
element.acceptChildrenVoid(this)
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.backend.common
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.builders.Scope
@@ -102,7 +102,7 @@ abstract class IrElementTransformerVoidWithContext : IrElementTransformerVoid()
protected val allScopes get() = scopeStack
protected val currentDeclarationParent get() = scopeStack.lastOrNull { it.irElement is IrDeclarationParent }?.irElement as? IrDeclarationParent
@DescriptorBasedIr
@ObsoleteDescriptorBasedAPI
fun printScopeStack() {
scopeStack.forEach { println(it.scope.scopeOwner) }
}
@@ -140,7 +140,7 @@ abstract class IrElementTransformerVoidWithContext : IrElementTransformerVoid()
}
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
abstract class IrElementVisitorVoidWithContext : IrElementVisitorVoid {
private val scopeStack = mutableListOf<ScopeWithIr>()
@@ -201,7 +201,7 @@ abstract class IrElementVisitorVoidWithContext : IrElementVisitorVoid {
protected val parentScope get() = if (scopeStack.size < 2) null else scopeStack[scopeStack.size - 2]
protected val allScopes get() = scopeStack
@DescriptorBasedIr
@ObsoleteDescriptorBasedAPI
fun printScopeStack() {
scopeStack.forEach { println(it.scope.scopeOwner) }
}
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.backend.common
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.ir.declarations.IrFunction
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
* It is also not guaranteed that each returned call is detected as tail recursion by the frontend.
* However any returned call can be correctly optimized as tail recursion.
*/
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
fun collectTailRecursionCalls(irFunction: IrFunction): Set<IrCall> {
if ((irFunction as? IrSimpleFunction)?.isTailrec != true) {
return emptySet()
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor
import org.jetbrains.kotlin.descriptors.findClassAcrossModuleDependencies
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.IrFunction
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
import org.jetbrains.kotlin.ir.declarations.IrPackageFragment
@@ -111,7 +111,7 @@ open class BuiltinSymbolsBase(protected val irBuiltIns: IrBuiltIns, protected va
val longProgression = progression("LongProgression")
val progressionClasses = listOfNotNull(charProgression, intProgression, longProgression, uIntProgression, uLongProgression)
@DescriptorBasedIr
@ObsoleteDescriptorBasedAPI
val progressionClassesTypes = progressionClasses.map { it.descriptor.defaultType }.toSet()
val getProgressionLastElementByReturnType = builtInsPackage("kotlin", "internal")
@@ -147,7 +147,7 @@ open class BuiltinSymbolsBase(protected val irBuiltIns: IrBuiltIns, protected va
val integerClasses = listOf(byte, short, int, long)
@DescriptorBasedIr
@ObsoleteDescriptorBasedAPI
val integerClassesTypes = integerClasses.map { it.descriptor.defaultType }
val arrayOf = getSimpleFunction(Name.identifier("arrayOf")) {
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.backend.common.ir
import org.jetbrains.kotlin.backend.common.lower.VariableRemapper
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.*
@@ -87,7 +87,7 @@ private fun IrBody.move(
// TODO use a generic inliner (e.g. JS/Native's FunctionInlining.Inliner)
// Inline simple function calls without type parameters, default parameters, or varargs.
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
fun IrFunction.inline(target: IrDeclarationParent, arguments: List<IrValueDeclaration> = listOf()): IrReturnableBlock =
IrReturnableBlockImpl(startOffset, endOffset, returnType, IrReturnableBlockSymbolImpl(descriptor), null, symbol).apply {
statements += body!!.move(this@inline, target, symbol, valueParameters.zip(arguments).toMap()).statements
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.Scope
@@ -131,7 +131,7 @@ fun IrCall.getAnnotationClass(): IrClass {
val IrTypeParametersContainer.classIfConstructor get() = if (this is IrConstructor) parentAsClass else this
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
fun IrValueParameter.copyTo(
irFunction: IrFunction,
origin: IrDeclarationOrigin = this.origin,
@@ -174,7 +174,7 @@ fun IrValueParameter.copyTo(
}
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
fun IrTypeParameter.copyToWithoutSuperTypes(
target: IrTypeParametersContainer,
index: Int = this.index,
@@ -188,7 +188,7 @@ fun IrTypeParameter.copyToWithoutSuperTypes(
}
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
fun IrFunction.copyReceiverParametersFrom(from: IrFunction) {
dispatchReceiverParameter = from.dispatchReceiverParameter?.let {
IrValueParameterImpl(it.startOffset, it.endOffset, it.origin, it.descriptor, it.type, it.varargElementType).also {
@@ -461,7 +461,7 @@ fun IrClass.createParameterDeclarations() {
}
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
fun IrFunction.createDispatchReceiverParameter(origin: IrDeclarationOrigin? = null) {
assert(dispatchReceiverParameter == null)
@@ -553,7 +553,7 @@ fun IrClass.addFakeOverridesViaIncorrectHeuristic(implementedMembers: List<IrSim
}
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
fun createStaticFunctionWithReceivers(
irParent: IrDeclarationParent,
name: Name,
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.backend.common.ir.*
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.declarations.*
@@ -39,7 +39,7 @@ import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.visitors.*
import org.jetbrains.kotlin.name.Name
@DescriptorBasedIr
@ObsoleteDescriptorBasedAPI
abstract class AbstractSuspendFunctionsLowering<C : CommonBackendContext>(val context: C) : FileLoweringPass {
protected object STATEMENT_ORIGIN_COROUTINE_IMPL : IrStatementOriginImpl("COROUTINE_IMPL")
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.backend.common.ir.*
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.builders.declarations.addValueParameter
@@ -495,7 +495,7 @@ private fun IrFunction.generateDefaultsFunction(
return null
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
private fun IrFunction.generateDefaultsFunctionImpl(
context: CommonBackendContext,
newOrigin: IrDeclarationOrigin,
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
@@ -229,7 +229,7 @@ class LocalDeclarationsLowering(
abbreviation.annotations
)
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
private inner class LocalDeclarationsTransformer(
val irElement: IrElement, val container: IrDeclaration, val classesToLower: Set<IrClass>?
) {
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.backend.common.lower
import org.jetbrains.kotlin.backend.common.BackendContext
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.impl.ValueParameterDescriptorImpl
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
@@ -64,7 +64,7 @@ open class VariableRemapper(val mapping: Map<IrValueParameter, IrValueDeclaratio
mapping[value]
}
@DescriptorBasedIr
@ObsoleteDescriptorBasedAPI
class VariableRemapperDesc(val mapping: Map<ValueDescriptor, IrValueParameter>) : AbstractVariableRemapper() {
override fun remapVariable(value: IrValueDeclaration): IrValueDeclaration? =
mapping[value.descriptor]
@@ -160,7 +160,7 @@ open class IrBuildingTransformer(private val context: BackendContext) : IrElemen
}
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
fun IrConstructor.callsSuper(irBuiltIns: IrBuiltIns): Boolean {
val constructedClass = parent as IrClass
val superClass = constructedClass.superTypes
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.backend.common.ir.Symbols
import org.jetbrains.kotlin.backend.common.ir.createTemporaryVariableWithWrappedDescriptor
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
@@ -37,7 +37,7 @@ interface InlineFunctionResolver {
fun getFunctionDeclaration(symbol: IrFunctionSymbol): IrFunction
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
open class DefaultInlineFunctionResolver(open val context: CommonBackendContext) : InlineFunctionResolver {
override fun getFunctionDeclaration(symbol: IrFunctionSymbol): IrFunction {
val descriptor = symbol.descriptor.original
@@ -58,7 +58,7 @@ open class DefaultInlineFunctionResolver(open val context: CommonBackendContext)
}
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
class FunctionInlining(
val context: CommonBackendContext,
val inlineFunctionResolver: InlineFunctionResolver
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.backend.common.lower.matchers.Quantifier
import org.jetbrains.kotlin.backend.common.lower.matchers.SimpleCalleeMatcher
import org.jetbrains.kotlin.backend.common.lower.matchers.createIrCallMatcher
import org.jetbrains.kotlin.backend.common.lower.matchers.singleArgumentExtension
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
import org.jetbrains.kotlin.ir.declarations.IrVariable
@@ -556,7 +556,7 @@ internal class CharSequenceIndicesHandler(context: CommonBackendContext) : Indic
}
/** Builds a [HeaderInfo] for calls to reverse an iterable. */
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
internal class ReversedHandler(context: CommonBackendContext, private val visitor: HeaderInfoBuilder) :
HeaderInfoFromCallHandler<Nothing?> {
@@ -10,7 +10,7 @@ package org.jetbrains.kotlin.backend.common.lower.loops
import org.jetbrains.kotlin.backend.common.CommonBackendContext
import org.jetbrains.kotlin.backend.common.ir.Symbols
import org.jetbrains.kotlin.backend.common.lower.DeclarationIrBuilder
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.builders.irChar
import org.jetbrains.kotlin.ir.builders.irInt
import org.jetbrains.kotlin.ir.builders.irLong
@@ -190,7 +190,7 @@ internal abstract class UnsignedProgressionType(
}
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
internal class UIntProgressionType(symbols: Symbols<CommonBackendContext>) :
UnsignedProgressionType(
symbols,
@@ -208,7 +208,7 @@ internal class UIntProgressionType(symbols: Symbols<CommonBackendContext>) :
override fun DeclarationIrBuilder.zeroStepExpression() = irInt(0)
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
internal class ULongProgressionType(symbols: Symbols<CommonBackendContext>) :
UnsignedProgressionType(
symbols,
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.backend.common.lower.matchers
import org.jetbrains.kotlin.ir.DescriptorBasedIr
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.IrFunction
import org.jetbrains.kotlin.ir.declarations.IrValueParameter
import org.jetbrains.kotlin.ir.types.IrType
@@ -52,7 +52,7 @@ internal class ParameterCountMatcher(
}
}
@OptIn(DescriptorBasedIr::class)
@OptIn(ObsoleteDescriptorBasedAPI::class)
internal class FqNameMatcher(
val restriction: (FqName) -> Boolean
) : IrFunctionMatcher {