|
From: <caw...@us...> - 2007-08-24 18:03:50
|
Revision: 3074
http://rubyeclipse.svn.sourceforge.net/rubyeclipse/?rev=3074&view=rev
Author: cawilliams
Date: 2007-08-24 11:03:43 -0700 (Fri, 24 Aug 2007)
Log Message:
-----------
implement otehr half of Call Hierarchy view - find all callers of a method (previous version only would trace paths out of a method, not paths into)
Modified Paths:
--------------
trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/core/IType.java
trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyType.java
Modified: trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/core/IType.java
===================================================================
--- trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/core/IType.java 2007-08-24 18:03:37 UTC (rev 3073)
+++ trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/core/IType.java 2007-08-24 18:03:43 UTC (rev 3074)
@@ -231,4 +231,6 @@
*/
ITypeHierarchy newTypeHierarchy(WorkingCopyOwner owner, IProgressMonitor monitor) throws RubyModelException;
+ public IMethod[] findMethods(IMethod method);
+
}
\ No newline at end of file
Modified: trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyType.java
===================================================================
--- trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyType.java 2007-08-24 18:03:37 UTC (rev 3073)
+++ trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyType.java 2007-08-24 18:03:43 UTC (rev 3074)
@@ -25,6 +25,7 @@
package org.rubypeople.rdt.internal.core;
import java.util.ArrayList;
+import java.util.List;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -36,6 +37,7 @@
import org.rubypeople.rdt.core.ISourceFolder;
import org.rubypeople.rdt.core.IType;
import org.rubypeople.rdt.core.ITypeHierarchy;
+import org.rubypeople.rdt.core.RubyCore;
import org.rubypeople.rdt.core.RubyModelException;
import org.rubypeople.rdt.core.WorkingCopyOwner;
import org.rubypeople.rdt.core.search.SearchEngine;
@@ -362,4 +364,21 @@
return op.getResult();
}
+ public IMethod[] findMethods(IMethod method) {
+ List<IMethod> filtered = new ArrayList<IMethod>();
+ try {
+ ArrayList<IRubyElement> list = getChildrenOfType(METHOD);
+ for (IRubyElement element : list) {
+ IMethod other = (IMethod) element;
+ if (!other.getElementName().equals(method.getElementName())) continue;
+ filtered.add(other);
+ }
+ } catch (RubyModelException e) {
+ RubyCore.log(e);
+ }
+ IMethod[] array = new IMethod[filtered.size()];
+ filtered.toArray(array);
+ return array;
+ }
+
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|