Serializer warning cleanup.

This commit is contained in:
Alexander Gorshenev
2017-03-30 14:41:27 +03:00
committed by alexander-gorshenev
parent f63862e98d
commit 8c30ae38b6
8 changed files with 35 additions and 39 deletions
@@ -81,7 +81,7 @@ internal class IrDescriptorDeserializer(val context: Context,
val index = proto.getIndex()
val text = proto.getDebugText()
val typeProto = localDeserializer.typeTable!![index]
val typeProto = localDeserializer.typeTable[index]
val type = localDeserializer.deserializeInlineType(typeProto)
context.log("### deserialized Kotlin Type index=$index, text=$text:\t$type")
@@ -313,7 +313,7 @@ internal class IrDescriptorDeserializer(val context: Context,
}
fun parentByFqNameIndex(index: Int): DeclarationDescriptor {
val module = context.moduleDescriptor!!
val module = context.moduleDescriptor
val parent = nameResolver.getDescriptorByFqNameIndex(module, nameTable, index)
return parent
@@ -327,7 +327,7 @@ internal class IrDescriptorDeserializer(val context: Context,
KotlinDescriptor.Kind.CLASS -> {
val parentScope =
parentMemberScopeByFqNameIndex(classOrPackage)
val clazz = parentScope.getContributedClassifier(
val clazz = parentScope.getContributedClassifier(
Name.identifier(name), NoLookupLocation.FROM_BACKEND)
return listOf(clazz!!)
@@ -351,10 +351,10 @@ internal class IrDescriptorDeserializer(val context: Context,
fun selectFunction(
functions: Collection<DeclarationDescriptor>,
proto: KonanIr.KotlinDescriptor ):
descriptorProto: KonanIr.KotlinDescriptor):
DeserializedSimpleFunctionDescriptor {
val originalIndex = proto.originalIndex
val originalIndex = descriptorProto.originalIndex
return functions.single() {
val proto = (it as DeserializedSimpleFunctionDescriptor).proto
proto.getExtension(KonanLinkData.functionIndex) == originalIndex
@@ -363,10 +363,10 @@ internal class IrDescriptorDeserializer(val context: Context,
fun selectConstructor(
constructors: Collection<DeclarationDescriptor>,
proto: KonanIr.KotlinDescriptor):
descriptorProto: KonanIr.KotlinDescriptor):
DeserializedClassConstructorDescriptor {
val originalIndex = proto.originalIndex
val originalIndex = descriptorProto.originalIndex
return constructors.single {
val proto = (it as DeserializedClassConstructorDescriptor).proto
proto.getExtension(KonanLinkData.constructorIndex) == originalIndex
@@ -40,7 +40,7 @@ internal class IrDescriptorSerializer(
var rootFunction: FunctionDescriptor) {
fun serializeKotlinType(type: KotlinType): KonanIr.KotlinType {
val index = this.typeSerializer!!(type)
val index = this.typeSerializer(type)
val proto = KonanIr.KotlinType.newBuilder()
.setIndex(index)
.setDebugText(type.toString())
@@ -94,7 +94,7 @@ internal class IrDescriptorSerializer(
proto.setExtensionReceiverIndex(
descriptorTable.indexByValue(extensionReceiver))
proto.setExtensionReceiverType(
serializeKotlinType(extensionReceiver.type!!))
serializeKotlinType(extensionReceiver.type))
}
proto.setType(serializeKotlinType(
@@ -36,7 +36,6 @@ class KonanClassDataFinder(
) : ClassDataFinder {
override fun findClassData(classId: ClassId): ClassDataWithSource? {
val proto = fragment.classes
val classList = proto.getClassesList()
val nameList = proto.getClassNameList()
val index = nameList.indexOfFirst({
@@ -252,7 +252,7 @@ message IrClass {
}
message IrEnumEntry {
optional IrExpression initializer = 1;
required IrExpression initializer = 1;
optional IrDeclaration corresponding_class = 2;
}
@@ -53,7 +53,7 @@ class KonanPackageFragment( val proto: KonanLinkData.PackageFragment,
if (!classId.isNestedClass) shortName else null
}
return names ?: listOf()
return names
}
}
@@ -49,15 +49,15 @@ internal class KonanSerializerExtension(val context: Context, val util: KonanSer
override val stringTable = KonanStringTable()
override fun shouldUseTypeTable(): Boolean = true
override fun serializeType(descriptor: KotlinType, proto: ProtoBuf.Type.Builder) {
override fun serializeType(type: KotlinType, proto: ProtoBuf.Type.Builder) {
proto.setExtension(KonanLinkData.typeText, descriptor.toString())
proto.setExtension(KonanLinkData.typeText, type.toString())
super.serializeType(descriptor, proto)
super.serializeType(type, proto)
}
override fun serializeTypeParameter(descriptor: TypeParameterDescriptor, proto: ProtoBuf.TypeParameter.Builder) {
super.serializeTypeParameter(descriptor, proto)
override fun serializeTypeParameter(typeParameter: TypeParameterDescriptor, proto: ProtoBuf.TypeParameter.Builder) {
super.serializeTypeParameter(typeParameter, proto)
}
override fun serializeValueParameter(descriptor: ValueParameterDescriptor, proto: ProtoBuf.ValueParameter.Builder) {
@@ -131,21 +131,21 @@ internal class KonanSerializerExtension(val context: Context, val util: KonanSer
backingFieldClass, emptyMap(), SourceElement.NO_SOURCE)
override fun serializeProperty(property: PropertyDescriptor, proto: ProtoBuf.Property.Builder) {
val parentIndex = property.parentFqNameIndex()
override fun serializeProperty(descriptor: PropertyDescriptor, proto: ProtoBuf.Property.Builder) {
val parentIndex = descriptor.parentFqNameIndex()
proto.setExtension(KonanLinkData.propertyParent, parentIndex)
val variable = originalVariables[property]
val variable = originalVariables[descriptor]
if (variable != null) {
proto.setExtension(KonanLinkData.usedAsVariable, true)
proto.setExtension(KonanLinkData.propertyIndex, inlineDescriptorTable.indexByValue(variable))
} else {
proto.setExtension(KonanLinkData.propertyIndex, inlineDescriptorTable.indexByValue(property))
proto.setExtension(KonanLinkData.propertyIndex, inlineDescriptorTable.indexByValue(descriptor))
}
super.serializeProperty(property, proto)
super.serializeProperty(descriptor, proto)
if (context.ir.propertiesWithBackingFields.contains(property)) {
if (context.ir.propertiesWithBackingFields.contains(descriptor)) {
proto.addExtension(KonanLinkData.propertyAnnotation,
annotationSerializer.serializeAnnotation(backingFieldAnnotation))
@@ -64,7 +64,6 @@ class LocalDeclarationDeserializer(val rootFunction: FunctionDescriptor, val mod
fun getDescriptorByFqNameIndex(module: ModuleDescriptor, fqNameIndex: Int): DeclarationDescriptor {
val packageName = nameResolver.getPackageFqName(fqNameIndex)
val shortName = nameResolver.getString(fqNameIndex)
// Here we using internals of NameresolverImpl.
val proto = nameTable.getQualifiedName(fqNameIndex)
when (proto.kind) {
@@ -73,6 +72,7 @@ class LocalDeclarationDeserializer(val rootFunction: FunctionDescriptor, val mod
return module.findClassAcrossModuleDependencies(nameResolver.getClassId(fqNameIndex))!!
QualifiedName.Kind.PACKAGE ->
return module.getPackage(packageName)
else -> error("Unexpected descriptor kind.")
}
}
@@ -50,7 +50,7 @@ internal class IrSerializer(val context: Context,
fun serializeInlineBody(): String {
val declaration = context.ir.originalModuleIndex.functions[rootFunction]!!
context.log("INLINE: ${ir2stringWhole(declaration)}")
return encodeDeclaration(declaration as IrFunction)
return encodeDeclaration(declaration)
}
fun serializeKotlinType(type: KotlinType): KonanIr.KotlinType {
@@ -174,7 +174,7 @@ internal class IrSerializer(val context: Context,
assert(it.varargElementType != null ||
it.declaresDefaultValue())
} else {
val arg = actual!!
val arg = actual
val argProto = serializeExpression(arg)
proto.addValueArgument(argProto)
}
@@ -366,7 +366,7 @@ internal class IrSerializer(val context: Context,
if (label != null) {
proto.setLabel(label)
}
val loopId = loopIndex[expression.loop!!]!!
val loopId = loopIndex[expression.loop]!!
proto.setLoopId(loopId)
return proto.build()
@@ -378,7 +378,7 @@ internal class IrSerializer(val context: Context,
if (label != null) {
proto.setLabel(label)
}
val loopId = loopIndex[expression.loop!!]!!
val loopId = loopIndex[expression.loop]!!
proto.setLoopId(loopId)
return proto.build()
@@ -490,9 +490,7 @@ internal class IrSerializer(val context: Context,
fun serializeIrEnumEntry(enumEntry: IrEnumEntry): KonanIr.IrEnumEntry {
val proto = KonanIr.IrEnumEntry.newBuilder()
val initializer = enumEntry.initializerExpression
if (initializer != null) {
proto.setInitializer(serializeExpression(initializer))
}
proto.setInitializer(serializeExpression(initializer))
val correspondingClass = enumEntry.correspondingClass
if (correspondingClass != null) {
proto.setCorrespondingClass(serializeDeclaration(correspondingClass))
@@ -566,7 +564,7 @@ internal class IrDeserializer(val context: Context,
val loopIndex = mutableMapOf<Int, IrLoop>()
val localDeserializer = LocalDeclarationDeserializer(rootFunction, context.moduleDescriptor!!)
val localDeserializer = LocalDeclarationDeserializer(rootFunction, context.moduleDescriptor)
val descriptorDeserializer = IrDescriptorDeserializer(
context, descriptorIndex, rootFunction, localDeserializer)
@@ -657,7 +655,7 @@ internal class IrDeserializer(val context: Context,
return block
}
fun deserializeMemberAccessCommon(access: IrMemberAccessExpression, descriptor: CallableDescriptor, proto: KonanIr.MemberAccessCommon) {
fun deserializeMemberAccessCommon(access: IrMemberAccessExpression, proto: KonanIr.MemberAccessCommon) {
proto.valueArgumentList.mapIndexed { i, expr ->
access.putValueArgument(i, deserializeExpression(expr))
@@ -689,8 +687,9 @@ internal class IrDeserializer(val context: Context,
IrUnaryPrimitiveImpl(start, end, null, descriptor)
KonanIr.IrCall.Primitive.BINARY ->
IrBinaryPrimitiveImpl(start, end, null, descriptor)
else -> error("Unexpected primitive IrCall.")
}
deserializeMemberAccessCommon(call, descriptor, proto.memberAccess)
deserializeMemberAccessCommon(call, proto.memberAccess)
return call
}
@@ -709,14 +708,14 @@ internal class IrDeserializer(val context: Context,
val call = IrDelegatingConstructorCallImpl(start, end, descriptor, typeArgs)
deserializeMemberAccessCommon(call, descriptor, proto.memberAccess)
deserializeMemberAccessCommon(call, proto.memberAccess)
return call
}
fun deserializeEnumConstructorCall(proto: KonanIr.IrEnumConstructorCall, start: Int, end: Int, type: KotlinType): IrEnumConstructorCall {
val descriptor = deserializeDescriptor(proto.getDescriptor()) as ClassConstructorDescriptor
val call = IrEnumConstructorCallImpl(start, end, descriptor)
deserializeMemberAccessCommon(call, descriptor, proto.memberAccess)
deserializeMemberAccessCommon(call, proto.memberAccess)
return call
}
@@ -991,9 +990,7 @@ internal class IrDeserializer(val context: Context,
if (proto.hasCorrespondingClass()) {
enumEntry.correspondingClass = deserializeDeclaration(proto.correspondingClass) as IrClass
}
if (proto.hasInitializer()) {
enumEntry.initializerExpression = deserializeExpression(proto.initializer)
}
enumEntry.initializerExpression = deserializeExpression(proto.initializer)
return enumEntry
}