@@ -2094,7 +2094,7 @@ open class KotlinFileExtractor(
20942094 id
20952095 }
20962096 else -> {
2097- logger.errorElement(" Unhandled target name: $targetName " , c)
2097+ logger.errorElement(" Unhandled binary target name: $targetName " , c)
20982098 return
20992099 }
21002100 }
@@ -2130,10 +2130,29 @@ open class KotlinFileExtractor(
21302130 tw.writeExprsKotlinType(id, type.kotlinResult.id)
21312131 unaryopDisp(id)
21322132 }
2133- isNumericFunction(target, " inv" ) -> {
2134- val id = tw.getFreshIdLabel<DbBitnotexpr >()
2133+ isNumericFunction(target, listOf (" inv" , " unaryMinus" , " unaryPlus" )) -> {
21352134 val type = useType(c.type)
2136- tw.writeExprs_bitnotexpr(id, type.javaResult.id, parent, idx)
2135+ val id: Label <out DbExpr > = when (val targetName = target.name.asString()) {
2136+ " inv" -> {
2137+ val id = tw.getFreshIdLabel<DbBitnotexpr >()
2138+ tw.writeExprs_bitnotexpr(id, type.javaResult.id, parent, idx)
2139+ id
2140+ }
2141+ " unaryMinus" -> {
2142+ val id = tw.getFreshIdLabel<DbMinusexpr >()
2143+ tw.writeExprs_minusexpr(id, type.javaResult.id, parent, idx)
2144+ id
2145+ }
2146+ " unaryPlus" -> {
2147+ val id = tw.getFreshIdLabel<DbPlusexpr >()
2148+ tw.writeExprs_plusexpr(id, type.javaResult.id, parent, idx)
2149+ id
2150+ }
2151+ else -> {
2152+ logger.errorElement(" Unhandled unary target name: $targetName " , c)
2153+ return
2154+ }
2155+ }
21372156 tw.writeExprsKotlinType(id, type.kotlinResult.id)
21382157 unaryopDisp(id)
21392158 }
0 commit comments