提交 8f5d469a 编写于 作者: E Evgeny Gerashchenko

Replaced short names with fully qualified in DescriptorRenderer.

上级 9658dd7c
......@@ -21,6 +21,7 @@ import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Type;
......@@ -142,8 +143,8 @@ public class NamespaceCodegen {
}
String name = fqName.replace('.', '/');
if(name.startsWith("<java_root>")) {
name = name.substring("<java_root>".length() + 1, name.length());
if (name.startsWith(JavaDescriptorResolver.JAVA_ROOT)) {
name = name.substring(JavaDescriptorResolver.JAVA_ROOT.length() + 1, name.length());
}
if (namespace) {
name += "/" + JvmAbi.PACKAGE_CLASS;
......
......@@ -180,7 +180,9 @@ public class DescriptorUtils {
public static String getFQName(DeclarationDescriptor descriptor) {
DeclarationDescriptor container = descriptor.getContainingDeclaration();
if (container != null && !(container instanceof ModuleDescriptor)) {
if (container != null && !(container instanceof ModuleDescriptor)
&& !("<java_root>".equals(container.getName()))) {
// TODO JavaNamespaceDescriptors should be refactored
String baseName = getFQName(container);
if (!baseName.isEmpty()) return baseName + "." + descriptor.getName();
}
......
......@@ -20,11 +20,12 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.diagnostics.Renderer;
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor;
import org.jetbrains.jet.lang.types.lang.JetStandardClasses;
import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.types.TypeProjection;
import org.jetbrains.jet.lang.types.Variance;
import org.jetbrains.jet.lang.types.lang.JetStandardClasses;
import org.jetbrains.jet.lexer.JetTokens;
import java.util.Collection;
......@@ -109,7 +110,9 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
private String renderDefaultType(JetType type) {
StringBuilder sb = new StringBuilder();
sb.append(type.getConstructor());
ClassifierDescriptor cd = type.getConstructor().getDeclarationDescriptor();
sb.append(cd == null || cd instanceof TypeParameterDescriptor
? type.getConstructor() : DescriptorUtils.getFQName(cd));
if (!type.getArguments().isEmpty()) {
sb.append("<");
appendTypeProjections(sb, type.getArguments());
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册