escape identifiers in generated super method call in Override/Implement
#KT-6669 Fixed
This commit is contained in:
+3
-3
@@ -248,9 +248,9 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns
|
|||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
builder.append("super");
|
builder.append("super");
|
||||||
if (classOrObject.getDelegationSpecifiers().size() > 1) {
|
if (classOrObject.getDelegationSpecifiers().size() > 1) {
|
||||||
builder.append("<").append(descriptor.getContainingDeclaration().getName()).append(">");
|
builder.append("<").append(DescriptorRenderer.COMPACT.renderName(descriptor.getContainingDeclaration().getName())).append(">");
|
||||||
}
|
}
|
||||||
builder.append(".").append(descriptor.getName());
|
builder.append(".").append(DescriptorRenderer.COMPACT.renderName(descriptor.getName()));
|
||||||
|
|
||||||
if (descriptor instanceof FunctionDescriptor) {
|
if (descriptor instanceof FunctionDescriptor) {
|
||||||
builder.append("(");
|
builder.append("(");
|
||||||
@@ -260,7 +260,7 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns
|
|||||||
builder.append(", ");
|
builder.append(", ");
|
||||||
}
|
}
|
||||||
first = false;
|
first = false;
|
||||||
builder.append(parameterDescriptor.getName());
|
builder.append(DescriptorRenderer.COMPACT.renderName(parameterDescriptor.getName()));
|
||||||
}
|
}
|
||||||
builder.append(")");
|
builder.append(")");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
open class A {
|
||||||
|
open fun foo(`object` : Any): Int = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
class C : A {
|
||||||
|
<caret>
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
open class A {
|
||||||
|
open fun foo(`object` : Any): Int = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
class C : A {
|
||||||
|
override fun foo(`object`: Any): Int {
|
||||||
|
<selection><caret>return super.foo(`object`)</selection>
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -201,4 +201,8 @@ public final class OverrideImplementTest extends AbstractOverrideImplementTest {
|
|||||||
public void testStarProjections() {
|
public void testStarProjections() {
|
||||||
doImplementFileTest();
|
doImplementFileTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testEscapeIdentifiers() {
|
||||||
|
doOverrideFileTest();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user