lambdas = DebuggerUtilsEx.collectLambdas(original, true);
- Document document = PsiDocumentManager.getInstance(file.getProject()).getDocument(file);
- if (document == null || line >= document.getLineCount()) {
- return original;
- }
- if (myLambdaOrdinal < lambdas.size()) {
- PsiElement firstElem = DebuggerUtilsEx.getFirstElementOnTheLine(lambdas.get(myLambdaOrdinal), document, line);
- if (firstElem != null) {
- return SourcePosition.createFromElement(firstElem);
- }
+ Document document = PsiDocumentManager.getInstance(file.getProject()).getDocument(file);
+ if (document == null || line >= document.getLineCount()) {
+ return original;
+ }
+ if (myLambdaOrdinal < lambdas.size()) {
+ PsiElement firstElem = DebuggerUtilsEx.getFirstElementOnTheLine(lambdas.get(myLambdaOrdinal), document, line);
+ if (firstElem != null) {
+ return SourcePosition.createFromElement(firstElem);
}
}
- else {
- // There may be more than one class/method code on the line, so we need to find out the correct place
- for (PsiElement elem : getLineElements(file, line)) {
- PsiElement remappedElement = remapElement(elem);
- if (remappedElement != null) {
- if (remappedElement.getTextOffset() <= original.getOffset()) break;
- return SourcePosition.createFromElement(remappedElement);
- }
- }
- }
- return original;
}
+ else {
+ // There may be more than one class/method code on the line, so we need to find out the correct place
+ for (PsiElement elem : getLineElements(file, line)) {
+ PsiElement remappedElement = remapElement(elem);
+ if (remappedElement != null) {
+ if (remappedElement.getTextOffset() <= original.getOffset()) break;
+ return SourcePosition.createFromElement(remappedElement);
+ }
+ }
+ }
+ return original;
});
}
}
diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/RemappedSourcePosition.java b/java/debugger/impl/src/com/intellij/debugger/engine/RemappedSourcePosition.java
index 8fb462314bd9..51d2bd00017e 100644
--- a/java/debugger/impl/src/com/intellij/debugger/engine/RemappedSourcePosition.java
+++ b/java/debugger/impl/src/com/intellij/debugger/engine/RemappedSourcePosition.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2015 JetBrains s.r.o.
+ * Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@ abstract class RemappedSourcePosition extends SourcePosition {
private SourcePosition myDelegate;
private boolean myMapped = false;
- public RemappedSourcePosition(SourcePosition delegate) {
+ public RemappedSourcePosition(@NotNull SourcePosition delegate) {
myDelegate = delegate;
}
diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java
index 63e3db1c90f1..e7c692b80401 100644
--- a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java
+++ b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java
@@ -761,6 +761,20 @@ public abstract class DebuggerUtilsEx extends DebuggerUtils {
return null;
}
+ @Nullable
+ public static SourcePosition toSourcePosition(@Nullable XSourcePosition position, Project project) {
+ if (position != null) {
+ if (position instanceof JavaXSourcePosition) {
+ return ((JavaXSourcePosition)position).mySourcePosition;
+ }
+ PsiFile psiFile = getPsiFile(position, project);
+ if (psiFile != null) {
+ return SourcePosition.createFromLine(psiFile, position.getLine());
+ }
+ }
+ return null;
+ }
+
private static class JavaXSourcePosition implements XSourcePosition, ExecutionPointHighlighter.HighlighterProvider {
private final SourcePosition mySourcePosition;
@NotNull private final VirtualFile myFile;
@@ -799,6 +813,18 @@ public abstract class DebuggerUtilsEx extends DebuggerUtils {
}
}
+ @Nullable
+ public static PsiFile getPsiFile(@Nullable XSourcePosition position, Project project) {
+ ApplicationManager.getApplication().assertReadAccessAllowed();
+ if (position != null) {
+ VirtualFile file = position.getFile();
+ if (file.isValid()) {
+ return PsiManager.getInstance(project).findFile(file);
+ }
+ }
+ return null;
+ }
+
/**
* Decompiler aware version
*/
diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointWithHighlighter.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointWithHighlighter.java
index 2e4ec9617827..8ccee6bf428a 100644
--- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointWithHighlighter.java
+++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointWithHighlighter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2016 JetBrains s.r.o.
+ * Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,6 +23,7 @@ import com.intellij.debugger.engine.JVMNameUtil;
import com.intellij.debugger.engine.events.DebuggerCommandImpl;
import com.intellij.debugger.engine.requests.RequestManagerImpl;
import com.intellij.debugger.impl.DebuggerContextImpl;
+import com.intellij.debugger.impl.DebuggerUtilsEx;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
@@ -35,7 +36,6 @@ import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiFile;
-import com.intellij.psi.PsiManager;
import com.intellij.psi.jsp.JspFile;
import com.intellij.ui.classFilter.ClassFilter;
import com.intellij.util.StringBuilderSpinAllocator;
@@ -235,28 +235,10 @@ public abstract class BreakpointWithHighlighter
return true;
}
- @Nullable
+ @NotNull
@Override
public final XBreakpointCustomPropertiesPanel> createCustomRightPropertiesPanel(@NotNull Project project) {
return new JavaBreakpointFiltersPanel<>(project);
}
- @Nullable
+ @NotNull
@Override
public final XDebuggerEditorsProvider getEditorsProvider(@NotNull XBreakpoint breakpoint, @NotNull Project project) {
return new JavaDebuggerEditorsProvider();
@@ -64,14 +63,9 @@ public abstract class JavaBreakpointTypeBase
public XSourcePosition getSourcePosition(@NotNull XBreakpoint breakpoint) {
Breakpoint javaBreakpoint = BreakpointManager.getJavaBreakpoint(breakpoint);
if (javaBreakpoint != null) {
- final PsiClass aClass = javaBreakpoint.getPsiClass();
+ PsiClass aClass = javaBreakpoint.getPsiClass();
if (aClass != null) {
- return ApplicationManager.getApplication().runReadAction(new Computable() {
- @Override
- public XSourcePosition compute() {
- return XDebuggerUtil.getInstance().createPositionByElement(aClass);
- }
- });
+ return ReadAction.compute(() -> XDebuggerUtil.getInstance().createPositionByElement(aClass));
}
}
return null;
diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/JavaLineBreakpointType.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/JavaLineBreakpointType.java
index 0acacde8c0f2..2842845cbca7 100644
--- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/JavaLineBreakpointType.java
+++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/JavaLineBreakpointType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2016 JetBrains s.r.o.
+ * Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@ package com.intellij.debugger.ui.breakpoints;
import com.intellij.debugger.DebuggerBundle;
import com.intellij.debugger.HelpID;
import com.intellij.debugger.SourcePosition;
+import com.intellij.debugger.engine.PositionManagerImpl;
import com.intellij.debugger.impl.DebuggerUtilsEx;
import com.intellij.icons.AllIcons;
import com.intellij.openapi.editor.Document;
@@ -33,6 +34,7 @@ import com.intellij.xdebugger.breakpoints.XBreakpoint;
import com.intellij.xdebugger.breakpoints.XLineBreakpoint;
import com.intellij.xdebugger.breakpoints.ui.XBreakpointGroupingRule;
import com.intellij.xdebugger.impl.XSourcePositionImpl;
+import com.intellij.xdebugger.impl.breakpoints.XLineBreakpointImpl;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -99,12 +101,11 @@ public class JavaLineBreakpointType extends JavaLineBreakpointTypeBase computeVariants(@NotNull Project project, @NotNull XSourcePosition position) {
- PsiFile file = PsiManager.getInstance(project).findFile(position.getFile());
- if (file == null) {
+ SourcePosition pos = DebuggerUtilsEx.toSourcePosition(position, project);
+ if (pos == null) {
return Collections.emptyList();
}
- SourcePosition pos = SourcePosition.createFromLine(file, position.getLine());
List lambdas = DebuggerUtilsEx.collectLambdas(pos, true);
if (lambdas.isEmpty()) {
return Collections.emptyList();
@@ -116,7 +117,7 @@ public class JavaLineBreakpointType extends JavaLineBreakpointTypeBase breakpoint) {
- JavaLineBreakpointProperties properties = breakpoint.getProperties();
- if (properties != null) {
- Integer ordinal = properties.getLambdaOrdinal();
- if (ordinal != null) {
- Breakpoint javaBreakpoint = BreakpointManager.getJavaBreakpoint(breakpoint);
- if (javaBreakpoint instanceof LineBreakpoint) {
- PsiElement method = getContainingMethod((LineBreakpoint)javaBreakpoint);
- if (method != null) {
- return method.getTextRange();
- }
+ Integer ordinal = getLambdaOrdinal(breakpoint);
+ if (ordinal != null) {
+ Breakpoint javaBreakpoint = BreakpointManager.getJavaBreakpoint(breakpoint);
+ if (javaBreakpoint instanceof LineBreakpoint) {
+ PsiElement method = getContainingMethod((LineBreakpoint)javaBreakpoint);
+ if (method != null) {
+ return method.getTextRange();
}
}
}
return null;
}
+ @Override
+ public XSourcePosition getSourcePosition(@NotNull XBreakpoint breakpoint) {
+ Integer ordinal = getLambdaOrdinal(breakpoint);
+ if (ordinal != null && ordinal > -1) {
+ SourcePosition linePosition = createLineSourcePosition((XLineBreakpointImpl)breakpoint);
+ if (linePosition != null) {
+ return DebuggerUtilsEx.toXSourcePosition(new PositionManagerImpl.JavaSourcePosition(linePosition, ordinal));
+ }
+ }
+ return null;
+ }
+
+ @Nullable
+ private static Integer getLambdaOrdinal(XBreakpoint breakpoint) {
+ JavaLineBreakpointProperties properties = breakpoint.getProperties();
+ return properties != null ? properties.getLambdaOrdinal() : null;
+ }
+
+ @Nullable
+ private static SourcePosition createLineSourcePosition(XLineBreakpointImpl breakpoint) {
+ VirtualFile file = breakpoint.getFile();
+ if (file != null) {
+ PsiFile psiFile = PsiManager.getInstance(breakpoint.getProject()).findFile(file);
+ if (psiFile != null) {
+ return SourcePosition.createFromLine(psiFile, breakpoint.getLine());
+ }
+ }
+ return null;
+ }
+
@Override
public boolean canBeHitInOtherPlaces() {
return true; // line breakpoints could be hit in other versions of the same classes
diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/LineBreakpoint.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/LineBreakpoint.java
index 64e558a18699..052ac43562f8 100644
--- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/LineBreakpoint.java
+++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/LineBreakpoint.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2016 JetBrains s.r.o.
+ * Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -525,7 +525,7 @@ public class LineBreakpoint extends Breakpoi
XSourcePosition position = myXBreakpoint.getSourcePosition();
if (position != null) {
int offset = position.getOffset();
- return findOwnerMethod(getPsiFile(), offset);
+ return findOwnerMethod(DebuggerUtilsEx.getPsiFile(myXBreakpoint.getSourcePosition(), myProject), offset);
}
return null;
}
diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/impl/DebuggerTreeRenderer.java b/java/debugger/impl/src/com/intellij/debugger/ui/impl/DebuggerTreeRenderer.java
index d94271e38183..fb8a715d3a88 100644
--- a/java/debugger/impl/src/com/intellij/debugger/ui/impl/DebuggerTreeRenderer.java
+++ b/java/debugger/impl/src/com/intellij/debugger/ui/impl/DebuggerTreeRenderer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2016 JetBrains s.r.o.
+ * Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,6 +35,8 @@ import com.intellij.xdebugger.impl.ui.DebuggerUIUtil;
import com.intellij.xdebugger.impl.ui.XDebugSessionTab;
import com.intellij.xdebugger.impl.ui.XDebuggerUIConstants;
import com.intellij.xdebugger.impl.ui.tree.ValueMarkup;
+import com.sun.jdi.ObjectReference;
+import com.sun.jdi.Value;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -74,7 +76,7 @@ public class DebuggerTreeRenderer extends ColoredTreeCellRenderer {
nodeIcon = stackDescriptor.getIcon();
}
else if (descriptor instanceof ValueDescriptorImpl) {
- nodeIcon = getValueIcon((ValueDescriptorImpl)descriptor);
+ nodeIcon = getValueIcon((ValueDescriptorImpl)descriptor, null);
}
else if (descriptor instanceof MessageDescriptor) {
MessageDescriptor messageDescriptor = (MessageDescriptor)descriptor;
@@ -95,11 +97,17 @@ public class DebuggerTreeRenderer extends ColoredTreeCellRenderer {
return nodeIcon;
}
- public static Icon getValueIcon(ValueDescriptorImpl valueDescriptor) {
+ public static Icon getValueIcon(ValueDescriptorImpl valueDescriptor, @Nullable ValueDescriptorImpl parentDescriptor) {
Icon nodeIcon;
if (valueDescriptor instanceof FieldDescriptorImpl) {
FieldDescriptorImpl fieldDescriptor = (FieldDescriptorImpl)valueDescriptor;
nodeIcon = PlatformIcons.FIELD_ICON;
+ if (parentDescriptor != null) {
+ Value value = valueDescriptor.getValue();
+ if (value instanceof ObjectReference && value.equals(parentDescriptor.getValue())) {
+ nodeIcon = AllIcons.Debugger.Selfreference;
+ }
+ }
if (fieldDescriptor.getField().isFinal()) {
nodeIcon = new LayeredIcon(nodeIcon, AllIcons.Nodes.FinalMark);
}
diff --git a/java/execution/impl/src/com/intellij/execution/testframework/SearchForTestsTask.java b/java/execution/impl/src/com/intellij/execution/testframework/SearchForTestsTask.java
index 5a8e1d221c8e..74a9f465a87c 100644
--- a/java/execution/impl/src/com/intellij/execution/testframework/SearchForTestsTask.java
+++ b/java/execution/impl/src/com/intellij/execution/testframework/SearchForTestsTask.java
@@ -52,7 +52,7 @@ public abstract class SearchForTestsTask extends Task.Backgroundable {
protected abstract void search() throws ExecutionException;
- protected abstract void onFound();
+ protected abstract void onFound() throws ExecutionException;
public void ensureFinished() {
if (myProcessIndicator != null && !myProcessIndicator.isCanceled()) {
@@ -68,7 +68,12 @@ public abstract class SearchForTestsTask extends Task.Backgroundable {
catch (Throwable e) {
LOG.error(e);
}
- onFound();
+ try {
+ onFound();
+ }
+ catch (ExecutionException e) {
+ LOG.error(e);
+ }
}
else {
myProcessIndicator = new BackgroundableProcessIndicator(this);
@@ -131,7 +136,12 @@ public abstract class SearchForTestsTask extends Task.Backgroundable {
@Override
public void onSuccess() {
DumbService.getInstance(getProject()).runWhenSmart(() -> {
- onFound();
+ try {
+ onFound();
+ }
+ catch (ExecutionException e) {
+ LOG.error(e);
+ }
finish();
});
}
diff --git a/java/execution/impl/src/com/intellij/execution/ui/JreComboboxEditor.java b/java/execution/impl/src/com/intellij/execution/ui/JreComboboxEditor.java
index 4611b62acad4..5c13a5e2f9e4 100644
--- a/java/execution/impl/src/com/intellij/execution/ui/JreComboboxEditor.java
+++ b/java/execution/impl/src/com/intellij/execution/ui/JreComboboxEditor.java
@@ -24,6 +24,9 @@ import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import javax.swing.plaf.basic.BasicComboBoxEditor;
+import java.awt.*;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
/**
* @author nik
@@ -56,6 +59,23 @@ class JreComboboxEditor extends BasicComboBoxEditor {
protected JTextField createEditorComponent() {
JBTextField field = new JBTextField();
field.setBorder(null);
+ field.addFocusListener(new FocusListener() {
+ @Override public void focusGained(FocusEvent e) {
+ update(e);
+ }
+ @Override public void focusLost(FocusEvent e) {
+ update(e);
+ }
+
+ private void update(FocusEvent e) {
+ Component c = e.getComponent().getParent();
+ if (c != null) {
+ c.revalidate();
+ c.repaint();
+ }
+ }
+ });
+
return field;
}
diff --git a/java/idea-ui/src/com/intellij/jarRepository/JarRepositoryManager.java b/java/idea-ui/src/com/intellij/jarRepository/JarRepositoryManager.java
index 8db950e1aedd..1ee2fe74f79e 100644
--- a/java/idea-ui/src/com/intellij/jarRepository/JarRepositoryManager.java
+++ b/java/idea-ui/src/com/intellij/jarRepository/JarRepositoryManager.java
@@ -48,6 +48,8 @@ import com.intellij.util.concurrency.SequentialTaskExecutor;
import gnu.trove.THashMap;
import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.transfer.RepositoryOfflineException;
+import org.eclipse.aether.transfer.TransferCancelledException;
import org.eclipse.aether.version.Version;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -373,7 +375,7 @@ public class JarRepositoryManager {
@Nullable
private static T submitModalJob(@Nullable final Project project, final String title, final Function job){
final Ref result = Ref.create(null);
- new Task.Modal(project, title, false) { // todo: is cancel support possible with aether?
+ new Task.Modal(project, title, true) {
@Override
public void run(@NotNull ProgressIndicator indicator) {
try {
@@ -393,7 +395,7 @@ public class JarRepositoryManager {
try {
ourTasksInProgress++;
final ProgressIndicator indicator = new EmptyProgressIndicator();
- return ProgressManager.getInstance().runProcess(() -> job.apply(indicator), indicator);
+ return ProgressManager.getInstance().runProcess(() -> job.apply(indicator), indicator);
}
catch (ProcessCanceledException ignored){
}
@@ -408,10 +410,15 @@ public class JarRepositoryManager {
}
private static Collection lookupVersionsImpl(final String groupId, final String artifactId, ArtifactRepositoryManager manager) throws Exception {
- final List result = manager.getAvailableVersions(groupId, artifactId, "[0,)", ArtifactKind.ARTIFACT);
- return result.stream().sorted(Comparator.reverseOrder()).map(Version::toString).collect(
- Collectors.toCollection(() -> new ArrayList<>(result.size()))
- );
+ try {
+ final List result = manager.getAvailableVersions(groupId, artifactId, "[0,)", ArtifactKind.ARTIFACT);
+ return result.stream().sorted(Comparator.reverseOrder()).map(Version::toString).collect(
+ Collectors.toCollection(() -> new ArrayList<>(result.size()))
+ );
+ }
+ catch (TransferCancelledException e) {
+ throw new ProcessCanceledException(e);
+ }
}
private static abstract class AetherJob implements Function {
@@ -430,6 +437,7 @@ public class JarRepositoryManager {
public final T apply(ProgressIndicator indicator) {
if (canStart()) {
indicator.setText(getProgressText());
+ indicator.setIndeterminate(true);
final ArrayList remotes = new ArrayList<>();
for (RemoteRepositoryDescription repository : myRepositories) {
@@ -441,8 +449,16 @@ public class JarRepositoryManager {
public void consume(String message) {
indicator.setText(message);
}
+
+ @Override
+ public boolean isCanceled() {
+ return indicator.isCanceled();
+ }
}));
}
+ catch (ProcessCanceledException e) {
+ throw e;
+ }
catch (Exception e) {
LOG.info(e);
}
@@ -536,12 +552,23 @@ public class JarRepositoryManager {
try {
return manager.resolveDependencyAsArtifact(myDesc.getGroupId(), myDesc.getArtifactId(), version, myKinds);
}
+ catch (TransferCancelledException e) {
+ throw new ProcessCanceledException(e);
+ }
+ catch (RepositoryOfflineException e) {
+ throw e;
+ }
catch (Exception e) {
final String resolvedVersion = resolveVersion(manager, version);
if (Comparing.equal(version, resolvedVersion)) { // no changes
throw e;
}
- return manager.resolveDependencyAsArtifact(myDesc.getGroupId(), myDesc.getArtifactId(), resolvedVersion, myKinds);
+ try {
+ return manager.resolveDependencyAsArtifact(myDesc.getGroupId(), myDesc.getArtifactId(), resolvedVersion, myKinds);
+ }
+ catch (TransferCancelledException e1) {
+ throw new ProcessCanceledException(e1);
+ }
}
}
diff --git a/java/idea-ui/src/com/intellij/util/descriptors/impl/ConfigFileContainerImpl.java b/java/idea-ui/src/com/intellij/util/descriptors/impl/ConfigFileContainerImpl.java
index 1521876d9f1f..65940142a889 100644
--- a/java/idea-ui/src/com/intellij/util/descriptors/impl/ConfigFileContainerImpl.java
+++ b/java/idea-ui/src/com/intellij/util/descriptors/impl/ConfigFileContainerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2015 JetBrains s.r.o.
+ * Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -47,7 +47,7 @@ public class ConfigFileContainerImpl extends SimpleModificationTracker implement
myConfiguration = configuration;
myMetaDataProvider = descriptorMetaDataProvider;
myProject = project;
- VirtualFileManager.getInstance().addVirtualFileListener(new VirtualFileAdapter() {
+ VirtualFileManager.getInstance().addVirtualFileListener(new VirtualFileListener() {
@Override
public void propertyChanged(@NotNull final VirtualFilePropertyEvent event) {
if (event.getPropertyName().equals(VirtualFile.PROP_NAME)) {
@@ -128,7 +128,7 @@ public class ConfigFileContainerImpl extends SimpleModificationTracker implement
}
public void updateDescriptors(@NotNull MultiValuesMap descriptorsMap) {
- Set toDelete = myConfigFiles.isEmpty() ? Collections.emptySet() : new HashSet<>(myConfigFiles.values());
+ Set toDelete = myConfigFiles.isEmpty() ? Collections.emptySet() : new HashSet<>(myConfigFiles.values());
Set added = null;
for (Map.Entry> entry : descriptorsMap.entrySet()) {
diff --git a/java/java-analysis-api/java-analysis-api.iml b/java/java-analysis-api/java-analysis-api.iml
index e4036f35aded..84a6db05d79a 100644
--- a/java/java-analysis-api/java-analysis-api.iml
+++ b/java/java-analysis-api/java-analysis-api.iml
@@ -11,5 +11,6 @@
+