Introduced DescriptorRendererBuilder.
Hid constructor of DescriptorRendererImpl.
This commit is contained in:
@@ -24,13 +24,24 @@ import org.jetbrains.jet.lang.diagnostics.rendering.Renderer;
|
|||||||
import org.jetbrains.jet.lang.types.JetType;
|
import org.jetbrains.jet.lang.types.JetType;
|
||||||
|
|
||||||
public interface DescriptorRenderer extends Renderer<DeclarationDescriptor> {
|
public interface DescriptorRenderer extends Renderer<DeclarationDescriptor> {
|
||||||
DescriptorRenderer COMPACT_WITH_MODIFIERS = new DescriptorRendererImpl(false, false, true, false, false, null, TextFormat.PLAIN);
|
DescriptorRenderer COMPACT_WITH_MODIFIERS = new DescriptorRendererBuilder().setWithDefinedIn(false).build();
|
||||||
DescriptorRenderer COMPACT = new DescriptorRendererImpl(false, false, false, false, false, null, TextFormat.PLAIN);
|
|
||||||
DescriptorRenderer STARTS_FROM_NAME = new DescriptorRendererImpl(false, false, false, true, false, null, TextFormat.PLAIN);
|
DescriptorRenderer COMPACT = new DescriptorRendererBuilder()
|
||||||
DescriptorRenderer TEXT = new DescriptorRendererImpl(false, true, true, false, false, null, TextFormat.PLAIN);
|
.setWithDefinedIn(false)
|
||||||
DescriptorRenderer SHORT_NAMES_IN_TYPES = new DescriptorRendererImpl(true, true, true, false, false, null, TextFormat.PLAIN);
|
.setModifiers(false).build();
|
||||||
DescriptorRenderer DEBUG_TEXT = new DescriptorRendererImpl(false, true, true, false, true, null, TextFormat.PLAIN);
|
|
||||||
DescriptorRenderer HTML = new DescriptorRendererImpl(false, true, true, false, false, null, TextFormat.HTML);
|
DescriptorRenderer STARTS_FROM_NAME = new DescriptorRendererBuilder()
|
||||||
|
.setWithDefinedIn(false)
|
||||||
|
.setModifiers(false)
|
||||||
|
.setStartFromName(true).build();
|
||||||
|
|
||||||
|
DescriptorRenderer TEXT = new DescriptorRendererBuilder().build();
|
||||||
|
|
||||||
|
DescriptorRenderer SHORT_NAMES_IN_TYPES = new DescriptorRendererBuilder().setShortNames(true).build();
|
||||||
|
|
||||||
|
DescriptorRenderer DEBUG_TEXT = new DescriptorRendererBuilder().setDebugMode(true).build();
|
||||||
|
|
||||||
|
DescriptorRenderer HTML = new DescriptorRendererBuilder().setTextFormat(TextFormat.HTML).build();
|
||||||
|
|
||||||
String renderType(JetType type);
|
String renderType(JetType type);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2012 JetBrains s.r.o.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.jet.renderer;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
public class DescriptorRendererBuilder {
|
||||||
|
private boolean shortNames = false;
|
||||||
|
private boolean withDefinedIn = true;
|
||||||
|
private boolean modifiers = true;
|
||||||
|
private boolean startFromName = false;
|
||||||
|
private boolean debugMode = false;
|
||||||
|
@Nullable
|
||||||
|
private DescriptorRenderer.ValueParametersHandler valueParametersHandler = null;
|
||||||
|
@NotNull
|
||||||
|
private DescriptorRenderer.TextFormat textFormat = DescriptorRenderer.TextFormat.PLAIN;
|
||||||
|
|
||||||
|
public DescriptorRendererBuilder() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public DescriptorRendererBuilder setShortNames(boolean shortNames) {
|
||||||
|
this.shortNames = shortNames;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DescriptorRendererBuilder setWithDefinedIn(boolean withDefinedIn) {
|
||||||
|
this.withDefinedIn = withDefinedIn;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DescriptorRendererBuilder setModifiers(boolean modifiers) {
|
||||||
|
this.modifiers = modifiers;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DescriptorRendererBuilder setStartFromName(boolean startFromName) {
|
||||||
|
this.startFromName = startFromName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DescriptorRendererBuilder setDebugMode(boolean debugMode) {
|
||||||
|
this.debugMode = debugMode;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DescriptorRendererBuilder setValueParametersHandler(@Nullable DescriptorRenderer.ValueParametersHandler valueParametersHandler) {
|
||||||
|
this.valueParametersHandler = valueParametersHandler;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DescriptorRendererBuilder setTextFormat(@NotNull DescriptorRenderer.TextFormat textFormat) {
|
||||||
|
this.textFormat = textFormat;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DescriptorRenderer build() {
|
||||||
|
return new DescriptorRendererImpl(shortNames, withDefinedIn, modifiers, startFromName, debugMode, valueParametersHandler, textFormat);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -75,7 +75,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private final TextFormat textFormat;
|
private final TextFormat textFormat;
|
||||||
|
|
||||||
public DescriptorRendererImpl(
|
/* package */ DescriptorRendererImpl(
|
||||||
boolean shortNames,
|
boolean shortNames,
|
||||||
boolean withDefinedIn,
|
boolean withDefinedIn,
|
||||||
boolean modifiers,
|
boolean modifiers,
|
||||||
|
|||||||
+5
-2
@@ -42,6 +42,7 @@ import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
|||||||
import org.jetbrains.jet.plugin.JetBundle;
|
import org.jetbrains.jet.plugin.JetBundle;
|
||||||
import org.jetbrains.jet.plugin.JetIcons;
|
import org.jetbrains.jet.plugin.JetIcons;
|
||||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||||
|
import org.jetbrains.jet.renderer.DescriptorRendererBuilder;
|
||||||
import org.jetbrains.jet.renderer.DescriptorRendererImpl;
|
import org.jetbrains.jet.renderer.DescriptorRendererImpl;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -53,8 +54,10 @@ 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 DescriptorRenderer RENDERER = new DescriptorRendererImpl(true, false, false, false, false, null,
|
private static final DescriptorRenderer RENDERER = new DescriptorRendererBuilder()
|
||||||
DescriptorRenderer.TextFormat.PLAIN);
|
.setShortNames(true)
|
||||||
|
.setModifiers(false)
|
||||||
|
.setWithDefinedIn(false).build();
|
||||||
|
|
||||||
public AddKotlinSignatureAnnotation() {
|
public AddKotlinSignatureAnnotation() {
|
||||||
setText(JetBundle.message("add.kotlin.signature.action.text"));
|
setText(JetBundle.message("add.kotlin.signature.action.text"));
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import org.jetbrains.jet.lang.diagnostics.rendering.TabledDescriptorRenderer.Tab
|
|||||||
import org.jetbrains.jet.lang.resolve.calls.inference.ConstraintPosition;
|
import org.jetbrains.jet.lang.resolve.calls.inference.ConstraintPosition;
|
||||||
import org.jetbrains.jet.lang.types.JetType;
|
import org.jetbrains.jet.lang.types.JetType;
|
||||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||||
import org.jetbrains.jet.renderer.DescriptorRendererImpl;
|
import org.jetbrains.jet.renderer.DescriptorRendererBuilder;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -152,7 +152,7 @@ public class HtmlTabledDescriptorRenderer extends TabledDescriptorRenderer {
|
|||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final DescriptorRenderer.ValueParametersHandler RENDERER_HANDLER = new DescriptorRenderer.ValueParametersHandler() {
|
private static final DescriptorRenderer.ValueParametersHandler VALUE_PARAMETERS_HANDLER = new DescriptorRenderer.ValueParametersHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void appendBeforeValueParameter(@NotNull ValueParameterDescriptor parameter, @NotNull StringBuilder stringBuilder) {
|
public void appendBeforeValueParameter(@NotNull ValueParameterDescriptor parameter, @NotNull StringBuilder stringBuilder) {
|
||||||
stringBuilder.append("<td align=\"right\"><div style=\"white-space:nowrap;font-weight:bold;\">");
|
stringBuilder.append("<td align=\"right\"><div style=\"white-space:nowrap;font-weight:bold;\">");
|
||||||
@@ -187,8 +187,11 @@ public class HtmlTabledDescriptorRenderer extends TabledDescriptorRenderer {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public static final DescriptorRenderer DESCRIPTOR_IN_TABLE =
|
public static final DescriptorRenderer DESCRIPTOR_IN_TABLE = new DescriptorRendererBuilder()
|
||||||
new DescriptorRendererImpl(false, false, false, false, false, RENDERER_HANDLER, DescriptorRenderer.TextFormat.HTML);
|
.setWithDefinedIn(false)
|
||||||
|
.setModifiers(false)
|
||||||
|
.setValueParametersHandler(VALUE_PARAMETERS_HANDLER)
|
||||||
|
.setTextFormat(DescriptorRenderer.TextFormat.HTML).build();
|
||||||
|
|
||||||
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