@@ -38,14 +38,15 @@ class JcToUtModelConverter(
38
38
private val jcClasspath : JcClasspath ,
39
39
private val instToUtModelConverter : UTestInstToUtModelConverter ,
40
40
) {
41
- private val descriptorToModelCache = mutableMapOf<UTestValueDescriptor , UtModel >()
41
+ private val descriptorToModelCache =
42
+ mutableMapOf<Pair <UTestValueDescriptor , EnvironmentStateKind >, UtModel > ()
42
43
private val refIdAndStateKindToDescriptorCache =
43
44
mutableMapOf<Pair <Int , EnvironmentStateKind >, UTestValueDescriptor > ()
44
45
45
46
fun convert (
46
47
valueDescriptor : UTestValueDescriptor ,
47
48
stateKind : EnvironmentStateKind ,
48
- ): UtModel = descriptorToModelCache.getOrPut(valueDescriptor) {
49
+ ): UtModel = descriptorToModelCache.getOrPut(valueDescriptor to stateKind ) {
49
50
if (stateKind == EnvironmentStateKind .INITIAL || valueDescriptor.origin is UTestMock )
50
51
valueDescriptor.origin?.let { originExpr ->
51
52
val model = instToUtModelConverter.findModelByInst(originExpr as UTestExpression )
@@ -79,7 +80,7 @@ class JcToUtModelConverter(
79
80
valueDescriptor : UTestValueDescriptor ,
80
81
stateKind : EnvironmentStateKind ,
81
82
curModelId : Int ,
82
- ): UtModel = descriptorToModelCache.getOrPut(valueDescriptor) {
83
+ ): UtModel = descriptorToModelCache.getOrPut(valueDescriptor to stateKind ) {
83
84
if (valueDescriptor is UTestRefDescriptor ) {
84
85
refIdAndStateKindToDescriptorCache[valueDescriptor.refId to stateKind] = valueDescriptor
85
86
}
@@ -96,7 +97,7 @@ class JcToUtModelConverter(
96
97
fields = fields,
97
98
)
98
99
99
- descriptorToModelCache[valueDescriptor] = model
100
+ descriptorToModelCache[valueDescriptor to stateKind ] = model
100
101
101
102
fields + = valueDescriptor.fields
102
103
.entries
@@ -120,7 +121,7 @@ class JcToUtModelConverter(
120
121
stores = stores,
121
122
)
122
123
123
- descriptorToModelCache[valueDescriptor] = model
124
+ descriptorToModelCache[valueDescriptor to stateKind ] = model
124
125
125
126
valueDescriptor.value
126
127
.map { elemDescr -> convert(elemDescr, stateKind) }
@@ -182,6 +183,6 @@ class JcToUtModelConverter(
182
183
stateKind : EnvironmentStateKind
183
184
): UtModel ? =
184
185
refIdAndStateKindToDescriptorCache[refId to stateKind]?.let {
185
- descriptorToModelCache[it]
186
+ descriptorToModelCache[it to stateKind ]
186
187
}
187
188
}
0 commit comments