Skip to content

Commit f6ae9bd

Browse files
committed
Make minimization encourage use of non-hardcoded values
1 parent 3fdfa9b commit f6ae9bd

File tree

1 file changed

+6
-2
lines changed
  • utbot-framework/src/main/kotlin/org/utbot/framework/util

1 file changed

+6
-2
lines changed

utbot-framework/src/main/kotlin/org/utbot/framework/util/SizeUtils.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@ import org.utbot.framework.plugin.api.UtAssembleModel
66
import org.utbot.framework.plugin.api.UtClassRefModel
77
import org.utbot.framework.plugin.api.UtCompositeModel
88
import org.utbot.framework.plugin.api.UtCustomModel
9+
import org.utbot.framework.plugin.api.UtDirectGetFieldModel
910
import org.utbot.framework.plugin.api.UtDirectSetFieldModel
1011
import org.utbot.framework.plugin.api.UtEnumConstantModel
12+
import org.utbot.framework.plugin.api.UtExecutableCallModel
1113
import org.utbot.framework.plugin.api.UtLambdaModel
1214
import org.utbot.framework.plugin.api.UtModel
1315
import org.utbot.framework.plugin.api.UtNullModel
1416
import org.utbot.framework.plugin.api.UtPrimitiveModel
15-
import org.utbot.framework.plugin.api.UtStatementCallModel
1617
import org.utbot.framework.plugin.api.UtStatementModel
1718
import org.utbot.framework.plugin.api.UtVoidModel
1819

@@ -51,6 +52,9 @@ private fun UtModel.calculateSize(used: MutableSet<UtModel> = mutableSetOf()): I
5152

5253
private fun UtStatementModel.calculateSize(used: MutableSet<UtModel> = mutableSetOf()): Int =
5354
when (this) {
55+
is UtExecutableCallModel -> 1 + params.sumOf { it.calculateSize(used) } + (instance?.calculateSize(used) ?: 0)
5456
is UtDirectSetFieldModel -> 1 + fieldModel.calculateSize(used) + instance.calculateSize(used)
55-
is UtStatementCallModel -> 1 + params.sumOf { it.calculateSize(used) } + (instance?.calculateSize(used) ?: 0)
57+
58+
// -2 is added to encourage use of non-hardcoded values (including compensation for one extra `UtAssembleModel`)
59+
is UtDirectGetFieldModel -> (-2 + instance.calculateSize(used)).coerceAtLeast(0)
5660
}

0 commit comments

Comments
 (0)