mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
change signature: update expected type for default value on type change (IDEA-153576)
This commit is contained in:
+22
@@ -23,6 +23,7 @@ import com.intellij.openapi.fileTypes.StdFileTypes;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.VariableKind;
|
||||
import com.intellij.psi.impl.source.PsiExpressionCodeFragmentImpl;
|
||||
import com.intellij.refactoring.ui.JavaCodeFragmentTableCellEditor;
|
||||
import com.intellij.refactoring.ui.RefactoringDialog;
|
||||
import com.intellij.refactoring.ui.StringTableCellEditor;
|
||||
@@ -30,6 +31,7 @@ import com.intellij.refactoring.util.CanonicalTypes;
|
||||
import com.intellij.ui.ColoredTableCellRenderer;
|
||||
import com.intellij.ui.EditorTextField;
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.ui.ColumnInfo;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -106,6 +108,26 @@ public class JavaParameterTableModel extends ParameterTableModelBase<ParameterIn
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValueAtWithoutUpdate(Object aValue, int rowIndex, int columnIndex) {
|
||||
super.setValueAtWithoutUpdate(aValue, rowIndex, columnIndex);
|
||||
//if type was changed - update default value's expected type
|
||||
PsiType type = null;
|
||||
if (columnIndex == 0 && aValue instanceof String) {
|
||||
try {
|
||||
type = JavaPsiFacade.getElementFactory(myProject).createTypeFromText((String)aValue, myTypeContext);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
type = null;
|
||||
}
|
||||
}
|
||||
|
||||
if (type != null) {
|
||||
final ParameterTableModelItemBase<ParameterInfoImpl> item = getItem(rowIndex);
|
||||
((PsiExpressionCodeFragmentImpl)item.defaultValueCodeFragment).setExpectedType(type);
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static PsiType getRowType(JTable table, int row) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user