From f566095eb92f0dd03379d3a1fba05e0ba38f1e7a Mon Sep 17 00:00:00 2001 From: Fabian Meumertzheim Date: Wed, 21 Apr 2021 12:28:26 +0200 Subject: Make PatchTestUtils compatible with Java 8 --- .../code_intelligence/jazzer/instrumentor/PatchTestUtils.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'agent/src/test/java/com/code_intelligence/jazzer') diff --git a/agent/src/test/java/com/code_intelligence/jazzer/instrumentor/PatchTestUtils.kt b/agent/src/test/java/com/code_intelligence/jazzer/instrumentor/PatchTestUtils.kt index b803630e..f286d03f 100644 --- a/agent/src/test/java/com/code_intelligence/jazzer/instrumentor/PatchTestUtils.kt +++ b/agent/src/test/java/com/code_intelligence/jazzer/instrumentor/PatchTestUtils.kt @@ -15,7 +15,12 @@ package com.code_intelligence.jazzer.instrumentor fun classToBytecode(targetClass: Class<*>): ByteArray { - return ClassLoader.getSystemClassLoader().getResourceAsStream("${targetClass.name.replace('.', '/')}.class")!!.readAllBytes() + return ClassLoader + .getSystemClassLoader() + .getResourceAsStream("${targetClass.name.replace('.', '/')}.class")!! + .use { + it.readBytes() + } } fun bytecodeToClass(name: String, bytecode: ByteArray): Class<*> { @@ -26,7 +31,8 @@ fun bytecodeToClass(name: String, bytecode: ByteArray): Class<*> { * A ClassLoader that dynamically loads a single specified class from byte code and delegates all other class loads to * its own ClassLoader. */ -class BytecodeClassLoader(val className: String, private val classBytecode: ByteArray) : ClassLoader(BytecodeClassLoader::class.java.classLoader) { +class BytecodeClassLoader(val className: String, private val classBytecode: ByteArray) : + ClassLoader(BytecodeClassLoader::class.java.classLoader) { override fun loadClass(name: String): Class<*> { if (name != className) return super.loadClass(name) -- cgit v1.2.3