diff options
author | Tor Norbye <tnorbye@google.com> | 2014-08-19 22:27:03 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-08-19 21:25:05 +0000 |
commit | 4ca751c002784c4bfd349cc5240b045b62277c80 (patch) | |
tree | dfc17b31990e2429535609b85f6d080c4fa0d9fe /platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java | |
parent | 890d9a2952301682ffecaed4495f5f65c84c3642 (diff) | |
parent | 060e58b3afea3ea39f5ba1cb5a443ca3ebda28c8 (diff) | |
download | idea-4ca751c002784c4bfd349cc5240b045b62277c80.tar.gz |
Merge "Merge remote-tracking branch 'aosp/upstream-master' into merge"
Diffstat (limited to 'platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java')
-rw-r--r-- | platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java b/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java index f260c732adf5..35f7f658edfd 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java +++ b/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java @@ -65,6 +65,7 @@ import com.intellij.ui.treeStructure.filtered.FilteringTreeBuilder; import com.intellij.ui.treeStructure.filtered.FilteringTreeStructure; import com.intellij.util.Alarm; import com.intellij.util.ArrayUtil; +import com.intellij.util.ReflectionUtil; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.Convertor; import com.intellij.util.containers.HashSet; @@ -83,7 +84,6 @@ import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; import java.awt.*; import java.awt.event.*; -import java.lang.reflect.Field; import java.util.*; import java.util.List; @@ -1018,22 +1018,13 @@ public class FileStructurePopup implements Disposable { public FileStructureTree(Object rootElement, boolean fastExpand) { super(new DefaultMutableTreeNode(rootElement)); if (fastExpand) { - boolean newValueIsSet; - try { - final Field field = JTree.class.getDeclaredField("expandedState"); - field.setAccessible(true); - field.set(this, new Hashtable() { - @Override - public synchronized Object get(Object key) { - return Boolean.TRUE; - } - }); - newValueIsSet = true; - } - catch (Exception e) { - newValueIsSet = false; - } - fast = newValueIsSet; + Hashtable hashtable = new Hashtable() { + @Override + public synchronized Object get(Object key) { + return Boolean.TRUE; + } + }; + fast = ReflectionUtil.setField(JTree.class, this, Hashtable.class, "expandedState", hashtable); } else { fast = false; |