Refactor: Extract deserialize class to context

This commit is contained in:
Pavel V. Talanov
2014-06-16 15:00:57 +04:00
parent 348de193b4
commit 6683173f67
3 changed files with 10 additions and 10 deletions
@@ -31,12 +31,6 @@ import org.jetbrains.jet.descriptors.serialization.descriptors.ConstantLoader
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor
import org.jetbrains.jet.lang.descriptors.ClassDescriptor
import org.jetbrains.jet.descriptors.serialization.ClassId
import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor
import org.jetbrains.jet.lang.resolve.scopes.JetScope
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe
import org.jetbrains.jet.lang.resolve.name.Name
import org.jetbrains.jet.lang.resolve.name.SpecialNames
import org.jetbrains.jet.lang.descriptors.ClassifierDescriptor
public open class DeserializationGlobalContext(
public val storageManager: StorageManager,
@@ -110,3 +104,7 @@ class DeserializationContextWithTypes(
}
}
fun DeserializationGlobalContext.deserializeClass(classId: ClassId): ClassDescriptor? {
return descriptorFinder.findClass(classId)
}
@@ -22,6 +22,7 @@ import kotlin.KotlinPackage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.descriptors.serialization.*;
import org.jetbrains.jet.descriptors.serialization.context.ContextPackage;
import org.jetbrains.jet.descriptors.serialization.context.DeserializationContext;
import org.jetbrains.jet.descriptors.serialization.context.DeserializationContextWithTypes;
import org.jetbrains.jet.descriptors.serialization.context.DeserializationGlobalContext;
@@ -141,7 +142,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
return fragments.iterator().next();
}
else {
ClassDescriptor result = context.getDescriptorFinder().findClass(classId.getOuterClassId());
ClassDescriptor result = ContextPackage.deserializeClass(context, classId.getOuterClassId());
return result != null ? result : ErrorUtils.getErrorModule();
}
}
@@ -245,7 +246,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
return new DeserializedClassDescriptor(context, classObjectProto.getData());
}
return context.getDescriptorFinder().findClass(classId.createNestedClassId(getClassObjectName(getName())));
return ContextPackage.deserializeClass(context, classId.createNestedClassId(getClassObjectName(getName())));
}
@NotNull
@@ -488,7 +489,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
.create(storageManager, DeserializedClassDescriptor.this, name, enumMemberNames);
}
if (nestedClassNames.contains(name)) {
return context.getDescriptorFinder().findClass(classId.createNestedClassId(name));
return ContextPackage.deserializeClass(context, classId.createNestedClassId(name));
}
return null;
}
@@ -21,6 +21,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.descriptors.serialization.ClassId;
import org.jetbrains.jet.descriptors.serialization.PackageData;
import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
import org.jetbrains.jet.descriptors.serialization.context.ContextPackage;
import org.jetbrains.jet.descriptors.serialization.context.DeserializationContext;
import org.jetbrains.jet.descriptors.serialization.context.DeserializationGlobalContext;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
@@ -58,7 +59,7 @@ public class DeserializedPackageMemberScope extends DeserializedMemberScope {
@Nullable
@Override
protected ClassDescriptor getClassDescriptor(@NotNull Name name) {
return context.getDescriptorFinder().findClass(new ClassId(packageFqName, FqNameUnsafe.topLevel(name)));
return ContextPackage.deserializeClass(context, new ClassId(packageFqName, FqNameUnsafe.topLevel(name)));
}
@Override