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)
}
public fun getInheritedName(inheritedFunction: JetFunctionDefinitionUsage<PsiElement>): String {
public fun getInheritedName(inheritedFunction: JetFunctionDefinitionUsage<*>): String {
if (!inheritedFunction.isInherited()) return name
val baseFunction = inheritedFunction.getBaseFunction()
@@ -14,33 +14,21 @@
* 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.idea.refactoring.changeSignature.JetChangeInfo;
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetParameterInfo;
import org.jetbrains.kotlin.psi.JetSimpleNameExpression;
import org.jetbrains.kotlin.psi.JetSimpleNameExpression
import org.jetbrains.kotlin.psi.JetPsiFactory
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetChangeInfo
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetParameterInfo
import static org.jetbrains.kotlin.psi.PsiPackage.JetPsiFactory;
public class JetParameterUsage extends JetUsageInfo<JetSimpleNameExpression> {
private final JetParameterInfo parameterInfo;
private final JetFunctionDefinitionUsage containingFunction;
public JetParameterUsage(
@NotNull JetSimpleNameExpression element,
@NotNull JetParameterInfo parameterInfo,
@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;
public class JetParameterUsage(
element: JetSimpleNameExpression,
private val parameterInfo: JetParameterInfo,
private val containingFunction: JetFunctionDefinitionUsage<*>
) : JetUsageInfo<JetSimpleNameExpression>(element) {
override fun processUsage(changeInfo: JetChangeInfo, element: JetSimpleNameExpression): Boolean {
val newName = parameterInfo.getInheritedName(containingFunction)
element.replace(JetPsiFactory(element.getProject()).createSimpleName(newName))
return false
}
}