mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -333,7 +333,7 @@ public class MarkerType {
|
||||
return null;
|
||||
}
|
||||
|
||||
Comparator<PsiClass> comparator = new PsiClassListCellRenderer().getComparator();
|
||||
Comparator<PsiClass> comparator = PsiClassListCellRenderer.INSTANCE.getComparator();
|
||||
Arrays.sort(subclasses, comparator);
|
||||
|
||||
String start = aClass.isInterface()
|
||||
|
||||
+1
-1
@@ -120,7 +120,7 @@ public abstract class CreateFromUsageBaseFix extends BaseIntentionAction {
|
||||
final Project project = firstClass.getProject();
|
||||
|
||||
final JList list = new JBList(classes);
|
||||
PsiElementListCellRenderer renderer = new PsiClassListCellRenderer();
|
||||
PsiElementListCellRenderer renderer = PsiClassListCellRenderer.INSTANCE;
|
||||
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
list.setCellRenderer(renderer);
|
||||
final PopupChooserBuilder builder = new PopupChooserBuilder(list);
|
||||
|
||||
+1
-1
@@ -103,7 +103,7 @@ public class CreateInnerClassFromUsageFix extends CreateClassFromUsageBaseFix {
|
||||
final Project project = classes[0].getProject();
|
||||
|
||||
final JList list = new JBList(classes);
|
||||
PsiElementListCellRenderer renderer = new PsiClassListCellRenderer();
|
||||
PsiElementListCellRenderer renderer = PsiClassListCellRenderer.INSTANCE;
|
||||
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
list.setCellRenderer(renderer);
|
||||
final PopupChooserBuilder builder = new PopupChooserBuilder(list);
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@ public class PullAsAbstractUpFix extends LocalQuickFixAndIntentionActionOnPsiEle
|
||||
pullUp(method, containingClass, classesToPullUp.iterator().next());
|
||||
}
|
||||
else if (editor != null) {
|
||||
NavigationUtil.getPsiElementPopup(classesToPullUp.toArray(new PsiClass[classesToPullUp.size()]), new PsiClassListCellRenderer(),
|
||||
NavigationUtil.getPsiElementPopup(classesToPullUp.toArray(new PsiClass[classesToPullUp.size()]), PsiClassListCellRenderer.INSTANCE,
|
||||
"Choose super class",
|
||||
new PsiElementProcessor<PsiClass>() {
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -44,6 +44,6 @@ public abstract class ChooseClassAndDoHighlightRunnable extends ChooseOneOrAllRu
|
||||
|
||||
@Override
|
||||
protected PsiElementListCellRenderer<PsiClass> createRenderer() {
|
||||
return new PsiClassListCellRenderer();
|
||||
return PsiClassListCellRenderer.INSTANCE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,6 @@ import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.FindSuperElementsHelper;
|
||||
import com.intellij.psi.presentation.java.SymbolPresentationUtil;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -63,7 +62,7 @@ public class ShowSiblingsAction extends ShowImplementationsAction {
|
||||
final boolean isMethod = superElements[0] instanceof PsiMethod;
|
||||
NavigatablePsiElement[] navigatablePsiElements = ContainerUtil.findAllAsArray(superElements, NavigatablePsiElement.class);
|
||||
final JBPopup popup = PsiElementListNavigator.navigateOrCreatePopup(navigatablePsiElements, "Choose super " + (isMethod ? "method" : "class or interface"), "Super " + (isMethod ? "methods" : "classes/interfaces"),
|
||||
isMethod ? new MethodCellRenderer(false) : new PsiClassListCellRenderer(), null,
|
||||
isMethod ? new MethodCellRenderer(false) : PsiClassListCellRenderer.INSTANCE, null,
|
||||
objects -> showSiblings(invokedByShortcut, project, editor, file, editor != null, (PsiElement)objects[0]));
|
||||
if (popup != null) {
|
||||
if (editor != null) {
|
||||
|
||||
+2
-7
@@ -178,14 +178,9 @@ public class ImplementAbstractMethodHandler {
|
||||
}
|
||||
|
||||
private static class MyPsiElementListCellRenderer extends PsiElementListCellRenderer<PsiElement> {
|
||||
private final PsiClassListCellRenderer myRenderer;
|
||||
|
||||
public MyPsiElementListCellRenderer() {
|
||||
myRenderer = new PsiClassListCellRenderer();
|
||||
}
|
||||
|
||||
void sort(PsiElement[] result) {
|
||||
final Comparator<PsiClass> comparator = myRenderer.getComparator();
|
||||
final Comparator<PsiClass> comparator = PsiClassListCellRenderer.INSTANCE.getComparator();
|
||||
Arrays.sort(result, (o1, o2) -> {
|
||||
if (o1 instanceof PsiEnumConstant && o2 instanceof PsiEnumConstant) {
|
||||
return ((PsiEnumConstant)o1).getName().compareTo(((PsiEnumConstant)o2).getName());
|
||||
@@ -198,7 +193,7 @@ public class ImplementAbstractMethodHandler {
|
||||
|
||||
@Override
|
||||
public String getElementText(PsiElement element) {
|
||||
return element instanceof PsiClass ? myRenderer.getElementText((PsiClass)element)
|
||||
return element instanceof PsiClass ? PsiClassListCellRenderer.INSTANCE.getElementText((PsiClass)element)
|
||||
: ((PsiEnumConstant)element).getName();
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ public class JavaGotoTargetRendererProvider implements GotoTargetRendererProvide
|
||||
return new MethodCellRenderer(gotoData.hasDifferentNames());
|
||||
}
|
||||
else if (element instanceof PsiClass) {
|
||||
return new PsiClassListCellRenderer();
|
||||
return PsiClassListCellRenderer.INSTANCE;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ import javax.swing.*;
|
||||
|
||||
public class MethodCellRenderer extends PsiElementListCellRenderer<PsiMethod>{
|
||||
private final boolean myShowMethodNames;
|
||||
private final PsiClassListCellRenderer myClassListCellRenderer = new PsiClassListCellRenderer();
|
||||
@PsiFormatUtil.FormatMethodOptions
|
||||
private final int myOptions;
|
||||
|
||||
@@ -37,7 +36,7 @@ public class MethodCellRenderer extends PsiElementListCellRenderer<PsiMethod>{
|
||||
|
||||
public String getElementText(PsiMethod element) {
|
||||
final PsiNamedElement container = fetchContainer(element);
|
||||
String text = container instanceof PsiClass ? myClassListCellRenderer.getElementText((PsiClass)container) : container.getName();
|
||||
String text = container instanceof PsiClass ? PsiClassListCellRenderer.INSTANCE.getElementText((PsiClass)container) : container.getName();
|
||||
if (myShowMethodNames) {
|
||||
text += "."+PsiFormatUtil.formatMethod(element, PsiSubstitutor.EMPTY, myOptions, PsiFormatUtilBase.SHOW_TYPE);
|
||||
}
|
||||
@@ -58,6 +57,6 @@ public class MethodCellRenderer extends PsiElementListCellRenderer<PsiMethod>{
|
||||
}
|
||||
|
||||
public int getIconFlags() {
|
||||
return myClassListCellRenderer.getIconFlags();
|
||||
return PsiClassListCellRenderer.INSTANCE.getIconFlags();
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ import com.intellij.psi.util.PsiFormatUtilBase;
|
||||
import javax.swing.*;
|
||||
|
||||
public class MethodOrFunctionalExpressionCellRenderer extends PsiElementListCellRenderer<NavigatablePsiElement> {
|
||||
private final PsiClassListCellRenderer myClassListCellRenderer = new PsiClassListCellRenderer();
|
||||
private final PsiClassListCellRenderer myClassListCellRenderer = PsiClassListCellRenderer.INSTANCE;
|
||||
private final MethodCellRenderer myMethodCellRenderer;
|
||||
|
||||
public MethodOrFunctionalExpressionCellRenderer(boolean showMethodNames) {
|
||||
@@ -48,6 +48,6 @@ public class MethodOrFunctionalExpressionCellRenderer extends PsiElementListCell
|
||||
}
|
||||
|
||||
public int getIconFlags() {
|
||||
return myClassListCellRenderer.getIconFlags();
|
||||
return PsiClassListCellRenderer.INSTANCE.getIconFlags();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@ import com.intellij.psi.presentation.java.ClassPresentationUtil;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class PsiClassListCellRenderer extends PsiElementListCellRenderer<PsiClass> {
|
||||
public static final PsiClassListCellRenderer INSTANCE = new PsiClassListCellRenderer();
|
||||
|
||||
@Override
|
||||
public String getElementText(PsiClass element) {
|
||||
return ClassPresentationUtil.getNameForClass(element, false);
|
||||
|
||||
+1
-1
@@ -1519,7 +1519,7 @@ public class ExtractMethodProcessor implements MatchProvider {
|
||||
if (classes.size() > 1) {
|
||||
final PsiClass[] psiClasses = classes.keySet().toArray(new PsiClass[classes.size()]);
|
||||
final PsiClass preselection = AnonymousTargetClassPreselectionUtil.getPreselection(classes.keySet(), psiClasses[0]);
|
||||
NavigationUtil.getPsiElementPopup(psiClasses, new PsiClassListCellRenderer(), "Choose Destination Class", processor, preselection)
|
||||
NavigationUtil.getPsiElementPopup(psiClasses, PsiClassListCellRenderer.INSTANCE, "Choose Destination Class", processor, preselection)
|
||||
.showInBestPositionFor(myEditor);
|
||||
return true;
|
||||
}
|
||||
|
||||
+1
-1
@@ -134,7 +134,7 @@ public abstract class BaseExpressionToFieldHandler extends IntroduceHandlerBase
|
||||
}
|
||||
else {
|
||||
PsiClass selection = AnonymousTargetClassPreselectionUtil.getPreselection(classes, myParentClass);
|
||||
NavigationUtil.getPsiElementPopup(classes.toArray(new PsiClass[classes.size()]), new PsiClassListCellRenderer(),
|
||||
NavigationUtil.getPsiElementPopup(classes.toArray(new PsiClass[classes.size()]), PsiClassListCellRenderer.INSTANCE,
|
||||
"Choose class to introduce " + (myIsConstant ? "constant" : "field"),
|
||||
new PsiElementProcessor<PsiClass>() {
|
||||
@Override
|
||||
|
||||
@@ -94,7 +94,7 @@ public abstract class LocalToFieldHandler {
|
||||
final boolean isStatic = tempIsStatic;
|
||||
final PsiClass firstClass = classes.get(0);
|
||||
final PsiClass preselection = AnonymousTargetClassPreselectionUtil.getPreselection(classes, firstClass);
|
||||
NavigationUtil.getPsiElementPopup(classes.toArray(new PsiClass[classes.size()]), new PsiClassListCellRenderer(), "Choose class to introduce " + (myIsConstant ? "constant" : "field"), new PsiElementProcessor<PsiClass>() {
|
||||
NavigationUtil.getPsiElementPopup(classes.toArray(new PsiClass[classes.size()]), PsiClassListCellRenderer.INSTANCE, "Choose class to introduce " + (myIsConstant ? "constant" : "field"), new PsiElementProcessor<PsiClass>() {
|
||||
@Override
|
||||
public boolean execute(@NotNull PsiClass aClass) {
|
||||
AnonymousTargetClassPreselectionUtil.rememberSelection(aClass, aClass);
|
||||
|
||||
+1
-1
@@ -580,7 +580,7 @@ public class IntroduceParameterHandler extends IntroduceHandlerBase {
|
||||
final PsiType returnType = emptyMethod.getReturnType();
|
||||
LOG.assertTrue(returnType != null);
|
||||
final String title = "Choose Applicable Functional Interface: " + methodSignature + " -> " + returnType.getPresentableText();
|
||||
NavigationUtil.getPsiElementPopup(psiClasses, new PsiClassListCellRenderer(), title,
|
||||
NavigationUtil.getPsiElementPopup(psiClasses, PsiClassListCellRenderer.INSTANCE, title,
|
||||
new PsiElementProcessor<PsiClass>() {
|
||||
@Override
|
||||
public boolean execute(@NotNull PsiClass psiClass) {
|
||||
|
||||
+1
-1
@@ -85,7 +85,7 @@ public class GenerateMissedTestsAction extends PsiElementBaseIntentionAction {
|
||||
}
|
||||
|
||||
final JBList list = new JBList(testClasses);
|
||||
list.setCellRenderer(new PsiClassListCellRenderer());
|
||||
list.setCellRenderer(PsiClassListCellRenderer.INSTANCE);
|
||||
JBPopupFactory.getInstance().createListPopupBuilder(list)
|
||||
.setItemChoosenCallback(() -> generateMissedTests((PsiClass)list.getSelectedValue(), srcClass, editor))
|
||||
.setTitle("Choose Test")
|
||||
|
||||
@@ -273,7 +273,7 @@ public class ClsClassImpl extends ClsMemberImpl<PsiClassStub<?>> implements PsiE
|
||||
|
||||
@Override
|
||||
public boolean isDeprecated() {
|
||||
return getStub().isDeprecated();
|
||||
return getStub().isDeprecated() || PsiImplUtil.isDeprecatedByAnnotation(this);
|
||||
}
|
||||
|
||||
public String getSourceFileName() {
|
||||
|
||||
@@ -143,7 +143,7 @@ public class ClsFieldImpl extends ClsMemberImpl<PsiFieldStub> implements PsiFiel
|
||||
|
||||
@Override
|
||||
public boolean isDeprecated() {
|
||||
return getStub().isDeprecated();
|
||||
return getStub().isDeprecated() || PsiImplUtil.isDeprecatedByAnnotation(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -292,12 +292,13 @@ public class PerformanceWatcher implements ApplicationComponent {
|
||||
}
|
||||
|
||||
private static void checkMemoryUsage(File file) {
|
||||
final Runtime rt = Runtime.getRuntime();
|
||||
final long allocatedMem = rt.maxMemory();
|
||||
final long unusedMem = rt.freeMemory();
|
||||
if (unusedMem < allocatedMem / 5) {
|
||||
LOG.info("High memory usage (free " + unusedMem / 1024 / 1024 +
|
||||
" of " + allocatedMem / 1024 / 1024 +
|
||||
Runtime rt = Runtime.getRuntime();
|
||||
long maxMemory = rt.maxMemory();
|
||||
long usedMemory = rt.totalMemory() - rt.freeMemory();
|
||||
long freeMemory = maxMemory - usedMemory;
|
||||
if (freeMemory < maxMemory / 5) {
|
||||
LOG.info("High memory usage (free " + freeMemory / 1024 / 1024 +
|
||||
" of " + maxMemory / 1024 / 1024 +
|
||||
" MB) while dumping threads to " + file);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -465,7 +465,9 @@ public class FileManagerImpl implements FileManager {
|
||||
}
|
||||
else {
|
||||
FileViewProvider viewProvider = myVFileToViewProviderMap.remove(file);
|
||||
markInvalidated(viewProvider);
|
||||
if (viewProvider != null) {
|
||||
markInvalidated(viewProvider);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -476,7 +478,7 @@ public class FileManagerImpl implements FileManager {
|
||||
}
|
||||
}
|
||||
|
||||
private void markInvalidated(FileViewProvider viewProvider) {
|
||||
private void markInvalidated(@NotNull FileViewProvider viewProvider) {
|
||||
if (viewProvider instanceof SingleRootFileViewProvider) {
|
||||
((SingleRootFileViewProvider)viewProvider).markInvalidated();
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ public class PluginXmlDomInspection extends BasicDomElementsInspection<IdeaPlugi
|
||||
int branch = Integer.parseInt(untilBuild);
|
||||
String corrected = (branch - 1) + ".*";
|
||||
String message = "Plain numbers in 'until-build' attribute may be misleading. '" + untilBuild + "' means the same as '" + untilBuild
|
||||
+ ".0', so the plugin won't be compatible with " + untilBuild + ".* builds. It's better to specify '" + corrected + " instead.";
|
||||
+ ".0', so the plugin won't be compatible with " + untilBuild + ".* builds. It's better to specify '" + corrected + "' instead.";
|
||||
holder.createProblem(ideaVersion.getUntilBuild(), message, new CorrectUntilBuildAttributeFix(corrected));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<idea-plugin>
|
||||
<id>test</id>
|
||||
<idea-version since-build="145" until-build="<error descr="Plain numbers in 'until-build' attribute may be misleading. '145' means the same as '145.0', so the plugin won't be compatible with 145.* builds. It's better to specify '144.* instead.">145</error>"/>
|
||||
<idea-version since-build="145" until-build="<error descr="Plain numbers in 'until-build' attribute may be misleading. '145' means the same as '145.0', so the plugin won't be compatible with 145.* builds. It's better to specify '144.*' instead.">145</error>"/>
|
||||
</idea-plugin>
|
||||
|
||||
+1
-1
@@ -102,7 +102,7 @@ public abstract class GrCreateFromUsageBaseFix extends Intention {
|
||||
final Project project = classes.get(0).getProject();
|
||||
|
||||
final JList list = new JBList(classes);
|
||||
PsiElementListCellRenderer renderer = new PsiClassListCellRenderer();
|
||||
PsiElementListCellRenderer renderer = PsiClassListCellRenderer.INSTANCE;
|
||||
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
list.setCellRenderer(renderer);
|
||||
final PopupChooserBuilder builder = new PopupChooserBuilder(list);
|
||||
|
||||
+1
-1
@@ -67,7 +67,7 @@ public abstract class GrIntroduceFieldHandlerBase<Settings extends GrIntroduceSe
|
||||
}
|
||||
};
|
||||
|
||||
NavigationUtil.getPsiElementPopup(scopes, new PsiClassListCellRenderer(), "Choose class to introduce field", processor).showInBestPositionFor(editor);
|
||||
NavigationUtil.getPsiElementPopup(scopes, PsiClassListCellRenderer.INSTANCE, "Choose class to introduce field", processor).showInBestPositionFor(editor);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+10
-8
@@ -37,12 +37,16 @@ public class RepositoryAddLibraryAction extends IntentionAndQuickFixAction {
|
||||
|
||||
@Override
|
||||
public void applyFix(@NotNull Project project, PsiFile file, @Nullable Editor editor) {
|
||||
addLibraryToModule(libraryDescription, module);
|
||||
}
|
||||
|
||||
public static void addLibraryToModule(RepositoryLibraryDescription libraryDescription, Module module) {
|
||||
RepositoryLibraryPropertiesModel model = new RepositoryLibraryPropertiesModel(
|
||||
RepositoryUtils.DefaultVersionId,
|
||||
false,
|
||||
false);
|
||||
RepositoryLibraryPropertiesDialog dialog = new RepositoryLibraryPropertiesDialog(
|
||||
project,
|
||||
module.getProject(),
|
||||
model,
|
||||
libraryDescription,
|
||||
false);
|
||||
@@ -51,14 +55,12 @@ public class RepositoryAddLibraryAction extends IntentionAndQuickFixAction {
|
||||
}
|
||||
IdeaModifiableModelsProvider modifiableModelsProvider = new IdeaModifiableModelsProvider();
|
||||
final ModifiableRootModel modifiableModel = modifiableModelsProvider.getModuleModifiableModel(module);
|
||||
RepositoryLibrarySupport librarySupport = new RepositoryLibrarySupport(project, libraryDescription, model);
|
||||
RepositoryLibrarySupport librarySupport = new RepositoryLibrarySupport(module.getProject(), libraryDescription, model);
|
||||
assert modifiableModel != null;
|
||||
librarySupport.addSupport(
|
||||
module,
|
||||
modifiableModel,
|
||||
modifiableModelsProvider);
|
||||
ApplicationManager.getApplication().runWriteAction(() -> {
|
||||
modifiableModel.commit();
|
||||
});
|
||||
module,
|
||||
modifiableModel,
|
||||
modifiableModelsProvider);
|
||||
ApplicationManager.getApplication().runWriteAction(modifiableModel::commit);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user