[IR] Make IrGetObjectValue copyable to avoid duplicate IR nodes.
Fixes KT-45170
This commit is contained in:
+1
-1
@@ -27,7 +27,7 @@ abstract class IrDeclarationReference : IrExpression() {
|
||||
|
||||
abstract class IrGetSingletonValue : IrDeclarationReference()
|
||||
|
||||
abstract class IrGetObjectValue : IrGetSingletonValue() {
|
||||
abstract class IrGetObjectValue : IrGetSingletonValue(), IrExpressionWithCopy {
|
||||
abstract override val symbol: IrClassSymbol
|
||||
}
|
||||
|
||||
|
||||
+5
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.ir.expressions.impl
|
||||
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.IrGetObjectValue
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
@@ -29,4 +30,8 @@ class IrGetObjectValueImpl(
|
||||
) : IrGetObjectValue() {
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitGetObjectValue(this, data)
|
||||
|
||||
override fun copy(): IrExpression {
|
||||
return IrGetObjectValueImpl(startOffset, endOffset, type, symbol)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user