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.diagnostics.rendering.Renderer;
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.types.JetType;
import org.jetbrains.jet.lang.types.TypeProjection;
@@ -227,7 +229,8 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
final DeclarationDescriptor containingDeclaration = declarationDescriptor.getContainingDeclaration();
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;
}
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> {
@Override
+18 -18
View File
@@ -29,21 +29,21 @@ private enum class TheEnum(val rgb : Int) {
VAL1 : TheEnum(0xFF0000)
}
//package rendererTest defined in <module>.<root>
//internal final annotation class TheAnnotation defined in <module>.<root>.rendererTest
//public open class TheClass<T : jet.Int, X> defined in <module>.<root>.rendererTest
//<T : jet.Int> defined in <module>.<root>.rendererTest.TheClass
//<X> defined in <module>.<root>.rendererTest.TheClass
//private final val privateVal : jet.Int defined in <module>.<root>.rendererTest.TheClass
//internal final val shouldBeFinal : jet.Int defined in <module>.<root>.rendererTest.TheClass
//protected abstract fun foo() : Unit defined in <module>.<root>.rendererTest.TheClass
//private final class Inner defined in <module>.<root>.rendererTest.TheClass
//internal final class InternalClass defined in <module>.<root>.rendererTest
//internal trait TheTrait defined in <module>.<root>.rendererTest
//internal abstract fun abstractFun() : Unit defined in <module>.<root>.rendererTest.TheTrait
//object : rendererTest.TheClass<jet.Int, jet.Int> defined in <module>.<root>.rendererTest.TheTrait
//internal final fun classObjectFunction() : jet.Int defined in <module>.<root>.rendererTest.TheTrait.<no name provided>
//private final enum class TheEnum defined in <module>.<root>.rendererTest
//value-parameter val rgb : jet.Int defined in <module>.<root>.rendererTest.TheEnum.<init>
//internal final class VAL1 : rendererTest.TheEnum defined in <module>.<root>.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
//package rendererTest defined in root package
//internal final annotation class TheAnnotation defined in rendererTest
//public open class TheClass<T : jet.Int, X> defined in rendererTest
//<T : jet.Int> defined in rendererTest.TheClass
//<X> defined in rendererTest.TheClass
//private final val privateVal : jet.Int defined in rendererTest.TheClass
//internal final val shouldBeFinal : jet.Int defined in rendererTest.TheClass
//protected abstract fun foo() : Unit defined in rendererTest.TheClass
//private final class Inner defined in rendererTest.TheClass
//internal final class InternalClass defined in rendererTest
//internal trait TheTrait defined in rendererTest
//internal abstract fun abstractFun() : Unit defined in rendererTest.TheTrait
//object : rendererTest.TheClass<jet.Int, jet.Int> defined in rendererTest.TheTrait
//internal final fun classObjectFunction() : jet.Int defined in rendererTest.TheTrait.<no name provided>
//private final enum class TheEnum defined in rendererTest
//value-parameter val rgb : jet.Int defined in rendererTest.TheEnum.<init>
//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 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>
//internal final var v1 : () -> Unit defined in <module>.<root>
//internal final var v2 : (jet.Int) -> jet.Int defined in <module>.<root>
//internal final var v3 : (jet.Int, #(jet.String, jet.String)) -> jet.String defined in <module>.<root>
//internal final var v4 : (jet.Int) -> jet.String defined in <module>.<root>
//internal final var v4 : (() -> jet.Int, (#(jet.String, jet.String)) -> Unit) -> jet.String defined in <module>.<root>
//internal final var v5 : jet.Int.() -> jet.Int defined in <module>.<root>
//internal final var v6 : jet.Int.(jet.String, jet.Int) -> Unit defined in <module>.<root>
//internal final var v7 : jet.Int.(jet.String) -> jet.Boolean defined in <module>.<root>
//internal final var v1 : () -> Unit defined in root package
//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 root package
//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 root package
//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 root package
//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 {}
//package rendererTest defined in <module>.<root>
//public final fun pub() : Unit defined in <module>.<root>.rendererTest
//internal final fun int() : jet.String defined in <module>.<root>.rendererTest
//internal final fun int2(val ints : jet.IntArray) : jet.Int defined in <module>.<root>.rendererTest
//value-parameter vararg val ints : jet.IntArray defined in <module>.<root>.rendererTest.int2
//private final fun prv(val a : jet.String, val b : jet.Int = ...) : jet.Int defined in <module>.<root>.rendererTest
//value-parameter val a : jet.String defined in <module>.<root>.rendererTest.prv
//value-parameter val b : jet.Int defined in <module>.<root>.rendererTest.prv
//public final fun jet.Int.ext() : jet.Int defined in <module>.<root>.rendererTest
//package rendererTest defined in root package
//public final fun pub() : Unit defined in rendererTest
//internal final fun int() : jet.String defined in rendererTest
//internal final fun int2(val ints : jet.IntArray) : jet.Int defined in rendererTest
//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 rendererTest
//value-parameter val a : jet.String defined in rendererTest.prv
//value-parameter val b : jet.Int defined in rendererTest.prv
//public final fun jet.Int.ext() : jet.Int defined in rendererTest
@@ -11,10 +11,10 @@ private var private = 5
public val Int.ext : Int
get() {}
//package rendererTest defined in <module>.<root>
//public final val pub : jet.String defined in <module>.<root>.rendererTest
//internal final var int : jet.String defined in <module>.<root>.rendererTest
//internal final val int2 : jet.Int defined in <module>.<root>.rendererTest
//private final var private : jet.Int defined in <module>.<root>.rendererTest
//public final val jet.Int.ext : jet.Int defined in <module>.<root>.rendererTest
//public final fun jet.Int.get-ext() : jet.Int defined in <module>.<root>.rendererTest
//package rendererTest defined in root package
//public final val pub : jet.String defined in rendererTest
//internal final var int : jet.String defined in rendererTest
//internal final val int2 : jet.Int defined in rendererTest
//private final var private : jet.Int defined in rendererTest
//public final val jet.Int.ext : jet.Int defined in 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 v10 : Tuple3<Int, Int, Int>?
//internal final var v1 : Unit defined in <module>.<root>
//internal final var v2 : Unit? defined in <module>.<root>
//internal final var v3 : Unit defined in <module>.<root>
//internal final var v4 : Unit? defined in <module>.<root>
//internal final var v5 : Unit defined in <module>.<root>
//internal final var v6 : #(jet.Int) defined in <module>.<root>
//internal final var v7 : #(jet.Int)? defined in <module>.<root>
//internal final var v8 : #(jet.Int, jet.String, jet.String) defined in <module>.<root>
//internal final var v9 : #(jet.Int, jet.String) defined in <module>.<root>
//internal final var v10 : #(jet.Int, jet.Int, jet.Int)? defined in <module>.<root>
//internal final var v1 : Unit defined in root package
//internal final var v2 : Unit? defined in root package
//internal final var v3 : Unit defined in root package
//internal final var v4 : Unit? defined in root package
//internal final var v5 : Unit defined in root package
//internal final var v6 : #(jet.Int) defined in root package
//internal final var v7 : #(jet.Int)? defined in root package
//internal final var v8 : #(jet.Int, jet.String, jet.String) defined in root package
//internal final var v9 : #(jet.Int, jet.String) defined in root package
//internal final var v10 : #(jet.Int, jet.Int, jet.Int)? defined in root package