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.PathUtil;
import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBuf;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedCallableMemberDescriptor; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedCallableMemberDescriptor;
import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor; import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor;
import org.jetbrains.jet.lang.psi.JetDeclaration; import org.jetbrains.jet.lang.psi.JetDeclaration;
@@ -85,7 +86,7 @@ public class PackagePartClassUtils {
@NotNull @NotNull
public static FqName getPackagePartFqName(@NotNull DeserializedCallableMemberDescriptor callable) { public static FqName getPackagePartFqName(@NotNull DeserializedCallableMemberDescriptor callable) {
FqName packageFqName = ((PackageFragmentDescriptor) callable.getContainingDeclaration()).getFqName(); FqName packageFqName = ((PackageFragmentDescriptor) callable.getContainingDeclaration()).getFqName();
return packageFqName.child(BaseDescriptorLoader.getPackagePartClassName(callable)); return packageFqName.child(callable.getNameResolver().getName(callable.getProto().getExtension(JavaProtoBuf.implClassName)));
} }
@NotNull @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.NameResolver;
import org.jetbrains.jet.descriptors.serialization.ProtoBuf; import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
import org.jetbrains.jet.descriptors.serialization.descriptors.AnnotatedCallableKind; 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.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.ClassOrPackageFragmentDescriptor; import org.jetbrains.jet.lang.descriptors.ClassOrPackageFragmentDescriptor;
import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor; import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor;
import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.java.resolver.ErrorReporter; import org.jetbrains.jet.lang.resolve.java.resolver.ErrorReporter;
import org.jetbrains.jet.lang.resolve.name.ClassId; 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.isClassObject
import org.jetbrains.jet.lang.resolve.DescriptorUtils.isTrait import org.jetbrains.jet.lang.resolve.DescriptorUtils.isTrait
@@ -78,7 +76,7 @@ public abstract class BaseDescriptorLoader protected(
nameResolver: NameResolver nameResolver: NameResolver
): KotlinJvmBinaryClass? { ): KotlinJvmBinaryClass? {
if (proto.hasExtension(implClassName)) { 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 return null
} }
@@ -125,14 +123,6 @@ public abstract class BaseDescriptorLoader protected(
return null 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 { private fun isStaticFieldInOuter(proto: ProtoBuf.Callable): Boolean {
if (!proto.hasExtension(propertySignature)) return false if (!proto.hasExtension(propertySignature)) return false
val propertySignature = proto.getExtension(propertySignature) val propertySignature = proto.getExtension(propertySignature)