Inline BaseDescriptorLoader#getPackagePartClassName utilities

This commit is contained in:
Pavel V. Talanov
2014-11-26 16:36:12 +03:00
parent 38725687fc
commit d2fc7c7fd3
2 changed files with 3 additions and 12 deletions
@@ -22,6 +22,7 @@ import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.PathUtil;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBuf;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedCallableMemberDescriptor;
import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor;
import org.jetbrains.jet.lang.psi.JetDeclaration;
@@ -85,7 +86,7 @@ public class PackagePartClassUtils {
@NotNull
public static FqName getPackagePartFqName(@NotNull DeserializedCallableMemberDescriptor callable) {
FqName packageFqName = ((PackageFragmentDescriptor) callable.getContainingDeclaration()).getFqName();
return packageFqName.child(BaseDescriptorLoader.getPackagePartClassName(callable));
return packageFqName.child(callable.getNameResolver().getName(callable.getProto().getExtension(JavaProtoBuf.implClassName)));
}
@NotNull
@@ -20,14 +20,12 @@ import org.jetbrains.jet.descriptors.serialization.JavaProtoBuf.*;
import org.jetbrains.jet.descriptors.serialization.NameResolver;
import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
import org.jetbrains.jet.descriptors.serialization.descriptors.AnnotatedCallableKind;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedCallableMemberDescriptor;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.ClassOrPackageFragmentDescriptor;
import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor;
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.java.resolver.ErrorReporter;
import org.jetbrains.jet.lang.resolve.name.ClassId;
import org.jetbrains.jet.lang.resolve.name.Name;
import org.jetbrains.jet.lang.resolve.DescriptorUtils.isClassObject
import org.jetbrains.jet.lang.resolve.DescriptorUtils.isTrait
@@ -78,7 +76,7 @@ public abstract class BaseDescriptorLoader protected(
nameResolver: NameResolver
): KotlinJvmBinaryClass? {
if (proto.hasExtension(implClassName)) {
return kotlinClassFinder.findKotlinClass(ClassId(container.fqName, getPackagePartClassName(proto, nameResolver)))
return kotlinClassFinder.findKotlinClass(ClassId(container.fqName, nameResolver.getName(proto.getExtension(implClassName))))
}
return null
}
@@ -125,14 +123,6 @@ public abstract class BaseDescriptorLoader protected(
return null
}
platformStatic public fun getPackagePartClassName(deserializedCallableMember: DeserializedCallableMemberDescriptor): Name {
return getPackagePartClassName(deserializedCallableMember.proto, deserializedCallableMember.nameResolver)
}
private fun getPackagePartClassName(proto: ProtoBuf.Callable, nameResolver: NameResolver): Name {
return nameResolver.getName(proto.getExtension(implClassName))
}
private fun isStaticFieldInOuter(proto: ProtoBuf.Callable): Boolean {
if (!proto.hasExtension(propertySignature)) return false
val propertySignature = proto.getExtension(propertySignature)