Refactor: Extract deserialize class to context
This commit is contained in:
+4
-6
@@ -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.ModuleDescriptor
|
||||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor
|
import org.jetbrains.jet.lang.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.jet.descriptors.serialization.ClassId
|
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 open class DeserializationGlobalContext(
|
||||||
public val storageManager: StorageManager,
|
public val storageManager: StorageManager,
|
||||||
@@ -110,3 +104,7 @@ class DeserializationContextWithTypes(
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun DeserializationGlobalContext.deserializeClass(classId: ClassId): ClassDescriptor? {
|
||||||
|
return descriptorFinder.findClass(classId)
|
||||||
|
}
|
||||||
|
|||||||
+4
-3
@@ -22,6 +22,7 @@ import kotlin.KotlinPackage;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.descriptors.serialization.*;
|
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.DeserializationContext;
|
||||||
import org.jetbrains.jet.descriptors.serialization.context.DeserializationContextWithTypes;
|
import org.jetbrains.jet.descriptors.serialization.context.DeserializationContextWithTypes;
|
||||||
import org.jetbrains.jet.descriptors.serialization.context.DeserializationGlobalContext;
|
import org.jetbrains.jet.descriptors.serialization.context.DeserializationGlobalContext;
|
||||||
@@ -141,7 +142,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
|||||||
return fragments.iterator().next();
|
return fragments.iterator().next();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ClassDescriptor result = context.getDescriptorFinder().findClass(classId.getOuterClassId());
|
ClassDescriptor result = ContextPackage.deserializeClass(context, classId.getOuterClassId());
|
||||||
return result != null ? result : ErrorUtils.getErrorModule();
|
return result != null ? result : ErrorUtils.getErrorModule();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -245,7 +246,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
|||||||
return new DeserializedClassDescriptor(context, classObjectProto.getData());
|
return new DeserializedClassDescriptor(context, classObjectProto.getData());
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.getDescriptorFinder().findClass(classId.createNestedClassId(getClassObjectName(getName())));
|
return ContextPackage.deserializeClass(context, classId.createNestedClassId(getClassObjectName(getName())));
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -488,7 +489,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme
|
|||||||
.create(storageManager, DeserializedClassDescriptor.this, name, enumMemberNames);
|
.create(storageManager, DeserializedClassDescriptor.this, name, enumMemberNames);
|
||||||
}
|
}
|
||||||
if (nestedClassNames.contains(name)) {
|
if (nestedClassNames.contains(name)) {
|
||||||
return context.getDescriptorFinder().findClass(classId.createNestedClassId(name));
|
return ContextPackage.deserializeClass(context, classId.createNestedClassId(name));
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -21,6 +21,7 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
import org.jetbrains.jet.descriptors.serialization.ClassId;
|
import org.jetbrains.jet.descriptors.serialization.ClassId;
|
||||||
import org.jetbrains.jet.descriptors.serialization.PackageData;
|
import org.jetbrains.jet.descriptors.serialization.PackageData;
|
||||||
import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
|
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.DeserializationContext;
|
||||||
import org.jetbrains.jet.descriptors.serialization.context.DeserializationGlobalContext;
|
import org.jetbrains.jet.descriptors.serialization.context.DeserializationGlobalContext;
|
||||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||||
@@ -58,7 +59,7 @@ public class DeserializedPackageMemberScope extends DeserializedMemberScope {
|
|||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
protected ClassDescriptor getClassDescriptor(@NotNull Name name) {
|
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
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user