From 4a4784fa3045bbf8c7124b4176b6225286653d5c Mon Sep 17 00:00:00 2001 From: Kirill Shishin Date: Wed, 12 Jul 2023 20:10:52 +0300 Subject: [PATCH 1/5] Refactor CgVariableConstructor --- .../framework/codegen/tree/CgFieldManager.kt | 122 ++++++++++++++++++ .../tree/CgSpringVariableConstructor.kt | 50 +------ .../codegen/tree/CgVariableConstructor.kt | 6 +- 3 files changed, 130 insertions(+), 48 deletions(-) create mode 100644 utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgFieldManager.kt diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgFieldManager.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgFieldManager.kt new file mode 100644 index 0000000000..9ecfbf4b04 --- /dev/null +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgFieldManager.kt @@ -0,0 +1,122 @@ +package org.utbot.framework.codegen.tree + +import org.utbot.framework.codegen.domain.UtModelWrapper +import org.utbot.framework.codegen.domain.builtin.injectMocksClassId +import org.utbot.framework.codegen.domain.builtin.mockClassId +import org.utbot.framework.codegen.domain.context.CgContext +import org.utbot.framework.codegen.domain.context.CgContextOwner +import org.utbot.framework.codegen.domain.models.CgValue +import org.utbot.framework.codegen.domain.models.CgVariable +import org.utbot.framework.plugin.api.* +import org.utbot.framework.plugin.api.util.SpringModelUtils.autowiredClassId +import org.utbot.framework.plugin.api.util.SpringModelUtils.isAutowiredFromContext + +interface CgFieldManager : CgContextOwner { + val annotation: ClassId + + val variableConstructor: CgSpringVariableConstructor + + fun constructVariableForField(model: UtModel, modelVariable: CgValue): CgValue + + fun findCgValueByModel(model: UtModel, setOfModels: Set?): CgValue? { + val key = setOfModels?.find { it == model.wrap() } ?: return null + return valueByUtModelWrapper[key] + } +} + +class CgInjectingMocksFieldsManager(context: CgContext) : + CgFieldManager, + CgContextOwner by context +{ + override val annotation = injectMocksClassId + + override val variableConstructor: CgSpringVariableConstructor = + CgComponents.getVariableConstructorBy(context) as CgSpringVariableConstructor + + + override fun constructVariableForField(model: UtModel, modelVariable: CgValue): CgValue { + val modelFields = when (model) { + is UtCompositeModel -> model.fields + is UtAssembleModel -> model.origin?.fields + else -> null + } + + modelFields?.forEach { (fieldId, fieldModel) -> + //creating variables for modelVariable fields + val variableForField = variableConstructor.getOrCreateVariable(fieldModel) + + // If field model is a mock, it is set in the connected with instance under test automatically via @InjectMocks; + // Otherwise we need to set this field manually. + if (!fieldModel.isMockModel()) { + variableConstructor.setFieldValue(modelVariable, fieldId, variableForField) + } + } + + return modelVariable + } + +} + +class CgMockedFieldsManager(context: CgContext) : + CgFieldManager, + CgContextOwner by context +{ + override val annotation = mockClassId + + override val variableConstructor: CgSpringVariableConstructor = + CgComponents.getVariableConstructorBy(context) as CgSpringVariableConstructor + + override fun constructVariableForField(model: UtModel, modelVariable: CgValue): CgValue { + if (model.isMockModel()) { + variableConstructor.mockFrameworkManager.createMockForVariable( + model as UtCompositeModel, + modelVariable as CgVariable, + ) + } + return modelVariable + } + +} + +class CgAutowiredFieldsManager(context: CgContext) : + CgFieldManager, + CgContextOwner by context +{ + override val annotation = autowiredClassId + + override val variableConstructor: CgSpringVariableConstructor = + CgComponents.getVariableConstructorBy(context) as CgSpringVariableConstructor + + + override fun constructVariableForField(model: UtModel, modelVariable: CgValue): CgValue { + return when { + model.isAutowiredFromContext() -> { + variableConstructor.constructAssembleForVariable(model as UtAssembleModel) + } + else -> error("Trying to autowire model $model but it is not appropriate") + } + } + +} + +class FieldManagerFacade( + context: CgContext, + private val annotatedModelVariables: MutableMap> +) : + CgContextOwner by context +{ + private val injectingMocksFieldsManager = CgInjectingMocksFieldsManager(context) + private val mockedFieldsManager = CgMockedFieldsManager(context) + private val autowiredFieldsManager = CgAutowiredFieldsManager(context) + + fun constructVariableForField(model: UtModel): CgValue? { + listOf(injectingMocksFieldsManager, mockedFieldsManager, autowiredFieldsManager).forEach { manager -> + val alreadyCreatedVariable = manager.findCgValueByModel(model, annotatedModelVariables[manager.annotation]) + + if (alreadyCreatedVariable != null) { + return manager.constructVariableForField(model, alreadyCreatedVariable) + } + } + return null + } +} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt index 32f82dc246..f3b99941bc 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt @@ -20,48 +20,13 @@ import org.utbot.framework.plugin.api.util.stringClassId class CgSpringVariableConstructor(context: CgContext) : CgVariableConstructor(context) { val annotatedModelVariables: MutableMap> = mutableMapOf() - override fun getOrCreateVariable(model: UtModel, name: String?): CgValue { - val alreadyCreatedInjectMocks = findCgValueByModel(model, annotatedModelVariables[injectMocksClassId]) - if (alreadyCreatedInjectMocks != null) { - val modelFields = when (model) { - is UtCompositeModel -> model.fields - is UtAssembleModel -> model.origin?.fields - else -> null - } - - modelFields?.forEach{ (fieldId, fieldModel) -> - val variableForField = getOrCreateVariable(fieldModel) - - // If field model is a mock, it is set in the connected with instance under test automatically via @InjectMocks; - // Otherwise we need to set this field manually. - if(!fieldModel.isMockModel()) { - setFieldValue(alreadyCreatedInjectMocks, fieldId, variableForField) - } - } - - return alreadyCreatedInjectMocks - } + private val fieldManagerFacade = FieldManagerFacade(context, annotatedModelVariables) - val alreadyCreatedMock = findCgValueByModel(model, annotatedModelVariables[mockClassId]) - if (alreadyCreatedMock != null) { - if (model.isMockModel()) { - mockFrameworkManager.createMockForVariable( - model as UtCompositeModel, - alreadyCreatedMock as CgVariable, - ) - } - - return alreadyCreatedMock - } + override fun getOrCreateVariable(model: UtModel, name: String?): CgValue { + val variable = fieldManagerFacade.constructVariableForField(model) - val alreadyCreatedAutowired = findCgValueByModel(model, annotatedModelVariables[autowiredClassId]) - if (alreadyCreatedAutowired != null) { - return when { - model.isAutowiredFromContext() -> { - super.constructAssembleForVariable(model as UtAssembleModel) - } - else -> error("Trying to autowire model $model but it is not appropriate") - } + if(variable != null){ + return variable } return when (model) { @@ -80,9 +45,4 @@ class CgSpringVariableConstructor(context: CgContext) : CgVariableConstructor(co valueByUtModelWrapper[UtSpringContextModel.wrap()] = it } } - - private fun findCgValueByModel(model: UtModel, setOfModels: Set?): CgValue? { - val key = setOfModels?.find { it == model.wrap() } ?: return null - return valueByUtModelWrapper[key] - } } \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgVariableConstructor.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgVariableConstructor.kt index 3b4ee48122..ad9575fcde 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgVariableConstructor.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgVariableConstructor.kt @@ -64,7 +64,7 @@ open class CgVariableConstructor(val context: CgContext) : CgStatementConstructor by getStatementConstructorBy(context) { private val nameGenerator = getNameGeneratorBy(context) - protected val mockFrameworkManager = getMockFrameworkManagerBy(context) + open val mockFrameworkManager = getMockFrameworkManagerBy(context) /** * Take already created CgValue or construct either a new [CgVariable] or new [CgLiteral] for the given model. @@ -176,7 +176,7 @@ open class CgVariableConstructor(val context: CgContext) : return obj } - protected fun setFieldValue(obj: CgValue, fieldId: FieldId, variableForField: CgValue){ + open fun setFieldValue(obj: CgValue, fieldId: FieldId, variableForField: CgValue){ val field = fieldId.jField val fieldFromVariableSpecifiedType = obj.type.findFieldByIdOrNull(fieldId) @@ -219,7 +219,7 @@ open class CgVariableConstructor(val context: CgContext) : .also { valueByUtModelWrapper[model.wrap()] = it } } - protected fun constructAssembleForVariable(model: UtAssembleModel): CgValue { + open fun constructAssembleForVariable(model: UtAssembleModel): CgValue { for (statementModel in model.modificationsChain) { when (statementModel) { is UtDirectSetFieldModel -> { From dfe4fea9d568b990d98cb86d4c9ffbe131c8e551 Mon Sep 17 00:00:00 2001 From: Kirill Shishin Date: Thu, 13 Jul 2023 01:07:41 +0300 Subject: [PATCH 2/5] Small fix --- .../utbot/framework/codegen/tree/CgFieldManager.kt | 6 +++++- .../codegen/tree/CgSpringVariableConstructor.kt | 11 +---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgFieldManager.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgFieldManager.kt index 9ecfbf4b04..8fd85f2ce0 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgFieldManager.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgFieldManager.kt @@ -7,7 +7,11 @@ import org.utbot.framework.codegen.domain.context.CgContext import org.utbot.framework.codegen.domain.context.CgContextOwner import org.utbot.framework.codegen.domain.models.CgValue import org.utbot.framework.codegen.domain.models.CgVariable -import org.utbot.framework.plugin.api.* +import org.utbot.framework.plugin.api.ClassId +import org.utbot.framework.plugin.api.UtAssembleModel +import org.utbot.framework.plugin.api.UtCompositeModel +import org.utbot.framework.plugin.api.UtModel +import org.utbot.framework.plugin.api.isMockModel import org.utbot.framework.plugin.api.util.SpringModelUtils.autowiredClassId import org.utbot.framework.plugin.api.util.SpringModelUtils.isAutowiredFromContext diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt index f3b99941bc..26888ef014 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt @@ -1,28 +1,19 @@ package org.utbot.framework.codegen.tree import org.utbot.framework.codegen.domain.UtModelWrapper -import org.utbot.framework.codegen.domain.builtin.injectMocksClassId -import org.utbot.framework.codegen.domain.builtin.mockClassId import org.utbot.framework.codegen.domain.context.CgContext import org.utbot.framework.codegen.domain.models.CgLiteral import org.utbot.framework.codegen.domain.models.CgValue -import org.utbot.framework.codegen.domain.models.CgVariable import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtCompositeModel import org.utbot.framework.plugin.api.UtModel import org.utbot.framework.plugin.api.UtSpringContextModel -import org.utbot.framework.plugin.api.isMockModel -import org.utbot.framework.plugin.api.util.SpringModelUtils.autowiredClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.isAutowiredFromContext import org.utbot.framework.plugin.api.util.stringClassId class CgSpringVariableConstructor(context: CgContext) : CgVariableConstructor(context) { val annotatedModelVariables: MutableMap> = mutableMapOf() - private val fieldManagerFacade = FieldManagerFacade(context, annotatedModelVariables) - override fun getOrCreateVariable(model: UtModel, name: String?): CgValue { + val fieldManagerFacade = FieldManagerFacade(context, annotatedModelVariables) val variable = fieldManagerFacade.constructVariableForField(model) if(variable != null){ From 348229f925ec5e52fdd668bbd192dffc75e7147f Mon Sep 17 00:00:00 2001 From: Egor Kulikov Date: Thu, 13 Jul 2023 10:44:23 +0300 Subject: [PATCH 3/5] Little cleanup --- .../CgAbstractSpringTestClassConstructor.kt | 4 +- ...FieldManager.kt => CgClassFieldManager.kt} | 70 ++++++++----------- .../tree/CgSpringVariableConstructor.kt | 11 ++- 3 files changed, 38 insertions(+), 47 deletions(-) rename utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/{CgFieldManager.kt => CgClassFieldManager.kt} (67%) diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgAbstractSpringTestClassConstructor.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgAbstractSpringTestClassConstructor.kt index 337454db66..105b00105b 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgAbstractSpringTestClassConstructor.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgAbstractSpringTestClassConstructor.kt @@ -114,7 +114,7 @@ abstract class CgAbstractSpringTestClassConstructor(context: CgContext): valueByUtModelWrapper[key] = createdVariable } - variableConstructor.annotatedModelVariables + variableConstructor.annotatedModelGroups .getOrPut(annotationClassId) { mutableSetOf() } += listOfUtModels } @@ -133,7 +133,7 @@ abstract class CgAbstractSpringTestClassConstructor(context: CgContext): */ private fun clearUnwantedVariableModels() { val trustedListOfModels = - variableConstructor.annotatedModelVariables.values.flatten() + listOf(UtSpringContextModel.wrap()) + variableConstructor.annotatedModelGroups.values.flatten() + listOf(UtSpringContextModel.wrap()) valueByUtModelWrapper .filterNot { it.key in trustedListOfModels } diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgFieldManager.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgClassFieldManager.kt similarity index 67% rename from utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgFieldManager.kt rename to utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgClassFieldManager.kt index 8fd85f2ce0..10a481fd17 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgFieldManager.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgClassFieldManager.kt @@ -15,28 +15,24 @@ import org.utbot.framework.plugin.api.isMockModel import org.utbot.framework.plugin.api.util.SpringModelUtils.autowiredClassId import org.utbot.framework.plugin.api.util.SpringModelUtils.isAutowiredFromContext -interface CgFieldManager : CgContextOwner { - val annotation: ClassId +sealed interface CgClassFieldManager : CgContextOwner { - val variableConstructor: CgSpringVariableConstructor + val annotationType: ClassId fun constructVariableForField(model: UtModel, modelVariable: CgValue): CgValue - - fun findCgValueByModel(model: UtModel, setOfModels: Set?): CgValue? { - val key = setOfModels?.find { it == model.wrap() } ?: return null - return valueByUtModelWrapper[key] - } } -class CgInjectingMocksFieldsManager(context: CgContext) : - CgFieldManager, - CgContextOwner by context -{ - override val annotation = injectMocksClassId +abstract class CgClassFieldManagerImpl(context: CgContext) : + CgClassFieldManager, + CgContextOwner by context { - override val variableConstructor: CgSpringVariableConstructor = + val variableConstructor: CgSpringVariableConstructor = CgComponents.getVariableConstructorBy(context) as CgSpringVariableConstructor +} +class CgInjectingMocksFieldsManager(val context: CgContext) : CgClassFieldManagerImpl(context) { + + override val annotationType = injectMocksClassId override fun constructVariableForField(model: UtModel, modelVariable: CgValue): CgValue { val modelFields = when (model) { @@ -61,14 +57,9 @@ class CgInjectingMocksFieldsManager(context: CgContext) : } -class CgMockedFieldsManager(context: CgContext) : - CgFieldManager, - CgContextOwner by context -{ - override val annotation = mockClassId +class CgMockedFieldsManager(context: CgContext) : CgClassFieldManagerImpl(context) { - override val variableConstructor: CgSpringVariableConstructor = - CgComponents.getVariableConstructorBy(context) as CgSpringVariableConstructor + override val annotationType = mockClassId override fun constructVariableForField(model: UtModel, modelVariable: CgValue): CgValue { if (model.isMockModel()) { @@ -82,45 +73,46 @@ class CgMockedFieldsManager(context: CgContext) : } -class CgAutowiredFieldsManager(context: CgContext) : - CgFieldManager, - CgContextOwner by context -{ - override val annotation = autowiredClassId - - override val variableConstructor: CgSpringVariableConstructor = - CgComponents.getVariableConstructorBy(context) as CgSpringVariableConstructor +class CgAutowiredFieldsManager(context: CgContext) : CgClassFieldManagerImpl(context) { + override val annotationType = autowiredClassId override fun constructVariableForField(model: UtModel, modelVariable: CgValue): CgValue { return when { model.isAutowiredFromContext() -> { variableConstructor.constructAssembleForVariable(model as UtAssembleModel) } + else -> error("Trying to autowire model $model but it is not appropriate") } } - } -class FieldManagerFacade( - context: CgContext, - private val annotatedModelVariables: MutableMap> -) : - CgContextOwner by context -{ +class ClassFieldManagerFacade(context: CgContext) : CgContextOwner by context { + private val injectingMocksFieldsManager = CgInjectingMocksFieldsManager(context) private val mockedFieldsManager = CgMockedFieldsManager(context) private val autowiredFieldsManager = CgAutowiredFieldsManager(context) - fun constructVariableForField(model: UtModel): CgValue? { - listOf(injectingMocksFieldsManager, mockedFieldsManager, autowiredFieldsManager).forEach { manager -> - val alreadyCreatedVariable = manager.findCgValueByModel(model, annotatedModelVariables[manager.annotation]) + fun constructVariableForField( + model: UtModel, + annotatedModelGroups: Map>, + ): CgValue? { + val annotationManagers = listOf(injectingMocksFieldsManager, mockedFieldsManager, autowiredFieldsManager) + + annotationManagers.forEach { manager -> + val alreadyCreatedVariable = findCgValueByModel(model, annotatedModelGroups[manager.annotationType]) if (alreadyCreatedVariable != null) { return manager.constructVariableForField(model, alreadyCreatedVariable) } } + return null } + + private fun findCgValueByModel(model: UtModel, setOfModels: Set?): CgValue? { + val key = setOfModels?.find { it == model.wrap() } ?: return null + return valueByUtModelWrapper[key] + } } \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt index 26888ef014..b86e6cb418 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringVariableConstructor.kt @@ -10,15 +10,14 @@ import org.utbot.framework.plugin.api.UtSpringContextModel import org.utbot.framework.plugin.api.util.stringClassId class CgSpringVariableConstructor(context: CgContext) : CgVariableConstructor(context) { - val annotatedModelVariables: MutableMap> = mutableMapOf() + val annotatedModelGroups: MutableMap> = mutableMapOf() + + private val classFieldManager = ClassFieldManagerFacade(context) override fun getOrCreateVariable(model: UtModel, name: String?): CgValue { - val fieldManagerFacade = FieldManagerFacade(context, annotatedModelVariables) - val variable = fieldManagerFacade.constructVariableForField(model) + val variable = classFieldManager.constructVariableForField(model, annotatedModelGroups) - if(variable != null){ - return variable - } + variable?.let { return it } return when (model) { is UtSpringContextModel -> createApplicationContextVariable() From b9e0423caeb101073831f0edacec7f2b66d5ea68 Mon Sep 17 00:00:00 2001 From: Kirill Shishin Date: Thu, 13 Jul 2023 13:19:19 +0300 Subject: [PATCH 4/5] Fix creation of variableConstructor in ClassFieldManagers --- .../org/utbot/framework/codegen/tree/CgClassFieldManager.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgClassFieldManager.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgClassFieldManager.kt index 10a481fd17..6d61d7e337 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgClassFieldManager.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgClassFieldManager.kt @@ -26,8 +26,9 @@ abstract class CgClassFieldManagerImpl(context: CgContext) : CgClassFieldManager, CgContextOwner by context { - val variableConstructor: CgSpringVariableConstructor = + val variableConstructor: CgSpringVariableConstructor by lazy { CgComponents.getVariableConstructorBy(context) as CgSpringVariableConstructor + } } class CgInjectingMocksFieldsManager(val context: CgContext) : CgClassFieldManagerImpl(context) { From 5709b10c60d54bd7e1914ade24ff584f614ae037 Mon Sep 17 00:00:00 2001 From: Egor Kulikov Date: Mon, 17 Jul 2023 11:47:54 +0300 Subject: [PATCH 5/5] Remove odd open modifiers --- .../utbot/framework/codegen/tree/CgVariableConstructor.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgVariableConstructor.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgVariableConstructor.kt index ad9575fcde..39374fb616 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgVariableConstructor.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgVariableConstructor.kt @@ -64,7 +64,7 @@ open class CgVariableConstructor(val context: CgContext) : CgStatementConstructor by getStatementConstructorBy(context) { private val nameGenerator = getNameGeneratorBy(context) - open val mockFrameworkManager = getMockFrameworkManagerBy(context) + val mockFrameworkManager = getMockFrameworkManagerBy(context) /** * Take already created CgValue or construct either a new [CgVariable] or new [CgLiteral] for the given model. @@ -176,7 +176,7 @@ open class CgVariableConstructor(val context: CgContext) : return obj } - open fun setFieldValue(obj: CgValue, fieldId: FieldId, variableForField: CgValue){ + fun setFieldValue(obj: CgValue, fieldId: FieldId, variableForField: CgValue){ val field = fieldId.jField val fieldFromVariableSpecifiedType = obj.type.findFieldByIdOrNull(fieldId) @@ -219,7 +219,7 @@ open class CgVariableConstructor(val context: CgContext) : .also { valueByUtModelWrapper[model.wrap()] = it } } - open fun constructAssembleForVariable(model: UtAssembleModel): CgValue { + fun constructAssembleForVariable(model: UtAssembleModel): CgValue { for (statementModel in model.modificationsChain) { when (statementModel) { is UtDirectSetFieldModel -> {