mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Merge pull request #17890 from smowton/smowton/fix/kotlin-use-nulltype
Kotlin extractor: use special <nulltype> for null literals
This commit is contained in:
@@ -5745,7 +5745,14 @@ open class KotlinFileExtractor(
|
||||
) =
|
||||
exprIdOrFresh<DbNullliteral>(overrideId).also {
|
||||
val type = useType(t)
|
||||
tw.writeExprs_nullliteral(it, type.javaResult.id, parent, idx)
|
||||
// Match Java by using a special <nulltype> for nulls, rather than Kotlin's view of this which is
|
||||
// kotlin.Nothing?, the type that can only contain null.
|
||||
val nullTypeName = "<nulltype>"
|
||||
val javaNullType = tw.getLabelFor<DbPrimitive>(
|
||||
"@\"type;$nullTypeName\"",
|
||||
{ tw.writePrimitives(it, nullTypeName) }
|
||||
)
|
||||
tw.writeExprs_nullliteral(it, javaNullType, parent, idx)
|
||||
tw.writeExprsKotlinType(it, type.kotlinResult.id)
|
||||
extractExprContext(it, locId, callable, enclosingStmt)
|
||||
}
|
||||
|
||||
@@ -45,9 +45,9 @@
|
||||
| generic_anonymous.kt:13:27:13:47 | get(...) | int |
|
||||
| generic_anonymous.kt:13:40:13:40 | i | int |
|
||||
| generic_anonymous.kt:17:9:17:29 | T0 | T0 |
|
||||
| generic_anonymous.kt:17:26:17:29 | null | Void |
|
||||
| generic_anonymous.kt:17:26:17:29 | null | <nulltype> |
|
||||
| generic_anonymous.kt:21:9:21:29 | T1 | T1 |
|
||||
| generic_anonymous.kt:21:26:21:29 | null | Void |
|
||||
| generic_anonymous.kt:21:26:21:29 | null | <nulltype> |
|
||||
| generic_anonymous.kt:24:5:32:5 | Unit | Unit |
|
||||
| generic_anonymous.kt:25:9:31:9 | Unit | Unit |
|
||||
| generic_anonymous.kt:26:13:26:37 | <Stmt> | new Object(...) { ... } |
|
||||
|
||||
@@ -45,9 +45,9 @@
|
||||
| generic_anonymous.kt:13:27:13:47 | get(...) | int |
|
||||
| generic_anonymous.kt:13:40:13:40 | i | int |
|
||||
| generic_anonymous.kt:17:9:17:29 | T0 | T0 |
|
||||
| generic_anonymous.kt:17:26:17:29 | null | Void |
|
||||
| generic_anonymous.kt:17:26:17:29 | null | <nulltype> |
|
||||
| generic_anonymous.kt:21:9:21:29 | T1 | T1 |
|
||||
| generic_anonymous.kt:21:26:21:29 | null | Void |
|
||||
| generic_anonymous.kt:21:26:21:29 | null | <nulltype> |
|
||||
| generic_anonymous.kt:24:5:32:5 | Unit | Unit |
|
||||
| generic_anonymous.kt:25:9:31:9 | Unit | Unit |
|
||||
| generic_anonymous.kt:26:13:26:37 | <Stmt> | new Object(...) { ... } |
|
||||
|
||||
Reference in New Issue
Block a user