Do not add explicit visibility modifiers in Override/Implement
This commit is contained in:
@@ -44,11 +44,11 @@ public interface DescriptorRenderer extends Renderer<DeclarationDescriptor> {
|
||||
|
||||
DescriptorRenderer COMPACT = new DescriptorRendererBuilder()
|
||||
.setWithDefinedIn(false)
|
||||
.setModifiers(false).build();
|
||||
.setModifiers().build();
|
||||
|
||||
DescriptorRenderer STARTS_FROM_NAME = new DescriptorRendererBuilder()
|
||||
.setWithDefinedIn(false)
|
||||
.setModifiers(false)
|
||||
.setModifiers()
|
||||
.setStartFromName(true).build();
|
||||
|
||||
DescriptorRenderer TEXT = new DescriptorRendererBuilder().build();
|
||||
@@ -77,6 +77,10 @@ public interface DescriptorRenderer extends Renderer<DeclarationDescriptor> {
|
||||
RENDER_OVERRIDE, RENDER_OPEN, RENDER_OPEN_OVERRIDE
|
||||
}
|
||||
|
||||
enum Modifier {
|
||||
VISIBILITY, MODALITY, OVERRIDE, ANNOTATIONS, INNER, MEMBER_KIND
|
||||
}
|
||||
|
||||
/** @see DefaultValueParameterHandler */
|
||||
interface ValueParametersHandler {
|
||||
void appendBeforeValueParameters(@NotNull FunctionDescriptor function, @NotNull StringBuilder stringBuilder);
|
||||
|
||||
@@ -16,16 +16,18 @@
|
||||
|
||||
package org.jetbrains.jet.renderer;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
||||
public class DescriptorRendererBuilder {
|
||||
private boolean shortNames = false;
|
||||
private boolean withDefinedIn = true;
|
||||
private boolean modifiers = true;
|
||||
private Set<DescriptorRenderer.Modifier> modifiers = ImmutableSet.copyOf(DescriptorRenderer.Modifier.values());
|
||||
private boolean startFromName = false;
|
||||
private boolean debugMode = false;
|
||||
private boolean classWithPrimaryConstructor = false;
|
||||
@@ -57,11 +59,15 @@ public class DescriptorRendererBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public DescriptorRendererBuilder setModifiers(boolean modifiers) {
|
||||
public DescriptorRendererBuilder setModifiers(Set<DescriptorRenderer.Modifier> modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DescriptorRendererBuilder setModifiers(DescriptorRenderer.Modifier... modifiers) {
|
||||
return setModifiers(ImmutableSet.copyOf(modifiers));
|
||||
}
|
||||
|
||||
public DescriptorRendererBuilder setStartFromName(boolean startFromName) {
|
||||
this.startFromName = startFromName;
|
||||
return this;
|
||||
|
||||
@@ -50,7 +50,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
|
||||
private final boolean shortNames;
|
||||
private final boolean withDefinedIn;
|
||||
private final boolean modifiers;
|
||||
private final Set<DescriptorRenderer.Modifier> modifiers;
|
||||
private final boolean startFromName;
|
||||
private final boolean debugMode;
|
||||
private final boolean classWithPrimaryConstructor;
|
||||
@@ -72,7 +72,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
/* package */ DescriptorRendererImpl(
|
||||
boolean shortNames,
|
||||
boolean withDefinedIn,
|
||||
boolean modifiers,
|
||||
Set<DescriptorRenderer.Modifier> modifiers,
|
||||
boolean startFromName,
|
||||
boolean debugMode,
|
||||
boolean classWithPrimaryConstructor,
|
||||
@@ -312,7 +312,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
}
|
||||
|
||||
private void renderAnnotations(@NotNull Annotated annotated, @NotNull StringBuilder builder) {
|
||||
if (!modifiers) return;
|
||||
if (!modifiers.contains(Modifier.ANNOTATIONS)) return;
|
||||
for (AnnotationDescriptor annotation : annotated.getAnnotations()) {
|
||||
ClassDescriptor annotationClass = (ClassDescriptor) annotation.getType().getConstructor().getDeclarationDescriptor();
|
||||
assert annotationClass != null;
|
||||
@@ -328,7 +328,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
}
|
||||
|
||||
private void renderVisibility(@NotNull Visibility visibility, @NotNull StringBuilder builder) {
|
||||
if (!modifiers) return;
|
||||
if (!modifiers.contains(Modifier.VISIBILITY)) return;
|
||||
if (normalizedVisibilities) {
|
||||
visibility = visibility.normalize();
|
||||
}
|
||||
@@ -337,13 +337,13 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
}
|
||||
|
||||
private void renderModality(@NotNull Modality modality, @NotNull StringBuilder builder) {
|
||||
if (!modifiers) return;
|
||||
if (!modifiers.contains(Modifier.MODALITY)) return;
|
||||
String keyword = modality.name().toLowerCase();
|
||||
builder.append(renderKeyword(keyword)).append(" ");
|
||||
}
|
||||
|
||||
private void renderInner(boolean isInner, @NotNull StringBuilder builder) {
|
||||
if (!modifiers) return;
|
||||
if (!modifiers.contains(Modifier.INNER)) return;
|
||||
if (isInner) {
|
||||
builder.append(renderKeyword("inner")).append(" ");
|
||||
}
|
||||
@@ -365,7 +365,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
}
|
||||
|
||||
private void renderOverride(@NotNull CallableMemberDescriptor callableMember, @NotNull StringBuilder builder) {
|
||||
if (!modifiers) return;
|
||||
if (!modifiers.contains(Modifier.OVERRIDE)) return;
|
||||
if (overridesSomething(callableMember)) {
|
||||
if (overrideRenderingPolicy != OverrideRenderingPolicy.RENDER_OPEN) {
|
||||
builder.append("override ");
|
||||
@@ -377,7 +377,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
}
|
||||
|
||||
private void renderMemberKind(CallableMemberDescriptor callableMember, StringBuilder builder) {
|
||||
if (!modifiers) return;
|
||||
if (!modifiers.contains(Modifier.MEMBER_KIND)) return;
|
||||
if (verbose && callableMember.getKind() != CallableMemberDescriptor.Kind.DECLARATION) {
|
||||
builder.append("/*").append(callableMember.getKind().name().toLowerCase()).append("*/ ");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user