IR: annotate obsolete API in IrPluginContext with ObsoleteDescriptorBasedAPI

This commit is contained in:
Alexander Udalov
2020-08-13 18:57:24 +02:00
parent 9961bd1fe1
commit 256f4449ce
9 changed files with 18 additions and 19 deletions
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.backend.common.extensions
import org.jetbrains.kotlin.backend.common.ir.BuiltinSymbolsBase
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.builders.IrGeneratorContext
import org.jetbrains.kotlin.ir.symbols.*
import org.jetbrains.kotlin.ir.util.ReferenceSymbolTable
@@ -19,16 +20,16 @@ import org.jetbrains.kotlin.resolve.BindingContext
interface IrPluginContext : IrGeneratorContext {
val languageVersionSettings: LanguageVersionSettings
@Deprecated("FrontEnd API shouldn't be accessed in Ir plugin environment")
@ObsoleteDescriptorBasedAPI
val moduleDescriptor: ModuleDescriptor
@Deprecated("FrontEnd API shouldn't be accessed in Ir plugin environment")
@ObsoleteDescriptorBasedAPI
val bindingContext: BindingContext
@Deprecated("FrontEnd API shouldn't be accessed in Ir plugin environment")
@ObsoleteDescriptorBasedAPI
val symbolTable: ReferenceSymbolTable
@Deprecated("FrontEnd API shouldn't be accessed in Ir plugin environment")
@ObsoleteDescriptorBasedAPI
val typeTranslator: TypeTranslator
val symbols: BuiltinSymbolsBase
@@ -42,4 +43,3 @@ interface IrPluginContext : IrGeneratorContext {
fun referenceFunctions(fqName: FqName): Collection<IrSimpleFunctionSymbol>
fun referenceProperties(fqName: FqName): Collection<IrPropertySymbol>
}
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.TypeAliasDescriptor
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.IrConstructor
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
import org.jetbrains.kotlin.ir.linkage.IrDeserializer
@@ -22,11 +23,13 @@ import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.scopes.MemberScope
open class IrPluginContextImpl(
open class IrPluginContextImpl constructor(
private val module: ModuleDescriptor,
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val bindingContext: BindingContext,
override val languageVersionSettings: LanguageVersionSettings,
private val st: ReferenceSymbolTable,
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val typeTranslator: TypeTranslator,
override val irBuiltIns: IrBuiltIns,
val linker: IrDeserializer,
@@ -35,7 +38,9 @@ open class IrPluginContextImpl(
override val platform: TargetPlatform? = module.platform
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val moduleDescriptor: ModuleDescriptor = module
@OptIn(ObsoleteDescriptorBasedAPI::class)
override val symbolTable: ReferenceSymbolTable = st
private fun resolveMemberScope(fqName: FqName): MemberScope? {