diff --git a/kex-core/src/main/kotlin/org/vorpal/research/kex/descriptor/converter.kt b/kex-core/src/main/kotlin/org/vorpal/research/kex/descriptor/converter.kt index 11c599144..4d4a32f7d 100644 --- a/kex-core/src/main/kotlin/org/vorpal/research/kex/descriptor/converter.kt +++ b/kex-core/src/main/kotlin/org/vorpal/research/kex/descriptor/converter.kt @@ -30,7 +30,9 @@ private val maxGenerationDepth by lazy { private val maxArrayLength by lazy { kexConfig.getIntValue("reanimator", "maxArrayLength", 10_000) } - +private val ignoreSyntheticObjects by lazy { + kexConfig.getBooleanValue("reanimator", "ignoreSyntheticObjects", false) +} class Object2DescriptorConverter : DescriptorBuilder() { private val objectToDescriptor = IdentityHashMap() @@ -184,6 +186,8 @@ class Object2DescriptorConverter : DescriptorBuilder() { if (depth > maxGenerationDepth) return `null` val klass = any.javaClass + if (klass.isSynthetic) return `null` + val kexClass = klass.kex as KexClass val result = `object`(kexClass) objectToDescriptor[any] = result diff --git a/kex.ini b/kex.ini index 681748176..2c45d1646 100644 --- a/kex.ini +++ b/kex.ini @@ -45,6 +45,7 @@ maxSearchDepth = 1000 maxGenerationDepth = 100 maxConversionDepth = 10 useRecursiveConstructors = false +ignoreSyntheticObjects = true [easy-random] seed = 3735928559