/* * Copyright 2013 Guidewire Software, Inc. */ package gw.plugin.ij.refactor.signature; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiMethod; import com.intellij.psi.PsiModifier; import com.intellij.refactoring.changeSignature.ParameterInfoImpl; import com.intellij.refactoring.changeSignature.ThrownExceptionInfo; import com.intellij.refactoring.util.CanonicalTypes; import com.intellij.usageView.UsageInfo; import org.jetbrains.annotations.NotNull; import java.util.Set; public class GosuChangeSignatureProcessor extends ChangeSignatureProcessor { private ChangeSignatureHandler changeSignatureHandler; public GosuChangeSignatureProcessor(Project project, PsiMethod method, boolean generateDelegate, @PsiModifier.ModifierConstant String newVisibility, String newName, CanonicalTypes.Type newType, @NotNull ParameterInfoImpl[] parameterInfo, ThrownExceptionInfo[] thrownExceptions, Set<PsiMethod> propagateParametersMethods, Set<PsiMethod> propagateExceptionsMethods, ChangeSignatureHandler changeSignatureHandler) { super(project, new GosuChangeInfoImpl(newVisibility, method, newName, newType, parameterInfo,thrownExceptions, generateDelegate, propagateParametersMethods, propagateExceptionsMethods)); this.changeSignatureHandler = changeSignatureHandler; } @Override protected void performRefactoring(UsageInfo[] usages) { super.performRefactoring(usages); changeSignatureHandler.afterRefactoring(); } }