This commit is contained in:
Alexey Kudravtsev
2018-09-04 13:06:41 +03:00
parent eab08da195
commit 3528f05e42
4 changed files with 20 additions and 28 deletions
@@ -30,7 +30,7 @@ public enum JavaSdkVersion {
private final LanguageLevel myMaxLanguageLevel;
JavaSdkVersion(LanguageLevel maxLanguageLevel) {
JavaSdkVersion(@NotNull LanguageLevel maxLanguageLevel) {
myMaxLanguageLevel = maxLanguageLevel;
}
@@ -70,6 +70,7 @@ import com.intellij.util.CommonProcessors;
import com.intellij.util.ThrowableRunnable;
import com.intellij.util.WaitFor;
import com.intellij.util.containers.ContainerUtil;
import org.intellij.lang.annotations.Language;
import org.jetbrains.annotations.NotNull;
import java.io.File;
@@ -102,7 +103,7 @@ public class FindManagerTest extends DaemonAnalyzerTestCase {
public void testFindString() throws InterruptedException {
FindModel findModel = FindManagerTestUtils.configureFindModel("done");
@Language("JAVA")
String text = "public static class MyClass{\n/*done*/\npublic static void main(){}}";
FindResult findResult = myFindManager.findString(text, 0, findModel);
assertTrue(findResult.isStringFound());
@@ -609,6 +610,7 @@ public class FindManagerTest extends DaemonAnalyzerTestCase {
public void testFindInCommentsInJsInsideHtml() {
FindModel findModel = FindManagerTestUtils.configureFindModel("@param t done");
@Language("HTML")
String text = "<script>\n" +
"/**\n" +
" * @param t done\n" +
@@ -60,6 +60,7 @@ import org.jetbrains.annotations.Nullable;
import java.lang.ref.Reference;
import java.lang.ref.SoftReference;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
@@ -283,8 +284,8 @@ public abstract class AbstractFileViewProvider extends UserDataHolderBase implem
public final void onContentReload() {
List<PsiFile> files = getCachedPsiFiles();
List<PsiTreeChangeEventImpl> events = ContainerUtil.newArrayList();
List<PsiTreeChangeEventImpl> genericEvents = ContainerUtil.newArrayList();
List<PsiTreeChangeEventImpl> events = new ArrayList<>(files.size());
List<PsiTreeChangeEventImpl> genericEvents = new ArrayList<>(files.size());
for (PsiFile file : files) {
genericEvents.add(createChildrenChangeEvent(file, true));
events.add(createChildrenChangeEvent(file, false));
@@ -153,7 +153,7 @@ public class ImageOrColorPreviewManager implements Disposable, EditorMouseMotion
return Collections.emptySet();
}
final Set<PsiElement> elements = Collections.newSetFromMap(ContainerUtil.createWeakMap());
final Set<PsiElement> elements = ContainerUtil.createWeakSet();
final int offset = editor.logicalPositionToOffset(editor.xyToLogicalPosition(point));
if (documentManager.isCommitted(document)) {
ContainerUtil.addIfNotNull(elements, InjectedLanguageUtil.findElementAtNoCommit(psiFile, offset));
@@ -180,42 +180,31 @@ public class ImageOrColorPreviewManager implements Disposable, EditorMouseMotion
alarm.cancelAllRequests();
Point point = event.getMouseEvent().getPoint();
if (myElements == null && event.getMouseEvent().isShiftDown()) {
Collection<PsiElement> elements = myElements;
if (elements == null && event.getMouseEvent().isShiftDown()) {
alarm.addRequest(new PreviewRequest(point, editor, false), 100);
}
else if (myElements != null) {
Collection<PsiElement> elements = myElements;
if (!getPsiElementsAt(point, editor).equals(elements)) {
myElements = null;
for (ElementPreviewProvider provider : Extensions.getExtensions(ElementPreviewProvider.EP_NAME)) {
try {
if (elements != null) {
for (PsiElement element : elements) {
provider.hide(element, editor);
}
} else {
provider.hide(null, editor);
}
}
catch (Exception e) {
LOG.error(e);
else if (elements != null && !getPsiElementsAt(point, editor).equals(elements)) {
myElements = null;
for (ElementPreviewProvider provider : Extensions.getExtensions(ElementPreviewProvider.EP_NAME)) {
try {
for (PsiElement element : elements) {
provider.hide(element, editor);
}
}
catch (Exception e) {
LOG.error(e);
}
}
}
}
@Override
public void mouseDragged(@NotNull EditorMouseEvent e) {
// nothing
}
private final class PreviewRequest implements Runnable {
private final Point point;
private final Editor editor;
private final boolean keyTriggered;
public PreviewRequest(Point point, Editor editor, boolean keyTriggered) {
PreviewRequest(Point point, Editor editor, boolean keyTriggered) {
this.point = point;
this.editor = editor;
this.keyTriggered = keyTriggered;