IR: IrValueSymbol.owner: IrValueDeclaration
This commit is contained in:
@@ -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
|
||||||
|
}
|
||||||
@@ -20,18 +20,15 @@ import org.jetbrains.kotlin.descriptors.ParameterDescriptor
|
|||||||
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
|
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
|
||||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||||
import org.jetbrains.kotlin.name.Name
|
|
||||||
import org.jetbrains.kotlin.types.KotlinType
|
import org.jetbrains.kotlin.types.KotlinType
|
||||||
|
|
||||||
interface IrValueParameter : IrSymbolDeclaration<IrValueParameterSymbol> {
|
interface IrValueParameter : IrValueDeclaration, IrSymbolDeclaration<IrValueParameterSymbol> {
|
||||||
override val declarationKind: IrDeclarationKind
|
override val declarationKind: IrDeclarationKind
|
||||||
get() = IrDeclarationKind.VALUE_PARAMETER
|
get() = IrDeclarationKind.VALUE_PARAMETER
|
||||||
|
|
||||||
override val descriptor: ParameterDescriptor
|
override val descriptor: ParameterDescriptor
|
||||||
|
|
||||||
val name: Name
|
|
||||||
val index: Int
|
val index: Int
|
||||||
val type: KotlinType
|
|
||||||
val varargElementType: KotlinType?
|
val varargElementType: KotlinType?
|
||||||
val isCrossinline: Boolean
|
val isCrossinline: Boolean
|
||||||
val isNoinline: Boolean
|
val isNoinline: Boolean
|
||||||
|
|||||||
@@ -19,14 +19,10 @@ package org.jetbrains.kotlin.ir.declarations
|
|||||||
import org.jetbrains.kotlin.descriptors.VariableDescriptor
|
import org.jetbrains.kotlin.descriptors.VariableDescriptor
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrVariableSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrVariableSymbol
|
||||||
import org.jetbrains.kotlin.name.Name
|
|
||||||
import org.jetbrains.kotlin.types.KotlinType
|
|
||||||
|
|
||||||
interface IrVariable : IrSymbolDeclaration<IrVariableSymbol> {
|
interface IrVariable : IrValueDeclaration, IrSymbolDeclaration<IrVariableSymbol> {
|
||||||
override val descriptor: VariableDescriptor
|
override val descriptor: VariableDescriptor
|
||||||
|
|
||||||
val name: Name
|
|
||||||
val type: KotlinType
|
|
||||||
val isVar: Boolean
|
val isVar: Boolean
|
||||||
val isConst: Boolean
|
val isConst: Boolean
|
||||||
val isLateinit: Boolean
|
val isLateinit: Boolean
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ interface IrTypeParameterSymbol : IrClassifierSymbol, IrBindableSymbol<TypeParam
|
|||||||
|
|
||||||
interface IrValueSymbol : IrSymbol {
|
interface IrValueSymbol : IrSymbol {
|
||||||
override val descriptor: ValueDescriptor
|
override val descriptor: ValueDescriptor
|
||||||
|
override val owner: IrValueDeclaration
|
||||||
}
|
}
|
||||||
|
|
||||||
interface IrValueParameterSymbol : IrValueSymbol, IrBindableSymbol<ParameterDescriptor, IrValueParameter>
|
interface IrValueParameterSymbol : IrValueSymbol, IrBindableSymbol<ParameterDescriptor, IrValueParameter>
|
||||||
|
|||||||
Reference in New Issue
Block a user