Got rid of all subclasses of DescriptorRenderer but HTML.
This commit is contained in:
@@ -47,49 +47,13 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final DescriptorRendererImpl COMPACT_WITH_MODIFIERS = new DescriptorRendererImpl(false, null) {
|
public static final DescriptorRendererImpl COMPACT_WITH_MODIFIERS = new DescriptorRendererImpl(false, false, true, false, false, null);
|
||||||
@Override
|
public static final DescriptorRendererImpl COMPACT = new DescriptorRendererImpl(false, false, false, false, false, null);
|
||||||
protected boolean shouldRenderDefinedIn() {
|
public static final DescriptorRendererImpl STARTS_FROM_NAME = new DescriptorRendererImpl(false, false, false, true, false, null);
|
||||||
return false;
|
public static final DescriptorRendererImpl TEXT = new DescriptorRendererImpl(false, true, true, false, false, null);
|
||||||
}
|
public static final DescriptorRendererImpl SHORT_NAMES_IN_TYPES = new DescriptorRendererImpl(true, true, true, false, false, null);
|
||||||
};
|
public static final DescriptorRendererImpl DEBUG_TEXT = new DescriptorRendererImpl(false, true, true, false, true, null);
|
||||||
public static final DescriptorRendererImpl COMPACT = new DescriptorRendererImpl(false, null) {
|
public static final DescriptorRendererImpl HTML = new HtmlDescriptorRendererImpl(false, true, true, false, null);
|
||||||
@Override
|
|
||||||
protected boolean shouldRenderDefinedIn() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean shouldRenderModifiers() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
public static final DescriptorRendererImpl STARTS_FROM_NAME = new DescriptorRendererImpl(false, null) {
|
|
||||||
@Override
|
|
||||||
protected boolean shouldRenderDefinedIn() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean shouldRenderModifiers() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean shouldStartsFromName() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
public static final DescriptorRendererImpl TEXT = new DescriptorRendererImpl(false, null);
|
|
||||||
public static final DescriptorRendererImpl SHORT_NAMES_IN_TYPES = new DescriptorRendererImpl(true, null);
|
|
||||||
public static final DescriptorRendererImpl DEBUG_TEXT = new DescriptorRendererImpl(false, null) {
|
|
||||||
@Override
|
|
||||||
protected boolean hasDefaultValue(ValueParameterDescriptor descriptor) {
|
|
||||||
// hasDefaultValue() has effects
|
|
||||||
return descriptor.declaresDefaultValue();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
public static final DescriptorRendererImpl HTML = new HtmlDescriptorRendererImpl(false, null);
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
protected final DeclarationDescriptorVisitor<Void, StringBuilder> subVisitor = new RenderDeclarationDescriptorVisitor() {
|
protected final DeclarationDescriptorVisitor<Void, StringBuilder> subVisitor = new RenderDeclarationDescriptorVisitor() {
|
||||||
@Override
|
@Override
|
||||||
@@ -110,16 +74,37 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
private final RenderDeclarationDescriptorVisitor rootVisitor = new RenderDeclarationDescriptorVisitor();
|
private final RenderDeclarationDescriptorVisitor rootVisitor = new RenderDeclarationDescriptorVisitor();
|
||||||
|
|
||||||
private final boolean shortNames;
|
private final boolean shortNames;
|
||||||
|
private final boolean withDefinedIn;
|
||||||
|
private final boolean modifiers;
|
||||||
|
private final boolean startFromName;
|
||||||
|
private final boolean debugMode;
|
||||||
@Nullable
|
@Nullable
|
||||||
private final ValueParametersHandler handler;
|
private final ValueParametersHandler handler;
|
||||||
|
|
||||||
public DescriptorRendererImpl(boolean shortNames, @Nullable ValueParametersHandler handler) {
|
public DescriptorRendererImpl(
|
||||||
|
boolean shortNames,
|
||||||
|
boolean withDefinedIn,
|
||||||
|
boolean modifiers,
|
||||||
|
boolean startFromName,
|
||||||
|
boolean debugMode,
|
||||||
|
@Nullable ValueParametersHandler handler
|
||||||
|
) {
|
||||||
this.shortNames = shortNames;
|
this.shortNames = shortNames;
|
||||||
|
this.withDefinedIn = withDefinedIn;
|
||||||
|
this.modifiers = modifiers;
|
||||||
|
this.startFromName = startFromName;
|
||||||
this.handler = handler;
|
this.handler = handler;
|
||||||
|
this.debugMode = debugMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean hasDefaultValue(ValueParameterDescriptor descriptor) {
|
private boolean hasDefaultValue(ValueParameterDescriptor descriptor) {
|
||||||
return descriptor.hasDefaultValue();
|
if (debugMode) {
|
||||||
|
// hasDefaultValue() has effects
|
||||||
|
return descriptor.declaresDefaultValue();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return descriptor.hasDefaultValue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String renderKeyword(String keyword) {
|
protected String renderKeyword(String keyword) {
|
||||||
@@ -258,7 +243,7 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
StringBuilder stringBuilder = new StringBuilder();
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
declarationDescriptor.accept(rootVisitor, stringBuilder);
|
declarationDescriptor.accept(rootVisitor, stringBuilder);
|
||||||
|
|
||||||
if (shouldRenderDefinedIn()) {
|
if (withDefinedIn) {
|
||||||
appendDefinedIn(declarationDescriptor, stringBuilder);
|
appendDefinedIn(declarationDescriptor, stringBuilder);
|
||||||
}
|
}
|
||||||
return stringBuilder.toString();
|
return stringBuilder.toString();
|
||||||
@@ -270,18 +255,6 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
return stringBuilder.toString();
|
return stringBuilder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean shouldRenderDefinedIn() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected boolean shouldRenderModifiers() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected boolean shouldStartsFromName() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
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");
|
||||||
@@ -323,8 +296,14 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class HtmlDescriptorRendererImpl extends DescriptorRendererImpl {
|
public static class HtmlDescriptorRendererImpl extends DescriptorRendererImpl {
|
||||||
public HtmlDescriptorRendererImpl(boolean shortNames, @Nullable ValueParametersHandler handler) {
|
public HtmlDescriptorRendererImpl(
|
||||||
super(shortNames, handler);
|
boolean shortNames,
|
||||||
|
boolean withDefinedIn,
|
||||||
|
boolean modifiers,
|
||||||
|
boolean startFromName,
|
||||||
|
@Nullable ValueParametersHandler handler
|
||||||
|
) {
|
||||||
|
super(shortNames, withDefinedIn, modifiers, startFromName, false, handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -390,7 +369,7 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
) {
|
) {
|
||||||
String typeString = lt() + "no type>";
|
String typeString = lt() + "no type>";
|
||||||
if (outType != null) {
|
if (outType != null) {
|
||||||
if (isVar != null && !shouldStartsFromName()) {
|
if (isVar != null && !startFromName) {
|
||||||
builder.append(renderKeyword(isVar ? "var" : "val")).append(" ");
|
builder.append(renderKeyword(isVar ? "var" : "val")).append(" ");
|
||||||
}
|
}
|
||||||
typeString = renderType(outType);
|
typeString = renderType(outType);
|
||||||
@@ -407,7 +386,7 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Void visitPropertyDescriptor(PropertyDescriptor descriptor, StringBuilder builder) {
|
public Void visitPropertyDescriptor(PropertyDescriptor descriptor, StringBuilder builder) {
|
||||||
if (!shouldStartsFromName()) {
|
if (!startFromName) {
|
||||||
renderVisibility(descriptor.getVisibility(), builder);
|
renderVisibility(descriptor.getVisibility(), builder);
|
||||||
renderModality(descriptor.getModality(), builder);
|
renderModality(descriptor.getModality(), builder);
|
||||||
}
|
}
|
||||||
@@ -423,7 +402,7 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void renderVisibility(Visibility visibility, StringBuilder builder) {
|
private void renderVisibility(Visibility visibility, StringBuilder builder) {
|
||||||
if (!shouldRenderModifiers()) return;
|
if (!modifiers) return;
|
||||||
if ("package".equals(visibility.toString())) {
|
if ("package".equals(visibility.toString())) {
|
||||||
builder.append("public/*package*/ ");
|
builder.append("public/*package*/ ");
|
||||||
}
|
}
|
||||||
@@ -433,7 +412,7 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void renderModality(Modality modality, StringBuilder builder) {
|
private void renderModality(Modality modality, StringBuilder builder) {
|
||||||
if (!shouldRenderModifiers()) return;
|
if (!modifiers) return;
|
||||||
String keyword = "";
|
String keyword = "";
|
||||||
switch (modality) {
|
switch (modality) {
|
||||||
case FINAL:
|
case FINAL:
|
||||||
@@ -451,7 +430,7 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Void visitFunctionDescriptor(FunctionDescriptor descriptor, StringBuilder builder) {
|
public Void visitFunctionDescriptor(FunctionDescriptor descriptor, StringBuilder builder) {
|
||||||
if (!shouldStartsFromName()) {
|
if (!startFromName) {
|
||||||
renderVisibility(descriptor.getVisibility(), builder);
|
renderVisibility(descriptor.getVisibility(), builder);
|
||||||
renderModality(descriptor.getModality(), builder);
|
renderModality(descriptor.getModality(), builder);
|
||||||
builder.append(renderKeyword("fun")).append(" ");
|
builder.append(renderKeyword("fun")).append(" ");
|
||||||
@@ -594,7 +573,7 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
|
|
||||||
public void renderClassDescriptor(ClassDescriptor descriptor, StringBuilder builder, String keyword) {
|
public void renderClassDescriptor(ClassDescriptor descriptor, StringBuilder builder, String keyword) {
|
||||||
boolean isNotClassObject = descriptor.getKind() != ClassKind.CLASS_OBJECT;
|
boolean isNotClassObject = descriptor.getKind() != ClassKind.CLASS_OBJECT;
|
||||||
if (!shouldStartsFromName()) {
|
if (!startFromName) {
|
||||||
if (isNotClassObject) {
|
if (isNotClassObject) {
|
||||||
renderVisibility(descriptor.getVisibility(), builder);
|
renderVisibility(descriptor.getVisibility(), builder);
|
||||||
if (descriptor.getKind() != ClassKind.TRAIT && descriptor.getKind() != ClassKind.OBJECT) {
|
if (descriptor.getKind() != ClassKind.TRAIT && descriptor.getKind() != ClassKind.OBJECT) {
|
||||||
@@ -627,7 +606,7 @@ public class DescriptorRendererImpl implements Renderer<DeclarationDescriptor> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void renderName(DeclarationDescriptor descriptor, StringBuilder stringBuilder) {
|
private void renderName(DeclarationDescriptor descriptor, StringBuilder stringBuilder) {
|
||||||
stringBuilder.append(escape(DescriptorRendererImpl.this.renderName(descriptor.getName())));
|
stringBuilder.append(escape(DescriptorRendererImpl.this.renderName(descriptor.getName())));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-11
@@ -52,17 +52,7 @@ import static org.jetbrains.jet.plugin.codeInsight.ktSignature.KotlinSignatureUt
|
|||||||
* @since 16 Aug 2012
|
* @since 16 Aug 2012
|
||||||
*/
|
*/
|
||||||
public class AddKotlinSignatureAnnotation extends BaseIntentionAction implements Iconable {
|
public class AddKotlinSignatureAnnotation extends BaseIntentionAction implements Iconable {
|
||||||
private static final DescriptorRendererImpl RENDERER = new DescriptorRendererImpl(true, null) {
|
private static final DescriptorRendererImpl RENDERER = new DescriptorRendererImpl(true, false, false, false, false, null);
|
||||||
@Override
|
|
||||||
protected boolean shouldRenderDefinedIn() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean shouldRenderModifiers() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public AddKotlinSignatureAnnotation() {
|
public AddKotlinSignatureAnnotation() {
|
||||||
setText(JetBundle.message("add.kotlin.signature.action.text"));
|
setText(JetBundle.message("add.kotlin.signature.action.text"));
|
||||||
|
|||||||
@@ -187,17 +187,7 @@ public class HtmlTabledDescriptorRenderer extends TabledDescriptorRenderer {
|
|||||||
};
|
};
|
||||||
|
|
||||||
public static final DescriptorRendererImpl DESCRIPTOR_IN_TABLE =
|
public static final DescriptorRendererImpl DESCRIPTOR_IN_TABLE =
|
||||||
new DescriptorRendererImpl.HtmlDescriptorRendererImpl(false, RENDERER_HANDLER) {
|
new DescriptorRendererImpl.HtmlDescriptorRendererImpl(false, false, false, false, RENDERER_HANDLER);
|
||||||
@Override
|
|
||||||
protected boolean shouldRenderDefinedIn() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean shouldRenderModifiers() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
private static void td(StringBuilder builder, String text) {
|
private static void td(StringBuilder builder, String text) {
|
||||||
builder.append("<td><div style=\"white-space:nowrap;\">").append(text).append("</div></td>");
|
builder.append("<td><div style=\"white-space:nowrap;\">").append(text).append("</div></td>");
|
||||||
|
|||||||
Reference in New Issue
Block a user