11package org.utbot.instrumentation.instrumentation.instrumenter
22
3+ import org.objectweb.asm.ClassReader
4+ import org.objectweb.asm.ClassVisitor
5+ import org.objectweb.asm.ClassWriter
6+ import org.objectweb.asm.Opcodes
7+ import org.objectweb.asm.Type
8+ import org.objectweb.asm.tree.ClassNode
39import org.utbot.framework.plugin.api.util.UtContext
410import org.utbot.instrumentation.Settings
511import org.utbot.instrumentation.instrumentation.instrumenter.visitors.MethodToProbesVisitor
@@ -9,6 +15,7 @@ import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.IIns
915import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.InstanceFieldInitializer
1016import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.InstructionVisitorAdapter
1117import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.StaticFieldInitializer
18+ import org.utbot.instrumentation.process.HandlerClassesLoader
1219import java.io.File
1320import java.io.IOException
1421import java.io.InputStream
@@ -17,12 +24,6 @@ import java.nio.file.Path
1724import java.nio.file.Paths
1825import kotlin.reflect.KFunction
1926import kotlin.reflect.jvm.javaMethod
20- import org.objectweb.asm.ClassReader
21- import org.objectweb.asm.ClassVisitor
22- import org.objectweb.asm.ClassWriter
23- import org.objectweb.asm.Opcodes
24- import org.objectweb.asm.Type
25- import org.objectweb.asm.tree.ClassNode
2627
2728
2829// TODO: handle with flags EXPAND_FRAMES, etc.
@@ -155,7 +156,7 @@ private class TunedClassWriter(
155156 flags : Int
156157) : ClassWriter(reader, flags) {
157158 override fun getClassLoader (): ClassLoader {
158- return UtContext .currentContext()?.classLoader ? : this :: class .java.classLoader
159+ return HandlerClassesLoader
159160 }
160161 override fun getCommonSuperClass (type1 : String , type2 : String ): String {
161162 try {
@@ -278,8 +279,9 @@ private class TunedClassWriter(
278279 */
279280 @Throws(IOException ::class )
280281 private fun typeInfo (type : String ): ClassReader {
281- val `is `: InputStream = classLoader.getResourceAsStream(" $type .class" )
282- ? : error(" Can't find resource for class: $type .class" )
282+ val `is `: InputStream = requireNotNull(classLoader.getResourceAsStream(" $type .class" )) {
283+ " Can't find resource for class: $type .class"
284+ }
283285 return `is `.use { ClassReader (it) }
284286 }
285287}
0 commit comments