Skip to content
Prev Previous commit
Next Next commit
Refactor imports
  • Loading branch information
egiptipavel committed Jul 31, 2023
commit 21865a5103ec82aef2b0265157be55b9025358b7
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,13 @@ import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import mu.KotlinLogging
import org.utbot.framework.plugin.api.InstrumentedProcessDeathException
import org.utbot.common.logException
import org.utbot.framework.plugin.api.*
import org.utbot.framework.plugin.api.ClassId
import org.utbot.framework.plugin.api.FieldId
import org.utbot.framework.plugin.api.ConcreteContextLoadingResult
import org.utbot.framework.plugin.api.SpringRepositoryId
import org.utbot.framework.plugin.api.ExecutableId
import org.utbot.framework.plugin.api.util.UtContext
import org.utbot.framework.plugin.api.util.signature
import org.utbot.instrumentation.instrumentation.Instrumentation
Expand All @@ -30,7 +35,6 @@ import org.utbot.instrumentation.rd.InstrumentedProcess
import org.utbot.instrumentation.util.InstrumentedProcessError
import org.utbot.rd.generated.synchronizationModel
import org.utbot.rd.loggers.overrideDefaultRdLoggerFactoryWithKLogger
import org.utbot.rd.startBlocking

private val logger = KotlinLogging.logger {}

Expand Down Expand Up @@ -313,10 +317,11 @@ fun <T> ConcreteExecutor<*, *>.computeStaticField(fieldId: FieldId): Result<T> =
}
}

fun ConcreteExecutor<*, *>.getInstrumentationResult(methodUnderTest: ExecutableId): ResultOfInstrumentation = runBlocking {
withProcess {
val params = GetResultOfInstrumentationParams(methodUnderTest.classId.name, methodUnderTest.name)
val result = instrumentedProcessModel.getResultOfInstrumentation.startBlocking(params)
kryoHelper.readObject(result.result)
fun ConcreteExecutor<*, *>.getInstrumentationResult(methodUnderTest: ExecutableId): ResultOfInstrumentation =
runBlocking {
withProcess {
val params = GetResultOfInstrumentationParams(methodUnderTest.classId.name, methodUnderTest.name)
val result = instrumentedProcessModel.getResultOfInstrumentation.startSuspending(lifetime, params)
kryoHelper.readObject(result.result)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ package org.utbot.instrumentation.instrumentation.et

import com.jetbrains.rd.util.error
import com.jetbrains.rd.util.getLogger
import org.objectweb.asm.MethodVisitor
import org.objectweb.asm.Opcodes
import org.objectweb.asm.Type
import org.objectweb.asm.commons.LocalVariablesSorter
import org.utbot.framework.plugin.api.ClassId
import org.utbot.framework.plugin.api.FieldId
import org.utbot.instrumentation.Settings
import kotlin.reflect.jvm.javaField
import kotlin.reflect.jvm.javaMethod
import org.objectweb.asm.MethodVisitor
import org.objectweb.asm.Opcodes
import org.objectweb.asm.Type
import org.objectweb.asm.commons.LocalVariablesSorter

sealed class InstructionData {
abstract val line: Int
Expand Down Expand Up @@ -94,7 +94,6 @@ class ProcessingStorage {
instructionsData.computeIfAbsent(id) {
val (className, _) = computeClassNameAndLocalId(id)
classToInstructionsCount.merge(className, 1, Long::plus)
// TODO refactor this
if (methodId !in methodIdToInstructionsIds) {
methodIdToInstructionsIds[methodId] = mutableListOf(id)
} else {
Expand All @@ -111,9 +110,9 @@ class ProcessingStorage {
return instructionsData.getValue(id)
}

fun getInstructionsIds(className: String, methodName: String): List<Long> {
fun getInstructionsIds(className: String, methodName: String): List<Long>? {
val methodId = classMethodToId[ClassToMethod(className, methodName)]
return methodIdToInstructionsIds[methodId]!!
return methodIdToInstructionsIds[methodId]
}

companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ data class UtConcreteExecutionResult(
}
}

data class ResultOfInstrumentation(val instructionsIds: List<Long>)
data class ResultOfInstrumentation(val instructionsIds: List<Long>?)

interface UtExecutionInstrumentation : Instrumentation<UtConcreteExecutionResult> {
override fun invoke(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,17 @@ import org.utbot.framework.process.kryo.KryoHelper
import org.utbot.instrumentation.agent.Agent
import org.utbot.instrumentation.instrumentation.Instrumentation
import org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation
import org.utbot.instrumentation.instrumentation.spring.SpringUtExecutionInstrumentation
import org.utbot.instrumentation.instrumentation.execution.UtExecutionInstrumentation
import org.utbot.instrumentation.instrumentation.execution.constructors.UtModelConstructor
import org.utbot.instrumentation.instrumentation.spring.SpringUtExecutionInstrumentation
import org.utbot.instrumentation.process.generated.*
import org.utbot.instrumentation.process.generated.CollectCoverageResult
import org.utbot.instrumentation.process.generated.GetSpringBeanResult
import org.utbot.instrumentation.process.generated.GetSpringRepositoriesResult
import org.utbot.instrumentation.process.generated.InstrumentedProcessModel
import org.utbot.instrumentation.process.generated.InvokeMethodCommandResult
import org.utbot.instrumentation.process.generated.TryLoadingSpringContextResult
import org.utbot.instrumentation.process.generated.instrumentedProcessModel
import org.utbot.instrumentation.process.generated.GetResultOfInstrumentationResult
import org.utbot.rd.IdleWatchdog
import org.utbot.rd.ClientProtocolBuilder
import org.utbot.rd.RdSettingsContainerFactory
Expand Down