mirror of
https://github.com/github/codeql.git
synced 2025-12-20 18:56:32 +01:00
Kotlin: Compile with -Werror, and fix warnings
This commit is contained in:
@@ -2582,8 +2582,8 @@ open class KotlinFileExtractor(
|
||||
indexVarDecl.initializer?.let { indexVarInitializer ->
|
||||
(e.statements[2] as? IrCall)?.let { arraySetCall ->
|
||||
if (isFunction(arraySetCall.symbol.owner, "kotlin", "(some array type)", { isArrayType(it) }, "set")) {
|
||||
val updateRhs = arraySetCall.getValueArgument(1)
|
||||
if (updateRhs == null) {
|
||||
val updateRhs0 = arraySetCall.getValueArgument(1)
|
||||
if (updateRhs0 == null) {
|
||||
logger.errorElement("Update RHS not found", e)
|
||||
return false
|
||||
}
|
||||
@@ -2596,7 +2596,7 @@ open class KotlinFileExtractor(
|
||||
receiverVal -> receiverVal.symbol.owner == arrayVarDecl.symbol.owner
|
||||
} ?: false
|
||||
},
|
||||
updateRhs
|
||||
updateRhs0
|
||||
)?.let { updateRhs ->
|
||||
val origin = e.origin
|
||||
if (origin == null) {
|
||||
@@ -3421,15 +3421,11 @@ open class KotlinFileExtractor(
|
||||
|
||||
data class ReceiverInfo(val receiver: IrExpression, val type: IrType, val field: Label<DbField>, val indexOffset: Int)
|
||||
|
||||
private fun makeReceiverInfo(callableReferenceExpr: IrCallableReference<out IrSymbol>, receiver: IrExpression?, indexOffset: Int): ReceiverInfo? {
|
||||
private fun makeReceiverInfo(receiver: IrExpression?, indexOffset: Int): ReceiverInfo? {
|
||||
if (receiver == null) {
|
||||
return null
|
||||
}
|
||||
val type = receiver.type
|
||||
if (type == null) {
|
||||
logger.warnElement("Receiver has no type", callableReferenceExpr)
|
||||
return null
|
||||
}
|
||||
val field: Label<DbField> = tw.getFreshIdLabel()
|
||||
return ReceiverInfo(receiver, type, field, indexOffset)
|
||||
}
|
||||
@@ -3442,8 +3438,8 @@ open class KotlinFileExtractor(
|
||||
: GeneratedClassHelper(locId, ids) {
|
||||
|
||||
// Only one of the receivers can be non-null, but we defensively handle the case when both are null anyway
|
||||
private val dispatchReceiverInfo = makeReceiverInfo(callableReferenceExpr, callableReferenceExpr.dispatchReceiver, 0)
|
||||
private val extensionReceiverInfo = makeReceiverInfo(callableReferenceExpr, callableReferenceExpr.extensionReceiver, if (dispatchReceiverInfo == null) 0 else 1)
|
||||
private val dispatchReceiverInfo = makeReceiverInfo(callableReferenceExpr.dispatchReceiver, 0)
|
||||
private val extensionReceiverInfo = makeReceiverInfo(callableReferenceExpr.extensionReceiver, if (dispatchReceiverInfo == null) 0 else 1)
|
||||
|
||||
fun extractReceiverField() {
|
||||
val firstAssignmentStmtIdx = 1
|
||||
|
||||
Reference in New Issue
Block a user