newlines
authorMaxim.Mossienko <Maxim.Mossienko@jetbrains.com>
Wed, 11 Nov 2009 06:16:12 +0000 (09:16 +0300)
committerMaxim.Mossienko <Maxim.Mossienko@jetbrains.com>
Wed, 11 Nov 2009 06:16:12 +0000 (09:16 +0300)
platform/lang-impl/src/com/intellij/refactoring/classMembers/UsedByMemberDependencyGraph.java

index 91a665984c5e2852d18695868e72acd17c14d3c4..d3663ba8075fdcd4c9755f04bb11bd3804d81eab 100644 (file)
-/*\r
- * Copyright 2000-2009 JetBrains s.r.o.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-package com.intellij.refactoring.classMembers;\r
-\r
-import com.intellij.lang.LanguageDependentMembersRefactoringSupport;\r
-import com.intellij.openapi.util.text.StringUtil;\r
-import com.intellij.psi.NavigatablePsiElement;\r
-import com.intellij.psi.PsiNamedElement;\r
-import com.intellij.psi.PsiElement;\r
-import com.intellij.refactoring.RefactoringBundle;\r
-import com.intellij.util.containers.HashMap;\r
-\r
-import java.util.ArrayList;\r
-import java.util.HashSet;\r
-import java.util.Set;\r
-\r
-public class UsedByMemberDependencyGraph<T extends NavigatablePsiElement, C extends PsiElement, M extends MemberInfoBase<T>> implements MemberDependencyGraph<T, M> {\r
-  protected HashSet<T> mySelectedNormal;\r
-  protected HashSet<T> mySelectedAbstract;\r
-  protected HashSet<T> myMembers;\r
-  protected HashSet<T> myDependencies = null;\r
-  protected HashMap<T, HashSet<T>> myDependenciesToDependent = null;\r
-  private final MemberDependenciesStorage<T, C> myMemberDependenciesStorage;\r
-\r
-  public UsedByMemberDependencyGraph(C aClass) {\r
-    myMemberDependenciesStorage = new MemberDependenciesStorage<T, C>(aClass, null);\r
-    mySelectedNormal = new HashSet<T>();\r
-    mySelectedAbstract = new HashSet<T>();\r
-    myMembers = new HashSet<T>();\r
-  }\r
-\r
-  public void memberChanged(M memberInfo) {\r
-    final ClassMembersRefactoringSupport support =\r
-      LanguageDependentMembersRefactoringSupport.INSTANCE.forLanguage(memberInfo.getMember().getLanguage());\r
-    if (support != null && support.isProperMember(memberInfo)) {\r
-      myDependencies = null;\r
-      myDependenciesToDependent = null;\r
-      T member = memberInfo.getMember();\r
-      myMembers.add(member);\r
-      if (!memberInfo.isChecked()) {\r
-        mySelectedNormal.remove(member);\r
-        mySelectedAbstract.remove(member);\r
-      }\r
-      else {\r
-        if (memberInfo.isToAbstract()) {\r
-          mySelectedNormal.remove(member);\r
-          mySelectedAbstract.add(member);\r
-        }\r
-        else {\r
-          mySelectedNormal.add(member);\r
-          mySelectedAbstract.remove(member);\r
-        }\r
-      }\r
-    }\r
-  }\r
-\r
-  public Set<? extends T> getDependent() {\r
-    if(myDependencies == null) {\r
-      myDependencies = new HashSet<T>();\r
-      myDependenciesToDependent = new HashMap<T, HashSet<T>>();\r
-      for (T member : myMembers) {\r
-        Set<T> dependent = myMemberDependenciesStorage.getMemberDependencies(member);\r
-        for (final T aDependent : dependent) {\r
-          if (mySelectedNormal.contains(aDependent) && !mySelectedAbstract.contains(aDependent)) {\r
-            myDependencies.add(member);\r
-            HashSet<T> deps = myDependenciesToDependent.get(member);\r
-            if (deps == null) {\r
-              deps = new HashSet<T>();\r
-              myDependenciesToDependent.put(member, deps);\r
-            }\r
-            deps.add(aDependent);\r
-          }\r
-        }\r
-      }\r
-    }\r
-\r
-    return myDependencies;\r
-  }\r
-\r
-  public Set<? extends T> getDependenciesOf(T member) {\r
-    final Set<? extends T> dependent = getDependent();\r
-    if(!dependent.contains(member)) return null;\r
-    return myDependenciesToDependent.get(member);\r
-  }\r
-\r
-  public String getElementTooltip(T element) {\r
-    final Set<? extends T> dependencies = getDependenciesOf(element);\r
-    if (dependencies == null || dependencies.size() == 0) return null;\r
-\r
-    ArrayList<String> strings = new ArrayList<String>();\r
-    for (T dep : dependencies) {\r
-      if (dep instanceof PsiNamedElement) {\r
-        strings.add(((PsiNamedElement)dep).getName());\r
-      }\r
-    }\r
-\r
-    if (strings.isEmpty()) return null;\r
-    return RefactoringBundle.message("uses.0", StringUtil.join(strings, ", "));\r
-  }\r
-}\r
+/*
+ * Copyright 2000-2009 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.refactoring.classMembers;
+
+import com.intellij.lang.LanguageDependentMembersRefactoringSupport;
+import com.intellij.openapi.util.text.StringUtil;
+import com.intellij.psi.NavigatablePsiElement;
+import com.intellij.psi.PsiNamedElement;
+import com.intellij.psi.PsiElement;
+import com.intellij.refactoring.RefactoringBundle;
+import com.intellij.util.containers.HashMap;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Set;
+
+public class UsedByMemberDependencyGraph<T extends NavigatablePsiElement, C extends PsiElement, M extends MemberInfoBase<T>> implements MemberDependencyGraph<T, M> {
+  protected HashSet<T> mySelectedNormal;
+  protected HashSet<T> mySelectedAbstract;
+  protected HashSet<T> myMembers;
+  protected HashSet<T> myDependencies = null;
+  protected HashMap<T, HashSet<T>> myDependenciesToDependent = null;
+  private final MemberDependenciesStorage<T, C> myMemberDependenciesStorage;
+
+  public UsedByMemberDependencyGraph(C aClass) {
+    myMemberDependenciesStorage = new MemberDependenciesStorage<T, C>(aClass, null);
+    mySelectedNormal = new HashSet<T>();
+    mySelectedAbstract = new HashSet<T>();
+    myMembers = new HashSet<T>();
+  }
+
+  public void memberChanged(M memberInfo) {
+    final ClassMembersRefactoringSupport support =
+      LanguageDependentMembersRefactoringSupport.INSTANCE.forLanguage(memberInfo.getMember().getLanguage());
+    if (support != null && support.isProperMember(memberInfo)) {
+      myDependencies = null;
+      myDependenciesToDependent = null;
+      T member = memberInfo.getMember();
+      myMembers.add(member);
+      if (!memberInfo.isChecked()) {
+        mySelectedNormal.remove(member);
+        mySelectedAbstract.remove(member);
+      }
+      else {
+        if (memberInfo.isToAbstract()) {
+          mySelectedNormal.remove(member);
+          mySelectedAbstract.add(member);
+        }
+        else {
+          mySelectedNormal.add(member);
+          mySelectedAbstract.remove(member);
+        }
+      }
+    }
+  }
+
+  public Set<? extends T> getDependent() {
+    if(myDependencies == null) {
+      myDependencies = new HashSet<T>();
+      myDependenciesToDependent = new HashMap<T, HashSet<T>>();
+      for (T member : myMembers) {
+        Set<T> dependent = myMemberDependenciesStorage.getMemberDependencies(member);
+        for (final T aDependent : dependent) {
+          if (mySelectedNormal.contains(aDependent) && !mySelectedAbstract.contains(aDependent)) {
+            myDependencies.add(member);
+            HashSet<T> deps = myDependenciesToDependent.get(member);
+            if (deps == null) {
+              deps = new HashSet<T>();
+              myDependenciesToDependent.put(member, deps);
+            }
+            deps.add(aDependent);
+          }
+        }
+      }
+    }
+
+    return myDependencies;
+  }
+
+  public Set<? extends T> getDependenciesOf(T member) {
+    final Set<? extends T> dependent = getDependent();
+    if(!dependent.contains(member)) return null;
+    return myDependenciesToDependent.get(member);
+  }
+
+  public String getElementTooltip(T element) {
+    final Set<? extends T> dependencies = getDependenciesOf(element);
+    if (dependencies == null || dependencies.size() == 0) return null;
+
+    ArrayList<String> strings = new ArrayList<String>();
+    for (T dep : dependencies) {
+      if (dep instanceof PsiNamedElement) {
+        strings.add(((PsiNamedElement)dep).getName());
+      }
+    }
+
+    if (strings.isEmpty()) return null;
+    return RefactoringBundle.message("uses.0", StringUtil.join(strings, ", "));
+  }
+}