reuse abstract parameter table for php make static refactoring

This commit is contained in:
Anna.Kozlova
2016-04-15 11:46:20 +02:00
parent 67e5371da1
commit a61d6e4b38
2 changed files with 16 additions and 0 deletions
@@ -15,6 +15,9 @@
*/
package com.intellij.refactoring.util;
import com.intellij.lang.Language;
import com.intellij.lang.LanguageNamesValidation;
import com.intellij.openapi.project.Project;
import com.intellij.ui.BooleanTableCellRenderer;
import com.intellij.ui.TableUtil;
import com.intellij.ui.ToolbarDecorator;
@@ -149,6 +152,11 @@ public abstract class AbstractParameterTablePanel<P extends AbstractVariableData
myNameValidator = nameValidator;
}
public NameColumnInfo(Language lang, Project project) {
super("Name");
myNameValidator = (paramName) -> LanguageNamesValidation.INSTANCE.forLanguage(lang).isIdentifier(paramName, project);
}
@Nullable
@Override
public String valueOf(AbstractVariableData data) {
@@ -15,10 +15,18 @@
*/
package com.intellij.refactoring.util;
import com.intellij.lang.Language;
import com.intellij.openapi.project.Project;
import com.intellij.util.ui.ColumnInfo;
import java.util.function.Predicate;
public abstract class SimpleParameterTablePanel extends AbstractParameterTablePanel<AbstractVariableData> {
public SimpleParameterTablePanel(Predicate<String> parameterNameValidator) {
super(new PassParameterColumnInfo(), new NameColumnInfo(parameterNameValidator));
}
public SimpleParameterTablePanel(Project project, Language language, ColumnInfo... columnInfos) {
super(new PassParameterColumnInfo(), new NameColumnInfo(language, project));
}
}