Change Signature: Translate JetParameterUsage to Kotlin

This commit is contained in:
Alexey Sedunov
2015-01-14 15:56:40 +03:00
parent a406068aa1
commit 3a7ae4303a
2 changed files with 15 additions and 27 deletions
@@ -73,7 +73,7 @@ public class JetParameterInfo(
return parameterType.renderTypeWithSubstitution(typeSubstitutor, currentTypeText, true) return parameterType.renderTypeWithSubstitution(typeSubstitutor, currentTypeText, true)
} }
public fun getInheritedName(inheritedFunction: JetFunctionDefinitionUsage<PsiElement>): String { public fun getInheritedName(inheritedFunction: JetFunctionDefinitionUsage<*>): String {
if (!inheritedFunction.isInherited()) return name if (!inheritedFunction.isInherited()) return name
val baseFunction = inheritedFunction.getBaseFunction() val baseFunction = inheritedFunction.getBaseFunction()
@@ -14,33 +14,21 @@
* limitations under the License. * limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.refactoring.changeSignature.usages; package org.jetbrains.kotlin.idea.refactoring.changeSignature.usages
import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.psi.JetSimpleNameExpression
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetChangeInfo; import org.jetbrains.kotlin.psi.JetPsiFactory
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetParameterInfo; import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetChangeInfo
import org.jetbrains.kotlin.psi.JetSimpleNameExpression; import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetParameterInfo
import static org.jetbrains.kotlin.psi.PsiPackage.JetPsiFactory; public class JetParameterUsage(
element: JetSimpleNameExpression,
public class JetParameterUsage extends JetUsageInfo<JetSimpleNameExpression> { private val parameterInfo: JetParameterInfo,
private final JetParameterInfo parameterInfo; private val containingFunction: JetFunctionDefinitionUsage<*>
private final JetFunctionDefinitionUsage containingFunction; ) : JetUsageInfo<JetSimpleNameExpression>(element) {
override fun processUsage(changeInfo: JetChangeInfo, element: JetSimpleNameExpression): Boolean {
public JetParameterUsage( val newName = parameterInfo.getInheritedName(containingFunction)
@NotNull JetSimpleNameExpression element, element.replace(JetPsiFactory(element.getProject()).createSimpleName(newName))
@NotNull JetParameterInfo parameterInfo, return false
@NotNull JetFunctionDefinitionUsage containingFunction
) {
super(element);
this.parameterInfo = parameterInfo;
this.containingFunction = containingFunction;
}
@Override
public boolean processUsage(JetChangeInfo changeInfo, JetSimpleNameExpression element) {
String newName = parameterInfo.getInheritedName(containingFunction);
element.replace(JetPsiFactory(element.getProject()).createSimpleName(newName));
return false;
} }
} }