@@ -4,6 +4,7 @@ import org.utbot.common.WorkaroundReason.MAKE_SYMBOLIC
4
4
import org.utbot.common.workaround
5
5
import org.utbot.engine.UtListClass.UT_ARRAY_LIST
6
6
import org.utbot.engine.UtListClass.UT_LINKED_LIST
7
+ import org.utbot.engine.UtListClass.UT_LINKED_LIST_WITH_NULLABLE_CHECK
7
8
import org.utbot.engine.UtOptionalClass.UT_OPTIONAL
8
9
import org.utbot.engine.UtOptionalClass.UT_OPTIONAL_DOUBLE
9
10
import org.utbot.engine.UtOptionalClass.UT_OPTIONAL_INT
@@ -71,8 +72,12 @@ val classToWrapper: MutableMap<TypeToBeWrapped, WrapperType> =
71
72
putSootClass(CopyOnWriteArrayList ::class , UT_ARRAY_LIST .className)
72
73
putSootClass(java.util.LinkedList ::class , UT_LINKED_LIST .className)
73
74
putSootClass(java.util.AbstractSequentialList ::class , UT_LINKED_LIST .className)
74
- // TODO mistake JIRA:1495
75
- putSootClass(java.util.ArrayDeque ::class , UT_LINKED_LIST .className)
75
+
76
+ putSootClass(java.util.ArrayDeque ::class , UT_LINKED_LIST_WITH_NULLABLE_CHECK .className)
77
+ putSootClass(java.util.concurrent.ConcurrentLinkedDeque ::class , UT_LINKED_LIST_WITH_NULLABLE_CHECK .className)
78
+ putSootClass(java.util.concurrent.ConcurrentLinkedQueue ::class , UT_LINKED_LIST_WITH_NULLABLE_CHECK .className)
79
+ putSootClass(java.util.concurrent.LinkedBlockingDeque ::class , UT_LINKED_LIST_WITH_NULLABLE_CHECK .className)
80
+ putSootClass(java.util.concurrent.LinkedBlockingQueue ::class , UT_LINKED_LIST_WITH_NULLABLE_CHECK .className)
76
81
77
82
putSootClass(java.util.Set ::class , UtHashSet ::class )
78
83
putSootClass(java.util.AbstractSet ::class , UtHashSet ::class )
@@ -83,6 +88,7 @@ val classToWrapper: MutableMap<TypeToBeWrapped, WrapperType> =
83
88
putSootClass(java.util.AbstractMap ::class , UtHashMap ::class )
84
89
putSootClass(java.util.LinkedHashMap ::class , UtHashMap ::class )
85
90
putSootClass(java.util.HashMap ::class , UtHashMap ::class )
91
+ putSootClass(java.util.concurrent.ConcurrentHashMap ::class , UtHashMap ::class )
86
92
87
93
putSootClass(java.util.stream.BaseStream ::class , UT_STREAM .className)
88
94
putSootClass(java.util.stream.Stream ::class , UT_STREAM .className)
@@ -143,48 +149,50 @@ private val wrappers = mapOf(
143
149
wrap(AssociativeArray ::class ) { type, addr ->
144
150
objectValue(type, addr, AssociativeArrayWrapper ())
145
151
},
152
+
146
153
// list wrappers
147
- wrap(java.util.List ::class ) { _, addr ->
148
- objectValue(ARRAY_LIST_TYPE , addr, ListWrapper (UT_ARRAY_LIST ))
149
- },
150
- wrap(java.util.AbstractList ::class ) { _, addr ->
151
- objectValue(ARRAY_LIST_TYPE , addr, ListWrapper (UT_ARRAY_LIST ))
152
- },
153
- wrap(java.util.ArrayList ::class ) { _, addr ->
154
- objectValue(ARRAY_LIST_TYPE , addr, ListWrapper (UT_ARRAY_LIST ))
155
- },
156
- wrap(CopyOnWriteArrayList ::class ) { _, addr ->
157
- objectValue(ARRAY_LIST_TYPE , addr, ListWrapper (UT_ARRAY_LIST ))
158
- },
154
+ wrap(java.util.List ::class ) { _, addr -> objectValue(ARRAY_LIST_TYPE , addr, ListWrapper (UT_ARRAY_LIST )) },
155
+ wrap(java.util.AbstractList ::class ) { _, addr -> objectValue(ARRAY_LIST_TYPE , addr, ListWrapper (UT_ARRAY_LIST )) },
156
+ wrap(java.util.ArrayList ::class ) { _, addr -> objectValue(ARRAY_LIST_TYPE , addr, ListWrapper (UT_ARRAY_LIST )) },
159
157
160
- wrap(java.util.LinkedList ::class ) { _, addr ->
161
- objectValue(LINKED_LIST_TYPE , addr, ListWrapper (UT_LINKED_LIST ))
162
- },
163
- wrap(java.util.AbstractSequentialList ::class ) { _, addr ->
164
- objectValue(LINKED_LIST_TYPE , addr, ListWrapper (UT_LINKED_LIST ))
158
+
159
+ wrap(CopyOnWriteArrayList ::class ) { type, addr -> objectValue(type, addr, ListWrapper (UT_ARRAY_LIST )) },
160
+
161
+ wrap(java.util.LinkedList ::class ) { _, addr -> objectValue(LINKED_LIST_TYPE , addr, ListWrapper (UT_LINKED_LIST )) },
162
+ wrap(java.util.AbstractSequentialList ::class ) { _, addr -> objectValue(LINKED_LIST_TYPE , addr, ListWrapper (UT_LINKED_LIST )) },
163
+
164
+ // queue, deque wrappers
165
+ wrap(java.util.ArrayDeque ::class ) { type, addr ->
166
+ objectValue(type, addr, ListWrapper (UT_LINKED_LIST_WITH_NULLABLE_CHECK ))
165
167
},
166
- // TODO mistake JIRA:1495
167
- wrap(java.util.ArrayDeque ::class ) { _, addr ->
168
- objectValue(LINKED_LIST_TYPE , addr, ListWrapper (UT_LINKED_LIST ))
168
+ wrap(java.util.ArrayDeque ::class ) { type, addr ->
169
+ objectValue(type, addr, ListWrapper (UT_LINKED_LIST_WITH_NULLABLE_CHECK ))
169
170
},
170
- // set wrappers
171
- wrap(java.util.Set ::class ) { _, addr ->
172
- objectValue(LINKED_HASH_SET_TYPE , addr, SetWrapper ())
171
+ wrap(java.util.concurrent.ConcurrentLinkedDeque ::class ) { type, addr ->
172
+ objectValue(type, addr, ListWrapper (UT_LINKED_LIST_WITH_NULLABLE_CHECK ))
173
173
},
174
- wrap(java.util.AbstractSet ::class ) { _ , addr ->
175
- objectValue(LINKED_HASH_SET_TYPE , addr, SetWrapper ( ))
174
+ wrap(java.util.concurrent. ConcurrentLinkedQueue ::class ) { type , addr ->
175
+ objectValue(type , addr, ListWrapper ( UT_LINKED_LIST_WITH_NULLABLE_CHECK ))
176
176
},
177
- wrap(java.util.HashSet ::class ) { _ , addr ->
178
- objectValue(HASH_SET_TYPE , addr, SetWrapper ( ))
177
+ wrap(java.util.concurrent. LinkedBlockingDeque ::class ) { type , addr ->
178
+ objectValue(type , addr, ListWrapper ( UT_LINKED_LIST_WITH_NULLABLE_CHECK ))
179
179
},
180
- wrap(java.util.LinkedHashSet ::class ) { _ , addr ->
181
- objectValue(LINKED_HASH_SET_TYPE , addr, SetWrapper ( ))
180
+ wrap(java.util.concurrent. LinkedBlockingQueue ::class ) { type , addr ->
181
+ objectValue(type , addr, ListWrapper ( UT_LINKED_LIST_WITH_NULLABLE_CHECK ))
182
182
},
183
+
184
+ // set wrappers
185
+ wrap(java.util.Set ::class ) { _, addr -> objectValue(LINKED_HASH_SET_TYPE , addr, SetWrapper ()) },
186
+ wrap(java.util.AbstractSet ::class ) { _, addr -> objectValue(LINKED_HASH_SET_TYPE , addr, SetWrapper ()) },
187
+ wrap(java.util.HashSet ::class ) { _, addr -> objectValue(HASH_SET_TYPE , addr, SetWrapper ()) },
188
+ wrap(java.util.LinkedHashSet ::class ) { _, addr -> objectValue(LINKED_HASH_SET_TYPE , addr, SetWrapper ()) },
189
+
183
190
// map wrappers
184
191
wrap(java.util.Map ::class ) { _, addr -> objectValue(LINKED_HASH_MAP_TYPE , addr, MapWrapper ()) },
185
192
wrap(java.util.AbstractMap ::class ) { _, addr -> objectValue(LINKED_HASH_MAP_TYPE , addr, MapWrapper ()) },
186
193
wrap(java.util.LinkedHashMap ::class ) { _, addr -> objectValue(LINKED_HASH_MAP_TYPE , addr, MapWrapper ()) },
187
194
wrap(java.util.HashMap ::class ) { _, addr -> objectValue(HASH_MAP_TYPE , addr, MapWrapper ()) },
195
+ wrap(java.util.concurrent.ConcurrentHashMap ::class ) { _, addr -> objectValue(HASH_MAP_TYPE , addr, MapWrapper ()) },
188
196
189
197
// stream wrappers
190
198
wrap(java.util.stream.BaseStream ::class ) { _, addr -> objectValue(STREAM_TYPE , addr, CommonStreamWrapper ()) },
0 commit comments