Skip to content

Commit e677199

Browse files
author
Kamenev Yury
committed
Fixed util method used types names clashing with user types
1 parent 1b9806a commit e677199

File tree

1 file changed

+68
-48
lines changed
  • utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/visitor

1 file changed

+68
-48
lines changed

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/visitor/UtilMethods.kt

Lines changed: 68 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ fun getEnumConstantByName(language: CodegenLanguage): String =
7070
}
7171
CodegenLanguage.KOTLIN -> {
7272
"""
73-
private fun getEnumConstantByName(enumClass: Class<*>, name: String): Any? {
74-
val fields: Array<java.lang.reflect.Field> = enumClass.declaredFields
73+
private fun getEnumConstantByName(enumClass: Class<*>, name: String): kotlin.Any? {
74+
val fields: kotlin.Array<java.lang.reflect.Field> = enumClass.declaredFields
7575
for (field in fields) {
7676
val fieldName = field.name
7777
if (field.isEnumConstant && fieldName == name) {
@@ -114,7 +114,7 @@ fun getStaticFieldValue(language: CodegenLanguage): String =
114114
}
115115
CodegenLanguage.KOTLIN -> {
116116
"""
117-
private fun getStaticFieldValue(clazz: Class<*>, fieldName: String): Any? {
117+
private fun getStaticFieldValue(clazz: Class<*>, fieldName: String): kotlin.Any? {
118118
var currentClass: Class<*>? = clazz
119119
var field: java.lang.reflect.Field
120120
do {
@@ -164,7 +164,7 @@ fun getFieldValue(language: CodegenLanguage): String =
164164
}
165165
CodegenLanguage.KOTLIN -> {
166166
"""
167-
private fun getFieldValue(any: Any, fieldName: String): Any? {
167+
private fun getFieldValue(any: kotlin.Any, fieldName: String): kotlin.Any? {
168168
var clazz: Class<*>? = any.javaClass
169169
var field: java.lang.reflect.Field
170170
do {
@@ -214,7 +214,7 @@ fun setStaticField(language: CodegenLanguage): String =
214214
}
215215
CodegenLanguage.KOTLIN -> {
216216
"""
217-
private fun setStaticField(defaultClass: Class<*>, fieldName: String, fieldValue: Any?) {
217+
private fun setStaticField(defaultClass: Class<*>, fieldName: String, fieldValue: kotlin.Any?) {
218218
var field: java.lang.reflect.Field?
219219
var clazz = defaultClass
220220
@@ -266,7 +266,7 @@ fun setField(language: CodegenLanguage): String =
266266
}
267267
CodegenLanguage.KOTLIN -> {
268268
"""
269-
private fun setField(any: Any, fieldName: String, fieldValue: Any?) {
269+
private fun setField(any: kotlin.Any, fieldName: String, fieldValue: kotlin.Any?) {
270270
var clazz: Class<*> = any.javaClass
271271
var field: java.lang.reflect.Field?
272272
do {
@@ -306,14 +306,18 @@ fun createArray(language: CodegenLanguage): String =
306306
}
307307
CodegenLanguage.KOTLIN -> {
308308
"""
309-
private fun createArray(className: String, length: Int, vararg values: Any): Array<Any> {
310-
val array: Any = java.lang.reflect.Array.newInstance(Class.forName(className), length)
309+
private fun createArray(
310+
className: String,
311+
length: Int,
312+
vararg values: kotlin.Any
313+
): kotlin.Array<kotlin.Any?> {
314+
val array: kotlin.Any = java.lang.reflect.Array.newInstance(Class.forName(className), length)
311315
312316
for (i in values.indices) {
313317
java.lang.reflect.Array.set(array, i, values[i])
314318
}
315319
316-
return array as Array<Any>
320+
return array as kotlin.Array<kotlin.Any?>
317321
}
318322
"""
319323
}
@@ -332,7 +336,7 @@ fun createInstance(language: CodegenLanguage): String =
332336
}
333337
CodegenLanguage.KOTLIN -> {
334338
"""
335-
private fun createInstance(className: String): Any? {
339+
private fun createInstance(className: String): kotlin.Any? {
336340
val clazz: Class<*> = Class.forName(className)
337341
return Class.forName("sun.misc.Unsafe").getDeclaredMethod("allocateInstance", Class::class.java)
338342
.invoke(getUnsafeInstance(), clazz)
@@ -354,7 +358,7 @@ fun getUnsafeInstance(language: CodegenLanguage): String =
354358
}
355359
CodegenLanguage.KOTLIN -> {
356360
"""
357-
private fun getUnsafeInstance(): Any? {
361+
private fun getUnsafeInstance(): kotlin.Any? {
358362
val f: java.lang.reflect.Field = Class.forName("sun.misc.Unsafe").getDeclaredField("theUnsafe")
359363
f.isAccessible = true
360364
return f[null]
@@ -403,10 +407,10 @@ fun deepEquals(language: CodegenLanguage, mockFrameworkUsed: Boolean, mockFramew
403407
}
404408
405409
private boolean deepEquals(Object o1, Object o2) {
406-
return deepEquals(o1, o2, new HashSet<>());
410+
return deepEquals(o1, o2, new java.util.HashSet<>());
407411
}
408412
409-
private boolean deepEquals(Object o1, Object o2, Set<FieldsPair> visited) {
413+
private boolean deepEquals(Object o1, Object o2, java.util.Set<FieldsPair> visited) {
410414
visited.add(new FieldsPair(o1, o2));
411415
412416
if (o1 == o2) {
@@ -429,15 +433,15 @@ fun deepEquals(language: CodegenLanguage, mockFrameworkUsed: Boolean, mockFramew
429433
return false;
430434
}
431435
432-
if (o1 instanceof Map) {
433-
if (!(o2 instanceof Map)) {
436+
if (o1 instanceof java.util.Map) {
437+
if (!(o2 instanceof java.util.Map)) {
434438
return false;
435439
}
436440
437-
return mapsDeepEquals((Map<?, ?>) o1, (Map<?, ?>) o2, visited);
441+
return mapsDeepEquals((java.util.Map<?, ?>) o1, (java.util.Map<?, ?>) o2, visited);
438442
}
439443
440-
if (o2 instanceof Map) {
444+
if (o2 instanceof java.util.Map) {
441445
return false;
442446
}
443447
@@ -461,9 +465,9 @@ fun deepEquals(language: CodegenLanguage, mockFrameworkUsed: Boolean, mockFramew
461465
}
462466
463467
// common classes without custom equals, use comparison by fields
464-
final List<java.lang.reflect.Field> fields = new ArrayList<>();
468+
final java.util.List<java.lang.reflect.Field> fields = new java.util.ArrayList<>();
465469
while (firstClass != Object.class) {
466-
fields.addAll(Arrays.asList(firstClass.getDeclaredFields()));
470+
fields.addAll(java.util.Arrays.asList(firstClass.getDeclaredFields()));
467471
// Interface should not appear here
468472
firstClass = firstClass.getSuperclass();
469473
}
@@ -490,26 +494,30 @@ fun deepEquals(language: CodegenLanguage, mockFrameworkUsed: Boolean, mockFramew
490494
}
491495
CodegenLanguage.KOTLIN -> {
492496
"""
493-
private fun deepEquals(o1: Any?, o2: Any?): Boolean = deepEquals(o1, o2, hashSetOf())
497+
private fun deepEquals(o1: kotlin.Any?, o2: kotlin.Any?): Boolean = deepEquals(o1, o2, hashSetOf())
494498
495-
private fun deepEquals(o1: Any?, o2: Any?, visited: MutableSet<kotlin.Pair<Any?, Any?>>): Boolean {
499+
private fun deepEquals(
500+
o1: kotlin.Any?,
501+
o2: kotlin.Any?,
502+
visited: kotlin.collections.MutableSet<kotlin.Pair<kotlin.Any?, kotlin.Any?>>
503+
): Boolean {
496504
visited += o1 to o2
497505
498506
if (o1 === o2) return true
499507
500508
if (o1 == null || o2 == null) return false
501509
502-
if (o1 is Iterable<*>) {
503-
return if (o2 !is Iterable<*>) false else iterablesDeepEquals(o1, o2, visited)
510+
if (o1 is kotlin.collections.Iterable<*>) {
511+
return if (o2 !is kotlin.collections.Iterable<*>) false else iterablesDeepEquals(o1, o2, visited)
504512
}
505513
506-
if (o2 is Iterable<*>) return false
514+
if (o2 is kotlin.collections.Iterable<*>) return false
507515
508-
if (o1 is Map<*, *>) {
509-
return if (o2 !is Map<*, *>) false else mapsDeepEquals(o1, o2, visited)
516+
if (o1 is kotlin.collections.Map<*, *>) {
517+
return if (o2 !is kotlin.collections.Map<*, *>) false else mapsDeepEquals(o1, o2, visited)
510518
}
511519
512-
if (o2 is Map<*, *>) return false
520+
if (o2 is kotlin.collections.Map<*, *>) return false
513521
514522
var firstClass: Class<*> = o1.javaClass
515523
if (firstClass.isArray) {
@@ -528,8 +536,8 @@ fun deepEquals(language: CodegenLanguage, mockFrameworkUsed: Boolean, mockFramew
528536
}
529537
530538
// common classes without custom equals, use comparison by fields
531-
val fields: MutableList<java.lang.reflect.Field> = mutableListOf()
532-
while (firstClass != Any::class.java) {
539+
val fields: kotlin.collections.MutableList<java.lang.reflect.Field> = mutableListOf()
540+
while (firstClass != kotlin.Any::class.java) {
533541
fields += listOf(*firstClass.declaredFields)
534542
// Interface should not appear here
535543
firstClass = firstClass.superclass
@@ -559,14 +567,14 @@ fun arraysDeepEquals(language: CodegenLanguage): String =
559567
when (language) {
560568
CodegenLanguage.JAVA -> {
561569
"""
562-
private boolean arraysDeepEquals(Object arr1, Object arr2, Set<FieldsPair> visited) {
563-
final int length = Array.getLength(arr1);
564-
if (length != Array.getLength(arr2)) {
570+
private boolean arraysDeepEquals(Object arr1, Object arr2, java.util.Set<FieldsPair> visited) {
571+
final int length = java.lang.reflect.Array.getLength(arr1);
572+
if (length != java.lang.reflect.Array.getLength(arr2)) {
565573
return false;
566574
}
567575
568576
for (int i = 0; i < length; i++) {
569-
if (!deepEquals(Array.get(arr1, i), Array.get(arr2, i), visited)) {
577+
if (!deepEquals(java.lang.reflect.Array.get(arr1, i), java.lang.reflect.Array.get(arr2, i), visited)) {
570578
return false;
571579
}
572580
}
@@ -577,7 +585,11 @@ fun arraysDeepEquals(language: CodegenLanguage): String =
577585
}
578586
CodegenLanguage.KOTLIN -> {
579587
"""
580-
private fun arraysDeepEquals(arr1: Any?, arr2: Any?, visited: MutableSet<kotlin.Pair<Any?, Any?>>): Boolean {
588+
private fun arraysDeepEquals(
589+
arr1: kotlin.Any?,
590+
arr2: kotlin.Any?,
591+
visited: kotlin.collections.MutableSet<kotlin.Pair<kotlin.Any?, kotlin.Any?>>
592+
): Boolean {
581593
val size = java.lang.reflect.Array.getLength(arr1)
582594
if (size != java.lang.reflect.Array.getLength(arr2)) return false
583595
@@ -597,9 +609,9 @@ fun iterablesDeepEquals(language: CodegenLanguage): String =
597609
when (language) {
598610
CodegenLanguage.JAVA -> {
599611
"""
600-
private boolean iterablesDeepEquals(Iterable<?> i1, Iterable<?> i2, Set<FieldsPair> visited) {
601-
final Iterator<?> firstIterator = i1.iterator();
602-
final Iterator<?> secondIterator = i2.iterator();
612+
private boolean iterablesDeepEquals(Iterable<?> i1, Iterable<?> i2, java.util.Set<FieldsPair> visited) {
613+
final java.util.Iterator<?> firstIterator = i1.iterator();
614+
final java.util.Iterator<?> secondIterator = i2.iterator();
603615
while (firstIterator.hasNext() && secondIterator.hasNext()) {
604616
if (!deepEquals(firstIterator.next(), secondIterator.next(), visited)) {
605617
return false;
@@ -616,7 +628,11 @@ fun iterablesDeepEquals(language: CodegenLanguage): String =
616628
}
617629
CodegenLanguage.KOTLIN -> {
618630
"""
619-
private fun iterablesDeepEquals(i1: Iterable<*>, i2: Iterable<*>, visited: MutableSet<kotlin.Pair<Any?, Any?>>): Boolean {
631+
private fun iterablesDeepEquals(
632+
i1: Iterable<*>,
633+
i2: Iterable<*>,
634+
visited: kotlin.collections.MutableSet<kotlin.Pair<kotlin.Any?, kotlin.Any?>>
635+
): Boolean {
620636
val firstIterator = i1.iterator()
621637
val secondIterator = i2.iterator()
622638
while (firstIterator.hasNext() && secondIterator.hasNext()) {
@@ -633,12 +649,16 @@ fun mapsDeepEquals(language: CodegenLanguage): String =
633649
when (language) {
634650
CodegenLanguage.JAVA -> {
635651
"""
636-
private boolean mapsDeepEquals(Map<?, ?> m1, Map<?, ?> m2, Set<FieldsPair> visited) {
637-
final Iterator<? extends Map.Entry<?, ?>> firstIterator = m1.entrySet().iterator();
638-
final Iterator<? extends Map.Entry<?, ?>> secondIterator = m2.entrySet().iterator();
652+
private boolean mapsDeepEquals(
653+
java.util.Map<?, ?> m1,
654+
java.util.Map<?, ?> m2,
655+
java.util.Set<FieldsPair> visited
656+
) {
657+
final java.util.Iterator<? extends java.util.Map.Entry<?, ?>> firstIterator = m1.entrySet().iterator();
658+
final java.util.Iterator<? extends java.util.Map.Entry<?, ?>> secondIterator = m2.entrySet().iterator();
639659
while (firstIterator.hasNext() && secondIterator.hasNext()) {
640-
final Map.Entry<?, ?> firstEntry = firstIterator.next();
641-
final Map.Entry<?, ?> secondEntry = secondIterator.next();
660+
final java.util.Map.Entry<?, ?> firstEntry = firstIterator.next();
661+
final java.util.Map.Entry<?, ?> secondEntry = secondIterator.next();
642662
643663
if (!deepEquals(firstEntry.getKey(), secondEntry.getKey(), visited)) {
644664
return false;
@@ -662,7 +682,7 @@ fun mapsDeepEquals(language: CodegenLanguage): String =
662682
private fun mapsDeepEquals(
663683
m1: kotlin.collections.Map<*, *>,
664684
m2: kotlin.collections.Map<*, *>,
665-
visited: MutableSet<kotlin.Pair<Any?, Any?>>
685+
visited: kotlin.collections.MutableSet<kotlin.Pair<kotlin.Any?, kotlin.Any?>>
666686
): Boolean {
667687
val firstIterator = m1.entries.iterator()
668688
val secondIterator = m2.entries.iterator()
@@ -704,9 +724,9 @@ fun hasCustomEquals(language: CodegenLanguage): String =
704724
"""
705725
private fun hasCustomEquals(clazz: Class<*>): Boolean {
706726
var c = clazz
707-
while (Any::class.java != c) {
727+
while (kotlin.Any::class.java != c) {
708728
try {
709-
c.getDeclaredMethod("equals", Any::class.java)
729+
c.getDeclaredMethod("equals", kotlin.Any::class.java)
710730
return true
711731
} catch (e: Exception) {
712732
// Interface should not appear here
@@ -724,12 +744,12 @@ fun getArrayLength(codegenLanguage: CodegenLanguage) =
724744
CodegenLanguage.JAVA ->
725745
"""
726746
private static int getArrayLength(Object arr) {
727-
return Array.getLength(arr);
747+
return java.lang.reflect.Array.getLength(arr);
728748
}
729749
""".trimIndent()
730750
CodegenLanguage.KOTLIN ->
731751
"""
732-
private fun getArrayLength(arr: Any?): Int = java.lang.reflect.Array.getLength(arr)
752+
private fun getArrayLength(arr: kotlin.Any?): Int = java.lang.reflect.Array.getLength(arr)
733753
""".trimIndent()
734754
}
735755

0 commit comments

Comments
 (0)