Organized methods in DescriptorRendererImpl.
This commit is contained in:
@@ -76,6 +76,8 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
this.textFormat = textFormat;
|
this.textFormat = textFormat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* FORMATTING */
|
||||||
private String renderKeyword(String keyword) {
|
private String renderKeyword(String keyword) {
|
||||||
switch (textFormat) {
|
switch (textFormat) {
|
||||||
case PLAIN:
|
case PLAIN:
|
||||||
@@ -86,16 +88,47 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
throw new IllegalStateException("Unexpected textFormat: " + textFormat);
|
throw new IllegalStateException("Unexpected textFormat: " + textFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String escape(String s) {
|
||||||
|
switch (textFormat) {
|
||||||
|
case PLAIN:
|
||||||
|
return s;
|
||||||
|
case HTML:
|
||||||
|
return s.replaceAll("<", "<").replaceAll(">", ">");
|
||||||
|
}
|
||||||
|
throw new IllegalStateException("Unexpected textFormat: " + textFormat);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String lt() {
|
||||||
|
return escape("<");
|
||||||
|
}
|
||||||
|
|
||||||
|
private String renderMessage(String message) {
|
||||||
|
switch (textFormat) {
|
||||||
|
case PLAIN:
|
||||||
|
return message;
|
||||||
|
case HTML:
|
||||||
|
return "<i>" + message + "</i>";
|
||||||
|
}
|
||||||
|
throw new IllegalStateException("Unexpected textFormat: " + textFormat);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* NAMES RENDERING */
|
||||||
private String renderName(Name identifier) {
|
private String renderName(Name identifier) {
|
||||||
String asString = identifier.toString();
|
String asString = identifier.toString();
|
||||||
return escape(KEYWORDS.contains(asString) ? '`' + asString + '`' : asString);
|
return escape(KEYWORDS.contains(asString) ? '`' + asString + '`' : asString);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void renderName(DeclarationDescriptor descriptor, StringBuilder stringBuilder) {
|
||||||
|
stringBuilder.append(renderName(descriptor.getName()));
|
||||||
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private String renderFqName(@NotNull FqNameUnsafe fqName) {
|
private String renderFqName(@NotNull FqNameUnsafe fqName) {
|
||||||
return renderFqName(fqName.pathSegments());
|
return renderFqName(fqName.pathSegments());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private String renderFqName(@NotNull List<Name> pathSegments) {
|
private String renderFqName(@NotNull List<Name> pathSegments) {
|
||||||
StringBuilder buf = new StringBuilder();
|
StringBuilder buf = new StringBuilder();
|
||||||
@@ -108,6 +141,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
return buf.toString();
|
return buf.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* TYPES RENDERING */
|
||||||
@Override
|
@Override
|
||||||
public String renderType(JetType type) {
|
public String renderType(JetType type) {
|
||||||
if (type == null) {
|
if (type == null) {
|
||||||
@@ -185,6 +219,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private String renderFunctionType(JetType type) {
|
private String renderFunctionType(JetType type) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
@@ -205,39 +240,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String escape(String s) {
|
/* COMMON DESCRIPTORS RENDERING */
|
||||||
switch (textFormat) {
|
|
||||||
case PLAIN:
|
|
||||||
return s;
|
|
||||||
case HTML:
|
|
||||||
return s.replaceAll("<", "<").replaceAll(">", ">");
|
|
||||||
}
|
|
||||||
throw new IllegalStateException("Unexpected textFormat: " + textFormat);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String lt() {
|
|
||||||
return escape("<");
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
@Override
|
|
||||||
public String render(@NotNull DeclarationDescriptor declarationDescriptor) {
|
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
|
||||||
declarationDescriptor.accept(rootVisitor, stringBuilder);
|
|
||||||
|
|
||||||
if (withDefinedIn) {
|
|
||||||
appendDefinedIn(declarationDescriptor, stringBuilder);
|
|
||||||
}
|
|
||||||
return stringBuilder.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String renderFunctionParameters(@NotNull FunctionDescriptor functionDescriptor) {
|
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
|
||||||
renderValueParameters(functionDescriptor, stringBuilder);
|
|
||||||
return stringBuilder.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void appendDefinedIn(DeclarationDescriptor declarationDescriptor, StringBuilder stringBuilder) {
|
private void appendDefinedIn(DeclarationDescriptor declarationDescriptor, StringBuilder stringBuilder) {
|
||||||
if (declarationDescriptor instanceof ModuleDescriptor) {
|
if (declarationDescriptor instanceof ModuleDescriptor) {
|
||||||
stringBuilder.append(" is a module");
|
stringBuilder.append(" is a module");
|
||||||
@@ -252,14 +255,51 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String renderMessage(String message) {
|
private void renderVisibility(Visibility visibility, StringBuilder builder) {
|
||||||
switch (textFormat) {
|
if (!modifiers) return;
|
||||||
case PLAIN:
|
if ("package".equals(visibility.toString())) {
|
||||||
return message;
|
builder.append("public/*package*/ ");
|
||||||
case HTML:
|
|
||||||
return "<i>" + message + "</i>";
|
|
||||||
}
|
}
|
||||||
throw new IllegalStateException("Unexpected textFormat: " + textFormat);
|
else {
|
||||||
|
builder.append(renderKeyword(visibility.toString())).append(" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void renderModality(Modality modality, StringBuilder builder) {
|
||||||
|
if (!modifiers) return;
|
||||||
|
String keyword = "";
|
||||||
|
switch (modality) {
|
||||||
|
case FINAL:
|
||||||
|
keyword = "final";
|
||||||
|
break;
|
||||||
|
case OPEN:
|
||||||
|
keyword = "open";
|
||||||
|
break;
|
||||||
|
case ABSTRACT:
|
||||||
|
keyword = "abstract";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
builder.append(renderKeyword(keyword)).append(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public String render(@NotNull DeclarationDescriptor declarationDescriptor) {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
declarationDescriptor.accept(rootVisitor, stringBuilder);
|
||||||
|
|
||||||
|
if (withDefinedIn) {
|
||||||
|
appendDefinedIn(declarationDescriptor, stringBuilder);
|
||||||
|
}
|
||||||
|
return stringBuilder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* FUNCTION DESCRIPTORS */
|
||||||
|
@Override
|
||||||
|
public String renderFunctionParameters(@NotNull FunctionDescriptor functionDescriptor) {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
renderValueParameters(functionDescriptor, stringBuilder);
|
||||||
|
return stringBuilder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderValueParameters(FunctionDescriptor function, StringBuilder builder) {
|
private void renderValueParameters(FunctionDescriptor function, StringBuilder builder) {
|
||||||
@@ -283,7 +323,6 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
builder.append(")");
|
builder.append(")");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderValueParameterOfFunction(ValueParameterDescriptor descriptor, StringBuilder builder) {
|
private void renderValueParameterOfFunction(ValueParameterDescriptor descriptor, StringBuilder builder) {
|
||||||
rootVisitor.visitVariableDescriptor(descriptor, builder, true);
|
rootVisitor.visitVariableDescriptor(descriptor, builder, true);
|
||||||
boolean withDefaultValue = debugMode ? descriptor.declaresDefaultValue() : descriptor.hasDefaultValue();
|
boolean withDefaultValue = debugMode ? descriptor.declaresDefaultValue() : descriptor.hasDefaultValue();
|
||||||
@@ -365,33 +404,6 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderVisibility(Visibility visibility, StringBuilder builder) {
|
|
||||||
if (!modifiers) return;
|
|
||||||
if ("package".equals(visibility.toString())) {
|
|
||||||
builder.append("public/*package*/ ");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
builder.append(renderKeyword(visibility.toString())).append(" ");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void renderModality(Modality modality, StringBuilder builder) {
|
|
||||||
if (!modifiers) return;
|
|
||||||
String keyword = "";
|
|
||||||
switch (modality) {
|
|
||||||
case FINAL:
|
|
||||||
keyword = "final";
|
|
||||||
break;
|
|
||||||
case OPEN:
|
|
||||||
keyword = "open";
|
|
||||||
break;
|
|
||||||
case ABSTRACT:
|
|
||||||
keyword = "abstract";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
builder.append(renderKeyword(keyword)).append(" ");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Void visitFunctionDescriptor(FunctionDescriptor descriptor, StringBuilder builder) {
|
public Void visitFunctionDescriptor(FunctionDescriptor descriptor, StringBuilder builder) {
|
||||||
if (!startFromName) {
|
if (!startFromName) {
|
||||||
@@ -560,10 +572,6 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderName(DeclarationDescriptor descriptor, StringBuilder stringBuilder) {
|
|
||||||
stringBuilder.append(escape(DescriptorRendererImpl.this.renderName(descriptor.getName())));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void renderTypeParameter(TypeParameterDescriptor descriptor, StringBuilder builder, boolean topLevel) {
|
private void renderTypeParameter(TypeParameterDescriptor descriptor, StringBuilder builder, boolean topLevel) {
|
||||||
if (!descriptor.isReified()) {
|
if (!descriptor.isReified()) {
|
||||||
String variance = descriptor.getVariance().toString();
|
String variance = descriptor.getVariance().toString();
|
||||||
|
|||||||
Reference in New Issue
Block a user