From 1c6dc190ff618f56d1e113d2b05e4daf69523796 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 24 Mar 2011 15:38:19 +0300 Subject: [PATCH] Granular type information for properties --- .../jetbrains/jet/resolve/DescriptorUtil.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/jet/resolve/DescriptorUtil.java b/idea/src/org/jetbrains/jet/resolve/DescriptorUtil.java index f7c3c09bf75..a5cc88ee5ff 100644 --- a/idea/src/org/jetbrains/jet/resolve/DescriptorUtil.java +++ b/idea/src/org/jetbrains/jet/resolve/DescriptorUtil.java @@ -16,8 +16,27 @@ public class DescriptorUtil { new DeclarationDescriptorVisitor() { @Override public Void visitPropertyDescriptor(PropertyDescriptor descriptor, StringBuilder builder) { - JetType type = descriptor.getOutType(); - builder.append(renderName(descriptor)).append(" : ").append(type); + JetType outType = descriptor.getOutType(); + JetType inType = descriptor.getInType(); + String typeString = ""; + if (inType != null && outType != null) { + builder.append("var "); + if (inType.equals(outType)) { + typeString = outType.toString(); + } + else { + typeString = ""; + } + } + else if (outType != null) { + builder.append("val "); + typeString = outType.toString(); + } + else if (inType != null) { + builder.append(" "); + typeString = inType.toString(); + } + builder.append(renderName(descriptor)).append(" : ").append(typeString); return super.visitPropertyDescriptor(descriptor, builder); }