[PSI2IR] Use SYNTHETIC_OFFSET for delegated brigdes.
This allows kotlin-native to generate code in debug mode. LLVM requires debug attributes for this code and SYNTHETIC_OFFSET makes kotlin-native generate dummy debug attributes.
This commit is contained in:
committed by
Alexander Udalov
parent
ed5c2b0565
commit
b47e0e861b
@@ -19,7 +19,6 @@ package org.jetbrains.kotlin.psi2ir.generators
|
||||
import org.jetbrains.kotlin.backend.common.CodegenUtil
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.descriptors.IrImplementingDelegateDescriptorImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.IrBlockBody
|
||||
@@ -30,6 +29,7 @@ import org.jetbrains.kotlin.ir.expressions.impl.IrReturnImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.mapValueParameters
|
||||
import org.jetbrains.kotlin.ir.expressions.putTypeArguments
|
||||
import org.jetbrains.kotlin.ir.expressions.typeParametersCount
|
||||
import org.jetbrains.kotlin.ir.util.SYNTHETIC_OFFSET
|
||||
import org.jetbrains.kotlin.ir.util.createIrClassFromDescriptor
|
||||
import org.jetbrains.kotlin.ir.util.declareSimpleFunctionWithOverrides
|
||||
import org.jetbrains.kotlin.ir.util.properties
|
||||
@@ -306,7 +306,7 @@ class ClassGenerator(
|
||||
delegateToDescriptor: FunctionDescriptor
|
||||
): IrSimpleFunction =
|
||||
context.symbolTable.declareSimpleFunctionWithOverrides(
|
||||
UNDEFINED_OFFSET, UNDEFINED_OFFSET,
|
||||
SYNTHETIC_OFFSET, SYNTHETIC_OFFSET,
|
||||
IrDeclarationOrigin.DELEGATED_MEMBER,
|
||||
delegatedDescriptor
|
||||
).buildWithScope { irFunction ->
|
||||
@@ -324,8 +324,8 @@ class ClassGenerator(
|
||||
delegateToDescriptor: FunctionDescriptor,
|
||||
irDelegatedFunction: IrSimpleFunction
|
||||
): IrBlockBody {
|
||||
val startOffset = UNDEFINED_OFFSET
|
||||
val endOffset = UNDEFINED_OFFSET
|
||||
val startOffset = SYNTHETIC_OFFSET
|
||||
val endOffset = SYNTHETIC_OFFSET
|
||||
|
||||
val irBlockBody = context.irFactory.createBlockBody(startOffset, endOffset)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user