Name Validator: Remove unused fields and parameters
This commit is contained in:
@@ -98,7 +98,7 @@ private fun needExplicitParameterTypes(context: InsertionContext, placeholderRan
|
|||||||
private fun buildTemplate(lambdaType: JetType, explicitParameterTypes: Boolean, project: Project): Template {
|
private fun buildTemplate(lambdaType: JetType, explicitParameterTypes: Boolean, project: Project): Template {
|
||||||
val parameterTypes = functionParameterTypes(lambdaType)
|
val parameterTypes = functionParameterTypes(lambdaType)
|
||||||
|
|
||||||
val nameValidator = JetNameValidator.getEmptyValidator(project) //TODO: check for names in scope
|
val nameValidator = JetNameValidator.getEmptyValidator() //TODO: check for names in scope
|
||||||
|
|
||||||
val useParenthesis = explicitParameterTypes || parameterTypes.size != 1
|
val useParenthesis = explicitParameterTypes || parameterTypes.size != 1
|
||||||
|
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ public class AddFunctionParametersFix extends ChangeFunctionSignatureFix {
|
|||||||
public void configure(@NotNull JetChangeSignatureData changeSignatureData, @NotNull BindingContext bindingContext) {
|
public void configure(@NotNull JetChangeSignatureData changeSignatureData, @NotNull BindingContext bindingContext) {
|
||||||
List<ValueParameterDescriptor> parameters = functionDescriptor.getValueParameters();
|
List<ValueParameterDescriptor> parameters = functionDescriptor.getValueParameters();
|
||||||
List<? extends ValueArgument> arguments = callElement.getValueArguments();
|
List<? extends ValueArgument> arguments = callElement.getValueArguments();
|
||||||
JetNameValidator validator = JetNameValidator.createCollectingValidator(callElement.getProject());
|
JetNameValidator validator = JetNameValidator.createCollectingValidator();
|
||||||
|
|
||||||
for (int i = 0; i < arguments.size(); i ++) {
|
for (int i = 0; i < arguments.size(); i ++) {
|
||||||
ValueArgument argument = arguments.get(i);
|
ValueArgument argument = arguments.get(i);
|
||||||
|
|||||||
@@ -56,12 +56,12 @@ public class ChangeFunctionLiteralSignatureFix extends ChangeFunctionSignatureFi
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void invoke(@NotNull final Project project, Editor editor, JetFile file) {
|
protected void invoke(@NotNull Project project, Editor editor, JetFile file) {
|
||||||
BindingContext bindingContext = ResolvePackage.getBindingContext(file);
|
BindingContext bindingContext = ResolvePackage.getBindingContext(file);
|
||||||
runChangeSignature(project, functionDescriptor, new JetChangeSignatureConfiguration() {
|
runChangeSignature(project, functionDescriptor, new JetChangeSignatureConfiguration() {
|
||||||
@Override
|
@Override
|
||||||
public void configure(@NotNull JetChangeSignatureData changeSignatureData, @NotNull BindingContext bindingContext) {
|
public void configure(@NotNull JetChangeSignatureData changeSignatureData, @NotNull BindingContext bindingContext) {
|
||||||
JetNameValidator validator = JetNameValidator.createCollectingValidator(project);
|
JetNameValidator validator = JetNameValidator.createCollectingValidator();
|
||||||
changeSignatureData.clearParameters();
|
changeSignatureData.clearParameters();
|
||||||
for (JetType type : parameterTypes) {
|
for (JetType type : parameterTypes) {
|
||||||
String name = JetNameSuggester.suggestNames(type, validator, "param")[0];
|
String name = JetNameSuggester.suggestNames(type, validator, "param")[0];
|
||||||
|
|||||||
+2
-2
@@ -128,7 +128,7 @@ private class TypeOrExpressionThereof(private val variance: Variance,
|
|||||||
else {
|
else {
|
||||||
JetNameSuggester.suggestNamesForExpression(
|
JetNameSuggester.suggestNamesForExpression(
|
||||||
expressionOfType!!,
|
expressionOfType!!,
|
||||||
JetNameValidator.getEmptyValidator(expressionOfType.getProject())
|
JetNameValidator.getEmptyValidator()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -665,7 +665,7 @@ public class CreateFunctionFromUsageFix internal (
|
|||||||
private fun setupParameterTypeTemplates(builder: TemplateBuilder, parameterList: JetParameterList): List<TypeExpression> {
|
private fun setupParameterTypeTemplates(builder: TemplateBuilder, parameterList: JetParameterList): List<TypeExpression> {
|
||||||
val jetParameters = parameterList.getParameters()
|
val jetParameters = parameterList.getParameters()
|
||||||
assert(jetParameters.size == parameters.size)
|
assert(jetParameters.size == parameters.size)
|
||||||
val dummyValidator = JetNameValidator.getEmptyValidator(parameterList.getProject())
|
val dummyValidator = JetNameValidator.getEmptyValidator()
|
||||||
|
|
||||||
val typeParameters = ArrayList<TypeExpression>()
|
val typeParameters = ArrayList<TypeExpression>()
|
||||||
for ((parameter, jetParameter) in parameters.zip(jetParameters)) {
|
for ((parameter, jetParameter) in parameters.zip(jetParameters)) {
|
||||||
|
|||||||
@@ -16,32 +16,27 @@
|
|||||||
|
|
||||||
package org.jetbrains.jet.plugin.refactoring;
|
package org.jetbrains.jet.plugin.refactoring;
|
||||||
|
|
||||||
import com.intellij.openapi.project.Project;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public abstract class JetNameValidator {
|
public abstract class JetNameValidator {
|
||||||
private final Project project;
|
private static final JetNameValidator EMPTY_VALIDATOR = new JetNameValidator() {
|
||||||
|
@Override
|
||||||
|
protected boolean validateInner(String name) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
protected JetNameValidator(Project project) {
|
@NotNull
|
||||||
this.project = project;
|
public static JetNameValidator getEmptyValidator() {
|
||||||
|
return EMPTY_VALIDATOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static JetNameValidator getEmptyValidator(final Project project) {
|
public static JetNameValidator createCollectingValidator() {
|
||||||
return new JetNameValidator(project) {
|
return new JetNameValidator() {
|
||||||
@Override
|
|
||||||
protected boolean validateInner(String name) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public static JetNameValidator createCollectingValidator(final Project project) {
|
|
||||||
return new JetNameValidator(project) {
|
|
||||||
private final Set<String> suggestedSet = new HashSet<String>();
|
private final Set<String> suggestedSet = new HashSet<String>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -74,8 +69,4 @@ public abstract class JetNameValidator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected abstract boolean validateInner(String name);
|
protected abstract boolean validateInner(String name);
|
||||||
|
|
||||||
public Project getProject() {
|
|
||||||
return project;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ public class JetNameValidatorImpl extends JetNameValidator {
|
|||||||
private final Target myTarget;
|
private final Target myTarget;
|
||||||
|
|
||||||
public JetNameValidatorImpl(PsiElement container, PsiElement anchor, Target target) {
|
public JetNameValidatorImpl(PsiElement container, PsiElement anchor, Target target) {
|
||||||
super(container.getProject());
|
|
||||||
myContainer = container;
|
myContainer = container;
|
||||||
myAnchor = anchor;
|
myAnchor = anchor;
|
||||||
myTarget = target;
|
myTarget = target;
|
||||||
|
|||||||
+1
-1
@@ -92,7 +92,7 @@ public class JetNameSuggesterTest extends LightCodeInsightFixtureTestCase {
|
|||||||
JetRefactoringUtil.selectExpression(myFixture.getEditor(), file, new JetRefactoringUtil.SelectExpressionCallback() {
|
JetRefactoringUtil.selectExpression(myFixture.getEditor(), file, new JetRefactoringUtil.SelectExpressionCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run(@Nullable JetExpression expression) {
|
public void run(@Nullable JetExpression expression) {
|
||||||
String[] names = JetNameSuggester.suggestNames(expression, JetNameValidator.getEmptyValidator(getProject()), "value");
|
String[] names = JetNameSuggester.suggestNames(expression, JetNameValidator.getEmptyValidator(), "value");
|
||||||
Arrays.sort(names);
|
Arrays.sort(names);
|
||||||
String result = StringUtil.join(names, "\n").trim();
|
String result = StringUtil.join(names, "\n").trim();
|
||||||
assertEquals(expectedResultText, result);
|
assertEquals(expectedResultText, result);
|
||||||
|
|||||||
Reference in New Issue
Block a user