FoldConstantLowering
This commit is contained in:
committed by
Anton Bannykh
parent
0efe2ab00a
commit
94d2a79d2e
+5
-5
@@ -5,10 +5,10 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.backend.common.lower.optimizations
|
package org.jetbrains.kotlin.backend.common.lower.optimizations
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.backend.common.BodyLoweringPass
|
||||||
import org.jetbrains.kotlin.backend.common.CommonBackendContext
|
import org.jetbrains.kotlin.backend.common.CommonBackendContext
|
||||||
import org.jetbrains.kotlin.backend.common.FileLoweringPass
|
|
||||||
import org.jetbrains.kotlin.backend.common.phaser.makeIrFilePhase
|
import org.jetbrains.kotlin.backend.common.phaser.makeIrFilePhase
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrFile
|
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
||||||
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
||||||
import org.jetbrains.kotlin.ir.expressions.*
|
import org.jetbrains.kotlin.ir.expressions.*
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl
|
import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl
|
||||||
@@ -39,7 +39,7 @@ val foldConstantLoweringPhase = makeIrFilePhase(
|
|||||||
class FoldConstantLowering(
|
class FoldConstantLowering(
|
||||||
private val context: CommonBackendContext,
|
private val context: CommonBackendContext,
|
||||||
// In K/JS Float and Double are the same so Float constant should be fold similar to Double
|
// In K/JS Float and Double are the same so Float constant should be fold similar to Double
|
||||||
private val floatSpecial: Boolean = false) : IrElementTransformerVoid(), FileLoweringPass {
|
private val floatSpecial: Boolean = false) : IrElementTransformerVoid(), BodyLoweringPass {
|
||||||
/**
|
/**
|
||||||
* ID of an binary operator / method.
|
* ID of an binary operator / method.
|
||||||
*
|
*
|
||||||
@@ -243,8 +243,8 @@ class FoldConstantLowering(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ExperimentalUnsignedTypes
|
@ExperimentalUnsignedTypes
|
||||||
override fun lower(irFile: IrFile) {
|
override fun lower(irBody: IrBody, container: IrDeclaration) {
|
||||||
irFile.transformChildrenVoid(object : IrElementTransformerVoid() {
|
irBody.transformChildrenVoid(object : IrElementTransformerVoid() {
|
||||||
override fun visitCall(expression: IrCall): IrExpression {
|
override fun visitCall(expression: IrCall): IrExpression {
|
||||||
expression.transformChildrenVoid(this)
|
expression.transformChildrenVoid(this)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user