IR: IrFunction.name

This commit is contained in:
Dmitry Petrov
2018-05-07 15:03:30 +03:00
parent 729efaf912
commit f500329dac
5 changed files with 13 additions and 4 deletions
@@ -22,12 +22,14 @@ import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.ir.expressions.IrBody
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.types.KotlinType
interface IrFunction : IrDeclaration, IrTypeParametersContainer, IrSymbolOwner, IrDeclarationParent {
override val descriptor: FunctionDescriptor
override val symbol: IrFunctionSymbol
val name: Name
val visibility: Visibility
val isInline: Boolean // NB: there's an inline constructor for Array and each primitive array class
val isExternal: Boolean
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
import org.jetbrains.kotlin.name.Name
interface IrSimpleFunction : IrFunction, IrSymbolDeclaration<IrSimpleFunctionSymbol> {
val name: Name
val modality: Modality
val isTailrec: Boolean
val isSuspend: Boolean
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.ir.expressions.IrBody
import org.jetbrains.kotlin.ir.symbols.IrConstructorSymbol
import org.jetbrains.kotlin.ir.symbols.impl.IrConstructorSymbolImpl
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.descriptorUtil.isEffectivelyExternal
import org.jetbrains.kotlin.types.KotlinType
@@ -32,13 +33,17 @@ class IrConstructorImpl(
endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrConstructorSymbol,
name: Name,
visibility: Visibility,
returnType: KotlinType,
isInline: Boolean,
isExternal: Boolean,
override val isPrimary: Boolean
) :
IrFunctionBase(startOffset, endOffset, origin, visibility, isInline, isExternal, returnType),
IrFunctionBase(
startOffset, endOffset, origin, name,
visibility, isInline, isExternal, returnType
),
IrConstructor {
constructor(
@@ -49,6 +54,7 @@ class IrConstructorImpl(
body: IrBody? = null
) : this(
startOffset, endOffset, origin, symbol,
symbol.descriptor.name,
symbol.descriptor.visibility,
symbol.descriptor.returnType,
symbol.descriptor.isInline,
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.ir.expressions.IrBody
import org.jetbrains.kotlin.ir.util.transform
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.utils.SmartList
@@ -32,6 +33,7 @@ abstract class IrFunctionBase(
startOffset: Int,
endOffset: Int,
origin: IrDeclarationOrigin,
override val name: Name,
override val visibility: Visibility,
override val isInline: Boolean,
override val isExternal: Boolean,
@@ -34,7 +34,7 @@ class IrFunctionImpl(
endOffset: Int,
origin: IrDeclarationOrigin,
override val symbol: IrSimpleFunctionSymbol,
override val name: Name,
name: Name,
visibility: Visibility,
override val modality: Modality,
returnType: KotlinType,
@@ -43,7 +43,7 @@ class IrFunctionImpl(
override val isTailrec: Boolean,
override val isSuspend: Boolean
) :
IrFunctionBase(startOffset, endOffset, origin, visibility, isInline, isExternal, returnType),
IrFunctionBase(startOffset, endOffset, origin, name, visibility, isInline, isExternal, returnType),
IrSimpleFunction {
constructor(