Skip to content

Commit

Permalink
Remove compatibility fallbacks as compiled is equal to minimum Kotlin…
Browse files Browse the repository at this point in the history
… version
  • Loading branch information
lupuuss committed Nov 9, 2024
1 parent 04b4caf commit 9a261e4
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 104 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package dev.mokkery.plugin.diagnostics

import dev.mokkery.plugin.core.Mokkery.Errors
import dev.mokkery.plugin.fir.renderTypeCompat
import org.jetbrains.kotlin.diagnostics.KtDiagnosticFactoryToRendererMap
import org.jetbrains.kotlin.diagnostics.rendering.BaseDiagnosticRendererFactory
import org.jetbrains.kotlin.diagnostics.rendering.CommonRenderers
Expand All @@ -11,7 +10,7 @@ import org.jetbrains.kotlin.fir.types.ConeKotlinType

class MokkeryDiagnosticRendererFactory : BaseDiagnosticRendererFactory() {

private val typeRenderer: DiagnosticParameterRenderer<ConeKotlinType> = FirDiagnosticRenderers.renderTypeCompat()
private val typeRenderer: DiagnosticParameterRenderer<ConeKotlinType> = FirDiagnosticRenderers.RENDER_TYPE

override val MAP = KtDiagnosticFactoryToRendererMap("MokkeryDiagnostic").apply {
put(
Expand Down
18 changes: 0 additions & 18 deletions mokkery-plugin/src/main/kotlin/dev/mokkery/plugin/fir/Utils.kt
Original file line number Diff line number Diff line change
@@ -1,24 +1,6 @@
package dev.mokkery.plugin.fir

import org.jetbrains.kotlin.diagnostics.rendering.DiagnosticParameterRenderer
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirDiagnosticRenderers
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
import org.jetbrains.kotlin.fir.types.ConeKotlinType


fun FirConstructorSymbol.isDefault() = valueParameterSymbols.isEmpty() || valueParameterSymbols.all { it.hasDefaultValue }

val FirRegularClassSymbol.constructors get() = declarationSymbols.filterIsInstance<FirConstructorSymbol>()

@Suppress("UNCHECKED_CAST")
fun FirDiagnosticRenderers.renderTypeCompat(): DiagnosticParameterRenderer<ConeKotlinType> = try {
RENDER_TYPE
} catch (e: NoSuchMethodError) {
FirDiagnosticRenderers::class
.java
.methods
.first { it.name == "getRENDER_TYPE" }
.invoke(this)
.let { it as DiagnosticParameterRenderer<ConeKotlinType> }
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ import dev.mokkery.plugin.core.IrMokkeryKind
import dev.mokkery.plugin.core.Kotlin
import dev.mokkery.plugin.core.Mokkery
import dev.mokkery.plugin.core.TransformerScope
import dev.mokkery.plugin.ir.compat.IrClassReferenceImplCompat
import dev.mokkery.plugin.ir.compat.IrFunctionExpressionImplCompat
import dev.mokkery.plugin.ir.compat.IrGetEnumValueImplCompat
import dev.mokkery.plugin.core.getClass
import dev.mokkery.plugin.core.getFunction
import org.jetbrains.kotlin.backend.common.lower.DeclarationIrBuilder
Expand Down Expand Up @@ -43,6 +40,9 @@ import org.jetbrains.kotlin.ir.expressions.IrSetField
import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin
import org.jetbrains.kotlin.ir.expressions.IrWhen
import org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl
import org.jetbrains.kotlin.ir.expressions.impl.IrClassReferenceImpl
import org.jetbrains.kotlin.ir.expressions.impl.IrFunctionExpressionImpl
import org.jetbrains.kotlin.ir.expressions.impl.IrGetEnumValueImpl
import org.jetbrains.kotlin.ir.expressions.putArgument
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
Expand All @@ -61,7 +61,7 @@ import org.jetbrains.kotlin.ir.util.primaryConstructor
import org.jetbrains.kotlin.name.Name

// use until resolved https://youtrack.jetbrains.com/issue/KT-66178/kClassReference-extension-returns-incorrect-IrClassReferenceImpl
fun IrBuilderWithScope.kClassReference(classType: IrType): IrClassReference = IrClassReferenceImplCompat(
fun IrBuilderWithScope.kClassReference(classType: IrType): IrClassReference = IrClassReferenceImpl(
startOffset = startOffset,
endOffset = endOffset,
type = context.irBuiltIns.kClassClass.starProjectedType,
Expand All @@ -72,7 +72,7 @@ fun IrBuilderWithScope.kClassReference(classType: IrType): IrClassReference = Ir
fun IrBuilderWithScope.irGetEnumEntry(
irClass: IrClass,
name: String
): IrGetEnumValue = IrGetEnumValueImplCompat(
): IrGetEnumValue = IrGetEnumValueImpl(
startOffset = startOffset,
endOffset = endOffset,
type = irClass.defaultType,
Expand Down Expand Up @@ -141,12 +141,12 @@ fun IrBuilderWithScope.irLambda(
block(this@apply)
}
}
return IrFunctionExpressionImplCompat(
UNDEFINED_OFFSET,
UNDEFINED_OFFSET,
lambdaType,
lambda,
IrStatementOrigin.LAMBDA
return IrFunctionExpressionImpl(
startOffset = UNDEFINED_OFFSET,
endOffset = UNDEFINED_OFFSET,
type = lambdaType,
function = lambda,
origin = IrStatementOrigin.LAMBDA
)
}

Expand Down

This file was deleted.

0 comments on commit 9a261e4

Please sign in to comment.