From d83849eec589bb8dfe0a09aded94a93b3e3f31d6 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Mon, 7 May 2018 17:26:35 +0300 Subject: [PATCH] IR: IrValueSymbol.owner: IrValueDeclaration --- .../ir/declarations/IrValueDeclaration.kt | 19 +++++++++++++++++++ .../ir/declarations/IrValueParameter.kt | 5 +---- .../kotlin/ir/declarations/IrVariable.kt | 6 +----- .../jetbrains/kotlin/ir/symbols/IrSymbol.kt | 1 + 4 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrValueDeclaration.kt diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrValueDeclaration.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrValueDeclaration.kt new file mode 100644 index 00000000000..f54ad4f74d4 --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrValueDeclaration.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.declarations + +import org.jetbrains.kotlin.descriptors.ValueDescriptor +import org.jetbrains.kotlin.ir.symbols.IrValueSymbol +import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.types.KotlinType + +interface IrValueDeclaration : IrDeclaration, IrSymbolOwner { + override val descriptor: ValueDescriptor + override val symbol: IrValueSymbol + + val name: Name + val type: KotlinType +} \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrValueParameter.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrValueParameter.kt index b871bf5a15e..22e8ee0b76a 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrValueParameter.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrValueParameter.kt @@ -20,18 +20,15 @@ import org.jetbrains.kotlin.descriptors.ParameterDescriptor import org.jetbrains.kotlin.ir.expressions.IrExpressionBody import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol import org.jetbrains.kotlin.ir.visitors.IrElementTransformer -import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.types.KotlinType -interface IrValueParameter : IrSymbolDeclaration { +interface IrValueParameter : IrValueDeclaration, IrSymbolDeclaration { override val declarationKind: IrDeclarationKind get() = IrDeclarationKind.VALUE_PARAMETER override val descriptor: ParameterDescriptor - val name: Name val index: Int - val type: KotlinType val varargElementType: KotlinType? val isCrossinline: Boolean val isNoinline: Boolean diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrVariable.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrVariable.kt index 5c5eaf0c7fe..e8cb1a1ad4e 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrVariable.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrVariable.kt @@ -19,14 +19,10 @@ package org.jetbrains.kotlin.ir.declarations import org.jetbrains.kotlin.descriptors.VariableDescriptor import org.jetbrains.kotlin.ir.expressions.IrExpression import org.jetbrains.kotlin.ir.symbols.IrVariableSymbol -import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.types.KotlinType -interface IrVariable : IrSymbolDeclaration { +interface IrVariable : IrValueDeclaration, IrSymbolDeclaration { override val descriptor: VariableDescriptor - val name: Name - val type: KotlinType val isVar: Boolean val isConst: Boolean val isLateinit: Boolean diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/IrSymbol.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/IrSymbol.kt index 5586609dca0..8dbc2b80cf7 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/IrSymbol.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/IrSymbol.kt @@ -54,6 +54,7 @@ interface IrTypeParameterSymbol : IrClassifierSymbol, IrBindableSymbol