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;
|
||||
|
||||
public interface DescriptorRenderer extends Renderer<DeclarationDescriptor> {
|
||||
DescriptorRenderer COMPACT_WITH_MODIFIERS = new DescriptorRendererImpl(false, false, true, false, false, null, TextFormat.PLAIN);
|
||||
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 TEXT = new DescriptorRendererImpl(false, true, true, false, false, null, TextFormat.PLAIN);
|
||||
DescriptorRenderer SHORT_NAMES_IN_TYPES = new DescriptorRendererImpl(true, true, true, false, false, null, TextFormat.PLAIN);
|
||||
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 COMPACT_WITH_MODIFIERS = new DescriptorRendererBuilder().setWithDefinedIn(false).build();
|
||||
|
||||
DescriptorRenderer COMPACT = new DescriptorRendererBuilder()
|
||||
.setWithDefinedIn(false)
|
||||
.setModifiers(false).build();
|
||||
|
||||
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);
|
||||
|
||||
|
||||
@@ -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
|
||||
private final TextFormat textFormat;
|
||||
|
||||
public DescriptorRendererImpl(
|
||||
/* package */ DescriptorRendererImpl(
|
||||
boolean shortNames,
|
||||
boolean withDefinedIn,
|
||||
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.JetIcons;
|
||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||
import org.jetbrains.jet.renderer.DescriptorRendererBuilder;
|
||||
import org.jetbrains.jet.renderer.DescriptorRendererImpl;
|
||||
|
||||
import javax.swing.*;
|
||||
@@ -53,8 +54,10 @@ import static org.jetbrains.jet.plugin.codeInsight.ktSignature.KotlinSignatureUt
|
||||
* @since 16 Aug 2012
|
||||
*/
|
||||
public class AddKotlinSignatureAnnotation extends BaseIntentionAction implements Iconable {
|
||||
private static final DescriptorRenderer RENDERER = new DescriptorRendererImpl(true, false, false, false, false, null,
|
||||
DescriptorRenderer.TextFormat.PLAIN);
|
||||
private static final DescriptorRenderer RENDERER = new DescriptorRendererBuilder()
|
||||
.setShortNames(true)
|
||||
.setModifiers(false)
|
||||
.setWithDefinedIn(false).build();
|
||||
|
||||
public AddKotlinSignatureAnnotation() {
|
||||
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.types.JetType;
|
||||
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.List;
|
||||
@@ -152,7 +152,7 @@ public class HtmlTabledDescriptorRenderer extends TabledDescriptorRenderer {
|
||||
super();
|
||||
}
|
||||
|
||||
public static final DescriptorRenderer.ValueParametersHandler RENDERER_HANDLER = new DescriptorRenderer.ValueParametersHandler() {
|
||||
private static final DescriptorRenderer.ValueParametersHandler VALUE_PARAMETERS_HANDLER = new DescriptorRenderer.ValueParametersHandler() {
|
||||
@Override
|
||||
public void appendBeforeValueParameter(@NotNull ValueParameterDescriptor parameter, @NotNull StringBuilder stringBuilder) {
|
||||
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 =
|
||||
new DescriptorRendererImpl(false, false, false, false, false, RENDERER_HANDLER, DescriptorRenderer.TextFormat.HTML);
|
||||
public static final DescriptorRenderer DESCRIPTOR_IN_TABLE = new DescriptorRendererBuilder()
|
||||
.setWithDefinedIn(false)
|
||||
.setModifiers(false)
|
||||
.setValueParametersHandler(VALUE_PARAMETERS_HANDLER)
|
||||
.setTextFormat(DescriptorRenderer.TextFormat.HTML).build();
|
||||
|
||||
private static void td(StringBuilder builder, String text) {
|
||||
builder.append("<td><div style=\"white-space:nowrap;\">").append(text).append("</div></td>");
|
||||
|
||||
Reference in New Issue
Block a user