Kotlin: Add support for IMPLICIT_COERCION_TO_UNIT

This commit is contained in:
Ian Lynagh
2021-10-28 17:16:42 +01:00
parent 924c615216
commit 9a886260cd
2 changed files with 12 additions and 0 deletions

View File

@@ -1517,6 +1517,16 @@ class X {
extractTypeAccess(e.typeOperand, id, 0, e)
extractExpressionExpr(e.argument, callable, id, 1)
}
IrTypeOperator.IMPLICIT_COERCION_TO_UNIT -> {
// TODO: Make this distinguishable from an explicit cast?
val id = tw.getFreshIdLabel<DbCastexpr>()
val locId = tw.getLocation(e)
val type = useType(e.type)
tw.writeExprs_castexpr(id, type.javaResult.id, type.kotlinResult.id, parent, idx)
tw.writeHasLocation(id, locId)
extractTypeAccess(e.typeOperand, id, 0, e)
extractExpressionExpr(e.argument, callable, id, 1)
}
IrTypeOperator.INSTANCEOF -> {
val id = tw.getFreshIdLabel<DbInstanceofexpr>()
val locId = tw.getLocation(e)

View File

@@ -74,6 +74,8 @@
| exprs.kt:50:12:50:19 | variable | VarAccess |
| exprs.kt:50:12:50:23 | ... > ... | GTExpr |
| exprs.kt:50:23:50:23 | 0 | IntegerLiteral |
| exprs.kt:51:9:51:18 | (...)... | CastExpr |
| exprs.kt:51:9:51:18 | void | TypeAccess |
| exprs.kt:54:12:54:14 | 123 | IntegerLiteral |
| exprs.kt:54:12:54:20 | ... + ... | AddExpr |
| exprs.kt:54:18:54:20 | 456 | IntegerLiteral |