@@ -14,13 +14,15 @@ import org.utbot.framework.codegen.tree.CgComponents.getNameGeneratorBy
1414import org.utbot.framework.codegen.tree.CgComponents.getStatementConstructorBy
1515import org.utbot.framework.codegen.util.at
1616import org.utbot.framework.codegen.util.canBeSetFrom
17+ import org.utbot.framework.codegen.util.canBeSetViaSetterFrom
1718import org.utbot.framework.codegen.util.fieldThatIsGotWith
1819import org.utbot.framework.codegen.util.fieldThatIsSetWith
1920import org.utbot.framework.codegen.util.inc
2021import org.utbot.framework.codegen.util.isAccessibleFrom
2122import org.utbot.framework.codegen.util.lessThan
2223import org.utbot.framework.codegen.util.nullLiteral
2324import org.utbot.framework.codegen.util.resolve
25+ import org.utbot.framework.codegen.util.setter
2426import org.utbot.framework.plugin.api.BuiltinClassId
2527import org.utbot.framework.plugin.api.ClassId
2628import org.utbot.framework.plugin.api.FieldId
@@ -209,6 +211,10 @@ open class CgVariableConstructor(val context: CgContext) :
209211 // TODO: check if it is correct to use declaringClass of a field here
210212 val fieldAccess = if (field.isStatic) CgStaticFieldAccess (fieldId) else CgFieldAccess (obj, fieldId)
211213 fieldAccess `= ` valueForField
214+ } else if (context.codegenLanguage == CodegenLanguage .JAVA &&
215+ ! field.isStatic && fieldId.canBeSetViaSetterFrom(context)
216+ ) {
217+ + CgMethodCall (obj, fieldId.setter, listOf (valueForField))
212218 } else {
213219 // composite models must not have info about static fields, hence only non-static fields are set here
214220 + utilsClassId[setField](obj, fieldId.declaringClass.name, fieldId.name, valueForField)
0 commit comments