[K/N] keep coordinates for inline functions
^KT-65442
This commit is contained in:
+5
-8
@@ -185,11 +185,7 @@ open class IrFileSerializer(
|
|||||||
private fun serializeIrStatementOrigin(origin: IrStatementOrigin): Int =
|
private fun serializeIrStatementOrigin(origin: IrStatementOrigin): Int =
|
||||||
serializeString(origin.debugName)
|
serializeString(origin.debugName)
|
||||||
|
|
||||||
private fun serializeCoordinates(start: Int, end: Int): Long = if (skipPrivateApi) {
|
private fun serializeCoordinates(start: Int, end: Int): Long = BinaryCoordinates.encode(start, end)
|
||||||
0L
|
|
||||||
} else {
|
|
||||||
BinaryCoordinates.encode(start, end)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ------- Strings ---------------------------------------------------------- */
|
/* ------- Strings ---------------------------------------------------------- */
|
||||||
|
|
||||||
@@ -1005,7 +1001,7 @@ open class IrFileSerializer(
|
|||||||
private fun serializeIrDeclarationBase(declaration: IrDeclaration, flags: Long?): ProtoDeclarationBase {
|
private fun serializeIrDeclarationBase(declaration: IrDeclaration, flags: Long?): ProtoDeclarationBase {
|
||||||
return with(ProtoDeclarationBase.newBuilder()) {
|
return with(ProtoDeclarationBase.newBuilder()) {
|
||||||
symbol = serializeIrSymbol((declaration as IrSymbolOwner).symbol, isDeclared = true)
|
symbol = serializeIrSymbol((declaration as IrSymbolOwner).symbol, isDeclared = true)
|
||||||
coordinates = serializeCoordinates(declaration.startOffset, declaration.endOffset)
|
coordinates = if (skipPrivateApi && !isInsideInline) 0L else serializeCoordinates(declaration.startOffset, declaration.endOffset)
|
||||||
addAllAnnotation(serializeAnnotations(declaration.annotations))
|
addAllAnnotation(serializeAnnotations(declaration.annotations))
|
||||||
flags?.let { setFlags(it) }
|
flags?.let { setFlags(it) }
|
||||||
originName = serializeIrDeclarationOrigin(declaration.origin)
|
originName = serializeIrDeclarationOrigin(declaration.origin)
|
||||||
@@ -1201,7 +1197,7 @@ open class IrFileSerializer(
|
|||||||
|
|
||||||
private fun serializeIrErrorDeclaration(errorDeclaration: IrErrorDeclaration): ProtoErrorDeclaration {
|
private fun serializeIrErrorDeclaration(errorDeclaration: IrErrorDeclaration): ProtoErrorDeclaration {
|
||||||
val proto = ProtoErrorDeclaration.newBuilder()
|
val proto = ProtoErrorDeclaration.newBuilder()
|
||||||
.setCoordinates(serializeCoordinates(errorDeclaration.startOffset, errorDeclaration.endOffset))
|
.setCoordinates(if (skipPrivateApi) 0L else serializeCoordinates(errorDeclaration.startOffset, errorDeclaration.endOffset))
|
||||||
return proto.build()
|
return proto.build()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1330,7 +1326,6 @@ open class IrFileSerializer(
|
|||||||
val topLevelDeclarations = mutableListOf<SerializedDeclaration>()
|
val topLevelDeclarations = mutableListOf<SerializedDeclaration>()
|
||||||
|
|
||||||
val proto = ProtoFile.newBuilder()
|
val proto = ProtoFile.newBuilder()
|
||||||
.setFileEntry(serializeFileEntry(file.fileEntry, includeLineStartOffsets = !skipPrivateApi))
|
|
||||||
.addAllFqName(serializeFqName(file.packageFqName.asString()))
|
.addAllFqName(serializeFqName(file.packageFqName.asString()))
|
||||||
.addAllAnnotation(serializeAnnotations(file.annotations))
|
.addAllAnnotation(serializeAnnotations(file.annotations))
|
||||||
|
|
||||||
@@ -1357,6 +1352,8 @@ open class IrFileSerializer(
|
|||||||
proto.addDeclarationId(sigIndex)
|
proto.addDeclarationId(sigIndex)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proto.setFileEntry(serializeFileEntry(file.fileEntry, includeLineStartOffsets = !(skipPrivateApi && protoBodyArray.isEmpty())))
|
||||||
|
|
||||||
// TODO: is it Konan specific?
|
// TODO: is it Konan specific?
|
||||||
|
|
||||||
// Make sure that all top level properties are initialized on library's load.
|
// Make sure that all top level properties are initialized on library's load.
|
||||||
|
|||||||
Reference in New Issue
Block a user