JVM IR: minor, use createJvmIrBuilder to simplify code
This commit is contained in:
+2
-3
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.backend.jvm
|
||||
import org.jetbrains.kotlin.backend.common.ir.copyParameterDeclarationsFrom
|
||||
import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclarationWithWrappedDescriptor
|
||||
import org.jetbrains.kotlin.backend.common.ir.createStaticFunctionWithReceivers
|
||||
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
|
||||
import org.jetbrains.kotlin.backend.jvm.codegen.MethodSignatureMapper
|
||||
import org.jetbrains.kotlin.backend.jvm.codegen.isJvmInterface
|
||||
import org.jetbrains.kotlin.backend.jvm.ir.copyCorrespondingPropertyFrom
|
||||
@@ -193,8 +192,8 @@ class JvmCachedDeclarations(
|
||||
if (it.origin == JvmLoweredDeclarationOrigin.DEFAULT_IMPLS_BRIDGE_FOR_COMPATIBILITY &&
|
||||
!it.annotations.hasAnnotation(DeprecationResolver.JAVA_DEPRECATED)
|
||||
) {
|
||||
this@JvmCachedDeclarations.context.createIrBuilder(it.symbol).run {
|
||||
it.annotations += irCall(this@JvmCachedDeclarations.context.ir.symbols.javaLangDeprecatedConstructorWithDeprecatedFlag)
|
||||
context.createJvmIrBuilder(it.symbol).run {
|
||||
it.annotations += irCall(irSymbols.javaLangDeprecatedConstructorWithDeprecatedFlag)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
-5
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.backend.common.lower.*
|
||||
import org.jetbrains.kotlin.backend.common.phaser.makeIrFilePhase
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
|
||||
import org.jetbrains.kotlin.backend.jvm.ir.createJvmIrBuilder
|
||||
import org.jetbrains.kotlin.builtins.StandardNames
|
||||
import org.jetbrains.kotlin.codegen.ASSERTIONS_DISABLED_FIELD_NAME
|
||||
import org.jetbrains.kotlin.config.JVMAssertionsMode
|
||||
@@ -145,11 +146,11 @@ fun IrClass.buildAssertionsDisabledField(backendContext: JvmBackendContext, topL
|
||||
type = backendContext.irBuiltIns.booleanType
|
||||
isFinal = true
|
||||
isStatic = true
|
||||
}.apply {
|
||||
parent = this@buildAssertionsDisabledField
|
||||
initializer = backendContext.createIrBuilder(this@buildAssertionsDisabledField.symbol).run {
|
||||
at(this@apply)
|
||||
irExprBody(irNot(irCall(backendContext.ir.symbols.desiredAssertionStatus).apply {
|
||||
}.also { field ->
|
||||
field.parent = this
|
||||
field.initializer = backendContext.createJvmIrBuilder(this.symbol).run {
|
||||
at(field)
|
||||
irExprBody(irNot(irCall(irSymbols.desiredAssertionStatus).apply {
|
||||
dispatchReceiver = getJavaClass(backendContext, topLevelClass)
|
||||
}))
|
||||
}
|
||||
|
||||
+9
-4
@@ -10,14 +10,19 @@ import org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext
|
||||
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
|
||||
import org.jetbrains.kotlin.backend.common.phaser.makeIrFilePhase
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
||||
import org.jetbrains.kotlin.backend.jvm.ir.createJvmIrBuilder
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.ir.IrStatement
|
||||
import org.jetbrains.kotlin.ir.builders.irCall
|
||||
import org.jetbrains.kotlin.ir.builders.irExprBody
|
||||
import org.jetbrains.kotlin.ir.builders.irGetField
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.util.*
|
||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclarationContainer
|
||||
import org.jetbrains.kotlin.ir.declarations.IrFile
|
||||
import org.jetbrains.kotlin.ir.util.constructors
|
||||
import org.jetbrains.kotlin.ir.util.filterOutAnnotations
|
||||
import org.jetbrains.kotlin.ir.util.isObject
|
||||
import org.jetbrains.kotlin.resolve.deprecation.DeprecationResolver
|
||||
|
||||
internal val objectClassPhase = makeIrFilePhase(
|
||||
@@ -72,10 +77,10 @@ private class ObjectClassLowering(val context: JvmBackendContext) : IrElementTra
|
||||
if (!context.state.languageVersionSettings.supportsFeature(LanguageFeature.ProperVisibilityForCompanionObjectInstanceField) &&
|
||||
(irClass.visibility == DescriptorVisibilities.PRIVATE || irClass.visibility == DescriptorVisibilities.PROTECTED)
|
||||
) {
|
||||
context.createIrBuilder(irClass.symbol).run {
|
||||
context.createJvmIrBuilder(irClass.symbol).run {
|
||||
publicInstanceField.annotations =
|
||||
filterOutAnnotations(DeprecationResolver.JAVA_DEPRECATED, publicInstanceField.annotations) +
|
||||
irCall(this@ObjectClassLowering.context.ir.symbols.javaLangDeprecatedConstructorWithDeprecatedFlag)
|
||||
irCall(irSymbols.javaLangDeprecatedConstructorWithDeprecatedFlag)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user