Skip to content

Commit d1294d5

Browse files
authored
Avoid stack overflow when initializing field with self mutations (#2566)
Avoid stack overflow when initialising field with self mutations
1 parent e34bf8b commit d1294d5

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/fieldmanager/ClassFieldManagerFacade.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@ import org.utbot.framework.plugin.api.UtSpringContextModel
99

1010
class ClassFieldManagerFacade(context: CgContext) : CgContextOwner by context {
1111

12+
private val alreadyInitializedModels = mutableSetOf<UtModelWrapper>()
13+
1214
fun constructVariableForField(model: UtModel): CgValue? {
1315
relevantFieldManagers.forEach { manager ->
1416
val alreadyCreatedVariable = manager.findCgValueByModel(model, manager.annotatedModels)
1517
if (alreadyCreatedVariable != null) {
16-
manager.useVariableForModel(model, alreadyCreatedVariable)
18+
if (alreadyInitializedModels.add(model.wrap()))
19+
manager.useVariableForModel(model, alreadyCreatedVariable)
1720
return alreadyCreatedVariable
1821
}
1922
}

0 commit comments

Comments
 (0)