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()
|
DescriptorRenderer COMPACT = new DescriptorRendererBuilder()
|
||||||
.setWithDefinedIn(false)
|
.setWithDefinedIn(false)
|
||||||
.setModifiers(false).build();
|
.setModifiers().build();
|
||||||
|
|
||||||
DescriptorRenderer STARTS_FROM_NAME = new DescriptorRendererBuilder()
|
DescriptorRenderer STARTS_FROM_NAME = new DescriptorRendererBuilder()
|
||||||
.setWithDefinedIn(false)
|
.setWithDefinedIn(false)
|
||||||
.setModifiers(false)
|
.setModifiers()
|
||||||
.setStartFromName(true).build();
|
.setStartFromName(true).build();
|
||||||
|
|
||||||
DescriptorRenderer TEXT = new DescriptorRendererBuilder().build();
|
DescriptorRenderer TEXT = new DescriptorRendererBuilder().build();
|
||||||
@@ -77,6 +77,10 @@ public interface DescriptorRenderer extends Renderer<DeclarationDescriptor> {
|
|||||||
RENDER_OVERRIDE, RENDER_OPEN, RENDER_OPEN_OVERRIDE
|
RENDER_OVERRIDE, RENDER_OPEN, RENDER_OPEN_OVERRIDE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum Modifier {
|
||||||
|
VISIBILITY, MODALITY, OVERRIDE, ANNOTATIONS, INNER, MEMBER_KIND
|
||||||
|
}
|
||||||
|
|
||||||
/** @see DefaultValueParameterHandler */
|
/** @see DefaultValueParameterHandler */
|
||||||
interface ValueParametersHandler {
|
interface ValueParametersHandler {
|
||||||
void appendBeforeValueParameters(@NotNull FunctionDescriptor function, @NotNull StringBuilder stringBuilder);
|
void appendBeforeValueParameters(@NotNull FunctionDescriptor function, @NotNull StringBuilder stringBuilder);
|
||||||
|
|||||||
@@ -16,16 +16,18 @@
|
|||||||
|
|
||||||
package org.jetbrains.jet.renderer;
|
package org.jetbrains.jet.renderer;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableSet;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public class DescriptorRendererBuilder {
|
public class DescriptorRendererBuilder {
|
||||||
private boolean shortNames = false;
|
private boolean shortNames = false;
|
||||||
private boolean withDefinedIn = true;
|
private boolean withDefinedIn = true;
|
||||||
private boolean modifiers = true;
|
private Set<DescriptorRenderer.Modifier> modifiers = ImmutableSet.copyOf(DescriptorRenderer.Modifier.values());
|
||||||
private boolean startFromName = false;
|
private boolean startFromName = false;
|
||||||
private boolean debugMode = false;
|
private boolean debugMode = false;
|
||||||
private boolean classWithPrimaryConstructor = false;
|
private boolean classWithPrimaryConstructor = false;
|
||||||
@@ -57,11 +59,15 @@ public class DescriptorRendererBuilder {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DescriptorRendererBuilder setModifiers(boolean modifiers) {
|
public DescriptorRendererBuilder setModifiers(Set<DescriptorRenderer.Modifier> modifiers) {
|
||||||
this.modifiers = modifiers;
|
this.modifiers = modifiers;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DescriptorRendererBuilder setModifiers(DescriptorRenderer.Modifier... modifiers) {
|
||||||
|
return setModifiers(ImmutableSet.copyOf(modifiers));
|
||||||
|
}
|
||||||
|
|
||||||
public DescriptorRendererBuilder setStartFromName(boolean startFromName) {
|
public DescriptorRendererBuilder setStartFromName(boolean startFromName) {
|
||||||
this.startFromName = startFromName;
|
this.startFromName = startFromName;
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
|
|
||||||
private final boolean shortNames;
|
private final boolean shortNames;
|
||||||
private final boolean withDefinedIn;
|
private final boolean withDefinedIn;
|
||||||
private final boolean modifiers;
|
private final Set<DescriptorRenderer.Modifier> modifiers;
|
||||||
private final boolean startFromName;
|
private final boolean startFromName;
|
||||||
private final boolean debugMode;
|
private final boolean debugMode;
|
||||||
private final boolean classWithPrimaryConstructor;
|
private final boolean classWithPrimaryConstructor;
|
||||||
@@ -72,7 +72,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
/* package */ DescriptorRendererImpl(
|
/* package */ DescriptorRendererImpl(
|
||||||
boolean shortNames,
|
boolean shortNames,
|
||||||
boolean withDefinedIn,
|
boolean withDefinedIn,
|
||||||
boolean modifiers,
|
Set<DescriptorRenderer.Modifier> modifiers,
|
||||||
boolean startFromName,
|
boolean startFromName,
|
||||||
boolean debugMode,
|
boolean debugMode,
|
||||||
boolean classWithPrimaryConstructor,
|
boolean classWithPrimaryConstructor,
|
||||||
@@ -312,7 +312,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void renderAnnotations(@NotNull Annotated annotated, @NotNull StringBuilder builder) {
|
private void renderAnnotations(@NotNull Annotated annotated, @NotNull StringBuilder builder) {
|
||||||
if (!modifiers) return;
|
if (!modifiers.contains(Modifier.ANNOTATIONS)) return;
|
||||||
for (AnnotationDescriptor annotation : annotated.getAnnotations()) {
|
for (AnnotationDescriptor annotation : annotated.getAnnotations()) {
|
||||||
ClassDescriptor annotationClass = (ClassDescriptor) annotation.getType().getConstructor().getDeclarationDescriptor();
|
ClassDescriptor annotationClass = (ClassDescriptor) annotation.getType().getConstructor().getDeclarationDescriptor();
|
||||||
assert annotationClass != null;
|
assert annotationClass != null;
|
||||||
@@ -328,7 +328,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void renderVisibility(@NotNull Visibility visibility, @NotNull StringBuilder builder) {
|
private void renderVisibility(@NotNull Visibility visibility, @NotNull StringBuilder builder) {
|
||||||
if (!modifiers) return;
|
if (!modifiers.contains(Modifier.VISIBILITY)) return;
|
||||||
if (normalizedVisibilities) {
|
if (normalizedVisibilities) {
|
||||||
visibility = visibility.normalize();
|
visibility = visibility.normalize();
|
||||||
}
|
}
|
||||||
@@ -337,13 +337,13 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void renderModality(@NotNull Modality modality, @NotNull StringBuilder builder) {
|
private void renderModality(@NotNull Modality modality, @NotNull StringBuilder builder) {
|
||||||
if (!modifiers) return;
|
if (!modifiers.contains(Modifier.MODALITY)) return;
|
||||||
String keyword = modality.name().toLowerCase();
|
String keyword = modality.name().toLowerCase();
|
||||||
builder.append(renderKeyword(keyword)).append(" ");
|
builder.append(renderKeyword(keyword)).append(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderInner(boolean isInner, @NotNull StringBuilder builder) {
|
private void renderInner(boolean isInner, @NotNull StringBuilder builder) {
|
||||||
if (!modifiers) return;
|
if (!modifiers.contains(Modifier.INNER)) return;
|
||||||
if (isInner) {
|
if (isInner) {
|
||||||
builder.append(renderKeyword("inner")).append(" ");
|
builder.append(renderKeyword("inner")).append(" ");
|
||||||
}
|
}
|
||||||
@@ -365,7 +365,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void renderOverride(@NotNull CallableMemberDescriptor callableMember, @NotNull StringBuilder builder) {
|
private void renderOverride(@NotNull CallableMemberDescriptor callableMember, @NotNull StringBuilder builder) {
|
||||||
if (!modifiers) return;
|
if (!modifiers.contains(Modifier.OVERRIDE)) return;
|
||||||
if (overridesSomething(callableMember)) {
|
if (overridesSomething(callableMember)) {
|
||||||
if (overrideRenderingPolicy != OverrideRenderingPolicy.RENDER_OPEN) {
|
if (overrideRenderingPolicy != OverrideRenderingPolicy.RENDER_OPEN) {
|
||||||
builder.append("override ");
|
builder.append("override ");
|
||||||
@@ -377,7 +377,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void renderMemberKind(CallableMemberDescriptor callableMember, StringBuilder builder) {
|
private void renderMemberKind(CallableMemberDescriptor callableMember, StringBuilder builder) {
|
||||||
if (!modifiers) return;
|
if (!modifiers.contains(Modifier.MEMBER_KIND)) return;
|
||||||
if (verbose && callableMember.getKind() != CallableMemberDescriptor.Kind.DECLARATION) {
|
if (verbose && callableMember.getKind() != CallableMemberDescriptor.Kind.DECLARATION) {
|
||||||
builder.append("/*").append(callableMember.getKind().name().toLowerCase()).append("*/ ");
|
builder.append("/*").append(callableMember.getKind().name().toLowerCase()).append("*/ ");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ import org.jetbrains.jet.lang.types.JetType;
|
|||||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||||
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache;
|
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache;
|
||||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||||
|
import org.jetbrains.jet.renderer.DescriptorRendererBuilder;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@@ -46,6 +47,13 @@ import java.util.Set;
|
|||||||
|
|
||||||
public abstract class OverrideImplementMethodsHandler implements LanguageCodeInsightActionHandler {
|
public abstract class OverrideImplementMethodsHandler implements LanguageCodeInsightActionHandler {
|
||||||
|
|
||||||
|
private static final DescriptorRenderer OVERRIDE_RENDERER = new DescriptorRendererBuilder()
|
||||||
|
.setModifiers(DescriptorRenderer.Modifier.OVERRIDE)
|
||||||
|
.setWithDefinedIn(false)
|
||||||
|
.setShortNames(false)
|
||||||
|
.setOverrideRenderingPolicy(DescriptorRenderer.OverrideRenderingPolicy.RENDER_OVERRIDE)
|
||||||
|
.setUnitReturnType(false).build();
|
||||||
|
|
||||||
public static List<DescriptorClassMember> membersFromDescriptors(
|
public static List<DescriptorClassMember> membersFromDescriptors(
|
||||||
JetFile file, Iterable<CallableMemberDescriptor> missingImplementations,
|
JetFile file, Iterable<CallableMemberDescriptor> missingImplementations,
|
||||||
BindingContext bindingContext
|
BindingContext bindingContext
|
||||||
@@ -147,7 +155,7 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns
|
|||||||
else {
|
else {
|
||||||
bodyBuilder.append(" = ?");
|
bodyBuilder.append(" = ?");
|
||||||
}
|
}
|
||||||
return JetPsiFactory.createProperty(project, DescriptorRenderer.SOURCE_CODE.render(newDescriptor) + bodyBuilder.toString());
|
return JetPsiFactory.createProperty(project, OVERRIDE_RENDERER.render(newDescriptor) + bodyBuilder.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -186,7 +194,7 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns
|
|||||||
boolean returnsNotUnit = returnType != null && !builtIns.getUnitType().equals(returnType);
|
boolean returnsNotUnit = returnType != null && !builtIns.getUnitType().equals(returnType);
|
||||||
String body = "{" + (returnsNotUnit && !isAbstractFun ? "return " : "") + delegationBuilder.toString() + "}";
|
String body = "{" + (returnsNotUnit && !isAbstractFun ? "return " : "") + delegationBuilder.toString() + "}";
|
||||||
|
|
||||||
return JetPsiFactory.createFunction(project, DescriptorRenderer.SOURCE_CODE.render(newDescriptor) + body);
|
return JetPsiFactory.createFunction(project, OVERRIDE_RENDERER.render(newDescriptor) + body);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ public class HtmlTabledDescriptorRenderer extends TabledDescriptorRenderer {
|
|||||||
|
|
||||||
public static final DescriptorRenderer DESCRIPTOR_IN_TABLE = new DescriptorRendererBuilder()
|
public static final DescriptorRenderer DESCRIPTOR_IN_TABLE = new DescriptorRendererBuilder()
|
||||||
.setWithDefinedIn(false)
|
.setWithDefinedIn(false)
|
||||||
.setModifiers(false)
|
.setModifiers()
|
||||||
.setValueParametersHandler(VALUE_PARAMETERS_HANDLER)
|
.setValueParametersHandler(VALUE_PARAMETERS_HANDLER)
|
||||||
.setTextFormat(DescriptorRenderer.TextFormat.HTML).build();
|
.setTextFormat(DescriptorRenderer.TextFormat.HTML).build();
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -53,7 +53,7 @@ import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.IGNORE_KO
|
|||||||
public class KotlinSignatureAnnotationIntention extends BaseIntentionAction implements Iconable {
|
public class KotlinSignatureAnnotationIntention extends BaseIntentionAction implements Iconable {
|
||||||
private static final DescriptorRenderer RENDERER = new DescriptorRendererBuilder()
|
private static final DescriptorRenderer RENDERER = new DescriptorRendererBuilder()
|
||||||
.setShortNames(true)
|
.setShortNames(true)
|
||||||
.setModifiers(false)
|
.setModifiers()
|
||||||
.setWithDefinedIn(false).build();
|
.setWithDefinedIn(false).build();
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
class MyClass<A: Comparable<A>> : Iterable<A> {
|
class MyClass<A: Comparable<A>> : Iterable<A> {
|
||||||
|
|
||||||
public override fun iterator(): Iterator<A> {
|
override fun iterator(): Iterator<A> {
|
||||||
throw UnsupportedOperationException()
|
throw UnsupportedOperationException()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@ package foo
|
|||||||
|
|
||||||
class Impl: B {
|
class Impl: B {
|
||||||
|
|
||||||
public override fun foo(r: Runnable?) {
|
override fun foo(r: Runnable?) {
|
||||||
throw UnsupportedOperationException()
|
throw UnsupportedOperationException()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,12 +16,12 @@ class C : A(), B {
|
|||||||
super<A>.internalFun()
|
super<A>.internalFun()
|
||||||
}
|
}
|
||||||
override val internalProperty: Int = 0
|
override val internalProperty: Int = 0
|
||||||
protected override fun protectedFun() {
|
override fun protectedFun() {
|
||||||
super<A>.protectedFun()
|
super<A>.protectedFun()
|
||||||
}
|
}
|
||||||
protected override val protectedProperty: Int = 0
|
override val protectedProperty: Int = 0
|
||||||
public override fun publicFun() {
|
override fun publicFun() {
|
||||||
super<A>.publicFun()
|
super<A>.publicFun()
|
||||||
}
|
}
|
||||||
public override val publicProperty: Int = 0
|
override val publicProperty: Int = 0
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import foo.Intf
|
|||||||
|
|
||||||
class Impl(): Intf {
|
class Impl(): Intf {
|
||||||
|
|
||||||
public override fun getFooBar(): String? {
|
override fun getFooBar(): String? {
|
||||||
throw UnsupportedOperationException()
|
throw UnsupportedOperationException()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ import foo.Intf
|
|||||||
|
|
||||||
class Impl(): Intf() {
|
class Impl(): Intf() {
|
||||||
|
|
||||||
protected override fun getFooBar(): String? {
|
override fun getFooBar(): String? {
|
||||||
return super<Intf>.getFooBar()
|
return super<Intf>.getFooBar()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import foo.Intf
|
|||||||
|
|
||||||
class Impl(): Intf {
|
class Impl(): Intf {
|
||||||
|
|
||||||
public override fun fooBar(i: Int, s: Array<out String>?, foo: Any?) {
|
override fun fooBar(i: Int, s: Array<out String>?, foo: Any?) {
|
||||||
throw UnsupportedOperationException()
|
throw UnsupportedOperationException()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import foo.A
|
|||||||
|
|
||||||
class C : A() {
|
class C : A() {
|
||||||
|
|
||||||
public override fun getAnswer(array: Array<out String>?, number: Int, value: Any?): Int {
|
override fun getAnswer(array: Array<out String>?, number: Int, value: Any?): Int {
|
||||||
return super<A>.getAnswer(array, number, value)
|
return super<A>.getAnswer(array, number, value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package foo
|
|||||||
|
|
||||||
class Impl: B() {
|
class Impl: B() {
|
||||||
|
|
||||||
public override fun foo(r: Runnable?) {
|
override fun foo(r: Runnable?) {
|
||||||
super<B>.foo(r)
|
super<B>.foo(r)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ trait Test {
|
|||||||
|
|
||||||
class SomeTest : Test {
|
class SomeTest : Test {
|
||||||
val hello = 12
|
val hello = 12
|
||||||
public override fun test() {
|
override fun test() {
|
||||||
throw UnsupportedOperationException()
|
throw UnsupportedOperationException()
|
||||||
}
|
}
|
||||||
protected override val testProp: Int = 0
|
override val testProp: Int = 0
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test
|
* test
|
||||||
|
|||||||
Reference in New Issue
Block a user