Remove ClassLoaderIsolationUtil

Minimize usages of jet.* in Java code: this will help in migration of jet.* to
package kotlin. Since tests will work with fq names instead of Class<?>
instances from now on, ClassLoaderIsolationUtil is useless now (except for one
unrelated method, which was moved to CodegenTestUtil)
This commit is contained in:
Alexander Udalov
2014-02-14 17:32:11 +04:00
parent eb7b757e38
commit 339a990482
9 changed files with 66 additions and 99 deletions
@@ -16,10 +16,10 @@
package org.jetbrains.jet.codegen;
import jet.KotlinClass;
import org.jetbrains.jet.ConfigurationKind;
import org.jetbrains.jet.descriptors.serialization.ClassData;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil;
import org.jetbrains.jet.lang.resolve.java.JvmAnnotationNames;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
@@ -48,13 +48,15 @@ public class KotlinClassAnnotationTest extends CodegenTestCase {
"}\n");
Class aClass = generateClass(PACKAGE_NAME + "." + CLASS_NAME);
Class<? extends Annotation> annotationClass = getCorrespondingAnnotationClass(KotlinClass.class);
Class<? extends Annotation> annotationClass = loadAnnotationClassQuietly(JvmAnnotationNames.KOTLIN_CLASS.asString());
assertTrue(aClass.isAnnotationPresent(annotationClass));
Annotation kotlinClass = aClass.getAnnotation(annotationClass);
ClassData data = JavaProtoBufUtil.readClassDataFrom((String[]) ClassLoaderIsolationUtil.getAnnotationAttribute(kotlinClass, "data"));
String[] data = (String[]) CodegenTestUtil.getAnnotationAttribute(kotlinClass, "data");
assertNotNull(data);
ClassData classData = JavaProtoBufUtil.readClassDataFrom(data);
Set<String> callableNames = collectCallableNames(data.getClassProto().getMemberList(), data.getNameResolver());
Set<String> callableNames = collectCallableNames(classData.getClassProto().getMemberList(), classData.getNameResolver());
assertSameElements(Arrays.asList("foo", "bar"), callableNames);
}
}