Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(397)

Unified Diff: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/internal/corext/refactoring/participants/DartProcessors.java

Issue 9834028: Initial implementation of "Rename Local Variable" refactoring. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: LInked/inline mode for rename Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/internal/corext/refactoring/participants/DartProcessors.java
diff --git a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/internal/corext/refactoring/participants/DartProcessors.java b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/internal/corext/refactoring/participants/DartProcessors.java
new file mode 100644
index 0000000000000000000000000000000000000000..8866dfefb4b13a6ceff3aaec7184a90727514fcb
--- /dev/null
+++ b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/internal/corext/refactoring/participants/DartProcessors.java
@@ -0,0 +1,39 @@
+package com.google.dart.tools.internal.corext.refactoring.participants;
+
+import com.google.dart.tools.core.model.DartElement;
+import com.google.dart.tools.core.model.DartProject;
+import com.google.dart.tools.core.model.TypeMember;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.ltk.internal.core.refactoring.resource.ResourceProcessors;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Utility class to deal with Dart element processors.
+ */
+public class DartProcessors {
+
+ public static String[] computeAffectedNatures(DartElement element) throws CoreException {
+ if (element instanceof TypeMember) {
+ TypeMember member = (TypeMember) element;
+ if (member.isPrivate()) {
+ return element.getDartProject().getProject().getDescription().getNatureIds();
+ }
+ }
+ DartProject project = element.getDartProject();
+ return ResourceProcessors.computeAffectedNatures(project.getProject());
+ }
+
+ public static String[] computeAffectedNaturs(DartElement[] elements) throws CoreException {
+ Set<String> result = new HashSet<String>();
+ for (int i = 0; i < elements.length; i++) {
+ String[] natures = computeAffectedNatures(elements[i]);
+ for (int j = 0; j < natures.length; j++) {
+ result.add(natures[j]);
+ }
+ }
+ return result.toArray(new String[result.size()]);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698