From 2af7054bf5ec18bc3e6c0133d8d8f5a623018254 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Thu, 13 Nov 2014 17:48:38 +0100 Subject: [PATCH 01/25] introduce public constants for VCS tabs titles --- .../openapi/vcs/changes/ui/ChangesViewContentManager.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesViewContentManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesViewContentManager.java index feddadcacfd3..5923ed170556 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesViewContentManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesViewContentManager.java @@ -283,7 +283,11 @@ public class ChangesViewContentManager extends AbstractProjectComponent implemen } } - private static final String[] ourPresetOrder = {"Local", "Repository", "Incoming", "Shelf"}; + public static final String LOCAL_CHANGES = Registry.is("vcs.merge.toolwindows") ? "Local Changes" : "Local"; + public static final String REPOSITORY = "Repository"; + public static final String INCOMING = "Incoming"; + public static final String SHELF = "Shelf"; + private static final String[] ourPresetOrder = {LOCAL_CHANGES, REPOSITORY, INCOMING, SHELF}; private static List doPresetOrdering(final List contents) { final List result = new ArrayList(contents.size()); for (final String preset : ourPresetOrder) { From 2faf2de0ae0b4ab97d63d4b554f5416e07ecd0dd Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Thu, 13 Nov 2014 17:49:39 +0100 Subject: [PATCH 02/25] remove hardcoded literal --- .../com/intellij/openapi/vcs/changes/ChangesViewManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java index 8630f7ffbe50..075927b4fa80 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java @@ -201,7 +201,7 @@ public class ChangesViewManager implements ChangesViewI, JDOMExternalizable, Pro } }); if (ApplicationManager.getApplication().isHeadlessEnvironment()) return; - myContent = ContentFactory.SERVICE.getInstance().createContent(createChangeViewComponent(), "Local", false); + myContent = ContentFactory.SERVICE.getInstance().createContent(createChangeViewComponent(), ChangesViewContentManager.LOCAL_CHANGES, false); myContent.setCloseable(false); myContentManager.addContent(myContent); From 1769f17ec090282aef2943687a4b7481c69828ff Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Thu, 13 Nov 2014 17:50:09 +0100 Subject: [PATCH 03/25] remove hardcoded literal --- .../openapi/vcs/changes/SelectInChangesViewTarget.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/SelectInChangesViewTarget.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/SelectInChangesViewTarget.java index f91bbc63f9e4..2a2f759716d7 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/SelectInChangesViewTarget.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/SelectInChangesViewTarget.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -53,7 +53,7 @@ public class SelectInChangesViewTarget implements SelectInTarget, DumbAware { final VirtualFile file = context.getVirtualFile(); Runnable runnable = new Runnable() { public void run() { - ChangesViewContentManager.getInstance(myProject).selectContent("Local"); + ChangesViewContentManager.getInstance(myProject).selectContent(ChangesViewContentManager.LOCAL_CHANGES); ChangesViewManager.getInstance(myProject).selectFile(file); } }; From f92d6344cd6701708f8ed891604a1ce66e11a32f Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Thu, 13 Nov 2014 17:50:31 +0100 Subject: [PATCH 04/25] remove hardcoded literal --- .../openapi/vcs/changes/shelf/ShelvedChangesViewManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelvedChangesViewManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelvedChangesViewManager.java index 22efde10e5dc..8cad5f820d96 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelvedChangesViewManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelvedChangesViewManager.java @@ -185,7 +185,7 @@ public class ShelvedChangesViewManager implements ProjectComponent { if (changeLists.size() == 0) { if (myContent != null) { myContentManager.removeContent(myContent); - myContentManager.selectContent("Local"); + myContentManager.selectContent(ChangesViewContentManager.LOCAL_CHANGES); } myContent = null; } From b1f9d0748c60cd4c84f3ceb6b48bcdbe048488d0 Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Thu, 13 Nov 2014 18:31:14 +0100 Subject: [PATCH 05/25] Artwork PyCharm 4.0 --- python/resources/pycharm_core_about.png | Bin 9877 -> 33084 bytes python/resources/pycharm_core_about@2x.png | Bin 19268 -> 62211 bytes python/resources/pycharm_core_logo.png | Bin 36429 -> 44572 bytes python/resources/pycharm_core_logo@2x.png | Bin 67503 -> 85844 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/python/resources/pycharm_core_about.png b/python/resources/pycharm_core_about.png index ceed226afd1e7278127bd86609d3753c4333bcc9..50cf5843e800ecc7d4f71817569634ddf9c6627d 100644 GIT binary patch literal 33084 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 gBqSu|m;V=F05V!Z literal 9877 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 L$OxAR>3sh`r0K|d literal 19268 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 ZtP+vfDo&aA1;F-LG7^g7MWV)^{~s;D6UzVq diff --git a/python/resources/pycharm_core_logo.png b/python/resources/pycharm_core_logo.png index 9bc912b49bdf14eb39024ee933507a2c9962a4fa..959a3b94519f92d11b9c1eef1ea1655bca522981 100644 GIT binary patch literal 44572 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 literal 36429 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

    l*fi!zXm|t_HaGG* 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 literal 67503 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

    }(^|g#>#mob0_j@1 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 Date: Thu, 13 Nov 2014 21:02:58 +0300 Subject: [PATCH 06/25] Do not track read access for non-physical, readonly PSI --- .../src/com/intellij/psi/impl/source/PsiFileImpl.java | 6 +++--- .../intellij/psi/impl/source/resolve/ResolveCache.java | 4 +++- .../intellij/psi/impl/source/tree/SharedImplUtil.java | 9 +++++---- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java b/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java index bdbbc364aa60..12300a2bcf45 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java @@ -759,17 +759,17 @@ public abstract class PsiFileImpl extends ElementBase implements PsiFileEx, PsiF @Override public PsiElement getFirstChild() { - return SharedImplUtil.getFirstChild(calcTreeElement()); + return SharedImplUtil.getFirstChild(getNode()); } @Override public PsiElement getLastChild() { - return SharedImplUtil.getLastChild(calcTreeElement()); + return SharedImplUtil.getLastChild(getNode()); } @Override public void acceptChildren(@NotNull PsiElementVisitor visitor) { - SharedImplUtil.acceptChildren(visitor, calcTreeElement()); + SharedImplUtil.acceptChildren(visitor, getNode()); } @Override diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/ResolveCache.java b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/ResolveCache.java index 4f2e44371b79..c2d54cca3302 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/ResolveCache.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/ResolveCache.java @@ -128,7 +128,9 @@ public class ResolveCache { boolean isPoly, boolean isPhysical) { ProgressIndicatorProvider.checkCanceled(); - ApplicationManager.getApplication().assertReadAccessAllowed(); + if (isPhysical) { + ApplicationManager.getApplication().assertReadAccessAllowed(); + } int index = getIndex(isPhysical, incompleteCode, isPoly); ConcurrentMap map = getMap(index); diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/tree/SharedImplUtil.java b/platform/core-impl/src/com/intellij/psi/impl/source/tree/SharedImplUtil.java index 4c93ca05f160..b9b3dd35d445 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/tree/SharedImplUtil.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/tree/SharedImplUtil.java @@ -22,6 +22,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.psi.*; import com.intellij.psi.impl.CheckUtil; import com.intellij.psi.impl.DebugUtil; +import com.intellij.psi.impl.ElementBase; import com.intellij.psi.impl.source.SourceTreeToPsiMap; import com.intellij.psi.impl.source.codeStyle.CodeEditUtil; import com.intellij.psi.tree.IElementType; @@ -40,7 +41,7 @@ public class SharedImplUtil { } public static PsiElement getParent(ASTNode thisElement) { - if (CHECK_FOR_READ_ACTION) { + if (CHECK_FOR_READ_ACTION && thisElement instanceof ElementBase) { ApplicationManager.getApplication().assertReadAccessAllowed(); } return SourceTreeToPsiMap.treeElementToPsi(thisElement.getTreeParent()); @@ -82,7 +83,7 @@ public class SharedImplUtil { } public static FileElement findFileElement(@NotNull ASTNode element) { - if (CHECK_FOR_READ_ACTION) { + if (CHECK_FOR_READ_ACTION && element instanceof ElementBase) { ApplicationManager.getApplication().assertReadAccessAllowed(); } ASTNode parent = element.getTreeParent(); @@ -180,8 +181,8 @@ public class SharedImplUtil { return count; } - public static void acceptChildren(PsiElementVisitor visitor, CompositeElement root) { - TreeElement childNode = root.getFirstChildNode(); + public static void acceptChildren(PsiElementVisitor visitor, ASTNode root) { + ASTNode childNode = root.getFirstChildNode(); while (childNode != null) { final PsiElement psi; From bfc6f945beafb96edca9056c9f7f7b89bbeab697 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Thu, 13 Nov 2014 20:47:31 +0100 Subject: [PATCH 07/25] better method names --- .../src/com/intellij/psi/stubs/StubTreeBuilder.java | 4 ++-- .../src/com/intellij/util/indexing/FileContentImpl.java | 6 +++--- .../src/com/intellij/dupLocator/index/DuplicatesIndex.java | 4 ++-- .../src/com/intellij/util/indexing/MapReduceIndex.java | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/platform/core-impl/src/com/intellij/psi/stubs/StubTreeBuilder.java b/platform/core-impl/src/com/intellij/psi/stubs/StubTreeBuilder.java index d026bc284845..830915968efd 100644 --- a/platform/core-impl/src/com/intellij/psi/stubs/StubTreeBuilder.java +++ b/platform/core-impl/src/com/intellij/psi/stubs/StubTreeBuilder.java @@ -58,7 +58,7 @@ public class StubTreeBuilder { CharSequence contentAsText = inputData.getContentAsText(); FileContentImpl fileContent = (FileContentImpl)inputData; - PsiFile psi = fileContent.getPsiFileAccountingForUnsavedDocument(); + PsiFile psi = fileContent.getPsiFileForPsiDependentIndex(); psi = psi.getViewProvider().getStubBindingRoot(); psi.putUserData(IndexingDataKeys.FILE_TEXT_CONTENT_KEY, contentAsText); @@ -82,7 +82,7 @@ public class StubTreeBuilder { if (stubFileElementType != null) { StubBuilder stubBuilder = stubFileElementType.getBuilder(); if (stubBuilder instanceof LightStubBuilder) { - LightStubBuilder.FORCED_AST.set(fileContent.getLighterAST()); + LightStubBuilder.FORCED_AST.set(fileContent.getLighterASTForPsiDependentIndex()); } data = stubBuilder.buildStubTree(psi); } diff --git a/platform/core-impl/src/com/intellij/util/indexing/FileContentImpl.java b/platform/core-impl/src/com/intellij/util/indexing/FileContentImpl.java index 58521fdf0258..41184daab651 100644 --- a/platform/core-impl/src/com/intellij/util/indexing/FileContentImpl.java +++ b/platform/core-impl/src/com/intellij/util/indexing/FileContentImpl.java @@ -79,10 +79,10 @@ public final class FileContentImpl extends UserDataHolderBase implements FileCon return psi; } - public @NotNull LighterAST getLighterAST() { + public @NotNull LighterAST getLighterASTForPsiDependentIndex() { LighterAST lighterAST = getUserData(IndexingDataKeys.LIGHTER_AST_NODE_KEY); if (lighterAST == null) { - lighterAST = getPsiFileAccountingForUnsavedDocument().getNode().getLighterAST(); + lighterAST = getPsiFileForPsiDependentIndex().getNode().getLighterAST(); assert lighterAST != null; putUserData(IndexingDataKeys.LIGHTER_AST_NODE_KEY, lighterAST); } @@ -229,7 +229,7 @@ public final class FileContentImpl extends UserDataHolderBase implements FileCon myHash = hash; } - public PsiFile getPsiFileAccountingForUnsavedDocument() { + public PsiFile getPsiFileForPsiDependentIndex() { Document document = FileDocumentManager.getInstance().getCachedDocument(getFile()); PsiFile psi = null; if (document != null) { diff --git a/platform/duplicates-analysis/src/com/intellij/dupLocator/index/DuplicatesIndex.java b/platform/duplicates-analysis/src/com/intellij/dupLocator/index/DuplicatesIndex.java index 90b3dc93f387..bc0945b071ec 100644 --- a/platform/duplicates-analysis/src/com/intellij/dupLocator/index/DuplicatesIndex.java +++ b/platform/duplicates-analysis/src/com/intellij/dupLocator/index/DuplicatesIndex.java @@ -119,7 +119,7 @@ public class DuplicatesIndex extends FileBasedIndexExtension result = new THashMap(); - LighterAST ast = fileContent.getLighterAST(); + LighterAST ast = fileContent.getLighterASTForPsiDependentIndex(); assert ast != null; ((LightDuplicateProfile)profile).process(ast, new LightDuplicateProfile.Callback() { @Override @@ -134,7 +134,7 @@ public class DuplicatesIndex extends FileBasedIndexExtension implements UpdatableIndex Date: Thu, 13 Nov 2014 21:39:51 +0100 Subject: [PATCH 08/25] Change variable method is async now. --- .../jetbrains/python/console/PydevConsoleCommunication.java | 2 ++ .../testSrc/com/jetbrains/env/python/PythonConsoleTest.java | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/python/src/com/jetbrains/python/console/PydevConsoleCommunication.java b/python/src/com/jetbrains/python/console/PydevConsoleCommunication.java index c27cfbe0ca0a..5e516b4fbf96 100644 --- a/python/src/com/jetbrains/python/console/PydevConsoleCommunication.java +++ b/python/src/com/jetbrains/python/console/PydevConsoleCommunication.java @@ -532,6 +532,8 @@ public class PydevConsoleCommunication extends AbstractConsoleCommunication impl public void changeVariable(PyDebugValue variable, String value) throws PyDebuggerException { if (myClient != null) { try { + // NOTE: The actual change is being scheduled in the exec_queue in main thread + // This method is async now Object ret = myClient.execute(CHANGE_VARIABLE, new Object[]{variable.getEvaluationExpression(), value}); checkError(ret); } diff --git a/python/testSrc/com/jetbrains/env/python/PythonConsoleTest.java b/python/testSrc/com/jetbrains/env/python/PythonConsoleTest.java index 4134b1697851..2d9399f2587c 100644 --- a/python/testSrc/com/jetbrains/env/python/PythonConsoleTest.java +++ b/python/testSrc/com/jetbrains/env/python/PythonConsoleTest.java @@ -122,8 +122,9 @@ public class PythonConsoleTest extends PyEnvTestCase { setValue("x", "2"); - assertTrue("Variable has wrong value", - hasValue("x", "2")); + exec("print(x)"); + + waitForOutput("2"); } }); } From a4399c942975fe2481d14ced80dab8aae38451d3 Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Thu, 13 Nov 2014 22:29:53 +0100 Subject: [PATCH 09/25] Fix lost threads in multiprocess debugger (PY-12003). --- .../debugger/pydev/MultiProcessDebugger.java | 73 +++++++++++-------- 1 file changed, 44 insertions(+), 29 deletions(-) diff --git a/python/pydevSrc/com/jetbrains/python/debugger/pydev/MultiProcessDebugger.java b/python/pydevSrc/com/jetbrains/python/debugger/pydev/MultiProcessDebugger.java index 21b9d8be2867..06a6864adb63 100644 --- a/python/pydevSrc/com/jetbrains/python/debugger/pydev/MultiProcessDebugger.java +++ b/python/pydevSrc/com/jetbrains/python/debugger/pydev/MultiProcessDebugger.java @@ -1,5 +1,7 @@ package com.jetbrains.python.debugger.pydev; +import com.google.common.base.Function; +import com.google.common.collect.Collections2; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; @@ -202,6 +204,17 @@ public class MultiProcessDebugger implements ProcessDebugger { return debugger; } else { + // thread is not found in registry - lets search for it in attached debuggers + + for (ProcessDebugger d : myOtherDebuggers) { + for (PyThreadInfo thread : d.getThreads()) { + if (threadId.equals(thread.getId())) { + return d; + } + } + } + + //if not found then return main debugger return myMainDebugger; } } @@ -240,37 +253,48 @@ public class MultiProcessDebugger implements ProcessDebugger { @Override public Collection getThreads() { - List threads = Lists.newArrayList(myMainDebugger.getThreads()); - - List result = Lists.newArrayList(); - cleanOtherDebuggers(); - collectAndRegisterOtherDebuggersThreads(threads); //we don't register mainDebugger as it is default if there is no mapping - + List threads = collectAllThreads(); if (myOtherDebuggers.size() > 0) { //here we add process id to thread name in case there are more then one process - threads = addProcessIdToThreadName(threads, result); + return Collections.unmodifiableCollection(Collections2.transform(threads, new Function() { + @Override + public PyThreadInfo apply(PyThreadInfo t) { + String threadName = ThreadRegistry.threadName(t.getName(), t.getId()); + PyThreadInfo newThread = + new PyThreadInfo(t.getId(), threadName, t.getFrames(), + t.getStopReason(), + t.getMessage()); + newThread.updateState(t.getState(), t.getFrames()); + return newThread; + } + })); + } + else { + return Collections.unmodifiableCollection(threads); } - - return Collections.unmodifiableCollection(threads); } - private static List addProcessIdToThreadName(List threads, List result) { - for (PyThreadInfo t : threads) { - String threadName = ThreadRegistry.threadName(t.getName(), t.getId()); - PyThreadInfo newThread = - new PyThreadInfo(t.getId(), threadName, t.getFrames(), - t.getStopReason(), - t.getMessage()); - newThread.updateState(t.getState(), t.getFrames()); - result.add(newThread); + private List collectAllThreads() { + List result = Lists.newArrayList(); + + result.addAll(myMainDebugger.getThreads()); + + //collect threads and add them to registry to faster access + //we don't register mainDebugger as it is default if there is no mapping + for (RemoteDebugger d : myOtherDebuggers) { + result.addAll(d.getThreads()); + for (PyThreadInfo t : d.getThreads()) { + myThreadRegistry.register(t.getId(), d); + } } - threads = result; - return threads; + + return result; } + private void cleanOtherDebuggers() { synchronized (myOtherDebuggers) { removeDisconnected(getOtherDebuggers()); @@ -299,15 +323,6 @@ public class MultiProcessDebugger implements ProcessDebugger { } } - private void collectAndRegisterOtherDebuggersThreads(List threads) { - for (RemoteDebugger d : getOtherDebuggers()) { - threads.addAll(d.getThreads()); - for (PyThreadInfo t : d.getThreads()) { - myThreadRegistry.register(t.getId(), d); - } - } - } - private ArrayList getOtherDebuggers() { synchronized (myOtherDebuggers) { return Lists.newArrayList(myOtherDebuggers); From e34d909b49e500d3a49c4e61319af91ceaf42ead Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Thu, 13 Nov 2014 22:47:19 +0100 Subject: [PATCH 10/25] Fix a possible problem with paths inside .egg on Windows. --- python/helpers/pydev/pydevd_file_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/helpers/pydev/pydevd_file_utils.py b/python/helpers/pydev/pydevd_file_utils.py index 147aa66b946d..4a4081b60d25 100644 --- a/python/helpers/pydev/pydevd_file_utils.py +++ b/python/helpers/pydev/pydevd_file_utils.py @@ -119,7 +119,7 @@ def _NormFile(filename): if r[ind] == "!": ind+=1 inner_path = r[ind:] - if inner_path.startswith('/'): + if inner_path.startswith('/') or inner_path.startswith('\\'): inner_path = inner_path[1:] r = zip_path + "/" + inner_path @@ -152,7 +152,7 @@ def exists(file): return None try: - if inner_path.startswith('/'): + if inner_path.startswith('/') or inner_path.startswith('\\'): inner_path = inner_path[1:] info = zip.getinfo(inner_path) From 44c73a0af27976213a248397cedd70f7d823bcf3 Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Thu, 13 Nov 2014 22:49:10 +0100 Subject: [PATCH 11/25] Installation wizard log PyCharm 4.0 --- python/build/resources/logo.bmp | Bin 154544 -> 154544 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/python/build/resources/logo.bmp b/python/build/resources/logo.bmp index 64ce8132c1e27caef23c7c93a66d472556fa900d..3e8f6719d7f7aabeb1cd4d60bb8569af6c9ac3ba 100644 GIT binary patch literal 154544 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 NFaZ Date: Fri, 14 Nov 2014 10:17:29 +0200 Subject: [PATCH 12/25] [AutoDetect] while detecting indent, skip line comments (IDEA-132279). Also was extracted base class for indent detection tests and created java specific one. --- .../psi/autodetect/notIndentedComment.java | 24 ++++ .../autodetect/JavaAutoDetectIndentTest.java | 39 +++++++ .../autodetect/IndentOptionsDetectorImpl.java | 5 +- .../autodetect/LineIndentInfoBuilder.java | 29 ++++- .../AbstractIndentAutoDetectionTest.java | 107 ++++++++++++++++++ .../autodetect/IndentAutoDetectionTest.java | 100 ++++------------ 6 files changed, 220 insertions(+), 84 deletions(-) create mode 100644 java/java-tests/testData/psi/autodetect/notIndentedComment.java create mode 100644 java/java-tests/testSrc/com/intellij/psi/autodetect/JavaAutoDetectIndentTest.java create mode 100644 platform/platform-tests/testSrc/com/intellij/psi/autodetect/AbstractIndentAutoDetectionTest.java diff --git a/java/java-tests/testData/psi/autodetect/notIndentedComment.java b/java/java-tests/testData/psi/autodetect/notIndentedComment.java new file mode 100644 index 000000000000..70537a3b96c3 --- /dev/null +++ b/java/java-tests/testData/psi/autodetect/notIndentedComment.java @@ -0,0 +1,24 @@ +import java.lang.System; + +public class MyOwn { + + public void run() { + int a = 2; +// my super comment + + int c = 3; + Runnable a = null; + System.out.println("Hello!"); + c += 3; + int re = 12; + re += 1; + c = re + c; + int q; + q = c * re + c; + c = q * 11 - 167; + System.out.println("Testing!"); + System.out.println("Hello!"); + c += 3; + } + +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/psi/autodetect/JavaAutoDetectIndentTest.java b/java/java-tests/testSrc/com/intellij/psi/autodetect/JavaAutoDetectIndentTest.java new file mode 100644 index 000000000000..e3600a290bea --- /dev/null +++ b/java/java-tests/testSrc/com/intellij/psi/autodetect/JavaAutoDetectIndentTest.java @@ -0,0 +1,39 @@ +/* + * Copyright 2000-2014 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.psi.autodetect; + +import com.intellij.JavaTestUtil; +import org.jetbrains.annotations.NotNull; + +public class JavaAutoDetectIndentTest extends AbstractIndentAutoDetectionTest { + + @NotNull + @Override + protected String getFileNameWithExtension() { + return getTestName(true) + ".java"; + } + + @NotNull + @Override + protected String getTestDataPath() { + return JavaTestUtil.getJavaTestDataPath() + + "/psi/autodetect/"; + } + + public void testNotIndentedComment() { + doTestIndentSize(3); + } +} diff --git a/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/IndentOptionsDetectorImpl.java b/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/IndentOptionsDetectorImpl.java index b05a58c0e967..5f56ecc9b264 100644 --- a/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/IndentOptionsDetectorImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/IndentOptionsDetectorImpl.java @@ -15,6 +15,7 @@ */ package com.intellij.psi.codeStyle.autodetect; +import com.intellij.lang.Language; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Document; import com.intellij.openapi.project.Project; @@ -36,9 +37,11 @@ public class IndentOptionsDetectorImpl implements IndentOptionsDetector { private final PsiFile myFile; private final Project myProject; private final Document myDocument; + private final Language myLanguage; public IndentOptionsDetectorImpl(@NotNull PsiFile file) { myFile = file; + myLanguage = file.getLanguage(); myProject = file.getProject(); myDocument = PsiDocumentManager.getInstance(myProject).getDocument(myFile); } @@ -49,7 +52,7 @@ public class IndentOptionsDetectorImpl implements IndentOptionsDetector { IndentOptions indentOptions = (IndentOptions)CodeStyleSettingsManager.getSettings(myProject).getIndentOptions(myFile.getFileType()).clone(); if (myDocument != null) { - List linesInfo = new LineIndentInfoBuilder(myDocument.getCharsSequence()).build(); + List linesInfo = new LineIndentInfoBuilder(myDocument.getCharsSequence(), myLanguage).build(); IndentUsageStatistics stats = new IndentUsageStatisticsImpl(linesInfo); adjustIndentOptions(indentOptions, stats); } diff --git a/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/LineIndentInfoBuilder.java b/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/LineIndentInfoBuilder.java index 8efbbc495750..6df9580e9e88 100644 --- a/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/LineIndentInfoBuilder.java +++ b/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/LineIndentInfoBuilder.java @@ -15,9 +15,13 @@ */ package com.intellij.psi.codeStyle.autodetect; +import com.intellij.lang.Commenter; +import com.intellij.lang.Language; +import com.intellij.lang.LanguageCommenters; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.text.CharArrayUtil; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.List; @@ -26,10 +30,12 @@ public class LineIndentInfoBuilder { private final CharSequence myText; private final int myLength; + private final Commenter myCommenter; - public LineIndentInfoBuilder(@NotNull CharSequence text) { + public LineIndentInfoBuilder(@NotNull CharSequence text, @Nullable Language language) { myText = text; myLength = text.length(); + myCommenter = language != null ? LanguageCommenters.INSTANCE.forLanguage(language) : null; } @NotNull @@ -58,7 +64,7 @@ public class LineIndentInfoBuilder { @NotNull private LineIndentInfo createInfoFromWhiteSpaceRange(int lineStartOffset, int textStartOffset) { - if (myText.charAt(textStartOffset) == '*') { + if (startsWithComment(textStartOffset)) { return LineIndentInfo.LINE_WITH_COMMENT; } else if (CharArrayUtil.indexOf(myText, "\t", lineStartOffset, textStartOffset) > 0) { @@ -70,6 +76,25 @@ public class LineIndentInfoBuilder { } } + private boolean startsWithComment(int textStartOffset) { + if (myText.charAt(textStartOffset) == '*' || startsWithLineComment(textStartOffset)) { + return true; + } + + return false; + } + + private boolean startsWithLineComment(int textStartOffset) { + if (myCommenter == null) return false; + + String lineCommentPrefix = myCommenter.getLineCommentPrefix(); + if (lineCommentPrefix != null && CharArrayUtil.regionMatches(myText, textStartOffset, lineCommentPrefix)) { + return true; + } + + return false; + } + private int getLineEndOffset(int lineStartOffset) { int lineEndOffset = CharArrayUtil.indexOf(myText, "\n", lineStartOffset, myLength); if (lineEndOffset < 0) { diff --git a/platform/platform-tests/testSrc/com/intellij/psi/autodetect/AbstractIndentAutoDetectionTest.java b/platform/platform-tests/testSrc/com/intellij/psi/autodetect/AbstractIndentAutoDetectionTest.java new file mode 100644 index 000000000000..ab083bc3ba09 --- /dev/null +++ b/platform/platform-tests/testSrc/com/intellij/psi/autodetect/AbstractIndentAutoDetectionTest.java @@ -0,0 +1,107 @@ +/* + * Copyright 2000-2014 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.psi.autodetect; + +import com.intellij.openapi.editor.Document; +import com.intellij.psi.codeStyle.CodeStyleSettings; +import com.intellij.psi.codeStyle.CodeStyleSettingsManager; +import com.intellij.psi.codeStyle.CommonCodeStyleSettings; +import com.intellij.psi.codeStyle.autodetect.*; +import com.intellij.testFramework.LightPlatformCodeInsightTestCase; +import com.intellij.testFramework.PlatformTestCase; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.junit.Assert; + +import java.util.List; + +public abstract class AbstractIndentAutoDetectionTest extends LightPlatformCodeInsightTestCase { + + static { + PlatformTestCase.autodetectPlatformPrefix(); + } + + @NotNull + protected abstract String getFileNameWithExtension(); + + @Override + @NotNull + protected abstract String getTestDataPath(); + + protected void doTestMaxUsedIndent(int indentExpected, int timesUsedExpected) { + IndentUsageInfo maxIndentExpected = new IndentUsageInfo(indentExpected, timesUsedExpected); + IndentUsageInfo indentInfo = getMaxUsedIndentInfo(); + Assert.assertEquals("Indent size mismatch", maxIndentExpected.getIndentSize(), indentInfo.getIndentSize()); + Assert.assertEquals("Indent size usage number mismatch", maxIndentExpected.getTimesUsed(), indentInfo.getTimesUsed()); + } + + protected void doTestMaxUsedIndent(int indentExpected) { + IndentUsageInfo indentInfo = getMaxUsedIndentInfo(); + Assert.assertEquals("Indent size mismatch", indentExpected, indentInfo.getIndentSize()); + } + + protected void doTestTabsUsed() { + doTestTabsUsed(null); + } + + protected void doTestIndentSize(int expectedIndent) { + doTestIndentSize(null, expectedIndent); + } + + protected void doTestTabsUsed(@Nullable CommonCodeStyleSettings.IndentOptions defaultIndentOptions) { + configureByFile(getFileNameWithExtension()); + + if (defaultIndentOptions != null) { + setIndentOptions(defaultIndentOptions); + } + + CommonCodeStyleSettings.IndentOptions options = detectIndentOptions(); + Assert.assertTrue("Tab usage not detected", options.USE_TAB_CHARACTER); + } + + private void doTestIndentSize(@Nullable CommonCodeStyleSettings.IndentOptions defaultIndentOptions, int expectedIndent) { + configureByFile(getFileNameWithExtension()); + + if (defaultIndentOptions != null) { + setIndentOptions(defaultIndentOptions); + } + + CommonCodeStyleSettings.IndentOptions options = detectIndentOptions(); + Assert.assertFalse("Tab usage detected: ", options.USE_TAB_CHARACTER); + Assert.assertEquals("Indent mismatch", expectedIndent, options.INDENT_SIZE); + } + + private static void setIndentOptions(@NotNull CommonCodeStyleSettings.IndentOptions defaultIndentOptions) { + CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(getProject()); + CommonCodeStyleSettings.IndentOptions indentOptions = settings.getIndentOptions(myFile.getFileType()); + indentOptions.copyFrom(defaultIndentOptions); + } + + @NotNull + private static CommonCodeStyleSettings.IndentOptions detectIndentOptions() { + IndentOptionsDetector detector = new IndentOptionsDetectorImpl(myFile); + return detector.getIndentOptions(); + } + + @NotNull + private IndentUsageInfo getMaxUsedIndentInfo() { + configureByFile(getFileNameWithExtension()); + Document document = getDocument(myFile); + List lines = new LineIndentInfoBuilder(document.getCharsSequence(), myFile.getLanguage()).build(); + IndentUsageStatistics statistics = new IndentUsageStatisticsImpl(lines); + return statistics.getKMostUsedIndentInfo(0); + } +} diff --git a/platform/platform-tests/testSrc/com/intellij/psi/autodetect/IndentAutoDetectionTest.java b/platform/platform-tests/testSrc/com/intellij/psi/autodetect/IndentAutoDetectionTest.java index 666a1cea6b29..28710f6d8f35 100644 --- a/platform/platform-tests/testSrc/com/intellij/psi/autodetect/IndentAutoDetectionTest.java +++ b/platform/platform-tests/testSrc/com/intellij/psi/autodetect/IndentAutoDetectionTest.java @@ -15,28 +15,38 @@ */ package com.intellij.psi.autodetect; -import com.intellij.openapi.editor.Document; -import com.intellij.psi.codeStyle.CodeStyleSettings; -import com.intellij.psi.codeStyle.CodeStyleSettingsManager; +import com.intellij.openapi.fileTypes.PlainTextLanguage; import com.intellij.psi.codeStyle.CommonCodeStyleSettings; -import com.intellij.psi.codeStyle.autodetect.*; -import com.intellij.testFramework.LightPlatformCodeInsightTestCase; +import com.intellij.psi.codeStyle.autodetect.LineIndentInfo; +import com.intellij.psi.codeStyle.autodetect.LineIndentInfoBuilder; import com.intellij.testFramework.PlatformTestCase; import com.intellij.testFramework.PlatformTestUtil; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.junit.Assert; import java.io.File; import java.util.List; -public class IndentAutoDetectionTest extends LightPlatformCodeInsightTestCase { - private static final String BASE_PATH = "codeStyle/autodetect/"; +public class IndentAutoDetectionTest extends AbstractIndentAutoDetectionTest { static { PlatformTestCase.initPlatformLangPrefix(); } + @NotNull + @Override + protected String getTestDataPath() { + return PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/') + + "/platform/platform-tests/testData/" + + "codeStyle/autodetect/"; + } + + @NotNull + protected String getFileNameWithExtension() { + return getTestName(true) + ".java"; + } + + public void testBigFileWithIndent2() { doTestIndentSize(2); } @@ -136,84 +146,12 @@ public class IndentAutoDetectionTest extends LightPlatformCodeInsightTestCase { ); } - public void doTestMaxUsedIndent(int indentExpected, int timesUsedExpected) { - IndentUsageInfo maxIndentExpected = new IndentUsageInfo(indentExpected, timesUsedExpected); - IndentUsageInfo indentInfo = getMaxUsedIndentInfo(); - Assert.assertEquals("Indent size mismatch", maxIndentExpected.getIndentSize(), indentInfo.getIndentSize()); - Assert.assertEquals("Indent size usage number mismatch", maxIndentExpected.getTimesUsed(), indentInfo.getTimesUsed()); - } - - public void doTestMaxUsedIndent(int indentExpected) { - IndentUsageInfo indentInfo = getMaxUsedIndentInfo(); - Assert.assertEquals("Indent size mismatch", indentExpected, indentInfo.getIndentSize()); - } - - private void doTestTabsUsed() { - doTestTabsUsed(null); - } - - private void doTestTabsUsed(@Nullable CommonCodeStyleSettings.IndentOptions defaultIndentOptions) { - configureByFile(getTestName(true) + ".java"); - - if (defaultIndentOptions != null) { - setIndentOptions(defaultIndentOptions); - } - - CommonCodeStyleSettings.IndentOptions options = detectIndentOptions(); - Assert.assertTrue("Tab usage not detected", options.USE_TAB_CHARACTER); - } - - private void doTestIndentSize(int expectedIndent) { - doTestIndentSize(null, expectedIndent); - } - - private void doTestIndentSize(@Nullable CommonCodeStyleSettings.IndentOptions defaultIndentOptions, int expectedIndent) { - configureByFile(getTestName(true) + ".java"); - - if (defaultIndentOptions != null) { - setIndentOptions(defaultIndentOptions); - } - - CommonCodeStyleSettings.IndentOptions options = detectIndentOptions(); - Assert.assertFalse("Tab usage detected: ", options.USE_TAB_CHARACTER); - Assert.assertEquals("Indent mismatch", expectedIndent, options.INDENT_SIZE); - } - - private static void setIndentOptions(@NotNull CommonCodeStyleSettings.IndentOptions defaultIndentOptions) { - CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(getProject()); - CommonCodeStyleSettings.IndentOptions indentOptions = settings.getIndentOptions(myFile.getFileType()); - indentOptions.copyFrom(defaultIndentOptions); - } - - @NotNull - private static CommonCodeStyleSettings.IndentOptions detectIndentOptions() { - IndentOptionsDetector detector = new IndentOptionsDetectorImpl(myFile); - return detector.getIndentOptions(); - } - - @NotNull - private IndentUsageInfo getMaxUsedIndentInfo() { - configureByFile(getTestName(true) + ".java"); - Document document = getDocument(myFile); - List lines = new LineIndentInfoBuilder(document.getCharsSequence()).build(); - IndentUsageStatistics statistics = new IndentUsageStatisticsImpl(lines); - return statistics.getKMostUsedIndentInfo(0); - } - private static void doTestLineToIndentMapping(@NotNull CharSequence text, int... spacesForLine) { - List list = new LineIndentInfoBuilder(text).build(); + List list = new LineIndentInfoBuilder(text, PlainTextLanguage.INSTANCE).build(); Assert.assertEquals(list.size(), spacesForLine.length); for (int i = 0; i < spacesForLine.length; i++) { int indentSize = list.get(i).getIndentSize(); Assert.assertEquals("Mismatch on line " + i, spacesForLine[i], indentSize); } } - - @Override - @NotNull - public String getTestDataPath() { - return PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/') - + "/platform/platform-tests/testData/" - + BASE_PATH; - } } From 542159b1a272c930d5ea2388a25d4196c91ef4c1 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Fri, 14 Nov 2014 10:54:57 +0300 Subject: [PATCH 13/25] UINotifyConnector memory leak fixed --- .../src/com/intellij/ui/docking/impl/DockManagerImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/ui/docking/impl/DockManagerImpl.java b/platform/platform-impl/src/com/intellij/ui/docking/impl/DockManagerImpl.java index 37646a19292f..04033418742f 100644 --- a/platform/platform-impl/src/com/intellij/ui/docking/impl/DockManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/ui/docking/impl/DockManagerImpl.java @@ -595,7 +595,8 @@ public class DockManagerImpl extends DockManager implements PersistentStateCompo } }); - new UiNotifyConnector(((RootPaneContainer)frame).getContentPane(), myContainer); + UiNotifyConnector connector = new UiNotifyConnector(((RootPaneContainer)frame).getContentPane(), myContainer); + Disposer.register(myContainer, connector); } } From 77c3e19ffb3f257bccf402adbd5606f976e40287 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 13 Nov 2014 18:30:39 +0100 Subject: [PATCH 14/25] hide problems for java used from groovy (IDEA-132448) --- .../UnusedDeclarationInspectionBase.java | 50 ++++++++++++++----- 1 file changed, 37 insertions(+), 13 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspectionBase.java b/java/java-analysis-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspectionBase.java index 7a1f4e0979f7..95d10660076b 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspectionBase.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspectionBase.java @@ -37,6 +37,7 @@ import com.intellij.codeInspection.ex.JobDescriptor; import com.intellij.codeInspection.reference.*; import com.intellij.codeInspection.unusedSymbol.UnusedSymbolLocalInspectionBase; import com.intellij.codeInspection.util.RefFilter; +import com.intellij.ide.highlighter.JavaFileType; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.ExtensionPoint; @@ -44,12 +45,16 @@ import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.InvalidDataException; +import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.WriteExternalException; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.impl.PsiClassImplUtil; +import com.intellij.psi.search.DelegatingGlobalSearchScope; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.PsiNonJavaFileReferenceProcessor; import com.intellij.psi.search.PsiSearchHelper; +import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.PsiMethodUtil; import com.intellij.util.containers.HashMap; import org.jdom.Element; @@ -309,8 +314,9 @@ public class UnusedDeclarationInspectionBase extends GlobalInspectionTool { ProgressManager.getInstance().runProcess(new Runnable() { @Override public void run() { - final PsiSearchHelper helper = PsiSearchHelper.SERVICE.getInstance(globalContext.getRefManager().getProject()); - globalContext.getRefManager().iterate(new RefJavaVisitor() { + final RefManager refManager = globalContext.getRefManager(); + final PsiSearchHelper helper = PsiSearchHelper.SERVICE.getInstance(refManager.getProject()); + refManager.iterate(new RefJavaVisitor() { @Override public void visitElement(@NotNull final RefEntity refEntity) { if (refEntity instanceof RefClass && strictUnreferencedFilter.accepts((RefClass)refEntity)) { @@ -325,18 +331,36 @@ public class UnusedDeclarationInspectionBase extends GlobalInspectionTool { } private void findExternalClassReferences(final RefClass refElement) { - PsiClass psiClass = refElement.getElement(); - String qualifiedName = psiClass.getQualifiedName(); + final PsiClass psiClass = refElement.getElement(); + String qualifiedName = psiClass != null ? psiClass.getQualifiedName() : null; if (qualifiedName != null) { - helper.processUsagesInNonJavaFiles(qualifiedName, - new PsiNonJavaFileReferenceProcessor() { - @Override - public boolean process(PsiFile file, int startOffset, int endOffset) { - getEntryPointsManager().addEntryPoint(refElement, false); - return false; - } - }, - GlobalSearchScope.projectScope(globalContext.getProject())); + final GlobalSearchScope projectScope = GlobalSearchScope.projectScope(globalContext.getProject()); + final PsiNonJavaFileReferenceProcessor processor = new PsiNonJavaFileReferenceProcessor() { + @Override + public boolean process(PsiFile file, int startOffset, int endOffset) { + getEntryPointsManager().addEntryPoint(refElement, false); + return false; + } + }; + final DelegatingGlobalSearchScope globalSearchScope = new DelegatingGlobalSearchScope(projectScope) { + @Override + public boolean contains(@NotNull VirtualFile file) { + return file.getFileType() != JavaFileType.INSTANCE && super.contains(file); + } + }; + + if (helper.processUsagesInNonJavaFiles(qualifiedName, processor, globalSearchScope)) { + final PsiReference reference = ReferencesSearch.search(psiClass, globalSearchScope).findFirst(); + if (reference != null) { + getEntryPointsManager().addEntryPoint(refElement, false); + for (PsiMethod method : psiClass.getMethods()) { + final RefElement refMethod = refManager.getReference(method); + if (refMethod != null) { + getEntryPointsManager().addEntryPoint(refMethod, false); + } + } + } + } } } }); From 617621aaeedf7178813604f9cc3926681eebd20a Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Fri, 14 Nov 2014 12:15:24 +0300 Subject: [PATCH 15/25] dump threads for EA-58335 analysis --- .../debugger/engine/requests/RequestManagerImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/requests/RequestManagerImpl.java b/java/debugger/impl/src/com/intellij/debugger/engine/requests/RequestManagerImpl.java index 58296e2b7273..bf071e7b6ff1 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/requests/RequestManagerImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/requests/RequestManagerImpl.java @@ -29,6 +29,7 @@ import com.intellij.debugger.requests.Requestor; import com.intellij.debugger.settings.DebuggerSettings; import com.intellij.debugger.ui.breakpoints.Breakpoint; import com.intellij.debugger.ui.breakpoints.FilteredRequestor; +import com.intellij.diagnostic.ThreadDumper; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; @@ -37,7 +38,6 @@ import com.intellij.openapi.util.Key; import com.intellij.psi.PsiClass; import com.intellij.ui.classFilter.ClassFilter; import com.intellij.util.containers.HashMap; -import com.intellij.xdebugger.XDebugSession; import com.sun.jdi.*; import com.sun.jdi.event.ClassPrepareEvent; import com.sun.jdi.request.*; @@ -287,7 +287,11 @@ public class RequestManagerImpl extends DebugProcessAdapterImpl implements Reque } } } - myEventRequestManager.deleteEventRequest(request); + try { + myEventRequestManager.deleteEventRequest(request); + } catch (Exception e) { + LOG.error("Exception in EventRequestManager.deleteEventRequest", e, ThreadDumper.dumpThreadsToString()); + } } catch (InvalidRequestStateException ignored) { // request is already deleted From c5f8d512c4e65198fc1b65bcc5090f40e6a7debd Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Fri, 14 Nov 2014 10:22:47 +0100 Subject: [PATCH 16/25] allow subclassing JavaDebugProcess (https://youtrack.jetbrains.com/issue/IDEA-128919#comment=27-847155) --- .../impl/src/com/intellij/debugger/engine/JavaDebugProcess.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/JavaDebugProcess.java b/java/debugger/impl/src/com/intellij/debugger/engine/JavaDebugProcess.java index 50500c3864a7..09898a068e3a 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/JavaDebugProcess.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/JavaDebugProcess.java @@ -78,7 +78,7 @@ public class JavaDebugProcess extends XDebugProcess { return res; } - private JavaDebugProcess(@NotNull final XDebugSession session, final DebuggerSession javaSession) { + protected JavaDebugProcess(@NotNull final XDebugSession session, final DebuggerSession javaSession) { super(session); myJavaSession = javaSession; myEditorsProvider = new JavaDebuggerEditorsProvider(); From 4a01f7c1bc826a773be23cbd690b99097159f43e Mon Sep 17 00:00:00 2001 From: Nadya Zabrodina Date: Fri, 14 Nov 2014 12:41:14 +0300 Subject: [PATCH 17/25] IDEA-130889 push dialog cosmetics: community repository is truncated * TreeUI with NodeDimensionsHandler overrides to avoid problems with initially wrong node sizes; * component listeners added to track current scroll bar size and update node sizes according to it; * setRowHeight moved to the end of push log constructor, because it calls resize and repaint components; * set minimum tree size and use it as minimum node size when scroll bar is not initialized yet; * note: add DebugMarkerBorder in RepositoryNode renderer if needed --- .../com/intellij/dvcs/push/ui/PushLog.java | 73 +++++++++++++++++-- 1 file changed, 65 insertions(+), 8 deletions(-) diff --git a/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/PushLog.java b/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/PushLog.java index bc0fc8d1291c..c4de56cc5bde 100644 --- a/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/PushLog.java +++ b/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/PushLog.java @@ -29,20 +29,17 @@ import com.intellij.util.ArrayUtil; import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.tree.TreeUtil; +import com.intellij.util.ui.tree.WideSelectionTreeUI; import com.intellij.vcs.log.Hash; import com.intellij.vcs.log.ui.VcsLogUiImpl; import org.jetbrains.annotations.NotNull; import javax.swing.*; import javax.swing.border.EmptyBorder; -import javax.swing.event.CellEditorListener; -import javax.swing.event.ChangeEvent; -import javax.swing.event.TreeSelectionEvent; -import javax.swing.event.TreeSelectionListener; +import javax.swing.event.*; import javax.swing.tree.*; import java.awt.*; -import java.awt.event.KeyEvent; -import java.awt.event.MouseEvent; +import java.awt.event.*; import java.util.Collection; import java.util.Collections; import java.util.EventObject; @@ -55,6 +52,7 @@ public class PushLog extends JPanel implements TypeSafeDataProvider { private final ChangesBrowser myChangesBrowser; private final CheckboxTree myTree; private final MyTreeCellRenderer myTreeCellRenderer; + private final JScrollPane myScrollPane; private boolean myShouldRepaint = false; public PushLog(Project project, final CheckedTreeNode root) { @@ -113,6 +111,7 @@ public class PushLog extends JPanel implements TypeSafeDataProvider { } } }; + myTree.setUI(new MyTreeUi()); myTree.setBorder(new EmptyBorder(2, 0, 0, 0)); //additional vertical indent myTree.setEditable(true); myTree.setHorizontalAutoScrollingEnabled(false); @@ -164,7 +163,6 @@ public class PushLog extends JPanel implements TypeSafeDataProvider { //override default tree behaviour. myTree.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), ""); - myTree.setRowHeight(0); ToolTipManager.sharedInstance().registerComponent(myTree); PopupHandler.installPopupHandler(myTree, VcsLogUiImpl.POPUP_ACTION_GROUP, COMMIT_MENU); @@ -176,11 +174,15 @@ public class PushLog extends JPanel implements TypeSafeDataProvider { setDefaultEmptyText(); Splitter splitter = new Splitter(false, 0.7f); - splitter.setFirstComponent(ScrollPaneFactory.createScrollPane(myTree)); + myScrollPane = ScrollPaneFactory.createScrollPane(myTree); + myScrollPane.setOpaque(false); + splitter.setFirstComponent(myScrollPane); splitter.setSecondComponent(myChangesBrowser); setLayout(new BorderLayout()); add(splitter); + myTree.setMinimumSize(new Dimension(200, myTree.getPreferredSize().height)); + myTree.setRowHeight(0); } private void updateChangesView() { @@ -431,4 +433,59 @@ public class PushLog extends JPanel implements TypeSafeDataProvider { } } } + + private class MyTreeUi extends WideSelectionTreeUI { + + private final ComponentListener myTreeSizeListener = new ComponentAdapter() { + @Override + public void componentResized(ComponentEvent e) { + // invalidate, revalidate etc may have no 'size' effects, you need to manually invalidateSizes before. + updateSizes(); + } + }; + + private final AncestorListener myTreeAncestorListener = new AncestorListenerAdapter() { + @Override + public void ancestorMoved(AncestorEvent event) { + super.ancestorMoved(event); + updateSizes(); + } + }; + + private void updateSizes() { + treeState.invalidateSizes(); + tree.repaint(); + } + + @Override + protected void installListeners() { + super.installListeners(); + tree.addComponentListener(myTreeSizeListener); + tree.addAncestorListener(myTreeAncestorListener); + } + + + @Override + protected void uninstallListeners() { + tree.removeComponentListener(myTreeSizeListener); + tree.removeAncestorListener(myTreeAncestorListener); + super.uninstallListeners(); + } + + @Override + protected AbstractLayoutCache.NodeDimensions createNodeDimensions() { + return new NodeDimensionsHandler() { + @Override + public Rectangle getNodeDimensions(Object value, int row, int depth, boolean expanded, Rectangle size) { + Rectangle dimensions = super.getNodeDimensions(value, row, depth, expanded, size); + dimensions.width = myScrollPane != null + ? Math.max(myScrollPane.getViewport().getWidth() - getRowX(row, depth), dimensions.width) + : Math.max(myTree.getMinimumSize().width, dimensions.width); + return dimensions; + } + }; + } + } } + + From 8a837ab56d5fde22a323cbc3a41411aecb622749 Mon Sep 17 00:00:00 2001 From: Rustam Vishnyakov Date: Fri, 14 Nov 2014 13:03:32 +0400 Subject: [PATCH 18/25] Final field [CR-IC-6767] --- .../src/com/intellij/formatting/BlockAlignmentProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/formatting/BlockAlignmentProcessor.java b/platform/lang-impl/src/com/intellij/formatting/BlockAlignmentProcessor.java index 8ac3700f8b08..e049424bd0da 100644 --- a/platform/lang-impl/src/com/intellij/formatting/BlockAlignmentProcessor.java +++ b/platform/lang-impl/src/com/intellij/formatting/BlockAlignmentProcessor.java @@ -71,7 +71,7 @@ public interface BlockAlignmentProcessor { @NotNull public final Map> alignmentMappings; @NotNull public final Map> backwardShiftedAlignedBlocks; @NotNull public final CommonCodeStyleSettings.IndentOptions indentOptions; - public int maxAlignmentSpaces; + public final int maxAlignmentSpaces; public Context(@NotNull Document document, @NotNull AlignmentImpl alignment, From 985f9b8440265b90c63d0019e3b4b933bd189ebe Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 13 Nov 2014 14:40:16 +0300 Subject: [PATCH 19/25] access tightened, unnecessary synchronization removed, missing one added --- .../anomalies/TopAnomaliesAction.java | 56 +-------- .../openapi/util/objectTree/ObjectNode.java | 70 +++++------ .../openapi/util/objectTree/ObjectTree.java | 113 +++++++++--------- .../util/{ => objectTree}/DisposerTest.java | 5 +- 4 files changed, 102 insertions(+), 142 deletions(-) rename platform/util/testSrc/com/intellij/openapi/util/{ => objectTree}/DisposerTest.java (98%) diff --git a/platform/platform-impl/src/com/intellij/internal/anomalies/TopAnomaliesAction.java b/platform/platform-impl/src/com/intellij/internal/anomalies/TopAnomaliesAction.java index e6e892dad43f..52fcae58bcbc 100644 --- a/platform/platform-impl/src/com/intellij/internal/anomalies/TopAnomaliesAction.java +++ b/platform/platform-impl/src/com/intellij/internal/anomalies/TopAnomaliesAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -15,14 +15,10 @@ */ package com.intellij.internal.anomalies; -import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.ActionGroup; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Pair; -import com.intellij.openapi.util.objectTree.ObjectNode; -import com.intellij.openapi.util.objectTree.ObjectTree; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -31,7 +27,10 @@ import java.awt.*; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.*; +import java.util.Comparator; +import java.util.Iterator; +import java.util.Set; +import java.util.TreeSet; /** * User: Vassiliy.Kudryashov @@ -169,49 +168,6 @@ public class TopAnomaliesAction extends ActionGroup { } }; - private static final ResettableAction TOP_DISPOSABLE = new ResettableAction("Disposable") { - TreeSet> top = new TreeSet>(COMPARATOR); - TreeSet> old = new TreeSet>(COMPARATOR); - - @Override - public void update(AnActionEvent e) { - e.getPresentation().setText("Top " + LIMIT + " disposables"); - } - - @Override - void reset() { - top.clear(); - old.clear(); - } - - @Override - public void actionPerformed(AnActionEvent e) { - old = new TreeSet>(top); - top.clear(); - ObjectTree tree = Disposer.getTree(); - Set roots = tree.getRootObjects(); - for (Disposable root : roots) { - checkDisposables(tree, root, top, LIMIT); - } - System.out.println("Top " + LIMIT + " disposables"); - for (Pair pair : top) { - System.out.println(pair.first.getClass().getName() + " (" + pair.second + " related)" + getChange(old, pair.first, pair.second)); - } - } - - private void checkDisposables(ObjectTree tree, Object key, Set> top, int limit) { - ObjectNode node = tree.getNode(key); - if (node == null) { - return; - } - Collection children = node.getChildren(); - top.add(Pair.create(key, children.size())); - trimToLimit(top, limit); - for (Object child : children) { - checkDisposables(tree, child, top, limit); - } - } - }; private static final ResettableAction RESET_THEM_ALL = new ResettableAction("Reset statistics") { @Override @@ -226,7 +182,7 @@ public class TopAnomaliesAction extends ActionGroup { } }; - private static ResettableAction[] CHILDREN = {TOP_PARENTS, TOP_UI_PROPERTIES, TOP_DISPOSABLE, RESET_THEM_ALL}; + private static ResettableAction[] CHILDREN = {TOP_PARENTS, TOP_UI_PROPERTIES, RESET_THEM_ALL}; @Override public void update(AnActionEvent e) { diff --git a/platform/util/src/com/intellij/openapi/util/objectTree/ObjectNode.java b/platform/util/src/com/intellij/openapi/util/objectTree/ObjectNode.java index 30c70460d9bf..e5fa4cd6784d 100644 --- a/platform/util/src/com/intellij/openapi/util/objectTree/ObjectNode.java +++ b/platform/util/src/com/intellij/openapi/util/objectTree/ObjectNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -26,24 +26,28 @@ import org.jetbrains.annotations.TestOnly; import java.util.Collection; import java.util.Collections; -import java.util.ListIterator; +import java.util.List; -public final class ObjectNode { +final class ObjectNode { private static final ObjectNode[] EMPTY_ARRAY = new ObjectNode[0]; private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.util.objectTree.ObjectNode"); private final ObjectTree myTree; - private ObjectNode myParent; + private ObjectNode myParent; // guarded by myTree.treeLock private final T myObject; - private SmartList> myChildren; + private List> myChildren; // guarded by myTree.treeLock private final Throwable myTrace; private final long myOwnModification; - public ObjectNode(@NotNull ObjectTree tree, @Nullable ObjectNode parentNode, @NotNull T object, long modification, @Nullable final Throwable trace) { + ObjectNode(@NotNull ObjectTree tree, + @Nullable ObjectNode parentNode, + @NotNull T object, + long modification, + @Nullable final Throwable trace) { myTree = tree; myParent = parentNode; myObject = object; @@ -55,43 +59,36 @@ public final class ObjectNode { @SuppressWarnings("unchecked") @NotNull private ObjectNode[] getChildrenArray() { - synchronized (myTree.treeLock) { - if (myChildren == null || myChildren.isEmpty()) return EMPTY_ARRAY; - return myChildren.toArray(new ObjectNode[myChildren.size()]); - } + List> children = myChildren; + if (children == null || children.isEmpty()) return EMPTY_ARRAY; + return children.toArray(new ObjectNode[children.size()]); } void addChild(@NotNull ObjectNode child) { - synchronized (myTree.treeLock) { - if (myChildren == null) { - myChildren = new SmartList>(); - } - myChildren.add(child); - child.myParent = this; + List> children = myChildren; + if (children == null) { + myChildren = new SmartList>(child); } + else { + children.add(child); + } + child.myParent = this; } void removeChild(@NotNull ObjectNode child) { - synchronized (myTree.treeLock) { - assert myChildren != null: "No children to remove child: " + this + ' ' + child; - ListIterator> iterator = myChildren.listIterator(myChildren.size()); - while (iterator.hasPrevious()) { - if (child.equals(iterator.previous())) { - iterator.remove(); - return; - } - } + List> children = myChildren; + if (children != null) { + children.remove(child); } + child.myParent = null; } - public ObjectNode getParent() { - synchronized (myTree.treeLock) { - return myParent; - } + ObjectNode getParent() { + return myParent; } @NotNull - public Collection> getChildren() { + Collection> getChildren() { synchronized (myTree.treeLock) { if (myChildren == null) return Collections.emptyList(); return Collections.unmodifiableCollection(myChildren); @@ -109,7 +106,10 @@ public final class ObjectNode { LOG.error(t); } - ObjectNode[] childrenArray = getChildrenArray(); + ObjectNode[] childrenArray; + synchronized (myTree.treeLock) { + childrenArray = getChildrenArray(); + } //todo: [kirillk] optimize for (int i = childrenArray.length - 1; i >= 0; i--) { childrenArray[i].execute(disposeTree, action); @@ -145,8 +145,8 @@ public final class ObjectNode { } private void remove() { - myTree.putNode(myObject, null); synchronized (myTree.treeLock) { + myTree.putNode(myObject, null); if (myParent == null) { myTree.removeRootObject(myObject); } @@ -157,10 +157,11 @@ public final class ObjectNode { } @NotNull - public T getObject() { + T getObject() { return myObject; } + @Override @NonNls public String toString() { return "Node: " + myObject.toString(); @@ -196,11 +197,12 @@ public final class ObjectNode { D findChildEqualTo(@NotNull D object) { synchronized (myTree.treeLock) { - SmartList> children = myChildren; + List> children = myChildren; if (children != null) { for (ObjectNode node : children) { T nodeObject = node.getObject(); if (nodeObject.equals(object)) { + //noinspection unchecked return (D)nodeObject; } } diff --git a/platform/util/src/com/intellij/openapi/util/objectTree/ObjectTree.java b/platform/util/src/com/intellij/openapi/util/objectTree/ObjectTree.java index 472248b2bde9..53ba8e5d885a 100644 --- a/platform/util/src/com/intellij/openapi/util/objectTree/ObjectTree.java +++ b/platform/util/src/com/intellij/openapi/util/objectTree/ObjectTree.java @@ -34,28 +34,26 @@ public final class ObjectTree { private final List myListeners = ContainerUtil.createLockFreeCopyOnWriteList(); // identity used here to prevent problems with hashCode/equals overridden by not very bright minds - private final Set myRootObjects = ContainerUtil.newIdentityTroveSet(); - private final Map> myObject2NodeMap = ContainerUtil.newIdentityTroveMap(); + private final Set myRootObjects = ContainerUtil.newIdentityTroveSet(); // guarded by treeLock + private final Map> myObject2NodeMap = ContainerUtil.newIdentityTroveMap(); // guarded by treeLock - private final List> myExecutedNodes = new ArrayList>(); - private final List myExecutedUnregisteredNodes = new ArrayList(); + private final List> myExecutedNodes = new ArrayList>(); // guarded by myExecutedNodes + private final List myExecutedUnregisteredNodes = new ArrayList(); // guarded by myExecutedUnregisteredNodes final Object treeLock = new Object(); private final AtomicLong myModification = new AtomicLong(0); - public ObjectNode getNode(@NotNull T object) { - synchronized (treeLock) { - return myObject2NodeMap.get(object); - } - } - public ObjectNode putNode(@NotNull T object, @Nullable("null means remove") ObjectNode node) { - synchronized (treeLock) { - return node == null ? myObject2NodeMap.remove(object) : myObject2NodeMap.put(object, node); - } + ObjectNode getNode(@NotNull T object) { + return myObject2NodeMap.get(object); } - public final List> getNodesInExecution() { + ObjectNode putNode(@NotNull T object, @Nullable("null means remove") ObjectNode node) { + return node == null ? myObject2NodeMap.remove(object) : myObject2NodeMap.put(object, node); + } + + @NotNull + final List> getNodesInExecution() { return myExecutedNodes; } @@ -105,8 +103,7 @@ public final class ObjectTree { @NotNull private ObjectNode createNodeFor(@NotNull T object, @Nullable ObjectNode parentNode, @Nullable final Throwable trace) { - final ObjectNode newNode = new ObjectNode(this, parentNode, object, getNextModification(), - trace); + final ObjectNode newNode = new ObjectNode(this, parentNode, object, getNextModification(), trace); if (parentNode == null) { myRootObjects.add(object); } @@ -114,12 +111,15 @@ public final class ObjectTree { return newNode; } - public long getNextModification() { + private long getNextModification() { return myModification.incrementAndGet(); } public final boolean executeAll(@NotNull T object, boolean disposeTree, @NotNull ObjectTreeAction action, boolean processUnregistered) { - ObjectNode node = getNode(object); + ObjectNode node; + synchronized (treeLock) { + node = getNode(object); + } if (node == null) { if (processUnregistered) { executeUnregistered(object, action); @@ -147,7 +147,7 @@ public final class ObjectTree { } finally { synchronized (recursiveGuard) { - int i = ArrayUtil.indexOf(recursiveGuard, object, Equality.IDENTITY); + int i = ArrayUtil.lastIndexOf(recursiveGuard, object, Equality.IDENTITY); assert i != -1; recursiveGuard.remove(i); } @@ -159,11 +159,12 @@ public final class ObjectTree { } public final void executeChildAndReplace(@NotNull T toExecute, @NotNull T toReplace, boolean disposeTree, @NotNull ObjectTreeAction action) { - final ObjectNode toExecuteNode = getNode(toExecute); - assert toExecuteNode != null : "Object " + toExecute + " wasn't registered or already disposed"; - + final ObjectNode toExecuteNode; T parentObject; synchronized (treeLock) { + toExecuteNode = getNode(toExecute); + assert toExecuteNode != null : "Object " + toExecute + " wasn't registered or already disposed"; + final ObjectNode parent = toExecuteNode.getParent(); assert parent != null : "Object " + toExecute + " is not connected to the tree - doesn't have parent"; parentObject = parent.getObject(); @@ -174,11 +175,13 @@ public final class ObjectTree { } public boolean containsKey(@NotNull T object) { - return getNode(object) != null; + synchronized (treeLock) { + return getNode(object) != null; + } } @TestOnly - public void assertNoReferenceKeptInTree(@NotNull T disposable) { + void assertNoReferenceKeptInTree(@NotNull T disposable) { synchronized (treeLock) { Collection> nodes = myObject2NodeMap.values(); for (ObjectNode node : nodes) { @@ -187,57 +190,53 @@ public final class ObjectTree { } } - public void removeRootObject(@NotNull T object) { - synchronized (treeLock) { - myRootObjects.remove(object); - } + void removeRootObject(@NotNull T object) { + myRootObjects.remove(object); } @SuppressWarnings({"UseOfSystemOutOrSystemErr", "HardCodedStringLiteral"}) public void assertIsEmpty(boolean throwError) { - for (T object : myRootObjects) { - if (object == null) continue; - final ObjectNode objectNode = getNode(object); - if (objectNode == null) continue; + synchronized (treeLock) { + for (T object : myRootObjects) { + if (object == null) continue; + final ObjectNode objectNode = getNode(object); + if (objectNode == null) continue; - final Throwable trace = objectNode.getTrace(); - RuntimeException exception = new RuntimeException("Memory leak detected: " + object + " of class " + object.getClass() - + "\nSee the cause for the corresponding Disposer.register() stacktrace:\n", - trace); - if (throwError) { - throw exception; + final Throwable trace = objectNode.getTrace(); + RuntimeException exception = new RuntimeException("Memory leak detected: " + object + " of class " + object.getClass() + + "\nSee the cause for the corresponding Disposer.register() stacktrace:\n", + trace); + if (throwError) { + throw exception; + } + LOG.error(exception); } - LOG.error(exception); } } @TestOnly public boolean isEmpty() { - return myRootObjects.isEmpty(); - } - - @TestOnly - public void clearAll() { - myRootObjects.clear(); - myExecutedNodes.clear(); - myExecutedUnregisteredNodes.clear(); - myObject2NodeMap.clear(); + synchronized (treeLock) { + return myRootObjects.isEmpty(); + } } @NotNull - public Set getRootObjects() { - return myRootObjects; + Set getRootObjects() { + synchronized (treeLock) { + return myRootObjects; + } } - public void addListener(@NotNull ObjectTreeListener listener) { + void addListener(@NotNull ObjectTreeListener listener) { myListeners.add(listener); } - public void removeListener(@NotNull ObjectTreeListener listener) { + void removeListener(@NotNull ObjectTreeListener listener) { myListeners.remove(listener); } - void fireRegistered(@NotNull Object object) { + private void fireRegistered(@NotNull Object object) { for (ObjectTreeListener each : myListeners) { each.objectRegistered(object); } @@ -249,8 +248,10 @@ public final class ObjectTree { } } - public int size() { - return myObject2NodeMap.size(); + int size() { + synchronized (treeLock) { + return myObject2NodeMap.size(); + } } @Nullable @@ -262,7 +263,7 @@ public final class ObjectTree { } } - public long getModification() { + long getModification() { return myModification.get(); } } diff --git a/platform/util/testSrc/com/intellij/openapi/util/DisposerTest.java b/platform/util/testSrc/com/intellij/openapi/util/objectTree/DisposerTest.java similarity index 98% rename from platform/util/testSrc/com/intellij/openapi/util/DisposerTest.java rename to platform/util/testSrc/com/intellij/openapi/util/objectTree/DisposerTest.java index 7d9c21e79c2f..ce4132496aea 100644 --- a/platform/util/testSrc/com/intellij/openapi/util/DisposerTest.java +++ b/platform/util/testSrc/com/intellij/openapi/util/objectTree/DisposerTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -13,9 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.intellij.openapi.util; +package com.intellij.openapi.util.objectTree; import com.intellij.openapi.Disposable; +import com.intellij.openapi.util.Disposer; import junit.framework.TestCase; import org.jetbrains.annotations.NonNls; From 6c7c34d893752d4677dcfba98f1a9a0a1bcadd7f Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 13 Nov 2014 16:58:26 +0300 Subject: [PATCH 20/25] diagnostics --- .../com/intellij/util/io/PersistentHashMapValueStorage.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/util/src/com/intellij/util/io/PersistentHashMapValueStorage.java b/platform/util/src/com/intellij/util/io/PersistentHashMapValueStorage.java index c0318baf2f16..1c94078f62f6 100644 --- a/platform/util/src/com/intellij/util/io/PersistentHashMapValueStorage.java +++ b/platform/util/src/com/intellij/util/io/PersistentHashMapValueStorage.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -160,7 +160,7 @@ public class PersistentHashMapValueStorage { final PersistentHashMap.CompactionRecordInfo info = records.peek(); if (info.valueAddress >= readStartOffset) { if (info.valueAddress >= lastReadOffset) { - throw new IOException("Value storage is corrupted: value file size:" + mySize + ", readStartOffset:"+ readStartOffset + ", record address:"+info.valueAddress); + throw new IOException("Value storage is corrupted: value file size:" + mySize + ", readStartOffset:"+ readStartOffset + ", record address:"+info.valueAddress+"; file: "+myPath); } // record start is inside our buffer From b4550299b9ae1892ba040a5f4ea7ad94f0be5ec5 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 13 Nov 2014 17:53:09 +0300 Subject: [PATCH 21/25] less garbage because of varargs --- .../vfs/newvfs/impl/VirtualDirectoryImpl.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualDirectoryImpl.java b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualDirectoryImpl.java index 5b9d83d0a222..8fce7ea19ff0 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualDirectoryImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/impl/VirtualDirectoryImpl.java @@ -57,7 +57,7 @@ public class VirtualDirectoryImpl extends VirtualFileSystemEntry { public static boolean CHECK = ApplicationManager.getApplication().isUnitTestMode(); - static final VirtualDirectoryImpl NULL_VIRTUAL_FILE = + private static final VirtualDirectoryImpl NULL_VIRTUAL_FILE = new VirtualDirectoryImpl(-42, null, null, null, LocalFileSystem.getInstance()) { @Override public String toString() { @@ -117,9 +117,7 @@ public class VirtualDirectoryImpl extends VirtualFileSystemEntry { // in this case we should remove it from there removeFromArray(indexInReal); } - if (CHECK) { - assertConsistency(ignoreCase, name); - } + assertConsistency(ignoreCase, name); } @Nullable // null if there can't be a child with this name, NULL_VIRTUAL_FILE @@ -284,7 +282,7 @@ public class VirtualDirectoryImpl extends VirtualFileSystemEntry { final boolean ignoreCase = !delegate.isCaseSensitive(); synchronized (myData) { if (allChildrenLoaded()) { - assertConsistency(ignoreCase); + assertConsistency(ignoreCase, ""); return getArraySafely(); } @@ -333,7 +331,9 @@ public class VirtualDirectoryImpl extends VirtualFileSystemEntry { if (getId() > 0) { myData.myChildrenIds = result; - assertConsistency(ignoreCase, childrenIds); + if (CHECK) { + assertConsistency(ignoreCase, Arrays.asList(childrenIds)); + } setChildrenLoaded(); } @@ -341,7 +341,7 @@ public class VirtualDirectoryImpl extends VirtualFileSystemEntry { } } - private void assertConsistency(boolean ignoreCase, @NotNull Object... details) { + private void assertConsistency(boolean ignoreCase, @NotNull Object details) { if (!CHECK || ApplicationInfoImpl.isInPerformanceTest()) return; int[] childrenIds = myData.myChildrenIds; for (int i = 1; i < childrenIds.length; i++) { From 09102ae7c076ba3c89b96a84366baa68076f1e50 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 13 Nov 2014 19:16:19 +0300 Subject: [PATCH 22/25] cleanup --- .../src/com/intellij/psi/impl/PsiDocumentManagerBase.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java b/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java index 66117c140f79..80352b7c0a13 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java +++ b/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java @@ -282,10 +282,10 @@ public abstract class PsiDocumentManagerBase extends PsiDocumentManager implemen } } - public boolean finishCommit(@NotNull final Document document, - @NotNull final List> finishProcessors, - final boolean synchronously, - @NotNull final Object reason) { + boolean finishCommit(@NotNull final Document document, + @NotNull final List> finishProcessors, + final boolean synchronously, + @NotNull final Object reason) { assert !myProject.isDisposed() : "Already disposed"; final boolean[] ok = {true}; ApplicationManager.getApplication().runWriteAction(new CommitToPsiFileAction(document, myProject) { From 7d59b3359f652387ce0b4bb5b154dfdb7b691473 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Thu, 13 Nov 2014 15:56:10 +0300 Subject: [PATCH 23/25] [log] A bit better fix for IDEA-132218 Don't check matching heads for each details filter, calculate it only once (if all details filters matched). --- .../vcs/log/data/VisiblePackBuilder.java | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VisiblePackBuilder.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VisiblePackBuilder.java index 6c9fe6cd135c..79de1116f311 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VisiblePackBuilder.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VisiblePackBuilder.java @@ -160,25 +160,24 @@ class VisiblePackBuilder { @NotNull final PermanentGraph permanentGraph, @NotNull List detailsFilters, @Nullable final Set matchingHeads) { - final int commitIndex = myHashMap.getCommitIndex(commit.getId()); - return ContainerUtil.and(detailsFilters, new Condition() { + boolean matchesAllDetails = ContainerUtil.and(detailsFilters, new Condition() { @Override public boolean value(VcsLogDetailsFilter filter) { - if (!filter.matches(commit)) { - return false; - } - if (matchingHeads == null) { - return true; - } - Set containingBranches = permanentGraph.getContainingBranches(commitIndex); - return ContainerUtil.exists(containingBranches, new Condition() { - @Override - public boolean value(Integer integer) { - return matchingHeads.contains(integer); - } - }); + return filter.matches(commit); } }); + return matchesAllDetails && matchesAnyHead(permanentGraph, commit, matchingHeads); + } + + private boolean matchesAnyHead(@NotNull PermanentGraph permanentGraph, + @NotNull VcsCommitMetadata commit, + @Nullable Set matchingHeads) { + if (matchingHeads == null) { + return true; + } + // TODO O(n^2) + int commitIndex = myHashMap.getCommitIndex(commit.getId()); + return ContainerUtil.intersects(permanentGraph.getContainingBranches(commitIndex), matchingHeads); } @Nullable From 8fd317a875e2d341c9105198c673ee27a9b0f818 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Thu, 13 Nov 2014 16:01:03 +0300 Subject: [PATCH 24/25] [log] IDEA-121949 style --- .../src/com/intellij/vcs/log/data/VisiblePackBuilder.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VisiblePackBuilder.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VisiblePackBuilder.java index 79de1116f311..c171707d7dbb 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VisiblePackBuilder.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VisiblePackBuilder.java @@ -91,7 +91,7 @@ class VisiblePackBuilder { } VisibleGraph visibleGraph; - if (((matchingHeads != null) && matchingHeads.isEmpty()) || ((matchingCommits != null) && matchingCommits.isEmpty())) { + if (matchesNothing(matchingHeads) || matchesNothing(matchingCommits)) { visibleGraph = EmptyVisibleGraph.getInstance(); } else { @@ -100,6 +100,10 @@ class VisiblePackBuilder { return Pair.create(new VisiblePack(dataPack, visibleGraph, canRequestMore), commitCount); } + private static boolean matchesNothing(@Nullable Collection matchingSet) { + return matchingSet != null && matchingSet.isEmpty(); + } + private VisiblePack applyHashFilter(@NotNull DataPack dataPack, @NotNull Collection hashes, @NotNull PermanentGraph.SortType sortType) { From 8e67084b86e076bd95b452acf528f0642fa66c80 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Thu, 13 Nov 2014 16:17:26 +0300 Subject: [PATCH 25/25] [log] One more test on hash [de]serialization --- .../vcs/log/impl/HashSerializeTest.java | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/platform/vcs-log/impl/test/com/intellij/vcs/log/impl/HashSerializeTest.java b/platform/vcs-log/impl/test/com/intellij/vcs/log/impl/HashSerializeTest.java index af8c703e1811..7ce352c05f04 100644 --- a/platform/vcs-log/impl/test/com/intellij/vcs/log/impl/HashSerializeTest.java +++ b/platform/vcs-log/impl/test/com/intellij/vcs/log/impl/HashSerializeTest.java @@ -16,11 +16,14 @@ package com.intellij.vcs.log.impl; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.io.DataOutputStream; import org.jetbrains.annotations.NotNull; import org.junit.Test; import java.io.*; +import java.util.Arrays; +import java.util.List; import static org.junit.Assert.assertEquals; @@ -30,7 +33,7 @@ public class HashSerializeTest { public void full_hash() throws IOException { HashImpl hash = (HashImpl)HashImpl.build("d35ee91fad4a04bce0ea91a762cc8f3bf3e1929f"); File file = writeToTempFile(hash); - HashImpl newHash = readFromFile(file); + HashImpl newHash = readFromFile(file).get(0); assertEquals(hash, newHash); } @@ -38,16 +41,28 @@ public class HashSerializeTest { public void short_hash() throws IOException { HashImpl hash = (HashImpl)HashImpl.build("d35ee91"); File file = writeToTempFile(hash); - HashImpl newHash = readFromFile(file); + HashImpl newHash = readFromFile(file).get(0); assertEquals(hash, newHash); } + + @Test + public void two_different_hashes() throws IOException { + HashImpl hash1 = (HashImpl)HashImpl.build("d35ee91"); + HashImpl hash2 = (HashImpl)HashImpl.build("d35ee91fad4a04bce0ea91a762cc8f3bf3e1929f"); + File file = writeToTempFile(hash1, hash2); + List hashes = readFromFile(file); + assertEquals(Arrays.asList(hash1, hash2), hashes); + + } @NotNull - private static File writeToTempFile(@NotNull HashImpl hash) throws IOException { + private static File writeToTempFile(@NotNull HashImpl... hashes) throws IOException { File file = FileUtil.createTempFile("", ""); DataOutputStream out = new DataOutputStream(new FileOutputStream(file)); try { - hash.write(out); + for (HashImpl hash : hashes) { + hash.write(out); + } } finally { out.close(); @@ -56,15 +71,17 @@ public class HashSerializeTest { } @NotNull - private static HashImpl readFromFile(@NotNull File file) throws IOException { - HashImpl newHash; + private static List readFromFile(@NotNull File file) throws IOException { + List result = ContainerUtil.newArrayList(); DataInputStream in = new DataInputStream(new FileInputStream(file)); try { - newHash = (HashImpl)HashImpl.read(in); + while (in.available() > 0) { + result.add((HashImpl)HashImpl.read(in)); + } } finally { in.close(); } - return newHash; + return result; } }