mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
editable postfix templates: reduce generic count
This commit is contained in:
+1
-3
@@ -26,7 +26,7 @@ import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
public class JavaEditablePostfixTemplate
|
||||
extends EditablePostfixTemplateWithConditions<PsiExpression, JavaPostfixTemplateExpressionCondition> {
|
||||
extends EditablePostfixTemplateWithConditions<JavaPostfixTemplateExpressionCondition> {
|
||||
private static final Condition<PsiElement> PSI_ERROR_FILTER = element -> !PsiTreeUtil.hasErrorElements(element);
|
||||
|
||||
@NotNull private final LanguageLevel myMinimumLanguageLevel;
|
||||
@@ -131,6 +131,4 @@ public class JavaEditablePostfixTemplate
|
||||
public int hashCode() {
|
||||
return Objects.hash(super.hashCode(), myMinimumLanguageLevel);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import javax.swing.*;
|
||||
import java.util.Set;
|
||||
|
||||
public class JavaPostfixTemplateEditor extends PostfixTemplateEditorBase<PsiExpression, JavaPostfixTemplateExpressionCondition> {
|
||||
public class JavaPostfixTemplateEditor extends PostfixTemplateEditorBase<JavaPostfixTemplateExpressionCondition> {
|
||||
|
||||
@NotNull private final JPanel myPanel;
|
||||
@NotNull private final ComboBox<LanguageLevel> myLanguageLevelCombo;
|
||||
|
||||
+5
-7
@@ -18,7 +18,6 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.ui.popup.JBPopupFactory;
|
||||
import com.intellij.openapi.ui.popup.ListPopup;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.ui.AnActionButton;
|
||||
import com.intellij.ui.ColoredListCellRenderer;
|
||||
import com.intellij.ui.ListUtil;
|
||||
@@ -36,8 +35,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public abstract class PostfixTemplateEditorBase<ExpressionType extends PsiElement,
|
||||
Condition extends PostfixTemplateExpressionCondition<ExpressionType>> implements PostfixTemplateEditor {
|
||||
public abstract class PostfixTemplateEditorBase<Condition extends PostfixTemplateExpressionCondition> implements PostfixTemplateEditor {
|
||||
|
||||
@NotNull protected final PostfixTemplateProvider myProvider;
|
||||
@NotNull protected final Editor myTemplateEditor;
|
||||
@@ -71,11 +69,11 @@ public abstract class PostfixTemplateEditorBase<ExpressionType extends PsiElemen
|
||||
|
||||
myExpressionTypesListModel = JBList.createDefaultListModel();
|
||||
myExpressionTypesList = new JBList<>(myExpressionTypesListModel);
|
||||
myExpressionTypesList.setCellRenderer(new ColoredListCellRenderer<PostfixTemplateExpressionCondition<?>>() {
|
||||
myExpressionTypesList.setCellRenderer(new ColoredListCellRenderer<PostfixTemplateExpressionCondition>() {
|
||||
|
||||
@Override
|
||||
protected void customizeCellRenderer(@NotNull JList<? extends PostfixTemplateExpressionCondition<?>> list,
|
||||
PostfixTemplateExpressionCondition<?> value,
|
||||
protected void customizeCellRenderer(@NotNull JList<? extends PostfixTemplateExpressionCondition> list,
|
||||
PostfixTemplateExpressionCondition value,
|
||||
int index,
|
||||
boolean selected,
|
||||
boolean hasFocus) {
|
||||
@@ -126,7 +124,7 @@ public abstract class PostfixTemplateEditorBase<ExpressionType extends PsiElemen
|
||||
if (!(rawTemplate instanceof EditablePostfixTemplateWithConditions)) return;
|
||||
|
||||
//noinspection unchecked
|
||||
EditablePostfixTemplateWithConditions<ExpressionType, Condition> template = (EditablePostfixTemplateWithConditions)rawTemplate;
|
||||
EditablePostfixTemplateWithConditions<Condition> template = (EditablePostfixTemplateWithConditions)rawTemplate;
|
||||
|
||||
myExpressionTypesListModel.clear();
|
||||
for (Condition condition : template.getExpressionConditions()) {
|
||||
|
||||
+3
-4
@@ -10,8 +10,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
public abstract class EditablePostfixTemplateWithConditions<ExpressionType extends PsiElement,
|
||||
ConditionType extends PostfixTemplateExpressionCondition<ExpressionType>>
|
||||
public abstract class EditablePostfixTemplateWithConditions<ConditionType extends PostfixTemplateExpressionCondition>
|
||||
extends EditablePostfixTemplate {
|
||||
|
||||
@NotNull protected final Set<ConditionType> myExpressionConditions;
|
||||
@@ -65,7 +64,7 @@ public abstract class EditablePostfixTemplateWithConditions<ExpressionType exten
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
if (!super.equals(o)) return false;
|
||||
EditablePostfixTemplateWithConditions<?, ?> that = (EditablePostfixTemplateWithConditions<?, ?>)o;
|
||||
EditablePostfixTemplateWithConditions<?> that = (EditablePostfixTemplateWithConditions<?>)o;
|
||||
return myUseTopmostExpression == that.myUseTopmostExpression &&
|
||||
Objects.equals(myExpressionConditions, that.myExpressionConditions);
|
||||
}
|
||||
@@ -75,7 +74,7 @@ public abstract class EditablePostfixTemplateWithConditions<ExpressionType exten
|
||||
return e -> {
|
||||
for (ConditionType condition : myExpressionConditions) {
|
||||
//noinspection unchecked
|
||||
if (condition.value((ExpressionType)e)) {
|
||||
if (condition.value(e)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user