Render name of class object as 'class object of MyClass'

This commit is contained in:
Svetlana Isakova
2014-08-14 10:32:07 +04:00
parent 9d366cb896
commit 05637226e1
3 changed files with 11 additions and 3 deletions
@@ -87,6 +87,7 @@ public interface DescriptorRenderer extends Renderer<DeclarationDescriptor> {
DescriptorRenderer HTML_NAMES_WITH_SHORT_TYPES = new DescriptorRendererBuilder()
.setWithDefinedIn(false)
.setShortNames(true)
.setRenderClassObjectName(true)
.setTextFormat(TextFormat.HTML).build();
DescriptorRenderer HTML = new DescriptorRendererBuilder().setTextFormat(TextFormat.HTML).build();
@@ -211,8 +211,15 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
private void renderClassObjectName(@NotNull DeclarationDescriptor descriptor, @NotNull StringBuilder builder) {
if (renderClassObjectName) {
if (!startFromName) renderSpaceIfNeeded(builder);
builder.append("<class object>");
if (startFromName) {
builder.append("class object");
}
renderSpaceIfNeeded(builder);
DeclarationDescriptor containingDeclaration = descriptor.getContainingDeclaration();
if (containingDeclaration != null) {
builder.append("of ");
builder.append(renderName(containingDeclaration.getName()));
}
}
if (verbose) {
if (!startFromName) renderSpaceIfNeeded(builder);
@@ -12,7 +12,7 @@
Inner1
Inner2
-A6
-<class object>
-class object of A6
test(): Unit
-A7
<class initializer>