IR: make IrDeclarationReference and subtypes classes
This commit is contained in:
+1
-1
@@ -511,7 +511,7 @@ class FunctionInlining(
|
||||
private class IrGetValueWithoutLocation(
|
||||
override val symbol: IrValueSymbol,
|
||||
override val origin: IrStatementOrigin? = null
|
||||
) : IrExpressionBase(), IrGetValue {
|
||||
) : IrGetValue() {
|
||||
override val startOffset: Int get() = UNDEFINED_OFFSET
|
||||
override val endOffset: Int get() = UNDEFINED_OFFSET
|
||||
|
||||
|
||||
@@ -19,9 +19,7 @@ package org.jetbrains.kotlin.ir.expressions
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
|
||||
|
||||
interface IrClassReference : IrDeclarationReference {
|
||||
override val symbol: IrClassifierSymbol
|
||||
val classType: IrType
|
||||
abstract class IrClassReference : IrDeclarationReference() {
|
||||
abstract override val symbol: IrClassifierSymbol
|
||||
abstract val classType: IrType
|
||||
}
|
||||
|
||||
|
||||
+10
-9
@@ -16,23 +16,24 @@
|
||||
|
||||
package org.jetbrains.kotlin.ir.expressions
|
||||
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrExpressionBase
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrEnumEntrySymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
||||
|
||||
interface IrDeclarationReference : IrExpression {
|
||||
val symbol: IrSymbol
|
||||
abstract class IrDeclarationReference : IrExpressionBase() {
|
||||
abstract val symbol: IrSymbol
|
||||
}
|
||||
|
||||
interface IrGetSingletonValue : IrDeclarationReference
|
||||
abstract class IrGetSingletonValue : IrDeclarationReference()
|
||||
|
||||
interface IrGetObjectValue : IrGetSingletonValue {
|
||||
override val symbol: IrClassSymbol
|
||||
abstract class IrGetObjectValue : IrGetSingletonValue() {
|
||||
abstract override val symbol: IrClassSymbol
|
||||
}
|
||||
|
||||
interface IrGetEnumValue : IrGetSingletonValue {
|
||||
override val symbol: IrEnumEntrySymbol
|
||||
abstract class IrGetEnumValue : IrGetSingletonValue() {
|
||||
abstract override val symbol: IrEnumEntrySymbol
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -40,6 +41,6 @@ interface IrGetEnumValue : IrGetSingletonValue {
|
||||
*
|
||||
* On JS platform represent a plain reference to JavaScript function.
|
||||
*/
|
||||
interface IrRawFunctionReference : IrDeclarationReference {
|
||||
override val symbol: IrFunctionSymbol
|
||||
abstract class IrRawFunctionReference : IrDeclarationReference() {
|
||||
abstract override val symbol: IrFunctionSymbol
|
||||
}
|
||||
|
||||
+8
-8
@@ -19,17 +19,17 @@ package org.jetbrains.kotlin.ir.expressions
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
|
||||
|
||||
interface IrFieldAccessExpression : IrDeclarationReference {
|
||||
override val symbol: IrFieldSymbol
|
||||
abstract class IrFieldAccessExpression : IrDeclarationReference() {
|
||||
abstract override val symbol: IrFieldSymbol
|
||||
|
||||
val superQualifierSymbol: IrClassSymbol?
|
||||
abstract val superQualifierSymbol: IrClassSymbol?
|
||||
|
||||
var receiver: IrExpression?
|
||||
val origin: IrStatementOrigin?
|
||||
var receiver: IrExpression? = null
|
||||
abstract val origin: IrStatementOrigin?
|
||||
}
|
||||
|
||||
interface IrGetField : IrFieldAccessExpression
|
||||
abstract class IrGetField : IrFieldAccessExpression()
|
||||
|
||||
interface IrSetField : IrFieldAccessExpression {
|
||||
var value: IrExpression
|
||||
abstract class IrSetField : IrFieldAccessExpression() {
|
||||
abstract var value: IrExpression
|
||||
}
|
||||
|
||||
+1
-2
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
||||
import org.jetbrains.kotlin.ir.declarations.IrFunction
|
||||
import org.jetbrains.kotlin.ir.declarations.IrTypeParameter
|
||||
import org.jetbrains.kotlin.ir.declarations.IrValueParameter
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrExpressionBase
|
||||
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
import org.jetbrains.kotlin.ir.types.defaultType
|
||||
@@ -23,7 +22,7 @@ import org.jetbrains.kotlin.types.KotlinType
|
||||
|
||||
abstract class IrMemberAccessExpression<S : IrSymbol>(
|
||||
val typeArgumentsCount: Int
|
||||
) : IrExpressionBase(), IrDeclarationReference {
|
||||
) : IrDeclarationReference() {
|
||||
var dispatchReceiver: IrExpression? = null
|
||||
var extensionReceiver: IrExpression? = null
|
||||
|
||||
|
||||
+8
-9
@@ -19,17 +19,16 @@ package org.jetbrains.kotlin.ir.expressions
|
||||
import org.jetbrains.kotlin.ir.symbols.IrValueSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrVariableSymbol
|
||||
|
||||
interface IrValueAccessExpression : IrDeclarationReference {
|
||||
override val symbol: IrValueSymbol
|
||||
val origin: IrStatementOrigin?
|
||||
abstract class IrValueAccessExpression : IrDeclarationReference() {
|
||||
abstract override val symbol: IrValueSymbol
|
||||
abstract val origin: IrStatementOrigin?
|
||||
}
|
||||
|
||||
interface IrGetValue : IrValueAccessExpression, IrExpressionWithCopy {
|
||||
override fun copy(): IrGetValue
|
||||
abstract class IrGetValue : IrValueAccessExpression(), IrExpressionWithCopy {
|
||||
abstract override fun copy(): IrGetValue
|
||||
}
|
||||
|
||||
interface IrSetVariable : IrValueAccessExpression {
|
||||
override val symbol: IrVariableSymbol
|
||||
var value: IrExpression
|
||||
abstract class IrSetVariable : IrValueAccessExpression() {
|
||||
abstract override val symbol: IrVariableSymbol
|
||||
abstract var value: IrExpression
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ class IrClassReferenceImpl(
|
||||
override val type: IrType,
|
||||
override val symbol: IrClassifierSymbol,
|
||||
override val classType: IrType
|
||||
) : IrExpressionBase(), IrClassReference {
|
||||
) : IrClassReference() {
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitClassReference(this, data)
|
||||
}
|
||||
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.ir.expressions.impl
|
||||
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.IrFieldAccessExpression
|
||||
|
||||
abstract class IrFieldExpressionBase : IrExpressionBase(), IrFieldAccessExpression {
|
||||
final override var receiver: IrExpression? = null
|
||||
}
|
||||
+1
-1
@@ -26,7 +26,7 @@ class IrGetEnumValueImpl(
|
||||
override val endOffset: Int,
|
||||
override val type: IrType,
|
||||
override val symbol: IrEnumEntrySymbol,
|
||||
) : IrExpressionBase(), IrGetEnumValue {
|
||||
) : IrGetEnumValue() {
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R {
|
||||
return visitor.visitGetEnumValue(this, data)
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ class IrGetFieldImpl(
|
||||
override val type: IrType,
|
||||
override val origin: IrStatementOrigin? = null,
|
||||
override val superQualifierSymbol: IrClassSymbol? = null,
|
||||
) : IrFieldExpressionBase(), IrGetField {
|
||||
) : IrGetField() {
|
||||
constructor(
|
||||
startOffset: Int, endOffset: Int,
|
||||
symbol: IrFieldSymbol,
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ class IrGetObjectValueImpl(
|
||||
override val endOffset: Int,
|
||||
override val type: IrType,
|
||||
override val symbol: IrClassSymbol
|
||||
) : IrExpressionBase(), IrGetObjectValue {
|
||||
) : IrGetObjectValue() {
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitGetObjectValue(this, data)
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ class IrGetValueImpl(
|
||||
override val type: IrType,
|
||||
override val symbol: IrValueSymbol,
|
||||
override val origin: IrStatementOrigin? = null
|
||||
) : IrExpressionBase(), IrGetValue {
|
||||
) : IrGetValue() {
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ class IrRawFunctionReferenceImpl(
|
||||
override val endOffset: Int,
|
||||
override val type: IrType,
|
||||
override val symbol: IrFunctionSymbol,
|
||||
) : IrExpressionBase(), IrRawFunctionReference {
|
||||
) : IrRawFunctionReference() {
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R {
|
||||
return visitor.visitRawFunctionReference(this, data)
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ class IrSetFieldImpl(
|
||||
override val type: IrType,
|
||||
override val origin: IrStatementOrigin? = null,
|
||||
override val superQualifierSymbol: IrClassSymbol? = null,
|
||||
) : IrFieldExpressionBase(), IrSetField {
|
||||
) : IrSetField() {
|
||||
constructor(
|
||||
startOffset: Int, endOffset: Int,
|
||||
symbol: IrFieldSymbol,
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ class IrSetVariableImpl(
|
||||
override val symbol: IrVariableSymbol,
|
||||
override var value: IrExpression,
|
||||
override val origin: IrStatementOrigin?
|
||||
) : IrExpressionBase(), IrSetVariable {
|
||||
) : IrSetVariable() {
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R {
|
||||
return visitor.visitSetVariable(this, data)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user