Skip to content

Commit

Permalink
Add missing @OptIn(ObsoleteDescriptorBasedAPI::class) in the codebase
Browse files Browse the repository at this point in the history
This is because the new IR tree generator applied the
ObsoleteDescriptorBasedAPI consistently, unlike the handwritten
version.
  • Loading branch information
mcpiroman committed Oct 29, 2021
1 parent bbe2389 commit 48c87b9
Show file tree
Hide file tree
Showing 20 changed files with 42 additions and 4 deletions.
Expand Up @@ -65,6 +65,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.runIf
import org.jetbrains.kotlin.utils.newLinkedHashMapWithExpectedSize
import java.io.File
import kotlin.collections.set
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI

object FirKotlinToJvmBytecodeCompiler {
fun compileModulesUsingFrontendIR(
Expand Down Expand Up @@ -282,6 +283,7 @@ object FirKotlinToJvmBytecodeCompiler {
return FirSessionFactory.ProviderAndScopeForIncrementalCompilation(packagePartProvider, incrementalCompilationScope)
}

@OptIn(ObsoleteDescriptorBasedAPI::class)
private fun CompilationContext.runBackend(
ktFiles: List<KtFile>,
fir2IrResult: Fir2IrResult,
Expand Down
Expand Up @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.backend.common.phaser.invokeToplevel
import org.jetbrains.kotlin.ir.backend.js.codegen.JsGenerationGranularity
import org.jetbrains.kotlin.ir.backend.js.ic.ModuleCache
import org.jetbrains.kotlin.ir.backend.js.ic.icCompile
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.backend.js.lower.generateJsTests
import org.jetbrains.kotlin.ir.backend.js.lower.moveBodilessDeclarationsToSeparatePlace
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformer
Expand Down Expand Up @@ -44,6 +45,7 @@ class LoweredIr(
val allModules: List<IrModuleFragment>
)

@OptIn(ObsoleteDescriptorBasedAPI::class)
fun compile(
depsDescriptors: ModulesStructure,
phaseConfig: PhaseConfig,
Expand Down
Expand Up @@ -23,6 +23,7 @@ import org.jetbrains.kotlin.js.config.RuntimeDiagnostic
import org.jetbrains.kotlin.library.resolver.KotlinResolvedLibrary
import org.jetbrains.kotlin.name.FqName
import java.io.PrintWriter
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI

fun prepareSingleLibraryIcCache(
project: Project,
Expand Down Expand Up @@ -184,6 +185,7 @@ fun lowerPreservingIcData(module: IrModuleFragment, context: JsIrBackendContext,
controller.currentStage = pirLowerings.size + 1
}

@OptIn(ObsoleteDescriptorBasedAPI::class)
private fun prepareIr(
depsDescriptor: ModulesStructure,
exportedDeclarations: Set<FqName> = emptySet(),
Expand Down
Expand Up @@ -321,6 +321,7 @@ fun actualizeCacheForModule(
}


@OptIn(ObsoleteDescriptorBasedAPI::class)
private fun actualizeCacheForModule(
library: KotlinLibrary,
configuration: CompilerConfiguration,
Expand Down
Expand Up @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.descriptors.konan.DeserializedKlibModuleOrigin
import org.jetbrains.kotlin.descriptors.konan.KlibModuleOrigin
import org.jetbrains.kotlin.idea.MainFunctionDetector
import org.jetbrains.kotlin.ir.IrBuiltIns
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrLinker
import org.jetbrains.kotlin.ir.builders.TranslationPluginContext
Expand Down Expand Up @@ -194,6 +195,7 @@ open class JvmIrCodegenFactory(
return result.toList()
}

@OptIn(ObsoleteDescriptorBasedAPI::class)
override fun getModuleChunkBackendInput(
wholeBackendInput: CodegenFactory.BackendInput,
sourceFiles: Collection<KtFile>,
Expand Down Expand Up @@ -252,6 +254,7 @@ open class JvmIrCodegenFactory(
)
}

@OptIn(ObsoleteDescriptorBasedAPI::class)
fun configureBuiltInsAndGenerateIrProvidersInFrontendIRMode(
irModuleFragment: IrModuleFragment,
symbolTable: SymbolTable,
Expand Down
Expand Up @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.impl.EmptyPackageFragmentDescriptor
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
import org.jetbrains.kotlin.ir.builders.declarations.buildClass
Expand Down Expand Up @@ -70,6 +71,7 @@ internal val generateMultifileFacadesPhase = makeCustomPhase<JvmBackendContext,
}
)

@OptIn(ObsoleteDescriptorBasedAPI::class)
private fun generateMultifileFacades(
module: IrModuleFragment,
context: JvmBackendContext,
Expand Down
Expand Up @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
import org.jetbrains.kotlin.backend.common.phaser.invokeToplevel
import org.jetbrains.kotlin.backend.wasm.ir2wasm.WasmCompiledModuleFragment
import org.jetbrains.kotlin.backend.wasm.ir2wasm.WasmModuleFragmentGenerator
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.backend.wasm.lower.markExportedDeclarations
import org.jetbrains.kotlin.ir.backend.js.MainModule
import org.jetbrains.kotlin.ir.backend.js.ModulesStructure
Expand All @@ -24,6 +25,7 @@ import java.io.ByteArrayOutputStream

class WasmCompilerResult(val wat: String, val js: String, val wasm: ByteArray)

@OptIn(ObsoleteDescriptorBasedAPI::class)
fun compileWasm(
depsDescriptors: ModulesStructure,
phaseConfig: PhaseConfig,
Expand Down
Expand Up @@ -23,11 +23,15 @@ import org.jetbrains.kotlin.ir.declarations.IrFile
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
import org.jetbrains.kotlin.name.Name

class IrModuleFragmentImpl(
override val descriptor: ModuleDescriptor,
class IrModuleFragmentImpl constructor(
descriptor: ModuleDescriptor,
override val irBuiltins: IrBuiltIns,
files: List<IrFile> = emptyList(),
) : IrModuleFragment() {
@ObsoleteDescriptorBasedAPI
override val descriptor: ModuleDescriptor = descriptor

@OptIn(ObsoleteDescriptorBasedAPI::class)
override val name: Name get() = descriptor.name // TODO

override val files: MutableList<IrFile> = files.toMutableList()
Expand Down
Expand Up @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.ir.util.fileOrNull
import org.jetbrains.kotlin.ir.util.isFakeOverride
import org.jetbrains.kotlin.library.impl.IrMemoryArrayWriter
import org.jetbrains.kotlin.library.impl.IrMemoryLongArrayWriter
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI

class IcSerializer(
irBuiltIns: IrBuiltIns,
Expand All @@ -37,6 +38,7 @@ class IcSerializer(

private val globalDeclarationTable = JsGlobalDeclarationTable(irBuiltIns)

@OptIn(ObsoleteDescriptorBasedAPI::class)
fun serializeDeclarations(moduleDeclarations: Iterable<IrDeclaration>): SerializedIcData {

// TODO serialize body carriers and new bodies as well
Expand Down
Expand Up @@ -30,8 +30,8 @@ import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.ir.IrBuiltIns
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.backend.js.ic.ICCache
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.backend.js.ic.SerializedIcData
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsIrLinker
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsIrModuleSerializer
Expand Down Expand Up @@ -645,6 +645,7 @@ class ModulesStructure(
md
}

@OptIn(ObsoleteDescriptorBasedAPI::class)
fun modulesWithCaches(allModules: Iterable<IrModuleFragment>): Set<IrModuleFragment> {
return allModules.filter { it.descriptor in loweredIcData }.toSet()
}
Expand All @@ -661,6 +662,7 @@ private fun getDescriptorForElement(
element: PsiElement
): DeclarationDescriptor = BindingContextUtils.getNotNull(context, BindingContext.DECLARATION_TO_DESCRIPTOR, element)

@OptIn(ObsoleteDescriptorBasedAPI::class)
fun serializeModuleIntoKlib(
moduleName: String,
project: Project,
Expand Down
Expand Up @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir
import org.jetbrains.kotlin.backend.common.overrides.FakeOverrideBuilder
import org.jetbrains.kotlin.backend.common.serialization.*
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrBuiltIns
import org.jetbrains.kotlin.ir.backend.js.JsMapping
import org.jetbrains.kotlin.ir.backend.js.ic.IcModuleDeserializer
Expand Down Expand Up @@ -82,6 +83,7 @@ class JsIrLinker(
return currentModuleDeserializer
}

@OptIn(ObsoleteDescriptorBasedAPI::class)
val modules
get() = deserializersForModules.values
.map { it.moduleFragment }
Expand Down
Expand Up @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.test.backend.handlers
import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureDescriptor
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.findClassAcrossModuleDependencies
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc
import org.jetbrains.kotlin.ir.declarations.IrClass
Expand Down Expand Up @@ -77,6 +78,7 @@ class IrTextDumpHandler(testServices: TestServices) : AbstractIrHandler(testServ
compareDumpsOfExternalClasses(module, info)
}

@OptIn(ObsoleteDescriptorBasedAPI::class)
private fun compareDumpsOfExternalClasses(module: TestModule, info: IrBackendInput) {
// FIR doesn't support searching descriptors
if (module.frontendKind == FrontendKinds.FIR) return
Expand Down
Expand Up @@ -50,6 +50,7 @@ abstract class AbstractIrTextTestCase : AbstractIrGeneratorTestCase() {
return irModule
}

@OptIn(ObsoleteDescriptorBasedAPI::class)
private fun doTestIrModuleDependencies(wholeFile: File, irModule: IrModuleFragment) {
val wholeText = wholeFile.readText()
val mangler = JsManglerDesc
Expand Down
Expand Up @@ -132,6 +132,7 @@ abstract class AbstractKlibTextTestCase : CodegenTestCase() {
return serializePackageFragment(moduleDescriptor, memberScope, ktFile.packageFqName)
}

@OptIn(ObsoleteDescriptorBasedAPI::class)
protected fun serializeModule(irModuleFragment: IrModuleFragment, bindingContext: BindingContext, stdlib: KotlinLibrary, containsErrorCode: Boolean, expectActualSymbols: MutableMap<DeclarationDescriptor, IrSymbol>, skipExpect: Boolean): String {
val ktFiles = myFiles.psiFiles
val serializedIr =
Expand Down
Expand Up @@ -42,6 +42,7 @@ import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil
import org.jetbrains.kotlin.util.DummyLogger
import org.jetbrains.kotlin.util.Logger
import java.io.File
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI

object GenerationUtils {
@JvmStatic
Expand Down Expand Up @@ -90,7 +91,7 @@ object GenerationUtils {
return state
}

@OptIn(ObsoleteTestInfrastructure::class)
@OptIn(ObsoleteTestInfrastructure::class, ObsoleteDescriptorBasedAPI::class)
private fun compileFilesUsingFrontendIR(
project: Project,
files: List<KtFile>,
Expand Down
Expand Up @@ -588,6 +588,7 @@ class GenerateIrRuntime {
}


@OptIn(ObsoleteDescriptorBasedAPI::class)
private fun doBackEnd(
module: IrModuleFragment, symbolTable: SymbolTable, irBuiltIns: IrBuiltIns, jsLinker: JsIrLinker
): CompilerResult {
Expand Down
2 changes: 2 additions & 0 deletions js/js.tests/test/org/jetbrains/kotlin/js/test/ApiTest.kt
Expand Up @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.impl.EnumEntrySyntheticClassDescriptor
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.backend.js.MainModule
import org.jetbrains.kotlin.ir.backend.js.ModulesStructure
import org.jetbrains.kotlin.ir.backend.js.loadIr
Expand Down Expand Up @@ -66,6 +67,7 @@ class ApiTest : KotlinTestWithEnvironment() {
return config.moduleDescriptors.single().packagesSerialized()
}

@OptIn(ObsoleteDescriptorBasedAPI::class)
private val irStdlibModuleApi: Map<FqName, String>
get() {
val fullRuntimeKlib: String = System.getProperty("kotlin.js.full.stdlib.path")
Expand Down
Expand Up @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.android.parcel.ir
import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclarationWithWrappedDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrBuiltIns
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.declarations.*
Expand Down Expand Up @@ -443,6 +444,7 @@ class AndroidSymbols(
isStatic = true
}.symbol

@OptIn(ObsoleteDescriptorBasedAPI::class)
private fun createPackage(packageName: String): IrPackageFragment =
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(
moduleFragment.descriptor,
Expand Down
Expand Up @@ -8,6 +8,7 @@ import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclaration
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.InlineClassRepresentation
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.IrBuiltIns
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.builders.declarations.*
Expand Down Expand Up @@ -506,6 +507,7 @@ class AndroidSymbols(
returnType = dst.defaultType
}.symbol

@OptIn(ObsoleteDescriptorBasedAPI::class)
private fun createPackage(packageName: String): IrPackageFragment =
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(
moduleFragment.descriptor,
Expand Down
Expand Up @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.cli.common.repl.ReplCompileResult
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext
import org.jetbrains.kotlin.ir.backend.js.generateJsCode
import org.jetbrains.kotlin.ir.backend.js.utils.NameTables
Expand All @@ -40,6 +41,7 @@ class JsCoreScriptingCompiler(
private val dependencyDescriptors: List<ModuleDescriptor>,
private val replCompilerState: JsReplCompilerState? = null
) {
@OptIn(ObsoleteDescriptorBasedAPI::class)
fun compile(codeLine: ReplCodeLine): ReplCompileResult {
val snippet = codeLine.code
val snippetId = codeLine.no
Expand Down

0 comments on commit 48c87b9

Please sign in to comment.