Minor. Code clean

This commit is contained in:
Mikhael Bogdanov
2018-05-04 13:21:12 +02:00
parent fdbc863e60
commit 74fa7ee676
7 changed files with 9 additions and 26 deletions
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.ir.symbols.IrConstructorSymbol
interface DescriptorsFactory {
fun getFieldDescriptorForEnumEntry(enumEntryDescriptor: ClassDescriptor): PropertyDescriptor
fun getOuterThisFieldDescriptor(classDescriptor: ClassDescriptor): PropertyDescriptor
fun getOuterThisFieldDescriptor(innerClassDescriptor: ClassDescriptor): PropertyDescriptor
fun getInnerClassConstructorWithOuterThisParameter(innerClassConstructor: ClassConstructorDescriptor): IrConstructorSymbol
fun getFieldDescriptorForObjectInstance(objectDescriptor: ClassDescriptor): PropertyDescriptor
}
@@ -50,7 +50,8 @@ private class KCallableNamePropertyTransformer(val lower: KCallableNamePropertyL
//TODO rewrite checking
val directMember = DescriptorUtils.getDirectMember(expression.descriptor)
if (!((directMember.containingDeclaration as? ClassDescriptor)?.defaultType?.isKFunctionType ?: false)) return expression
val classDescriptor = directMember.containingDeclaration as? ClassDescriptor ?: return expression
if (!classDescriptor.defaultType.isKFunctionType) return expression
if (directMember.name.asString() != "name") return expression
val receiver = callableReference.dispatchReceiver ?: callableReference.extensionReceiver
@@ -48,7 +48,7 @@ class LateinitLowering(
private fun transformGetter(backingFieldSymbol: IrFieldSymbol, getter: IrFunction) {
val type = backingFieldSymbol.descriptor.type
assert(!KotlinBuiltIns.isPrimitiveType(type), { "'lateinit' modifier is not allowed on primitive types" })
assert(!KotlinBuiltIns.isPrimitiveType(type)) { "'lateinit' modifier is not allowed on primitive types" }
val startOffset = getter.startOffset
val endOffset = getter.endOffset
val irBuilder = context.createIrBuilder(getter.symbol, startOffset, endOffset)
@@ -149,7 +149,7 @@ class LocalDeclarationsLowering(val context: BackendContext, val localNameProvid
}
override fun toString(): String =
"LocalClassContext for ${descriptor}"
"LocalClassContext for $descriptor"
}
private inner class LocalDeclarationsTransformer(val memberDeclaration: IrDeclaration) {
@@ -270,14 +270,12 @@ class LocalDeclarationsLowering(val context: BackendContext, val localNameProvid
val oldCallee = expression.descriptor.original
val newCallee = transformedDeclarations[oldCallee] as IrConstructorSymbol? ?: return expression
val newExpression = IrDelegatingConstructorCallImpl(
return IrDelegatingConstructorCallImpl(
expression.startOffset, expression.endOffset,
newCallee,
newCallee.descriptor,
remapTypeArguments(expression, newCallee.descriptor)
).fillArguments(expression)
return newExpression
}
private fun <T : IrMemberAccessExpression> T.fillArguments(oldExpression: IrMemberAccessExpression): T {