[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.backend.common.CodegenUtil
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.descriptors.IrImplementingDelegateDescriptorImpl
|
import org.jetbrains.kotlin.ir.descriptors.IrImplementingDelegateDescriptorImpl
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrBlockBody
|
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.mapValueParameters
|
||||||
import org.jetbrains.kotlin.ir.expressions.putTypeArguments
|
import org.jetbrains.kotlin.ir.expressions.putTypeArguments
|
||||||
import org.jetbrains.kotlin.ir.expressions.typeParametersCount
|
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.createIrClassFromDescriptor
|
||||||
import org.jetbrains.kotlin.ir.util.declareSimpleFunctionWithOverrides
|
import org.jetbrains.kotlin.ir.util.declareSimpleFunctionWithOverrides
|
||||||
import org.jetbrains.kotlin.ir.util.properties
|
import org.jetbrains.kotlin.ir.util.properties
|
||||||
@@ -306,7 +306,7 @@ class ClassGenerator(
|
|||||||
delegateToDescriptor: FunctionDescriptor
|
delegateToDescriptor: FunctionDescriptor
|
||||||
): IrSimpleFunction =
|
): IrSimpleFunction =
|
||||||
context.symbolTable.declareSimpleFunctionWithOverrides(
|
context.symbolTable.declareSimpleFunctionWithOverrides(
|
||||||
UNDEFINED_OFFSET, UNDEFINED_OFFSET,
|
SYNTHETIC_OFFSET, SYNTHETIC_OFFSET,
|
||||||
IrDeclarationOrigin.DELEGATED_MEMBER,
|
IrDeclarationOrigin.DELEGATED_MEMBER,
|
||||||
delegatedDescriptor
|
delegatedDescriptor
|
||||||
).buildWithScope { irFunction ->
|
).buildWithScope { irFunction ->
|
||||||
@@ -324,8 +324,8 @@ class ClassGenerator(
|
|||||||
delegateToDescriptor: FunctionDescriptor,
|
delegateToDescriptor: FunctionDescriptor,
|
||||||
irDelegatedFunction: IrSimpleFunction
|
irDelegatedFunction: IrSimpleFunction
|
||||||
): IrBlockBody {
|
): IrBlockBody {
|
||||||
val startOffset = UNDEFINED_OFFSET
|
val startOffset = SYNTHETIC_OFFSET
|
||||||
val endOffset = UNDEFINED_OFFSET
|
val endOffset = SYNTHETIC_OFFSET
|
||||||
|
|
||||||
val irBlockBody = context.irFactory.createBlockBody(startOffset, endOffset)
|
val irBlockBody = context.irFactory.createBlockBody(startOffset, endOffset)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user