[K/N][IR] Used .isFakeOverride instead of a special origin

This commit is contained in:
Igor Chevdar
2021-06-15 10:43:22 +05:00
parent dc568426bd
commit 3a4e8e7a61
5 changed files with 30 additions and 29 deletions
@@ -745,7 +745,8 @@ class SymbolTable(
isLateinit = descriptor.isLateInit,
isDelegated = isDelegated,
isExternal = descriptor.isEffectivelyExternal(),
isExpect = descriptor.isExpect
isExpect = descriptor.isExpect,
isFakeOverride = descriptor.kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE
).apply {
metadata = DescriptorMetadataSource.Property(symbol.descriptor)
}
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.ir.util
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.DescriptorMetadataSource
@@ -24,7 +25,17 @@ fun SymbolTable.declareSimpleFunctionWithOverrides(
with(descriptor) {
irFactory.createFunction(
startOffset, endOffset, origin, it, nameProvider.nameForDeclaration(this),
visibility, modality, IrUninitializedType, isInline, isEffectivelyExternal(), isTailrec, isSuspend, isOperator, isInfix, isExpect
visibility,
modality,
IrUninitializedType,
isInline,
isEffectivelyExternal(),
isTailrec,
isSuspend,
isOperator,
isInfix,
isExpect,
isFakeOverride = descriptor.kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE
).also { declaration ->
declaration.metadata = DescriptorMetadataSource.Function(this)
}