Skip to content

Commit 4679929

Browse files
committed
Revert casts if they are not required
1 parent d202023 commit 4679929

File tree

1 file changed

+6
-5
lines changed
  • utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/visitor

1 file changed

+6
-5
lines changed

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/visitor/CgJavaRenderer.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,18 +107,19 @@ internal class CgJavaRenderer(context: CgContext, printer: CgPrinter = CgPrinter
107107
override fun visit(element: CgTypeCast) {
108108
// TODO: check cases when element.expression is CgLiteral of primitive wrapper type and element.targetType is primitive
109109
// TODO: example: (double) 1.0, (float) 1.0f, etc.
110+
val expr = element.expression
111+
val wrappedTargetType = wrapperByPrimitive.getOrDefault(element.targetType, element.targetType)
112+
val exprTypeIsSimilar = expr.type == element.targetType || expr.type == wrappedTargetType
113+
110114
// cast for null is mandatory in case of ambiguity - for example, readObject(Object) and readObject(Map)
111-
if (element.expression.type == element.targetType && element.expression != nullLiteral()) {
115+
if (exprTypeIsSimilar && expr != nullLiteral()) {
112116
element.expression.accept(this)
113117
return
114118
}
115119

116-
val elementTargetType = element.targetType
117-
val targetType = wrapperByPrimitive.getOrDefault(elementTargetType, elementTargetType)
118-
119120
print("(")
120121
print("(")
121-
print(targetType.asString())
122+
print(wrappedTargetType.asString())
122123
print(") ")
123124
element.expression.accept(this)
124125
print(")")

0 commit comments

Comments
 (0)