Change Signature: Support members of header/impl classes
This commit is contained in:
@@ -21,7 +21,9 @@ import org.jetbrains.kotlin.idea.caches.resolve.findModuleDescriptor
|
|||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor
|
||||||
import org.jetbrains.kotlin.idea.core.toDescriptor
|
import org.jetbrains.kotlin.idea.core.toDescriptor
|
||||||
import org.jetbrains.kotlin.idea.highlighter.sourceKind
|
import org.jetbrains.kotlin.idea.highlighter.sourceKind
|
||||||
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||||
|
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||||
import org.jetbrains.kotlin.resolve.MultiTargetPlatform
|
import org.jetbrains.kotlin.resolve.MultiTargetPlatform
|
||||||
import org.jetbrains.kotlin.resolve.checkers.HeaderImplDeclarationChecker
|
import org.jetbrains.kotlin.resolve.checkers.HeaderImplDeclarationChecker
|
||||||
@@ -63,6 +65,9 @@ internal fun KtDeclaration.headerDeclarationIfAny(): KtDeclaration? {
|
|||||||
return DescriptorToSourceUtils.descriptorToDeclaration(headerDescriptor) as? KtDeclaration
|
return DescriptorToSourceUtils.descriptorToDeclaration(headerDescriptor) as? KtDeclaration
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal fun KtDeclaration.isHeaderOrHeaderClassMember() =
|
||||||
|
hasModifier(KtTokens.HEADER_KEYWORD) || (containingClassOrObject?.hasModifier(KtTokens.HEADER_KEYWORD) ?: false)
|
||||||
|
|
||||||
private fun DeclarationDescriptor.liftToHeader(): DeclarationDescriptor? {
|
private fun DeclarationDescriptor.liftToHeader(): DeclarationDescriptor? {
|
||||||
if (this is MemberDescriptor) {
|
if (this is MemberDescriptor) {
|
||||||
return when {
|
return when {
|
||||||
|
|||||||
+2
-1
@@ -29,6 +29,7 @@ import org.jetbrains.kotlin.descriptors.impl.AnonymousFunctionDescriptor
|
|||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
||||||
import org.jetbrains.kotlin.idea.highlighter.markers.headerImplementations
|
import org.jetbrains.kotlin.idea.highlighter.markers.headerImplementations
|
||||||
|
import org.jetbrains.kotlin.idea.highlighter.markers.isHeaderOrHeaderClassMember
|
||||||
import org.jetbrains.kotlin.idea.highlighter.markers.liftToHeader
|
import org.jetbrains.kotlin.idea.highlighter.markers.liftToHeader
|
||||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.usages.KotlinCallableDefinitionUsage
|
import org.jetbrains.kotlin.idea.refactoring.changeSignature.usages.KotlinCallableDefinitionUsage
|
||||||
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
||||||
@@ -101,7 +102,7 @@ class KotlinChangeSignatureData(
|
|||||||
primaryCallables + primaryCallables.flatMapTo(HashSet<UsageInfo>()) { primaryFunction ->
|
primaryCallables + primaryCallables.flatMapTo(HashSet<UsageInfo>()) { primaryFunction ->
|
||||||
val primaryDeclaration = primaryFunction.declaration as? KtCallableDeclaration ?: return@flatMapTo emptyList()
|
val primaryDeclaration = primaryFunction.declaration as? KtCallableDeclaration ?: return@flatMapTo emptyList()
|
||||||
|
|
||||||
if (primaryDeclaration.hasModifier(KtTokens.HEADER_KEYWORD)) {
|
if (primaryDeclaration.isHeaderOrHeaderClassMember()) {
|
||||||
return@flatMapTo primaryDeclaration.headerImplementations().map {
|
return@flatMapTo primaryDeclaration.headerImplementations().map {
|
||||||
KotlinCallableDefinitionUsage<PsiElement>(it, it.resolveToDescriptor() as CallableDescriptor, primaryFunction, null)
|
KotlinCallableDefinitionUsage<PsiElement>(it, it.resolveToDescriptor() as CallableDescriptor, primaryFunction, null)
|
||||||
}
|
}
|
||||||
|
|||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="Common (experimental) " useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
header class C {
|
||||||
|
fun foo()
|
||||||
|
fun baz(n: Int)
|
||||||
|
fun bar(n: Int)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.baz(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="JavaScript " useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module" module-name="Common" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
impl class C {
|
||||||
|
impl fun foo() { }
|
||||||
|
impl fun baz(n: Int) { }
|
||||||
|
impl fun bar(n: Int) { }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.baz(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="JVM 1.6" useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module" module-name="Common" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
impl class C {
|
||||||
|
impl fun foo() { }
|
||||||
|
impl fun baz(n: Int) { }
|
||||||
|
impl fun bar(n: Int) { }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.baz(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="Common (experimental) " useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
header class C {
|
||||||
|
fun foo()
|
||||||
|
fun <caret>foo(n: Int)
|
||||||
|
fun bar(n: Int)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.foo(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="JavaScript " useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module" module-name="Common" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
impl class C {
|
||||||
|
impl fun foo() { }
|
||||||
|
impl fun foo(n: Int) { }
|
||||||
|
impl fun bar(n: Int) { }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.foo(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="JVM 1.6" useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module" module-name="Common" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
impl class C {
|
||||||
|
impl fun foo() { }
|
||||||
|
impl fun foo(n: Int) { }
|
||||||
|
impl fun bar(n: Int) { }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.foo(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="Common (experimental) " useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
header class C {
|
||||||
|
fun foo()
|
||||||
|
fun baz(n: Int)
|
||||||
|
fun bar(n: Int)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.baz(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="JavaScript " useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module" module-name="Common" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
impl class C {
|
||||||
|
impl fun foo() { }
|
||||||
|
impl fun baz(n: Int) { }
|
||||||
|
impl fun bar(n: Int) { }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.baz(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="JVM 1.6" useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module" module-name="Common" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
impl class C {
|
||||||
|
impl fun foo() { }
|
||||||
|
impl fun baz(n: Int) { }
|
||||||
|
impl fun bar(n: Int) { }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.baz(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="Common (experimental) " useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
header class C {
|
||||||
|
fun foo()
|
||||||
|
fun foo(n: Int)
|
||||||
|
fun bar(n: Int)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.foo(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="JavaScript " useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module" module-name="Common" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
impl class C {
|
||||||
|
impl fun foo() { }
|
||||||
|
impl fun <caret>foo(n: Int) { }
|
||||||
|
impl fun bar(n: Int) { }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.foo(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="kotlin-language" name="Kotlin">
|
||||||
|
<configuration version="2" platform="JVM 1.6" useProjectSettings="false">
|
||||||
|
<compilerSettings/>
|
||||||
|
<compilerArguments/>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module" module-name="Common" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
impl class C {
|
||||||
|
impl fun foo() { }
|
||||||
|
impl fun foo(n: Int) { }
|
||||||
|
impl fun bar(n: Int) { }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test(c: C) {
|
||||||
|
c.foo()
|
||||||
|
c.foo(1)
|
||||||
|
c.bar(1)
|
||||||
|
}
|
||||||
+8
@@ -55,4 +55,12 @@ class KotlinMultiModuleChangeSignatureTest : KotlinMultiFileTestCase() {
|
|||||||
fun testHeadersAndImplsByImplFun() = doTest("JS/src/test/test.kt") {
|
fun testHeadersAndImplsByImplFun() = doTest("JS/src/test/test.kt") {
|
||||||
newName = "baz"
|
newName = "baz"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun testHeadersAndImplsByHeaderClassMemberFun() = doTest("Common/src/test/test.kt") {
|
||||||
|
newName = "baz"
|
||||||
|
}
|
||||||
|
|
||||||
|
fun testHeadersAndImplsByImplClassMemberFun() = doTest("JS/src/test/test.kt") {
|
||||||
|
newName = "baz"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user