Rebase + reformat
This commit is contained in:
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.ir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ValueDescriptor
|
||||
import org.jetbrains.kotlin.ir.symbols.IrValueSymbol
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
|
||||
@@ -15,5 +16,5 @@ interface IrValueDeclaration : IrDeclaration, IrSymbolOwner {
|
||||
override val symbol: IrValueSymbol
|
||||
|
||||
val name: Name
|
||||
val type: KotlinType
|
||||
val type: IrType
|
||||
}
|
||||
+13
-3
@@ -30,12 +30,22 @@ class IrAnonymousInitializerImpl(
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
override val symbol: IrAnonymousInitializerSymbol
|
||||
) : IrDeclarationBase(startOffset, endOffset, origin), IrAnonymousInitializer {
|
||||
constructor(startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: ClassDescriptor) :
|
||||
) : IrDeclarationBase(startOffset, endOffset, origin),
|
||||
IrAnonymousInitializer {
|
||||
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
descriptor: ClassDescriptor
|
||||
) :
|
||||
this(startOffset, endOffset, origin, IrAnonymousInitializerSymbolImpl(descriptor))
|
||||
|
||||
constructor(
|
||||
startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: ClassDescriptor,
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
descriptor: ClassDescriptor,
|
||||
body: IrBlockBody
|
||||
) : this(startOffset, endOffset, origin, descriptor) {
|
||||
this.body = body
|
||||
|
||||
@@ -46,7 +46,12 @@ class IrClassImpl(
|
||||
) : IrDeclarationBase(startOffset, endOffset, origin),
|
||||
IrClass {
|
||||
|
||||
constructor(startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, symbol: IrClassSymbol) :
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrClassSymbol
|
||||
) :
|
||||
this(
|
||||
startOffset, endOffset, origin, symbol,
|
||||
symbol.descriptor.name, symbol.descriptor.kind,
|
||||
@@ -57,7 +62,12 @@ class IrClassImpl(
|
||||
isExternal = symbol.descriptor.isEffectivelyExternal()
|
||||
)
|
||||
|
||||
constructor(startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: ClassDescriptor) :
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
descriptor: ClassDescriptor
|
||||
) :
|
||||
this(startOffset, endOffset, origin, IrClassSymbolImpl(descriptor))
|
||||
|
||||
constructor(
|
||||
|
||||
+18
-4
@@ -36,15 +36,29 @@ class IrEnumEntryImpl(
|
||||
) : IrDeclarationBase(startOffset, endOffset, origin),
|
||||
IrEnumEntry {
|
||||
|
||||
constructor(startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, symbol: IrEnumEntrySymbol) :
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrEnumEntrySymbol
|
||||
) :
|
||||
this(startOffset, endOffset, origin, symbol, symbol.descriptor.name)
|
||||
|
||||
constructor(startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: ClassDescriptor) :
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
descriptor: ClassDescriptor
|
||||
) :
|
||||
this(startOffset, endOffset, origin, IrEnumEntrySymbolImpl(descriptor))
|
||||
|
||||
constructor(
|
||||
startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: ClassDescriptor,
|
||||
correspondingClass: IrClass?, initializerExpression: IrExpression?
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
descriptor: ClassDescriptor,
|
||||
correspondingClass: IrClass?,
|
||||
initializerExpression: IrExpression?
|
||||
) : this(startOffset, endOffset, origin, descriptor) {
|
||||
this.correspondingClass = correspondingClass
|
||||
this.initializerExpression = initializerExpression
|
||||
|
||||
+2
-1
@@ -29,7 +29,8 @@ import org.jetbrains.kotlin.name.FqName
|
||||
class IrExternalPackageFragmentImpl(
|
||||
override val symbol: IrExternalPackageFragmentSymbol,
|
||||
override val fqName: FqName
|
||||
) : IrExternalPackageFragment, IrElementBase(UNDEFINED_OFFSET, UNDEFINED_OFFSET) {
|
||||
) : IrElementBase(UNDEFINED_OFFSET, UNDEFINED_OFFSET),
|
||||
IrExternalPackageFragment {
|
||||
|
||||
constructor(symbol: IrExternalPackageFragmentSymbol) : this(symbol, symbol.descriptor.fqName)
|
||||
|
||||
|
||||
@@ -53,8 +53,8 @@ class IrFieldImpl(
|
||||
this(
|
||||
startOffset, endOffset, origin, symbol,
|
||||
symbol.descriptor.name, type, symbol.descriptor.visibility,
|
||||
!symbol.descriptor.isVar,
|
||||
symbol.descriptor.isEffectivelyExternal()
|
||||
isFinal = !symbol.descriptor.isVar,
|
||||
isExternal = symbol.descriptor.isEffectivelyExternal()
|
||||
)
|
||||
|
||||
constructor(
|
||||
|
||||
@@ -38,10 +38,16 @@ class IrFileImpl(
|
||||
IrElementBase(0, fileEntry.maxOffset),
|
||||
IrFile {
|
||||
|
||||
constructor(fileEntry: SourceManager.FileEntry, symbol: IrFileSymbol) :
|
||||
constructor(
|
||||
fileEntry: SourceManager.FileEntry,
|
||||
symbol: IrFileSymbol
|
||||
) :
|
||||
this(fileEntry, symbol, symbol.descriptor.fqName)
|
||||
|
||||
constructor(fileEntry: SourceManager.FileEntry, packageFragmentDescriptor: PackageFragmentDescriptor) :
|
||||
constructor(
|
||||
fileEntry: SourceManager.FileEntry,
|
||||
packageFragmentDescriptor: PackageFragmentDescriptor
|
||||
) :
|
||||
this(fileEntry, IrFileSymbolImpl(packageFragmentDescriptor), packageFragmentDescriptor.fqName)
|
||||
|
||||
constructor(
|
||||
|
||||
@@ -23,7 +23,12 @@ import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
import java.util.*
|
||||
|
||||
class IrBlockBodyImpl(startOffset: Int, endOffset: Int) : IrElementBase(startOffset, endOffset), IrBlockBody {
|
||||
class IrBlockBodyImpl(
|
||||
startOffset: Int,
|
||||
endOffset: Int
|
||||
) :
|
||||
IrElementBase(startOffset, endOffset),
|
||||
IrBlockBody {
|
||||
|
||||
constructor(startOffset: Int, endOffset: Int, statements: List<IrStatement>) : this(startOffset, endOffset) {
|
||||
this.statements.addAll(statements)
|
||||
|
||||
+3
-1
@@ -25,6 +25,8 @@ abstract class IrBreakContinueBase(
|
||||
endOffset: Int,
|
||||
type: IrType,
|
||||
override var loop: IrLoop
|
||||
) : IrTerminalExpressionBase(startOffset, endOffset, type), IrBreakContinue {
|
||||
) : IrTerminalExpressionBase(startOffset, endOffset, type),
|
||||
IrBreakContinue {
|
||||
|
||||
override var label: String? = null
|
||||
}
|
||||
@@ -26,7 +26,9 @@ class IrBreakImpl(
|
||||
endOffset: Int,
|
||||
type: IrType,
|
||||
loop: IrLoop
|
||||
) : IrBreakContinueBase(startOffset, endOffset, type, loop), IrBreak {
|
||||
) : IrBreakContinueBase(startOffset, endOffset, type, loop),
|
||||
IrBreak {
|
||||
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitBreak(this, data)
|
||||
}
|
||||
+9
-1
@@ -29,7 +29,15 @@ abstract class IrCallWithIndexedArgumentsBase(
|
||||
typeArgumentsCount: Int,
|
||||
valueArgumentsCount: Int,
|
||||
origin: IrStatementOrigin? = null
|
||||
) : IrMemberAccessExpressionBase(startOffset, endOffset, type, typeArgumentsCount, valueArgumentsCount, origin) {
|
||||
) :
|
||||
IrMemberAccessExpressionBase(
|
||||
startOffset,
|
||||
endOffset,
|
||||
type,
|
||||
typeArgumentsCount,
|
||||
valueArgumentsCount,
|
||||
origin
|
||||
) {
|
||||
|
||||
private val argumentsByParameterIndex: Array<IrExpression?> = arrayOfNulls(valueArgumentsCount)
|
||||
|
||||
|
||||
@@ -28,7 +28,10 @@ class IrConstImpl<T>(
|
||||
type: IrType,
|
||||
override val kind: IrConstKind<T>,
|
||||
override val value: T
|
||||
) : IrTerminalExpressionBase(startOffset, endOffset, type), IrConst<T> {
|
||||
) :
|
||||
IrTerminalExpressionBase(startOffset, endOffset, type),
|
||||
IrConst<T> {
|
||||
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitConst(this, data)
|
||||
|
||||
|
||||
+3
-1
@@ -31,7 +31,9 @@ abstract class IrContainerExpressionBase(
|
||||
type: IrType,
|
||||
override val origin: IrStatementOrigin? = null
|
||||
) :
|
||||
IrExpressionBase(startOffset, endOffset, type), IrContainerExpression {
|
||||
IrExpressionBase(startOffset, endOffset, type),
|
||||
IrContainerExpression {
|
||||
|
||||
override val statements: MutableList<IrStatement> = ArrayList(2)
|
||||
|
||||
override fun <D> acceptChildren(visitor: IrElementVisitor<Unit, D>, data: D) {
|
||||
|
||||
@@ -26,7 +26,10 @@ class IrContinueImpl(
|
||||
endOffset: Int,
|
||||
type: IrType,
|
||||
loop: IrLoop
|
||||
) : IrBreakContinueBase(startOffset, endOffset, type, loop), IrContinue {
|
||||
) :
|
||||
IrBreakContinueBase(startOffset, endOffset, type, loop),
|
||||
IrContinue {
|
||||
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitContinue(this, data)
|
||||
}
|
||||
+2
-1
@@ -27,5 +27,6 @@ abstract class IrDeclarationReferenceBase<out S : IrSymbol, out D : DeclarationD
|
||||
type: IrType,
|
||||
override val symbol: S,
|
||||
override val descriptor: D
|
||||
) : IrExpressionBase(startOffset, endOffset, type),
|
||||
) :
|
||||
IrExpressionBase(startOffset, endOffset, type),
|
||||
IrDeclarationReference
|
||||
+4
-1
@@ -28,7 +28,10 @@ class IrErrorCallExpressionImpl(
|
||||
endOffset: Int,
|
||||
type: IrType,
|
||||
override val description: String
|
||||
) : IrExpressionBase(startOffset, endOffset, type), IrErrorCallExpression {
|
||||
) :
|
||||
IrExpressionBase(startOffset, endOffset, type),
|
||||
IrErrorCallExpression {
|
||||
|
||||
override var explicitReceiver: IrExpression? = null
|
||||
override val arguments: MutableList<IrExpression> = SmartList()
|
||||
|
||||
|
||||
+5
-1
@@ -26,7 +26,11 @@ class IrErrorExpressionImpl(
|
||||
endOffset: Int,
|
||||
type: IrType,
|
||||
override val description: String
|
||||
) : IrTerminalExpressionBase(startOffset, endOffset, type), IrExpressionWithCopy, IrErrorExpression {
|
||||
) :
|
||||
IrTerminalExpressionBase(startOffset, endOffset, type),
|
||||
IrExpressionWithCopy,
|
||||
IrErrorExpression {
|
||||
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitErrorExpression(this, data)
|
||||
|
||||
|
||||
+6
-1
@@ -22,7 +22,12 @@ import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
|
||||
class IrExpressionBodyImpl(startOffset: Int, endOffset: Int) : IrElementBase(startOffset, endOffset), IrExpressionBody {
|
||||
class IrExpressionBodyImpl(
|
||||
startOffset: Int,
|
||||
endOffset: Int
|
||||
) :
|
||||
IrElementBase(startOffset, endOffset),
|
||||
IrExpressionBody {
|
||||
|
||||
constructor(startOffset: Int, endOffset: Int, expression: IrExpression) : this(startOffset, endOffset) {
|
||||
this.expression = expression
|
||||
|
||||
@@ -36,7 +36,8 @@ class IrGetFieldImpl(
|
||||
type: IrType,
|
||||
origin: IrStatementOrigin? = null,
|
||||
superQualifierSymbol: IrClassSymbol? = null
|
||||
) : IrFieldExpressionBase(startOffset, endOffset, symbol, type, origin, superQualifierSymbol),
|
||||
) :
|
||||
IrFieldExpressionBase(startOffset, endOffset, symbol, type, origin, superQualifierSymbol),
|
||||
IrGetField {
|
||||
|
||||
@Deprecated("Creates unbound symbol")
|
||||
|
||||
@@ -30,14 +30,16 @@ class IrGetValueImpl(
|
||||
type: IrType,
|
||||
symbol: IrValueSymbol,
|
||||
override val origin: IrStatementOrigin? = null
|
||||
) : IrGetValue,
|
||||
) :
|
||||
IrTerminalDeclarationReferenceBase<IrValueSymbol, ValueDescriptor>(
|
||||
startOffset,
|
||||
endOffset,
|
||||
type,
|
||||
symbol,
|
||||
symbol.descriptor
|
||||
) {
|
||||
),
|
||||
IrGetValue {
|
||||
|
||||
@Deprecated("Creates unbound reference")
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
|
||||
+3
-1
@@ -27,7 +27,9 @@ class IrIfThenElseImpl(
|
||||
endOffset: Int,
|
||||
type: IrType,
|
||||
override val origin: IrStatementOrigin? = null
|
||||
) : IrWhenBase(startOffset, endOffset, type) {
|
||||
) :
|
||||
IrWhenBase(startOffset, endOffset, type) {
|
||||
|
||||
override val branches: MutableList<IrBranch> = SmartList()
|
||||
|
||||
constructor(
|
||||
|
||||
+3
-1
@@ -28,7 +28,9 @@ class IrInstanceInitializerCallImpl(
|
||||
endOffset: Int,
|
||||
override val classSymbol: IrClassSymbol,
|
||||
type: IrType
|
||||
) : IrTerminalExpressionBase(startOffset, endOffset, type), IrInstanceInitializerCall {
|
||||
) :
|
||||
IrTerminalExpressionBase(startOffset, endOffset, type),
|
||||
IrInstanceInitializerCall {
|
||||
|
||||
@Deprecated("Creates unbound symbol")
|
||||
constructor(
|
||||
|
||||
+2
-1
@@ -33,7 +33,8 @@ class IrLocalDelegatedPropertyReferenceImpl(
|
||||
override val getter: IrFunctionSymbol,
|
||||
override val setter: IrFunctionSymbol?,
|
||||
origin: IrStatementOrigin? = null
|
||||
) : IrNoArgumentsCallableReferenceBase(startOffset, endOffset, type, 0, origin),
|
||||
) :
|
||||
IrNoArgumentsCallableReferenceBase(startOffset, endOffset, type, 0, origin),
|
||||
IrLocalDelegatedPropertyReference {
|
||||
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
|
||||
+2
-1
@@ -30,7 +30,8 @@ abstract class IrMemberAccessExpressionBase(
|
||||
final override val typeArgumentsCount: Int,
|
||||
final override val valueArgumentsCount: Int,
|
||||
final override val origin: IrStatementOrigin? = null
|
||||
) : IrExpressionBase(startOffset, endOffset, type),
|
||||
) :
|
||||
IrExpressionBase(startOffset, endOffset, type),
|
||||
IrMemberAccessExpression {
|
||||
|
||||
override var dispatchReceiver: IrExpression? = null
|
||||
|
||||
+2
-1
@@ -27,7 +27,8 @@ abstract class IrNoArgumentsCallableReferenceBase(
|
||||
type: IrType,
|
||||
typeArgumentsCount: Int,
|
||||
origin: IrStatementOrigin? = null
|
||||
) : IrMemberAccessExpressionBase(startOffset, endOffset, type, typeArgumentsCount, 0, origin),
|
||||
) :
|
||||
IrMemberAccessExpressionBase(startOffset, endOffset, type, typeArgumentsCount, 0, origin),
|
||||
IrCallableReference {
|
||||
|
||||
private fun throwNoValueArguments(): Nothing {
|
||||
|
||||
+2
-1
@@ -38,7 +38,8 @@ abstract class IrPropertyAccessorCallBase(
|
||||
valueArgumentsCount: Int,
|
||||
origin: IrStatementOrigin? = null,
|
||||
override val superQualifierSymbol: IrClassSymbol? = null
|
||||
) : IrMemberAccessExpressionBase(startOffset, endOffset, type, typeArgumentsCount, valueArgumentsCount, origin),
|
||||
) :
|
||||
IrMemberAccessExpressionBase(startOffset, endOffset, type, typeArgumentsCount, valueArgumentsCount, origin),
|
||||
IrCall {
|
||||
|
||||
override val superQualifier: ClassDescriptor? get() = superQualifierSymbol?.descriptor
|
||||
|
||||
+2
-1
@@ -34,7 +34,8 @@ class IrPropertyReferenceImpl(
|
||||
override val getter: IrFunctionSymbol?,
|
||||
override val setter: IrFunctionSymbol?,
|
||||
origin: IrStatementOrigin? = null
|
||||
) : IrNoArgumentsCallableReferenceBase(startOffset, endOffset, type, typeArgumentsCount, origin),
|
||||
) :
|
||||
IrNoArgumentsCallableReferenceBase(startOffset, endOffset, type, typeArgumentsCount, origin),
|
||||
IrPropertyReference {
|
||||
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
|
||||
+3
-1
@@ -25,7 +25,9 @@ import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
class IrSpreadElementImpl(
|
||||
startOffset: Int,
|
||||
endOffset: Int
|
||||
) : IrElementBase(startOffset, endOffset), IrSpreadElement {
|
||||
) :
|
||||
IrElementBase(startOffset, endOffset),
|
||||
IrSpreadElement {
|
||||
|
||||
constructor(startOffset: Int, endOffset: Int, expression: IrExpression) : this(startOffset, endOffset) {
|
||||
this.expression = expression
|
||||
|
||||
+2
-1
@@ -29,7 +29,8 @@ abstract class IrTerminalDeclarationReferenceBase<out S : IrSymbol, out D : Decl
|
||||
type: IrType,
|
||||
symbol: S,
|
||||
descriptor: D
|
||||
) : IrDeclarationReferenceBase<S, D>(startOffset, endOffset, type, symbol, descriptor),
|
||||
) :
|
||||
IrDeclarationReferenceBase<S, D>(startOffset, endOffset, type, symbol, descriptor),
|
||||
IrDeclarationReference {
|
||||
|
||||
override fun <D> acceptChildren(visitor: IrElementVisitor<Unit, D>, data: D) {
|
||||
|
||||
+1
@@ -25,6 +25,7 @@ abstract class IrTerminalExpressionBase(
|
||||
endOffset: Int,
|
||||
type: IrType
|
||||
) : IrExpressionBase(startOffset, endOffset, type) {
|
||||
|
||||
override fun <D> acceptChildren(visitor: IrElementVisitor<Unit, D>, data: D) {
|
||||
// No children
|
||||
}
|
||||
|
||||
@@ -26,7 +26,10 @@ class IrThrowImpl(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
type: IrType
|
||||
) : IrExpressionBase(startOffset, endOffset, type), IrThrow {
|
||||
) :
|
||||
IrExpressionBase(startOffset, endOffset, type),
|
||||
IrThrow {
|
||||
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
|
||||
@@ -28,7 +28,8 @@ abstract class IrWhenBase(
|
||||
endOffset: Int,
|
||||
type: IrType,
|
||||
override val origin: IrStatementOrigin? = null
|
||||
) : IrExpressionBase(startOffset, endOffset, type),
|
||||
) :
|
||||
IrExpressionBase(startOffset, endOffset, type),
|
||||
IrWhen {
|
||||
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
|
||||
Reference in New Issue
Block a user