Rebase + reformat

This commit is contained in:
Dmitry Petrov
2018-05-14 11:02:58 +03:00
parent 0f718ec2d8
commit 0774ca415c
32 changed files with 140 additions and 40 deletions
@@ -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
}
@@ -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(
@@ -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
@@ -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)
@@ -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)
}
@@ -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)
@@ -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)
}
@@ -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
@@ -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()
@@ -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)
@@ -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,
@@ -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(
@@ -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(
@@ -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 =
@@ -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
@@ -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 {
@@ -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
@@ -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 =
@@ -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
@@ -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) {
@@ -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 =