KotlinJvmBinaryClass now has a getClassHeader() method

This commit is contained in:
Andrey Breslav
2014-01-07 13:21:15 +04:00
parent 7fc9772930
commit b3f4527bb8
10 changed files with 65 additions and 30 deletions
@@ -113,7 +113,7 @@ public final class DeserializedDescriptorResolver {
@Nullable
private String[] readData(@NotNull KotlinJvmBinaryClass kotlinClass, @NotNull SerializedDataHeader.Kind expectedKind) {
KotlinClassHeader header = KotlinClassHeader.read(kotlinClass);
KotlinClassHeader header = kotlinClass.getClassHeader();
if (header instanceof SerializedDataHeader) {
SerializedDataHeader serializedDataHeader = (SerializedDataHeader) header;
if (serializedDataHeader.getKind() != expectedKind) return null;
@@ -19,6 +19,7 @@ package org.jetbrains.jet.lang.resolve.kotlin;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.resolve.java.JvmClassName;
import org.jetbrains.jet.lang.resolve.kotlin.header.KotlinClassHeader;
import org.jetbrains.jet.lang.resolve.name.Name;
public interface KotlinJvmBinaryClass {
@@ -29,6 +30,9 @@ public interface KotlinJvmBinaryClass {
void loadMemberAnnotations(@NotNull MemberVisitor visitor);
@Nullable
KotlinClassHeader getClassHeader();
interface MemberVisitor {
// TODO: abstract signatures for methods and fields instead of ASM 'desc' strings?