Rendering real type for vararg parameter.
This commit is contained in:
@@ -497,21 +497,26 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void renderVariable(@NotNull VariableDescriptor variable, @NotNull StringBuilder builder, boolean topLevel) {
|
private void renderVariable(@NotNull VariableDescriptor variable, @NotNull StringBuilder builder, boolean topLevel) {
|
||||||
JetType type = variable.getType();
|
JetType realType = variable.getType();
|
||||||
if (variable instanceof ValueParameterDescriptor) {
|
|
||||||
JetType varargElementType = ((ValueParameterDescriptor) variable).getVarargElementType();
|
|
||||||
if (varargElementType != null) {
|
|
||||||
builder.append(renderKeyword("vararg")).append(" ");
|
|
||||||
type = varargElementType;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
JetType varargElementType = variable instanceof ValueParameterDescriptor
|
||||||
|
? ((ValueParameterDescriptor) variable).getVarargElementType()
|
||||||
|
: null;
|
||||||
|
JetType typeToRender = varargElementType != null ? varargElementType : realType;
|
||||||
|
|
||||||
|
if (varargElementType != null) {
|
||||||
|
builder.append(renderKeyword("vararg")).append(" ");
|
||||||
|
}
|
||||||
if (topLevel && !startFromName) {
|
if (topLevel && !startFromName) {
|
||||||
renderValVarPrefix(variable, builder);
|
renderValVarPrefix(variable, builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
renderName(variable, builder);
|
renderName(variable, builder);
|
||||||
builder.append(" : ").append(escape(renderType(type)));
|
builder.append(" : ").append(escape(renderType(typeToRender)));
|
||||||
|
|
||||||
|
if (verbose && varargElementType != null) {
|
||||||
|
builder.append(" /*").append(escape(renderType(realType))).append("*/");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderProperty(@NotNull PropertyDescriptor property, @NotNull StringBuilder builder) {
|
private void renderProperty(@NotNull PropertyDescriptor property, @NotNull StringBuilder builder) {
|
||||||
|
|||||||
Reference in New Issue
Block a user