Fixed rendering "defined in ..." DescriptorRenderer, now it doesn't render "<module>.<root>"

This commit is contained in:
Evgeny Gerashchenko
2012-04-18 21:25:04 +04:00
parent 7e1059d3bd
commit 99acd9cdf0
6 changed files with 56 additions and 62 deletions
@@ -21,6 +21,8 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.diagnostics.rendering.Renderer; import org.jetbrains.jet.lang.diagnostics.rendering.Renderer;
import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.FqName;
import org.jetbrains.jet.lang.resolve.FqNameUnsafe;
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor;
import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.types.TypeProjection; import org.jetbrains.jet.lang.types.TypeProjection;
@@ -227,7 +229,8 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
final DeclarationDescriptor containingDeclaration = declarationDescriptor.getContainingDeclaration(); final DeclarationDescriptor containingDeclaration = declarationDescriptor.getContainingDeclaration();
if (containingDeclaration != null) { if (containingDeclaration != null) {
renderFullyQualifiedName(containingDeclaration, stringBuilder); FqNameUnsafe fqName = DescriptorUtils.getFQName(containingDeclaration);
stringBuilder.append(FqName.ROOT.toUnsafe().equals(fqName) ? "root package" : escape(fqName.getFqName()));
} }
} }
@@ -244,15 +247,6 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
return s; return s;
} }
private void renderFullyQualifiedName(DeclarationDescriptor descriptor, StringBuilder stringBuilder) {
DeclarationDescriptor containingDeclaration = descriptor.getContainingDeclaration();
if (containingDeclaration != null) {
renderFullyQualifiedName(containingDeclaration, stringBuilder);
stringBuilder.append(".");
}
stringBuilder.append(escape(descriptor.getName()));
}
private class RenderDeclarationDescriptorVisitor extends DeclarationDescriptorVisitor<Void, StringBuilder> { private class RenderDeclarationDescriptorVisitor extends DeclarationDescriptorVisitor<Void, StringBuilder> {
@Override @Override
+18 -18
View File
@@ -29,21 +29,21 @@ private enum class TheEnum(val rgb : Int) {
VAL1 : TheEnum(0xFF0000) VAL1 : TheEnum(0xFF0000)
} }
//package rendererTest defined in <module>.<root> //package rendererTest defined in root package
//internal final annotation class TheAnnotation defined in <module>.<root>.rendererTest //internal final annotation class TheAnnotation defined in rendererTest
//public open class TheClass<T : jet.Int, X> defined in <module>.<root>.rendererTest //public open class TheClass<T : jet.Int, X> defined in rendererTest
//<T : jet.Int> defined in <module>.<root>.rendererTest.TheClass //<T : jet.Int> defined in rendererTest.TheClass
//<X> defined in <module>.<root>.rendererTest.TheClass //<X> defined in rendererTest.TheClass
//private final val privateVal : jet.Int defined in <module>.<root>.rendererTest.TheClass //private final val privateVal : jet.Int defined in rendererTest.TheClass
//internal final val shouldBeFinal : jet.Int defined in <module>.<root>.rendererTest.TheClass //internal final val shouldBeFinal : jet.Int defined in rendererTest.TheClass
//protected abstract fun foo() : Unit defined in <module>.<root>.rendererTest.TheClass //protected abstract fun foo() : Unit defined in rendererTest.TheClass
//private final class Inner defined in <module>.<root>.rendererTest.TheClass //private final class Inner defined in rendererTest.TheClass
//internal final class InternalClass defined in <module>.<root>.rendererTest //internal final class InternalClass defined in rendererTest
//internal trait TheTrait defined in <module>.<root>.rendererTest //internal trait TheTrait defined in rendererTest
//internal abstract fun abstractFun() : Unit defined in <module>.<root>.rendererTest.TheTrait //internal abstract fun abstractFun() : Unit defined in rendererTest.TheTrait
//object : rendererTest.TheClass<jet.Int, jet.Int> defined in <module>.<root>.rendererTest.TheTrait //object : rendererTest.TheClass<jet.Int, jet.Int> defined in rendererTest.TheTrait
//internal final fun classObjectFunction() : jet.Int defined in <module>.<root>.rendererTest.TheTrait.<no name provided> //internal final fun classObjectFunction() : jet.Int defined in rendererTest.TheTrait.<no name provided>
//private final enum class TheEnum defined in <module>.<root>.rendererTest //private final enum class TheEnum defined in rendererTest
//value-parameter val rgb : jet.Int defined in <module>.<root>.rendererTest.TheEnum.<init> //value-parameter val rgb : jet.Int defined in rendererTest.TheEnum.<init>
//internal final class VAL1 : rendererTest.TheEnum defined in <module>.<root>.rendererTest.TheEnum.class-object-for-TheEnum //internal final class VAL1 : rendererTest.TheEnum defined in rendererTest.TheEnum.class-object-for-TheEnum
//internal final val VAL1 : rendererTest.TheEnum.class-object-for-TheEnum.VAL1 defined in <module>.<root>.rendererTest.TheEnum.class-object-for-TheEnum //internal final val VAL1 : rendererTest.TheEnum.class-object-for-TheEnum.VAL1 defined in rendererTest.TheEnum.class-object-for-TheEnum
+8 -8
View File
@@ -8,11 +8,11 @@ var v6 : Int.(String, Int) -> Unit
var v7 : ExtensionFunction1<Int, String, Boolean> var v7 : ExtensionFunction1<Int, String, Boolean>
//internal final var v1 : () -> Unit defined in <module>.<root> //internal final var v1 : () -> Unit defined in root package
//internal final var v2 : (jet.Int) -> jet.Int defined in <module>.<root> //internal final var v2 : (jet.Int) -> jet.Int defined in root package
//internal final var v3 : (jet.Int, #(jet.String, jet.String)) -> jet.String defined in <module>.<root> //internal final var v3 : (jet.Int, #(jet.String, jet.String)) -> jet.String defined in root package
//internal final var v4 : (jet.Int) -> jet.String defined in <module>.<root> //internal final var v4 : (jet.Int) -> jet.String defined in root package
//internal final var v4 : (() -> jet.Int, (#(jet.String, jet.String)) -> Unit) -> jet.String defined in <module>.<root> //internal final var v4 : (() -> jet.Int, (#(jet.String, jet.String)) -> Unit) -> jet.String defined in root package
//internal final var v5 : jet.Int.() -> jet.Int defined in <module>.<root> //internal final var v5 : jet.Int.() -> jet.Int defined in root package
//internal final var v6 : jet.Int.(jet.String, jet.Int) -> Unit defined in <module>.<root> //internal final var v6 : jet.Int.(jet.String, jet.Int) -> Unit defined in root package
//internal final var v7 : jet.Int.(jet.String) -> jet.Boolean defined in <module>.<root> //internal final var v7 : jet.Int.(jet.String) -> jet.Boolean defined in root package
@@ -10,12 +10,12 @@ private fun prv(a : String, b : Int = 5) = 5
public fun Int.ext() : Int {} public fun Int.ext() : Int {}
//package rendererTest defined in <module>.<root> //package rendererTest defined in root package
//public final fun pub() : Unit defined in <module>.<root>.rendererTest //public final fun pub() : Unit defined in rendererTest
//internal final fun int() : jet.String defined in <module>.<root>.rendererTest //internal final fun int() : jet.String defined in rendererTest
//internal final fun int2(val ints : jet.IntArray) : jet.Int defined in <module>.<root>.rendererTest //internal final fun int2(val ints : jet.IntArray) : jet.Int defined in rendererTest
//value-parameter vararg val ints : jet.IntArray defined in <module>.<root>.rendererTest.int2 //value-parameter vararg val ints : jet.IntArray defined in rendererTest.int2
//private final fun prv(val a : jet.String, val b : jet.Int = ...) : jet.Int defined in <module>.<root>.rendererTest //private final fun prv(val a : jet.String, val b : jet.Int = ...) : jet.Int defined in rendererTest
//value-parameter val a : jet.String defined in <module>.<root>.rendererTest.prv //value-parameter val a : jet.String defined in rendererTest.prv
//value-parameter val b : jet.Int defined in <module>.<root>.rendererTest.prv //value-parameter val b : jet.Int defined in rendererTest.prv
//public final fun jet.Int.ext() : jet.Int defined in <module>.<root>.rendererTest //public final fun jet.Int.ext() : jet.Int defined in rendererTest
@@ -11,10 +11,10 @@ private var private = 5
public val Int.ext : Int public val Int.ext : Int
get() {} get() {}
//package rendererTest defined in <module>.<root> //package rendererTest defined in root package
//public final val pub : jet.String defined in <module>.<root>.rendererTest //public final val pub : jet.String defined in rendererTest
//internal final var int : jet.String defined in <module>.<root>.rendererTest //internal final var int : jet.String defined in rendererTest
//internal final val int2 : jet.Int defined in <module>.<root>.rendererTest //internal final val int2 : jet.Int defined in rendererTest
//private final var private : jet.Int defined in <module>.<root>.rendererTest //private final var private : jet.Int defined in rendererTest
//public final val jet.Int.ext : jet.Int defined in <module>.<root>.rendererTest //public final val jet.Int.ext : jet.Int defined in rendererTest
//public final fun jet.Int.get-ext() : jet.Int defined in <module>.<root>.rendererTest //public final fun jet.Int.get-ext() : jet.Int defined in rendererTest
+10 -10
View File
@@ -9,13 +9,13 @@ var v8 : #(Int, String, String)
var v9 : Tuple2<Int, String> var v9 : Tuple2<Int, String>
var v10 : Tuple3<Int, Int, Int>? var v10 : Tuple3<Int, Int, Int>?
//internal final var v1 : Unit defined in <module>.<root> //internal final var v1 : Unit defined in root package
//internal final var v2 : Unit? defined in <module>.<root> //internal final var v2 : Unit? defined in root package
//internal final var v3 : Unit defined in <module>.<root> //internal final var v3 : Unit defined in root package
//internal final var v4 : Unit? defined in <module>.<root> //internal final var v4 : Unit? defined in root package
//internal final var v5 : Unit defined in <module>.<root> //internal final var v5 : Unit defined in root package
//internal final var v6 : #(jet.Int) defined in <module>.<root> //internal final var v6 : #(jet.Int) defined in root package
//internal final var v7 : #(jet.Int)? defined in <module>.<root> //internal final var v7 : #(jet.Int)? defined in root package
//internal final var v8 : #(jet.Int, jet.String, jet.String) defined in <module>.<root> //internal final var v8 : #(jet.Int, jet.String, jet.String) defined in root package
//internal final var v9 : #(jet.Int, jet.String) defined in <module>.<root> //internal final var v9 : #(jet.Int, jet.String) defined in root package
//internal final var v10 : #(jet.Int, jet.Int, jet.Int)? defined in <module>.<root> //internal final var v10 : #(jet.Int, jet.Int, jet.Int)? defined in root package